在资源策略、Amazon EKS 集群配置映射和 AWS KMS 密钥策略中引用权限集 - AWS IAM Identity Center

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在资源策略、Amazon EKS 集群配置映射和 AWS KMS 密钥策略中引用权限集

当您为 AWS 账户分配权限集时,Ident IAM ity Center 会创建一个名称以开头的角色AWSReservedSSO_

角色的完整名称和 Amazon 资源名称 (ARN) 使用以下格式:

名称 ARN
AWSReservedSSO_permission-set-name_unique-suffix arn:aws:iam::aws-account-ID:role/aws-reserved/sso.amazonaws.com/aws-region/AWSReservedSSO_permission-set-name_unique-suffix

如果您在 Identity Center 中的IAM身份源托管在 us-east-1 中,则没有 aws-region 在ARN。角色的完整名称和ARN名称使用以下格式:

名称 ARN
AWSReservedSSO_permission-set-name_unique-suffix arn:aws:iam::aws-account-ID:role/aws-reserved/sso.amazonaws.com/AWSReservedSSO_permission-set-name_unique-suffix

例如,如果您创建了一个向数据库管理员授予 AWS 账户访问权限的权限集,则会使用以下名称和创建相应的角色ARN:

名称 ARN
AWSReservedSSO_DatabaseAdministrator_1234567890abcdef arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_DatabaseAdministrator_1234567890abcdef

如果您删除 AWS 帐户中对该权限集的所有分配,则 Ident IAM ity Center 创建的相应角色也会被删除。如果您稍后对同一权限集进行了新分配,Ident IAM ity Center 会为该权限集创建一个新角色。新角色ARN的名称和包含一个不同的唯一后缀。在此示例中,唯一后缀是 abcdef0123456789

名称 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

  • 当你aws-auth ConfigMap使用访问集群时,在亚马逊 Elastic Kubernetes Servic EKS e (Amazon) 集群aws-auth ConfigMap的文件中。

  • 在 AWS Key Management Service (AWS KMS) 密钥的基于资源的策略中。该政策也被称为关键政策。

注意

我们建议您使用 Amazon EKS 访问条目来管理对您的亚马逊EKS集群的访问权限。这允许您使用IAM权限来管理有权访问 Amazon EKS 集群的委托人。通过使用 Amazon EKS 访问条目,您可以使用具有 Amazon EKS 权限的IAM委托人无需联系即可重新获得对集群的访问权限 AWS Support。

尽管您可以更新大多数 AWS 服务的基于资源的策略,以便为与权限集相对应的角色引用新的ARN策略,但 AWS KMS 如果权限集ARN发生变化,则必须具有在 Amazon EKS 中创建IAM的备份角色。对于 AmazonEKS,备份IAM角色必须存在于aws-auth ConfigMap。因为 AWS KMS,它必须存在于您的密钥策略中。如果您没有有权更新aws-auth ConfigMap或 AWS KMS 密钥策略的备份IAM角色,请联系 AWS Support 以重新获得对这些资源的访问权限。

避免访问中断的建议

为避免因与权限集对应的角色ARN的更改而导致访问中断,我们建议您执行以下操作。

  • 维护至少一项权限集分配。

    在包含您在 for Amazon 中引用的角色EKS、中的aws-auth ConfigMap关键策略或其他 AWS 服务角色的基于资源的策略的 AWS 账户中 AWS KMS保留此分配。

    例如,如果您创建了一个EKSAccess权限集并ARN从 AWS 帐户中引用了相应的角色111122223333,则会将管理组永久分配给该帐户中的权限集。由于分配是永久性的,因此 Ident IAM ity Center 不会删除相应的角色,从而消除了重命名风险。管理组将始终具有访问权限,而无需担心权限升级的风险。

  • 对于使用aws-auth ConfigMap和的 Amazon EKS 集群 AWS KMS:包括在中创建的角色IAM。

    如果您在 for Amazon EKS 集群中ARNsaws-auth ConfigMap为权限集引用角色,或者在 AWS KMS 密钥策略中为密钥引用角色,我们建议您至少包括一个您在中创建的角色IAM。该角色必须允许您访问 Amazon EKS 集群或管理 AWS KMS 密钥策略。权限集必须能够承担此角色。这样,如果权限集ARN的角色发生变化,则可以在aws-auth ConfigMap或 AWS KMS 密钥策略ARN中更新对的引用。下一节将举例说明如何为在中创建的角色创建信任策略IAM。该角色只能由 AdministratorAccess 权限集承担。

自定义信任策略示例

以下是自定义信任策略的示例,该策略为AdministratorAccess权限集提供了对在中创建的角色的访问权限IAM。该策略的关键要素包括:

  • 此信任策略的 “委托人” 元素指定了 AWS 账户委托人。在此策略中, AWS 账户中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,而不是唯一的后缀。这意味着,IAM即使权限集的角色发生变化,该策略也允许该权限集代入中创建ARN的角色。

    { "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_*" } } } ] }

    如果意外删除并重新创建了权限集或该权限集的所有分配, AWS KMS keys则在此类策略IAM中包含您创建的角色将为您提供对您的 Amazon EKS 集群或其他 AWS 资源的紧急访问权限。