Skip to content

Commit d71d52c

Browse files
authored
Merge pull request #50982 from EricPonvelle/OSDOCS-4225_Account-Role-Linking
OSDOCS-4225: Added more references to IAM roles
2 parents 8eeed47 + ad58222 commit d71d52c

9 files changed

+114
-15
lines changed

modules/rosa-create-objects.adoc

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,3 +498,52 @@ Add a machine pool with labels to a cluster:
498498
----
499499
$ rosa create machinepool --cluster=mycluster --replicas=2 --instance-type=r5.2xlarge --labels=foo=bar,bar=baz --name=mp-1
500500
----
501+
502+
[id="rosa-create-ocm-role_{context}"]
503+
== create ocm-role
504+
505+
Create the needed ocm-role resources for your cluster.
506+
507+
.Syntax
508+
[source,terminal]
509+
----
510+
$ rosa create ocm-role [flags]
511+
----
512+
513+
.Flags
514+
[cols="30,70"]
515+
|===
516+
|Option |Definition
517+
518+
|--admin
519+
|Enable admin capabilities for the role.
520+
521+
|--debug
522+
|Enable debug mode.
523+
524+
|-i, --interactive
525+
|Enable interactive mode.
526+
527+
|-m, --mode string
528+
|How to perform the operation. Valid options are:
529+
auto: Resource changes will be automatic applied using the current AWS account
530+
manual: Commands necessary to modify AWS resources will be output to be run manually
531+
532+
|--permissions-boundary string
533+
|The ARN of the policy that is used to set the permissions boundary for the OCM role.
534+
535+
|--prefix string
536+
|User-defined prefix for all generated AWS resources (default "ManagedOpenShift")
537+
538+
|--profile string
539+
|Use a specific AWS profile from your credential file.
540+
541+
|--region string
542+
|Use a specific AWS region, overriding the AWS_REGION environment variable.
543+
544+
|-y, --yes
545+
|Automatically answer yes to confirm operation.
546+
547+
|===
548+
549+
For more information about the ocm-roles and the roles created with the `rosa create ocm-roles`, see the Additional resources section.

modules/rosa-sts-about-ocm-role.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
[id="rosa-sts-about-ocm-role_{context}"]
77
= About the ocm-role IAM resource
88

9-
You must create the `ocm-role` IAM resource to enable a Red Hat organization of users to create ROSA clusters.
9+
You must create the `ocm-role` IAM resource to enable a Red Hat organization of users to create ROSA clusters. Within the context of linking to AWS, a Red Hat organization is a single user within {cluster-manager}.
1010

1111
Some considerations for your `ocm-role` IAM resource are:
1212

13-
* You have only one `ocm-role` per AWS account in a Red Hat organization. You can have multiple `ocm-role` IAM roles in a Red Hat organization as long as these roles are for different AWS accounts.
13+
* Only one `ocm-role` IAM role can be linked per Red Hat organization; however, you can have any number of `ocm-role` IAM roles per AWS account. The web UI requires that only one of these roles can be linked at a time.
1414
* Any user in a Red Hat organization may create and link an `ocm-role` IAM resource.
1515
* Only the Red Hat Organization Administrator can unlink an `ocm-role` IAM resource. This limitation is to protect other Red Hat organization members from disturbing the interface capabilities of other users.
1616
+
@@ -19,8 +19,7 @@ Some considerations for your `ocm-role` IAM resource are:
1919
If you just created a Red Hat account that is not part of an existing organization, this account is also the Red Hat Organization Administrator.
2020
====
2121
+
22-
* Only one `ocm-role` IAM resource can be created per AWS account per Red Hat organization.
23-
* See the associated permission tables for a list of the AWS permissions policy for the basic and admin `ocm-role` IAM resources.
22+
* See "Understanding the {cluster-manager} role" in the Additional resources of this section for a list of the AWS permissions policies for the basic and admin `ocm-role` IAM resources.
2423
2524
Using the `rosa` CLI, you can link your IAM resource when you create it.
2625

modules/rosa-sts-about-user-role.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77
[id="rosa-sts-about-user-role_{context}"]
88
= About the user-role IAM role
99

10-
You need to create the `user-role` IAM role to enable a Red Hat organization of users to create ROSA clusters.
10+
You need to create a `user-role` IAM role per web UI user to enable those users to create ROSA clusters.
1111

1212
Some considerations for your `user-role` IAM role are:
1313

1414
* You only need one `user-role` IAM role per Red Hat user account, but your Red Hat organization can have many of these IAM resources.
1515
* Any user in a Red Hat organization may create and link an `user-role` IAM role.
1616
* There can be numerous `user-role` IAM roles per AWS account per Red Hat organization.
1717
* Red Hat uses the `user-role` IAM role to identify the user. This IAM resource has no AWS account permissions.
18+
* Your AWS account can have multiple `user-role` IAM roles, but you must link each IAM role to each user in your Red Hat organization. No user can have more than one linked `user-role` IAM role.
1819
1920
[NOTE]
2021
====

