$ rosa create oidc-config --mode auto
您可以创建具有最小权限原则的权限角色,其中分配了这些角色的用户在其需要执行的特定操作范围之外没有其他权限。这些策略仅包含使用 Red Hat OpenShift Service on AWS (ROSA) 命令行界面 (CLI) 执行特定操作所需的最低权限。
尽管本主题中介绍的策略和命令可以相互配合使用,但您的 AWS 环境中可能存在其他限制,这使得这些命令的策略不足以满足您的特定需求。Red Hat 提供这些示例作为基线,假设没有其他 AWS 身份和访问管理 (IAM) 限制。 |
列出的示例涵盖了几个最常见的 ROSA CLI 命令。有关 ROSA CLI 命令的更多信息,请参阅 常用命令和参数。 |
有关在 AWS 控制台中配置权限、策略和角色的更多信息,请参阅 AWS 文档中的 AWS 身份和访问管理。
列出的 ROSA CLI 命令的以下所需最小权限适用于托管控制平面 (HCP) 和 Classic 集群。
使用auto
模式运行以下命令并指定权限以创建您的托管 OIDC 提供程序。
$ rosa create oidc-config --mode auto
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateOidcConfig",
"Effect": "Allow",
"Action": [
"iam:TagOpenIDConnectProvider",
"iam:CreateOpenIDConnectProvider"
],
"Resource": "*"
}
]
}
使用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 角色。
$ rosa list operator-roles
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ListOperatorRoles",
"Effect": "Allow",
"Action": [
"iam:ListRoleTags",
"iam:ListAttachedRolePolicies",
"iam:ListRoles",
"iam:ListPolicyTags"
],
"Resource": "*"
}
]
}
使用以下命令和指定的权限列出您的 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": "*"
}
]
}
使用auto
模式运行以下命令并指定权限以删除您的托管 OIDC 配置。
$ rosa delete oidc-config -–mode auto
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DeleteOidcConfig",
"Effect": "Allow",
"Action": [
"iam:ListOpenIDConnectProviders",
"iam:DeleteOpenIDConnectProvider"
],
"Resource": "*"
}
]
}
使用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 时,最常见的 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": "*"
}
]
}
使用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": "*"
}
]
}
使用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 集群时,最常见的 ROSA CLI 命令所需的最小权限。
使用指定的权限运行以下命令以使用最小权限创建 ROSA Classic 集群。
$ rosa create cluster
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateCluster",
"Effect": "Allow",
"Action": [
"iam:GetRole",
"iam:ListRoleTags",
"iam:ListRoles"
],
"Resource": "*"
}
]
}
使用`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": "*"
}
]
}
使用指定的权限运行以下命令以在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 命令不需要权限或策略即可运行。它们需要访问密钥和已配置的密钥,或者附加的角色。
命令 | 输入 |
---|---|
列出集群 |
|
列出版本 |
|
描述集群 |
|
创建管理员 |
|
列出用户 |
|
列出升级 |
|
列出 OIDC 配置 |
|
列出身份提供商 |
|
列出 Ingress |
|
有关 AWS 角色的更多信息,请参阅 IAM 角色。
有关 AWS 策略和权限的更多信息,请参阅 IAM 中的策略和权限。