本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
引用资源策略中的权限集、Amazon EKS 和 Amazon KMS
当您向Amazon账户分配权限集时,IAM Identity Center 会创建一个名称以开头的角色AWSReservedSSO_
。
该角色的完整名称和亚马逊资源名称 (ARN) 使用以下格式:
名称 | ARN |
---|---|
AWSReservedSSO_ |
arn:aws:iam:: |
例如,如果您创建了向数据库管理员授予Amazon账户访问权限的权限集,则会使用以下名称和 ARN 创建相应的角色:
名称 | ARN |
---|---|
AWSReservedSSO_DatabaseAdministrator_1234567890abcdef
|
arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_DatabaseAdministrator_1234567890abcdef |
如果您删除Amazon账户中对该权限集的所有分配,则 IAM Identity Center 创建的相应角色也会被删除。如果您稍后对同一权限集进行了新分配,IAM Identity Center 会为该权限集创建一个新角色。新角色的名称和 ARN 包含一个不同的唯一后缀。在此示例中,唯一的后缀是 ab cdef0123456789。
名称 | ARN |
---|---|
AWSReservedSSO_DatabaseAdministrator_abcdef0123456789 |
arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_DatabaseAdministrator_abcdef0123456789 |
角色的新名称和 ARN 的后缀更改将导致任何引用原始名称和 ARN 的策略出现,从而中断使用 out-of-date相应权限集的个人的访问权限。例如,如果在以下配置中引用了原始 ARN,则角色的 ARN 更改将中断权限集用户的访问权限:
-
在亚马逊 Elastic Kubernetes Service(亚马逊 EKS)
aws-auth ConfigMap
的文件中 -
在 Amazon Key Management Service (Amazon KMS) 密钥的基于资源的策略中。该政策也被称为关键政策。
尽管您可以更新大多数Amazon服务的基于资源的策略,以便为与权限集相对应的角色引用新 ARN,但您必须拥有在 IAM for Amazon EKS 中创建的备用角色,Amazon KMS并且如果 ARN 发生变化。对于 Amazon EKS,备份 IAM 角色必须存在于aws-auth ConfigMap
。因为Amazon KMS,它必须存在于您的密钥策略中。无论哪种情况,如果您都没有备份 IAM 角色,则必须联系Amazon Web Services Support。
避免访问中断的建议
为避免因与权限集对应的角色的 ARN 更改而导致访问中断,我们建议您执行以下操作。
-
至少保留一个权限集分配。
在包含您在 Amazon EKS 中引用的角色、中的
aws-auth ConfigMap
关键策略或其他Amazon Web Services角色的基于资源的策略的Amazon账户中Amazon KMS保留此分配。例如,如果您创建
EKSAccess
权限集并从Amazon账户中引用相应角色 ARN111122223333
,则将管理组永久分配给该账户中的权限集。由于分配是永久性的,因此 IAM Identity Center 不会删除相应的角色,从而消除了重命名风险。管理组将始终拥有访问权限,而不会有权限升级的风险。 -
适用于 Amazon EKS 和Amazon KMS:包括在 IAM 中创建的角色。
如果您在适用于 Amazon EKS 集群
aws-auth ConfigMap
的权限集或密钥的Amazon KMS密钥策略中引用角色 ARN,我们建议您至少包含一个在 IAM 中创建的角色。该角色必须允许您访问 Amazon EKS 集群或管理Amazon KMS密钥策略。权限集必须能够担任此角色。这样,如果权限集的角色 ARN 发生更改,则可以在或密钥策略中更新对 ARN 的aws-auth ConfigMap
引用。Amazon KMS下一节将举例说明如何为在 IAM 中创建的角色创建信任策略。该角色只能由AdministratorAccess
权限集担任。
自定义信任策略示例
以下是自定义信任策略的示例,该策略为AdministratorAccess
权限集提供了对在 IAM 中创建的角色的访问权限。该政策的关键要素包括:
-
此信任策略的 “委托人” 元素指定了Amazon账户委托人。在此策略中,Amazon账户中
111122223333
拥有sts:AssumeRole
权限的委托人可以代入在 IAM 中创建的角色。 -
该信任策略规定
Condition element
了对可以担任在 IAM 中创建的角色的委托人的额外要求。在此策略中,具有以下角色 ARN 的权限集可以代入该角色。arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_AdministratorAccess_*"
注意
该
Condition
元素包括ArnLike
条件运算符,并在权限集角色 ARN 的末尾使用通配符,而不是唯一的后缀。这意味着,即使权限集的角色 ARN 发生变化,该策略也将允许权限集代入在 IAM 中创建的角色。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_AdministratorAccess_*" } } } ] }
如果意外删除并重新创建了权限集或对该权限集的所有分配,则在此类策略中包含您在 IAM 中创建的角色将为您提供对您的 Amazon EKS 集群或其他Amazon资源的紧急访问权限。Amazon KMS keys