Skip to content

Commit 004b94c

Browse files
committed
OSDOCS-6027: Added the ODIC Configuration to ROSA content
1 parent 3174638 commit 004b94c

10 files changed

+130
-14
lines changed

_attributes/attributes-openshift-dedicated.adoc

+3-1
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,6 @@
3030
:openshift-dev-spaces-productname: Red Hat OpenShift Dev Spaces
3131
:hcp: hosted control planes
3232
:hcp-title: ROSA with HCP
33-
:hcp-title-first: {product-title} (ROSA) with {hcp} (HCP)
33+
:hcp-title-first: {product-title} (ROSA) with {hcp} (HCP)
34+
//ROSA CLI variables
35+
:word: Testing this variable let's go www.google.com

_topic_maps/_topic_map_rosa.yml

+2
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ Topics:
6969
File: rosa-policy-process-security
7070
- Name: About IAM resources for ROSA with STS
7171
File: rosa-sts-about-iam-resources
72+
- Name: OpenID Connect Overview
73+
File: rosa-oidc-overview
7274
- Name: Support for ROSA
7375
File: rosa-getting-support
7476
# - Name: Training for ROSA

modules/rosa-hcp-byo-oidc-options.adoc

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
//
33
// * rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc
44
// * rosa_getting_started/quickstart.adoc
5+
// * rosa_architecture/rosa-sts-about-iam-resources.adoc
56

67
:_content-type: CONCEPT
78
[id="rosa-hcp-byo-oidc-options_{context}"]

modules/rosa-hcp-byo-oidc.adoc

+13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
// Module included in the following assemblies:
22
//
33
// * rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc
4+
// * rosa_architecture/rosa-sts-about-iam-resources.adoc
5+
6+
ifeval::["{context}" == "rosa-hcp-sts-creating-a-cluster-quickly"]
7+
:rosa-hcp:
8+
endif::[]
9+
ifeval::["{context}" == "rosa-sts-about-iam-resources"]
10+
:rosa-classic:
11+
endif::[]
412

513
:_content-type: PROCEDURE
614
[id="rosa-hcp-byo-oidc_{context}"]
@@ -10,7 +18,12 @@ When using a {hcp-title} cluster, you must create the OpenID Connect (OIDC) conf
1018

1119
.Prerequisites
1220

21+
ifdef::rosa-hcp[]
1322
* You have completed the AWS prerequisites for {hcp-title}.
23+
endif::rosa-hcp[]
24+
ifdef::rosa-classic[]
25+
* You have completed the AWS prerequisites for {product-title}.
26+
endif::rosa-classic[]
1427
* You have installed and configured the latest ROSA CLI (`rosa`) on your installation host.
1528

1629
.Procedure
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc
4+
// * rosa_architecture/rosa-sts-about-iam-resources.adoc
5+
6+
[id="rosa-byo-odic-overview_{context}"]
7+
= Creating an OpenID Connect Configuration
8+
9+
When using a cluster hosted by Red Hat, you can create a managed or unmanaged OpenID Connect (OIDC) configuration by using the ROSA CLI. A managed OIDC configuration is stored within Red Hat's AWS account, while a generated unmanaged OIDC configuration is stored within your AWS account. The OIDC configuration is registered to be used with {cluster-manager}. When creating an unmanaged OIDC configuration, the CLI provides the private key for you.

