×

您可以创建具有最小权限原则的权限角色,其中分配了这些角色的用户在其需要执行的特定操作范围之外没有其他权限。这些策略仅包含使用 Red Hat OpenShift Service on AWS (ROSA) 命令行界面 (CLI) 执行特定操作所需的最低权限。

尽管本主题中介绍的策略和命令可以相互配合使用,但您的 AWS 环境中可能存在其他限制,这使得这些命令的策略不足以满足您的特定需求。Red Hat 提供这些示例作为基线,假设没有其他 AWS 身份和访问管理 (IAM) 限制。

列出的示例涵盖了几个最常见的 ROSA CLI 命令。有关 ROSA CLI 命令的更多信息,请参阅 常用命令和参数

有关在 AWS 控制台中配置权限、策略和角色的更多信息,请参阅 AWS 文档中的 AWS 身份和访问管理

常见 ROSA CLI 命令的最小权限

列出的 ROSA CLI 命令的以下所需最小权限适用于托管控制平面 (HCP) 和 Classic 集群。

创建托管 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": "*"
        }
    ]
}

创建非托管 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": "*"
        }
    ]
}

列出您的帐户角色

使用以下命令和指定的权限列出您的帐户角色。

输入
$ rosa list account-roles
策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListAccountRoles",
            "Effect": "Allow",
            "Action": [
                "iam:ListRoleTags",
                "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}

列出您的 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": "*"
        }
    ]
}

列出您的 OIDC 提供程序

使用以下命令和指定的权限列出您的 OIDC 提供程序。

输入
$ rosa list oidc-providers
策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ListOidcProviders",
            "Effect": "Allow",
            "Action": [
                "iam:ListOpenIDConnectProviders",
                "iam:ListOpenIDConnectProviderTags"
            ],
            "Resource": "*"
        }
    ]
}

验证您的配额

使用以下命令和指定的权限验证您的配额。

输入
$ rosa verify quota
策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VerifyQuota",
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:DescribeAccountLimits",
                "servicequotas:ListServiceQuotas"
            ],
            "Resource": "*"
        }
    ]
}

删除您的托管 OIDC 配置

使用auto模式运行以下命令并指定权限以删除您的托管 OIDC 配置。

输入
$ rosa delete oidc-config -–mode auto
策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DeleteOidcConfig",
            "Effect": "Allow",
            "Action": [
                "iam:ListOpenIDConnectProviders",
                "iam:DeleteOpenIDConnectProvider"
            ],
            "Resource": "*"
        }
    ]
}

删除您的非托管 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": "*"
        }
    ]
}

使用 HCP 的常见 ROSA CLI 命令的最小权限

以下示例显示了构建使用托管控制平面 (HCP) 集群的 ROSA 时,最常见的 ROSA CLI 命令所需的最小权限。

创建集群

使用指定的权限运行以下命令以创建使用 HCP 集群的 ROSA。

输入
$ 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": "*"
        }
    ]
}

创建您的帐户角色和 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": "*"
        }
    ]
}

删除您的帐户角色

使用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": "*"
        }
    ]
}

删除您的 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": "*"
        }
    ]
}

常见 ROSA Classic CLI 命令的最小权限

以下示例显示了构建 ROSA Classic 集群时,最常见的 ROSA CLI 命令所需的最小权限。

创建集群

使用指定的权限运行以下命令以使用最小权限创建 ROSA Classic 集群。

输入
$ rosa create cluster
策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "CreateCluster",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:ListRoleTags",
                "iam:ListRoles"
            ],
            "Resource": "*"
        }
    ]
}

创建帐户角色和 Operator 角色

使用`auto`模式运行以下命令并指定权限以创建帐户和 Operator 角色。

输入
$ 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": "*"
        }
    ]
}

删除您的账户角色

使用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": "*"
        }
    ]
}

删除您的 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": "*"
        }
    ]
}

无需权限的 ROSA CLI 命令

以下 ROSA CLI 命令不需要权限或策略即可运行。它们需要访问密钥和已配置的密钥,或者附加的角色。

表 1. 命令
命令 输入

列出集群

$ rosa list cluster

列出版本

$ rosa list versions

描述集群

$ rosa describe cluster -c <集群名称>

创建管理员

$ rosa create admin -c <集群名称>

列出用户

$ rosa list users -c <集群名称>

列出升级

$ rosa list upgrades

列出 OIDC 配置

$ rosa list oidc-config

列出身份提供商

$ rosa list idps -c <集群名称>

列出 Ingress

$ rosa list ingresses -c <集群名称>

更多资源