8.5. ROSA CLI 命令的最低权限
您可以使用权限创建遵循最小特权主体的角色,其中分配了角色的用户不会在需要执行的特定操作范围外分配给它们的其他权限。这些策略仅包含使用 Red Hat OpenShift Service on AWS (ROSA)命令行界面(CLI)执行特定操作所需的最小权限。
虽然本主题中介绍的策略和命令可以相互配合工作,但在 AWS 环境中,您可能在 AWS 环境中具有其他限制,使这些命令的策略不足以满足您的特定需求。红帽提供了这些示例作为基准,假设不存在其他 AWS Identity and Access Management (IAM)限制。
列出的示例涵盖了一些最常见的 ROSA CLI 命令。有关 ROSA CLI 命令的更多信息,请参阅 常见命令和参数。
有关在 AWS 控制台中配置权限、策略和角色的更多信息,请参阅 AWS 文档中的 AWS 身份和访问管理。
8.5.1. 常见 ROSA CLI 命令的最低权限
以下列出的 ROSA CLI 命令所需的最小权限适用于托管 control plane (HCP)和 Classic 集群。
8.5.1.1. 创建受管 OpenID Connect (OIDC)供应商
运行以下命令,使用指定权限使用 auto
模式创建受管 OIDC 供应商。
输入
$ rosa create oidc-config --mode auto
policy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateOidcConfig", "Effect": "Allow", "Action": [ "iam:TagOpenIDConnectProvider", "iam:CreateOpenIDConnectProvider" ], "Resource": "*" } ] }
8.5.1.2. 创建非受管 OpenID Connect 供应商
运行以下命令,使用指定权限创建您的非受管 OIDC 供应商,以使用 auto
模式。
输入
$ rosa create oidc-config --mode auto --managed=false
policy
{ "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
policy
{ "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
policy
{ "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
policy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListOidcProviders", "Effect": "Allow", "Action": [ "iam:ListOpenIDConnectProviders", "iam:ListOpenIDConnectProviderTags" ], "Resource": "*" } ] }
8.5.1.6. 验证您的配额
运行以下命令,使用指定权限验证您的配额。
输入
$ rosa verify quota
policy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VerifyQuota", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeAccountLimits", "servicequotas:ListServiceQuotas" ], "Resource": "*" } ] }
8.5.1.7. 删除您的受管 OIDC 配置
运行以下命令,使用指定权限删除您的受管 OIDC 配置,使用 auto
模式删除您的受管 OIDC 配置。
输入
$ rosa delete oidc-config -–mode auto
policy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeleteOidcConfig", "Effect": "Allow", "Action": [ "iam:ListOpenIDConnectProviders", "iam:DeleteOpenIDConnectProvider" ], "Resource": "*" } ] }
8.5.1.8. 删除您的非受管 OIDC 配置
运行以下命令,使用指定权限删除您的非受管 OIDC 配置,以使用 auto
模式删除您的非受管 OIDC 配置。
输入
$ rosa delete oidc-config -–mode auto
policy
{ "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. 使用 HCP CLI 命令的通用 ROSA 的最低权限
以下示例显示了在使用托管 control plane (HCP)集群构建 ROSA 时,最常用的 ROSA CLI 命令所需的最少权限。
8.5.2.1. 创建集群
运行以下命令,使用指定权限创建带有 HCP 集群的 ROSA。
输入
$ rosa create cluster --hosted-cp
policy
{ "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
policy
{ "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. 删除您的帐户角色
运行以下命令,使用指定权限删除 自动
模式的帐户角色。
输入
$ rosa delete account-roles -–mode auto
policy
{ "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
policy
{ "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
policy
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateCluster", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:ListRoleTags", "iam:ListRoles" ], "Resource": "*" } ] }
8.5.3.2. 创建帐户角色和 Operator 角色
运行以下命令,使用指定权限在 'auto' 模式中创建帐户和 Operator 角色。
输入
$ rosa create account-roles --mode auto --classic
policy
{ "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. 删除您的帐户角色
运行以下命令,使用指定权限删除 自动
模式的帐户角色。
输入
$ rosa delete account-roles -–mode auto
policy
{ "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
policy
{ "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 命令不需要运行权限或策略。相反,它们需要访问密钥并配置的 secret 密钥或附加的角色。
命令 | 输入 |
---|---|
列出集群 |
|
列出版本 |
|
描述集群 |
|
创建管理员 |
|
列出用户 |
|
列出升级 |
|
列出 OIDC 配置 |
|
列出身份提供程序 |
|
列出 ingresses |
|
8.5.5. 其他资源
- 如需有关 AWS 角色的更多信息,请参阅 IAM 角色。
- 如需有关 AWS 策略和权限的更多信息,请参阅 IAM 中的策略和权限。