7.3. ROSA CLI コマンドの最小権限
各ユーザーが ROSA コマンドラインインターフェイス (CLI) (rosa) タスクに必要な権限のみを付与する AWS Identity and Access Management (IAM) ロールを作成します。以下の例では、ROSA CLI で最小特権を適用しています。
これらのポリシーとコマンドは連携して機能しますが、AWS 環境におけるその他の制約によっては、これらのポリシーだけではお客様の特定のニーズを満たせない場合があります。Red Hat は、他の AWS アイデンティティーおよびアクセス管理 (IAM) 制限が存在しないことを前提として、これらの例をベースラインとして提供しています。
7.3.1. 一般的な ROSA CLI コマンドに対する最小権限 リンクのコピーリンクがクリップボードにコピーされました!
これらの例は、Red Hat OpenShift Service on AWS クラスターをビルドする際に、一般的な ROSA コマンドラインインターフェイス (CLI) (rosa) コマンドに対して必要な最小限の特権 IAM アクセス許可を示しています。
7.3.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": "*"
}
]
}
7.3.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": "*"
}
]
}
7.3.1.3. アカウントロールの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
指定したパーミッションで次のコマンドを実行して、アカウントのロールを一覧表示します。
入力
$ rosa list account-roles
ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListAccountRoles",
"Effect": "Allow",
"Action": [
"iam:ListRoleTags",
"iam:ListRoles"
],
"Resource": "*"
}
]
}
7.3.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": "*"
}
]
}
7.3.1.5. OIDC プロバイダーの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
OIDC プロバイダーをリスト表示するには、指定された権限で次のコマンドを実行します。
入力
$ rosa list oidc-providers
ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListOidcProviders",
"Effect": "Allow",
"Action": [
"iam:ListOpenIDConnectProviders",
"iam:ListOpenIDConnectProviderTags"
],
"Resource": "*"
}
]
}
7.3.1.6. クォータの確認 リンクのコピーリンクがクリップボードにコピーされました!
指定された権限で次のコマンドを実行して、クォータを確認します。
入力
$ rosa verify quota
ポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VerifyQuota",
"Effect": "Allow",
"Action": [
"elasticloadbalancing:DescribeAccountLimits",
"servicequotas:ListServiceQuotas"
],
"Resource": "*"
}
]
}
7.3.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": "*"
}
]
}
7.3.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": "*"
}
]
}
7.3.1.9. クラスターの作成 リンクのコピーリンクがクリップボードにコピーされました!
指定された権限で次のコマンドを実行して、Red Hat OpenShift Service on AWS クラスターを作成します。
入力
$ 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": "*"
}
]
}
7.3.1.10. アカウントロールおよび 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": "*"
}
]
}
7.3.1.11. アカウントロールの削除 リンクのコピーリンクがクリップボードにコピーされました!
指定された権限で次のコマンドを実行して、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": "*"
}
]
}
7.3.1.12. 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": "*"
}
]
}