modules/rosa-sts-aws-iam.adoc

Lines changed: 0 additions & 4 deletions
This file was deleted.

modules/rosa-sts-aws-requirements-creating-association.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ You link your AWS account using the `rosa` CLI.
1313

1414
* You have an AWS account.
1515
* You are using {cluster-manager-url} to create clusters.
16-
* You have the permissions required to install AWS account-wide roles.
16+
* You have the permissions required to install AWS account-wide roles. See the "Additional resources" of this section for more information.
1717
* You have installed and configured the latest AWS (`aws`) and ROSA (`rosa`) CLIs on your installation host.
1818
* You have created your `ocm-role` and `user-role` IAM roles.
1919

modules/rosa-sts-operator-roles.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ If more than one matching policy is available in your account for an Operator ro
3030
|`<cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-credentials`
3131
|An IAM role required by the ROSA Cloud Credential Operator to manage cloud provider credentials.
3232

33+
34+
|`<cluster_name>-<hash>-openshift-cloud-network-config-controller-credentials`
35+
|An IAM role required by the cloud network config controller to manage cloud network configuration for a cluster.
36+
3337
|`<cluster_name>-<hash>-openshift-image-registry-installer-cloud-credentials`
3438
|An IAM role required by the ROSA Image Registry Operator to manage the internal registry storage in AWS S3 for a cluster.
3539

rosa_cli/rosa-manage-objects-cli.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ Managing objects with the `rosa` CLI, such as adding `dedicated-admin` users, ma
1111
include::modules/rosa-common-commands.adoc[leveloffset=+1]
1212
include::modules/rosa-parent-commands.adoc[leveloffset=+1]
1313
include::modules/rosa-create-objects.adoc[leveloffset=+1]
14+
15+
[role="_additional-resources"]
16+
== Additional resources
17+
* See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-account-wide-roles-and-policies_rosa-sts-about-iam-resources[Account-wide IAM role and policy reference] for a list of IAM roles needed for cluster creation.
18+
1419
include::modules/rosa-edit-objects.adoc[leveloffset=+1]
1520
include::modules/rosa-delete-objects.adoc[leveloffset=+1]
1621
include::modules/rosa-install-uninstall-addon.adoc[leveloffset=+1]

rosa_planning/rosa-sts-aws-prereqs.adoc

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,28 @@ include::modules/rosa-sts-aws-requirements-security-req.adoc[leveloffset=+2]
5050
include::modules/rosa-sts-aws-requirements-ocm.adoc[leveloffset=+2]
5151
include::modules/rosa-sts-aws-requirements-association-concept.adoc[leveloffset=+3]
5252
include::modules/rosa-sts-aws-requirements-creating-association.adoc[leveloffset=+3]
53+
54+
[discrete]
55+
[role="_additional-resources"]
56+
[id="additional-resources_creating-association_{context}"]
57+
== Additional resources
58+
* See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-account-wide-roles-and-policies_rosa-sts-about-iam-resources[Account-wide IAM role and policy reference] for a list of IAM roles needed for cluster creation.
59+
5360
include::modules/rosa-sts-aws-requirements-creating-multi-association.adoc[leveloffset=+3]
5461

5562

5663
include::modules/rosa-requirements-deploying-in-opt-in-regions.adoc[leveloffset=+1]
5764
include::modules/rosa-setting-the-aws-security-token-version.adoc[leveloffset=+2]
58-
include::modules/rosa-sts-aws-iam.adoc[leveloffset=+1]
65+
66+
[id="rosa-sts-policy-iam_{context}"]
67+
== Red Hat managed IAM references for AWS
68+
69+
With the STS deployment model, Red Hat is no longer responsible for creating and managing Amazon Web Services (AWS) IAM policies, IAM users, or IAM roles. For information on creating these roles and policies, see the following sections on IAM roles.
70+
71+
* To use the `ocm` CLI, you must have an `ocm-role` and `user-role` resource. See xref:../rosa_planning/rosa-sts-ocm-role.adoc#rosa-sts-ocm-role[OpenShift Cluster Manager IAM role resources].
72+
* If you have a single cluster, see xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-account-wide-roles-and-policies_rosa-sts-about-iam-resources[Account-wide IAM role and policy reference].
73+
* For every cluster, you must have the necessary operator roles. See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-operator-roles_rosa-sts-about-iam-resources[Cluster-specific Operator IAM role reference].
74+
5975
include::modules/rosa-aws-provisioned.adoc[leveloffset=+1]
6076
include::modules/osd-aws-privatelink-firewall-prerequisites.adoc[leveloffset=+1]
6177

