View a markdown version of this page

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

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

引用资源策略、Amazon EKS 集群配置映射中的权限集,以及 AWS KMS 密钥策略

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

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

Name 进行筛选
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

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

Name 进行筛选
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 创建相应的角色:

Name 进行筛选
AWSReservedSSO_DatabaseAdministrator_1234567890abcdef arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_DatabaseAdministrator_1234567890abcdef

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

Name 进行筛选
AWSReservedSSO_DatabaseAdministrator_abcdef0123456789 arn:aws:iam::111122223333:role/aws-reserved/sso.amazonaws.com/eu-west-2/AWSReservedSSO_DatabaseAdministrator_abcdef0123456789

角色的新名称和 ARN 中的后缀更改将导致引用原始名称和 ARN 的任何策略都过时,从而中断使用相应权限集的个人的访问。例如,如果在以下配置中引用原始 ARN,则角色 ARN 的更改将中断权限集用户的访问:

  • 如使用 aws-auth ConfigMap 访问集群,则在 Amazon Elastic Kubernetes Service(Amazon EKS)集群的 aws-auth ConfigMap 文件中。

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

注意

建议使用 Amazon EKS 访问条目管理对 Amazon EKS 集群的访问权限。这样您就可以使用 IAM 权限管理有权访问 Amazon EKS 集群的主体。通过使用 Amazon EKS 访问条目,您无需联系 支持即可使用具有 Amazon EKS 权限的 IAM 主体重新获得对集群的访问权限。

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

避免访问中断的建议

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

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

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

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

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

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

自定义信任策略示例

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

  • 该信托政策的委托人要素指定了 AWS 账户委托人。在此政策中,111122223333拥有sts:AssumeRole权限的 AWS 账户中的委托人可以代入在 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 中创建的角色。

    JSON
    { "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 集群或其他 AWS 资源。 AWS KMS keys