modules/rosa-oidc-understanding.adoc

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * rosa_architecture/rosa-sts-about-iam-resources.adoc
4+
// * rosa_architecture/rosa_policy_service_definition/rosa-oidc-overview.adoc
5+
6+
:_content-type: CONCEPT
7+
[id=rosa-oidc-understanding_{context}]
8+
= Understanding the OIDC verification options
9+
10+
There are three options for OIDC verification:
11+
12+
* Unregistered, managed OIDC configuration
13+
+
14+
An unregistered, managed OIDC configuration is created for you during the cluster installation process. The configuration is hosted under Red Hat's AWS account. This option does not give you the ID that links to the OIDC configuration, so you can only use this type of OIDC configuration on a single cluster.
15+
16+
* Registered, managed OIDC configuration
17+
+
18+
You create a registered, managed OIDC configuration before you start creating your clusters. This configuration is hosted under Red Hat's AWS account like the unregistered managed OIDC configuration. When you use this option for your OIDC configuration, you receive an ID that links to the OIDC configuration. Red Hat uses this ID to identify the issuer URL and private key. You can then use this URL and private key to create an identity provider and Operator roles. These resources are created under your AWS account by using Identity and Access Management (IAM) AWS services. You can also use the OIDC configuration ID during the cluster creation process.
19+
20+
* Registered, unmanaged OIDC configuration
21+
+
22+
You can create a registered, unmanaged OIDC configuration before you start creating your clusters. This configuration is hosted under your AWS account. When you use this option, you are responsible for managing the private key. You can register the configuration with {cluster-manager-first} by storing the private key in an AWS secrets file by using the AWS Secrets Manager (SM) service and the issuer URL which hosts the configuration. You can use the ROSA CLI to create a registered, unmanaged OIDC configuration with the `rosa create oidc-config --managed=false` command. This command creates and hosts the configuration under your account and creates the necessary files and private secret key. This command also registers the configuration with {cluster-manager}.
23+
24+
The registered options can be used to create the required IAM resources before you start creating a cluster. This option results in faster install times since there is a waiting period during cluster creation where the installation pauses until you create an OIDC provider and Operator roles.
25+
26+
For ROSA Classic, you may use any of the OIDC configuration options. If you are using {hcp-title}, you must create registered OIDC configuration, either as managed or unmanaged. You can share the registered OIDC configurations with other clusters. This ability to share the configuration also allows you to share the provider and Operator roles.
27+
28+
[NOTE]
29+
====
30+
Reusing the OIDC configurations, OIDC provider, and Operator roles between clusters is not recommended for production clusters since the authentication verification is used throughout all of these clusters. Red Hat advises to only reuse resources on non-production test environments.
31+
====
+29-4
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,33 @@
11
// Module included in the following assemblies:
22
//
33
// * rosa_architecture/rosa-sts-about-iam-resources.adoc
4+
// * rosa_architecture/rosa_policy_service_definition/rosa-oidc-overview.adoc
45

6+
:_content-type: PROCEDURE
57
[id="rosa-sts-oidc-provider-for-operators-aws-cli_{context}"]
6-
= OIDC provider AWS CLI reference
8+
= Creating an OIDC provider using the CLI
79

8-
This section lists the `aws` CLI command that is shown in the terminal when you run the following `rosa` command using `manual` mode:
10+
You can create an OIDC provider that is hosted in your AWS account with the ROSA CLI.
911

12+
.Prerequisites
13+
14+
* You have installed the latest version of the ROSA CLI.
15+
16+
.Procedure
17+
18+
* To create an OIDC provider, by using an unregistered or a registered OIDC configuration.
19+
** Unregistered OIDC configurations require you to create the OIDC provider through the cluster. Run the following to create the OIDC provider:
20+
+
1021
[source,terminal]
1122
----
1223
$ rosa create oidc-provider --mode manual --cluster <cluster_name>
1324
----
14-
25+
+
1526
[NOTE]
1627
====
1728
When using `manual` mode, the `aws` command is printed to the terminal for your review. After reviewing the `aws` command, you must run it manually. Alternatively, you can specify `--mode auto` with the `rosa create` command to run the `aws` command immediately.
1829
====
19-
30+
+
2031
.Command output
2132
[source,terminal]
2233
----
@@ -26,3 +37,17 @@ aws iam create-open-id-connect-provider \
2637
--thumbprint-list <thumbprint> <1>
2738
----
2839
<1> The thumbprint is generated automatically when you run the `rosa create oidc-provider` command. For more information about using thumbprints with AWS Identity and Access Management (IAM) OpenID Connect (OIDC) identity providers, see link:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html[the AWS documentation].
40+
41+
** Registered OIDC configurations use an OIDC configuration ID. Run the following command with your OIDC configuration ID:
42+
+
43+
[source,terminal]
44+
----
45+
$ rosa create oidc-provider --oidc-config-id <oidc_config_id> --mode auto -y
46+
----
47+
+
48+
.Command output
49+
[source,terminal]
50+
----
51+
I: Creating OIDC provider using 'arn:aws:iam::4540112244:user/userName'
52+
I: Created OIDC provider with ARN 'arn:aws:iam::4540112244:oidc-provider/dvbwgdztaeq9o.cloudfront.net/241rh9ql5gpu99d7leokhvkp8icnalpf'
53+
----

