搜索

8.5. ROSA CLI 命令的最低权限

download PDF

您可以使用权限创建遵循最小特权主体的角色,其中分配了角色的用户不会在需要执行的特定操作范围外分配给它们的其他权限。这些策略仅包含使用 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 密钥或附加的角色。

表 8.110. 命令
命令输入

列出集群

$ ROSA list cluster

列出版本

$ ROSA 列表版本

描述集群

$ ROSA describe cluster -c <cluster name>

创建管理员

$ ROSA create admin -c <cluster name>

列出用户

$ ROSA list users -c <cluster-name>

列出升级

$ ROSA list upgrade

列出 OIDC 配置

$ ROSA list oidc-config

列出身份提供程序

$ ROSA list idps -c <cluster-name>

列出 ingresses

$ ROSA list ingresses -c <cluster-name>

8.5.5. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.