控制对自定义密钥存储的访问 - AWS Key Management Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

控制对自定义密钥存储的访问

您可以使用 IAM 策略控制对 AWS KMS 自定义密钥存储和 AWS CloudHSM 集群的访问。您可以使用 IAM 策略和密钥策略来控制对自定义密钥存储中的客户主密钥 (CMK) 的访问。我们建议您仅向用户、组和角色提供他们可能执行的任务所需的权限。

向自定义密钥存储管理员和用户授权

在设计您的自定义密钥存储时,请确保使用和管理它的委托人仅具有其所需的权限。以下列表描述了客户密钥存储管理员和用户所需的最低权限。

  • 创建和管理自定义密钥存储的委托人需要以下权限才能使用自定义密钥存储 API 操作。

    • cloudhsm:DescribeClusters

    • kms:CreateCustomKeyStore

    • kms:ConnectCustomKeyStore

    • kms:DisconnectCustomKeyStore

    • kms:UpdateCustomKeyStore

    • kms:DeleteCustomKeyStore

    • kms:DescribeCustomKeyStores

    • iam:CreateServiceLinkedRole

  • 创建和管理与您的自定义密钥存储关联的 AWS CloudHSM 集群的委托人需要创建和初始化 AWS CloudHSM 集群的权限。这包括创建或使用 Virtual Private Cloud、创建子网和创建 Amazon EC2 实例所需的权限。他们可能还需要创建和删除 HSM 以及管理备份。有关所需权限的列表,请参阅将用户权限制为 AWS CloudHSM 所需权限中的AWS CloudHSM 用户指南

  • 在您的自定义密钥存储中创建和管理客户主密钥 (CMK) 的委托人需要相同的权限作为在 AWS KMS 中创建和管理任何 CMK 的用户。这些区域有:默认密钥策略中的 CMK 的默认密钥策略与 AWS KMS 中 CMK 的默认密钥策略相同。基于属性的访问控制(ABAC) 使用标签和别名来控制对 CMK 的访问,对于自定义密钥存储中的 CMK 也很有效。

  • 使用自定义密钥存储中的 CMK 进行加密操作的委托人需要使用 CMK 执行加密操作的权限,如 kms:Decrypt。您可以在 IAM 或密钥策略中提供这些权限。但是,他们无需任何额外权限即可在自定义密钥存储中使用 CMK。

授权 AWS KMS 管理 AWS CloudHSM 和 Amazon EC2 资源

为了支持您的自定义密钥存储,AWS KMS 需要获取有关 AWS CloudHSM 集群的信息的权限。该角色还需要创建将您的自定义密钥存储连接到其 AWS CloudHSM 集群的网络基础设施的权限。为了获取这些权限,AWS KMS 会创建AWS 服务密钥管理服务密钥商店AWS 账户中的服务相关角色。创建自定义密钥存储的用户必须具有能让其创建服务相关角色的 iam:CreateServiceLinkedRole 权限。

关于 AWS KMS 服务相关角色

A服务相关角色是 IAM 角色,该角色可向一个 AWS 服务提供代表您调用其他 AWS 服务的权限。该角色旨在使您能够更轻松地使用多项集成式 AWS 服务的功能,而无需创建和维护复杂的 IAM 策略。

对于自定义密钥存储,AWS KMS 会创建AWS 服务密钥管理服务密钥商店服务相关角色与AWS 密钥管理服务密钥存储服务策略策略。此策略向该角色授予以下权限:

由于AWS 服务密钥管理服务密钥商店服务相关角色仅信任cks.kms.amazonaws.com,则只有 AWS KMS 才能代入此服务相关角色。此角色受限于 AWS KMS 查看 AWS CloudHSM 集群并将自定义密钥存储连接到其关联 AWS CloudHSM 集群所需的操作。该角色不会向 AWS KMS 提供任何额外权限。例如,AWS KMS 无权创建、管理或删除您的 AWS CloudHSM 集群、HSM 或备份。

区域

与自定义密钥存储功能一样,AWS 服务密钥管理服务密钥商店角色在提供 AWS AWS KMS 和 AWS CloudHSM 的所有 AWS 区域中都受支持。有关每个服务支持的 AWS 区域的列表,请参阅AWS Key Management Service 终端节点和配额AWS CloudHSM 终端节点和配额中的Amazon Web Services 一般参考

有关 AWS 服务如何使用服务相关角色的更多信息,请参阅使用服务相关角色(在 IAM 用户指南中)。

创建服务相关角色

AWS KMS 会自动创建AWS 服务密钥管理服务密钥商店当您创建自定义密钥存储时,AWS 账户中的服务相关角色(如果该角色不存在)。您无法直接创建或重新创建此服务相关角色。

编辑服务相关角色描述

您无法在AWS 服务密钥管理服务密钥商店服务相关角色,但可以编辑角色描述。有关说明,请参阅编辑服务相关角色中的IAM 用户指南

删除服务相关角色

AWS KMS 不会删除AWS 服务密钥管理服务密钥商店AWS 账户中的服务相关角色。如果您有删除了所有自定义密钥存储并且不打算创建任何新角色,则不再需要此服务相关角色。除非您具有活动的自定义密钥存储,否则 AWS KMS 不代入此角色或使用其权限。但是,目前没有删除AWS 服务密钥管理服务密钥商店服务相关角色。