8.5. ROSA CLI コマンドの最小権限
最小権限のプリンシパルに準拠した権限を割り当てたロールを作成できます。このプリンシパルでは、ロールを割り当てられたユーザーには、実行する必要のある特定のアクションの範囲を超える権限は割り当てられません。これらのポリシーには、Red Hat OpenShift Service on AWS (ROSA) コマンドラインインターフェイス (CLI) を使用して特定のアクションを実行するために必要な最小限の権限のみが含まれています。
このトピックで紹介されているポリシーとコマンドは相互に連携して機能しますが、AWS 環境内に他の制限があり、これらのコマンドのポリシーが特定のニーズに不十分な場合があります。Red Hat は、他の AWS アイデンティティーおよびアクセス管理 (IAM) 制限が存在しないことを前提として、これらの例をベースラインとして提供しています。
リストしている例では、最も一般的な ROSA CLI コマンドを複数紹介しています。ROSA CLI コマンドの詳細は、一般的なコマンドおよび引数 を参照してください。
AWS コンソールでアクセス許可、ポリシー、ロールを設定する方法の詳細は、AWS ドキュメントの AWS アイデンティティーおよびアクセス管理 を参照してください。
8.5.1. 一般的な ROSA CLI コマンドに対する最小権限
リストされている ROSA CLI コマンドに必要な次の最小限の権限は、Hosted Control Plane (HCP) および Classic クラスターに適用されます。
8.5.1.1. マネージド OpenID Connect (OIDC) プロバイダーの作成
指定された権限で次のコマンドを実行し、auto
モードを使用してマネージド OIDC プロバイダーを作成します。
入力
$ rosa create oidc-config --mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOidcConfig", "Effect": "Allow", "Action": [ "iam:TagOpenIDConnectProvider", "iam:CreateOpenIDConnectProvider" ], "Resource": "*" } ] }
8.5.1.2. 管理されていない OpenID Connect プロバイダーの作成
指定された権限で次のコマンドを実行し、auto
モードを使用して管理されていない OIDC プロバイダーを作成します。
入力
$ rosa create oidc-config --mode auto --managed=false
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:TagOpenIDConnectProvider", "iam:ListRoleTags", "iam:ListRoles", "iam:CreateOpenIDConnectProvider", "s3:CreateBucket", "s3:PutObject", "s3:PutBucketTagging", "s3:PutBucketPolicy", "s3:PutObjectTagging", "s3:PutBucketPublicAccessBlock", "secretsmanager:CreateSecret", "secretsmanager:TagResource" ], "Resource": "*" } ] }
8.5.1.3. アカウントロールの一覧表示
指定したパーミッションで次のコマンドを実行して、アカウントのロールを一覧表示します。
入力
$ rosa list account-roles
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListAccountRoles", "Effect": "Allow", "Action": [ "iam:ListRoleTags", "iam:ListRoles" ], "Resource": "*" } ] }
8.5.1.4. Operator ロールの一覧表示
指定された権限で次のコマンドを実行して、Operator のロールをリスト表示します。
入力
$ rosa list operator-roles
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListOperatorRoles", "Effect": "Allow", "Action": [ "iam:ListRoleTags", "iam:ListAttachedRolePolicies", "iam:ListRoles", "iam:ListPolicyTags" ], "Resource": "*" } ] }
8.5.1.5. OIDC プロバイダーの一覧表示
OIDC プロバイダーをリスト表示するには、指定された権限で次のコマンドを実行します。
入力
$ rosa list oidc-providers
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListOidcProviders", "Effect": "Allow", "Action": [ "iam:ListOpenIDConnectProviders", "iam:ListOpenIDConnectProviderTags" ], "Resource": "*" } ] }
8.5.1.6. クォータの確認
指定された権限で次のコマンドを実行して、クォータを確認します。
入力
$ rosa verify quota
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VerifyQuota", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeAccountLimits", "servicequotas:ListServiceQuotas" ], "Resource": "*" } ] }
8.5.1.7. マネージド OIDC 設定の削除
auto
モードを使用して管理対象 OIDC 設定を削除するには、指定された権限で次のコマンドを実行します。
入力
$ rosa delete oidc-config -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeleteOidcConfig", "Effect": "Allow", "Action": [ "iam:ListOpenIDConnectProviders", "iam:DeleteOpenIDConnectProvider" ], "Resource": "*" } ] }
8.5.1.8. マネージドではない OIDC 設定の削除
auto
モードを使用して管理されていない OIDC 設定を削除するには、指定された権限で次のコマンドを実行します。
入力
$ rosa delete oidc-config -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:ListOpenIDConnectProviders", "iam:DeleteOpenIDConnectProvider", "secretsmanager:DeleteSecret", "s3:ListBucket", "s3:DeleteObject", "s3:DeleteBucket" ], "Resource": "*" } ] }
8.5.2. 一般的な ROSA with HCP CLI コマンドに対する最小権限
次の例は、Hosted Control Plane (HCP) クラスターを使用して ROSA を構築するときに、最も一般的な ROSA CLI コマンドに必要な最小限の権限を示しています。
8.5.2.1. クラスターの作成
指定された権限で次のコマンドを実行して、ROSA with HCP クラスターを作成します。
入力
$ rosa create cluster --hosted-cp
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateCluster", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRoleTags", "iam:ListAttachedRolePolicies", "iam:ListRoles", "ec2:DescribeSubnets", "ec2:DescribeRouteTables", "ec2:DescribeAvailabilityZones" ], "Resource": "*" } ] }
8.5.2.2. アカウントロールおよび Operator ロールの作成
指定された権限で以下のコマンドを実行し、auto
モードを使用してアカウントおよび Operator ロールを作成します。
入力
$ rosa create account-roles --mode auto --hosted-cp
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccountRoles", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:UpdateAssumeRolePolicy", "iam:ListRoleTags", "iam:GetPolicy", "iam:TagRole", "iam:ListRoles", "iam:CreateRole", "iam:AttachRolePolicy", "iam:ListPolicyTags" ], "Resource": "*" } ] }
8.5.2.3. アカウントロールの削除
指定された権限で次のコマンドを実行して、auto
モードでアカウントロールを削除します。
入力
$ rosa delete account-roles -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeleteAccountRoles", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListInstanceProfilesForRole", "iam:DetachRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRoles", "iam:DeleteRole", "iam:ListRolePolicies" ], "Resource": "*" } ] }
8.5.2.4. Operator ロールの削除
指定された権限で以下のコマンドを実行し、auto
モードで Operator ロールを削除します。
入力
$ rosa delete operator-roles -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeleteOperatorRoles", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:DetachRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRoles", "iam:DeleteRole" ], "Resource": "*" } ] }
8.5.3. 一般的な ROSA Classic CLI コマンドに対する最小権限
次の例は、ROSA Classic クラスターを構築するときに最も一般的な ROSA CLI コマンドに必要な最小限の権限を示しています。
8.5.3.1. クラスターの作成
指定された権限で次のコマンドを実行し、最小限の権限を持つ ROSA Classic クラスターを作成します。
入力
$ rosa create cluster
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateCluster", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRoleTags", "iam:ListRoles" ], "Resource": "*" } ] }
8.5.3.2. アカウントロールと Operator ロールの作成
指定された権限で次のコマンドを実行し、アカウントと Operator のロールを `auto' モードで作成します。
入力
$ rosa create account-roles --mode auto --classic
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccountOperatorRoles", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:UpdateAssumeRolePolicy", "iam:ListRoleTags", "iam:GetPolicy", "iam:TagRole", "iam:ListRoles", "iam:CreateRole", "iam:AttachRolePolicy", "iam:TagPolicy", "iam:CreatePolicy", "iam:ListPolicyTags" ], "Resource": "*" } ] }
8.5.3.3. アカウントロールの削除
指定された権限で次のコマンドを実行して、auto
モードでアカウントロールを削除します。
入力
$ rosa delete account-roles -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListInstanceProfilesForRole", "iam:DetachRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRoles", "iam:DeleteRole", "iam:ListRolePolicies", "iam:GetPolicy", "iam:ListPolicyVersions", "iam:DeletePolicy" ], "Resource": "*" } ] }
8.5.3.4. Operator ロールの削除
指定された権限で以下のコマンドを実行し、auto
モードで Operator ロールを削除します。
入力
$ rosa delete operator-roles -–mode auto
ポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListInstanceProfilesForRole", "iam:DetachRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRoles", "iam:DeleteRole", "iam:ListRolePolicies", "iam:GetPolicy", "iam:ListPolicyVersions", "iam:DeletePolicy" ], "Resource": "*" } ] }
8.5.4. 権限を必要としない ROSA CLI コマンド
次の ROSA CLI コマンドを実行するには、権限やポリシーは必要ありません。代わりに、アクセスキーと設定されたシークレットキー、またはアタッチされたロールが必要です。
コマンド | 入力 |
---|---|
list cluster |
|
list versions |
|
describe cluster |
|
create admin |
|
list users |
|
list upgrades |
|
list OIDC configuration |
|
list identity providers |
|
list ingresses |
|
8.5.5. 関連情報
- AWS IAM ロールの詳細は、IAM roles を参照してください。
- AWS ポリシーとアクセス許可の詳細は、Policies and permissions in IAM を参照してください。