rosa_planning/rosa-sts-ocm-role.adoc

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,48 @@ include::_attributes/attributes-openshift-dedicated.adoc[]
66

77
toc::[]
88

9-
{product-title} (ROSA) web UI needs you to have some permissions on your AWS account that create a trust relationship to provide the end-user experience at {cluster-manager-url} and for the `rosa` command line interface (CLI).
9+
{product-title} (ROSA) web UI requires that you have specific permissions on your AWS account that create a trust relationship to provide the end-user experience at {cluster-manager-url} and for the `rosa` command line interface (CLI).
1010

11-
This trust relationship is achieved through the creation and association of two AWS IAM roles:
11+
This trust relationship is achieved through the creation and association of the `ocm-role` AWS IAM role. This role has a trust policy with the AWS installer that links your Red Hat account to your AWS account. In addition, you also need a `user-role` AWS IAM role for each web UI user, which serves to identify these users. This `user-role` AWS IAM role has no permissions.
12+
13+
The AWS IAM roles required to use {cluster-manager} are:
1214

1315
1. `ocm-role`
1416
2. `user-role`
1517
16-
If you use the `rosa` CLI, the `rosa` tool creates a number of these required permissions for you. This creation is available since your user account authenticates for both Red Hat and AWS. In the {cluster-manager} web UI, you need to create these roles.
18+
Whether you manage your clusters using the `rosa` CLI or {cluster-manager} web UI, you must create the account-wide roles, known as `account-roles` in the `rosa` CLI, by using the `rosa` CLI. These account roles are necessary for your first cluster, and these roles can be used across multiple clusters. These required account roles are:
19+
20+
1. `Worker-Role`
21+
1. `Support-Role`
22+
1. `Installer-Role`
23+
1. `ControlPlane-Role`
1724
1825
[NOTE]
1926
====
20-
Role creation does not request your AWS access or secret keys. This is because it uses an AWS Secure Token Service (STS) as the basis of its workflow.
27+
Role creation does not request your AWS access or secret keys. AWS Secure Token Service (STS) is used as the basis of this workflow. AWS STS uses temporary, limited-privilege credentials to provide authentication.
2128
====
29+
30+
For more information about creating these roles, see xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-account-wide-roles-and-policies[Account-wide IAM role and policy reference].
31+
32+
Cluster-specific Operator roles, known as `operator-roles` in the `rosa` CLI, obtain the temporary permissions required to carry out cluster operations, such as managing back-end storage, ingress, and registry. These roles are required by the cluster that you create. These required Operator roles are:
33+
34+
1. `<cluster_name>-<hash>-openshift-cluster-csi-drivers-ebs-cloud-credentials`
35+
1. `<cluster_name>-<hash>-openshift-cloud-network-config-controller-credentials`
36+
1. `<cluster_name>-<hash>-openshift-machine-api-aws-cloud-credentials`
37+
1. `<cluster_name>-<hash>-openshift-cloud-credential-operator-cloud-credentials`
38+
1. `<cluster_name>-<hash>-openshift-image-registry-installer-cloud-credentials`
39+
1. `<cluster_name>-<hash>-openshift-ingress-operator-cloud-credentials`
40+
41+
For more information on creating these roles, see xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-operator-roles_rosa-sts-about-iam-resources[Cluster-specific Operator IAM role reference].
42+
2243
include::modules/rosa-sts-about-ocm-role.adoc[leveloffset=+1]
44+
45+
[discrete]
46+
[id="additional-resources-about-ocm-role"]
47+
[role="_additional-resources"]
48+
== Additional resources
49+
* See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-understanding-ocm-role[Understanding the OpenShift Cluster Manager role]
50+
2351
include::modules/rosa-sts-ocm-role-creation.adoc[leveloffset=+2]
2452
include::modules/rosa-sts-about-user-role.adoc[leveloffset=+1]
2553
include::modules/rosa-sts-user-role-creation.adoc[leveloffset=+2]
@@ -30,3 +58,4 @@ include::modules/rosa-sts-aws-requirements-creating-multi-association.adoc[level
3058
[role="_additional-resources"]
3159
== Additional resources
3260
* See xref:../rosa_support/rosa-troubleshooting-iam-resources.adoc#rosa-sts-ocm-roles-and-permissions-troubleshooting[Troubleshooting IAM roles]
61+
* See xref:../rosa_architecture/rosa-sts-about-iam-resources.adoc#rosa-sts-account-wide-roles-and-policies[Account-wide IAM role and policy reference] for a list of IAM roles needed for cluster creation.

0 commit comments

Comments
 (0)