modules/rosa-sts-oidc-provider.adoc

-8
This file was deleted.
+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
:_content-type: ASSEMBLY
2+
[id="rosa-oidc-overview"]
3+
= OpenID Connect Overview
4+
include::_attributes/attributes-openshift-dedicated.adoc[]
5+
:context: rosa-oidc-overview
6+
7+
toc::[]
8+
9+
OpenID Connect (OIDC) uses Security Token Service (STS) to allow clients to provide a web identity token to gain access to multiple services. When a client signs into a service using STS, the token is validated against the OIDC identity provider.
10+
11+
The OIDC protocol uses a configuration URL that contains the necessary information to authenticate a client's identity. The protocol responds to the provider with the credentials needed for the provider to validate the client and sign them in.
12+
13+
{product-title} clusters use STS and OIDC to grant the in-cluster operators access to necessary AWS resources.
14+
15+
include::modules/rosa-oidc-understanding.adoc[leveloffset=+1]
16+
17+
include::modules/rosa-oidc-config-overview.adoc[leveloffset=+1]
18+
[discrete]
19+
include::modules/rosa-hcp-byo-oidc.adoc[leveloffset=+3]
20+
[discrete]
21+
include::modules/rosa-hcp-byo-oidc-options.adoc[leveloffset=+3]
22+
23+
include::modules/rosa-sts-oidc-provider-command.adoc[leveloffset=+1]
24+
25+
[role="_additional-resources"]
26+
[id="additional-resources_rosa-oidc-config"]
27+
== Additional resources
28+
29+
* See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-byo-odic-overview_rosa-sts-about-iam-resources[Creating an OpenID Connect Configuration] for the ROSA Classic instructions.
30+
* See xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-hcp-byo-oidc_rosa-hcp-sts-creating-a-cluster-quickly[Creating an OpenID Connect Configuration] for the {hcp-title} instructions.

rosa_architecture/rosa-sts-about-iam-resources.adoc

+12-1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,17 @@ include::modules/rosa-sts-about-operator-role-prefixes.adoc[leveloffset=+2]
8585

8686
* For steps to create the cluster-specific Operator IAM roles using a custom prefix, see xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-with-customizations.adoc#rosa-sts-creating-cluster-customizations-cli_rosa-sts-creating-a-cluster-with-customizations[Creating a cluster with customizations using the CLI] or xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-with-customizations.adoc#rosa-sts-creating-cluster-customizations-ocm_rosa-sts-creating-a-cluster-with-customizations[Creating a cluster with customizations by using {cluster-manager}].
8787

88-
include::modules/rosa-sts-oidc-provider.adoc[leveloffset=+1]
88+
[id="rosa-sts-oidc-provider-requirements-for-operators_{context}"]
89+
== Open ID Connect (OIDC) requirements for Operator authentication
90+
91+
For ROSA installations that use STS, you must create a cluster-specific OIDC provider that is used by the cluster Operators to authenticate or create your own OIDC configuration for your own OIDC provider.
92+
8993
include::modules/rosa-sts-oidc-provider-command.adoc[leveloffset=+2]
94+
95+
include::modules/rosa-oidc-config-overview.adoc[leveloffset=+2]
96+
[discrete]
97+
include::modules/rosa-hcp-byo-oidc.adoc[leveloffset=+3]
98+
[discrete]
99+
include::modules/rosa-hcp-byo-oidc-options.adoc[leveloffset=+3]
100+
90101
include::modules/rosa-aws-scp.adoc[leveloffset=+1]

0 commit comments

Comments
 (0)