AWS 全局条件键 - AWS Key Management Service

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

AWS 全局条件键

AWS 定义全局条件密钥,这是一组IAM用于访问控制的所有 AWS 服务的策略条件密钥。 AWS KMS 支持所有全局条件键。您可以在 AWS KMS 关键策略和IAM策略中使用它们。

例如,只有当请求中的委托人由条件键值中的 Amazon 资源名称 AWS KMS key (KMS) 表示时,您才可以使用 aws: PrincipalArn 全局条件密钥允许访问(密钥ARN)。要在中支持基于属性的访问控制 (ABAC) AWS KMS,您可以在IAM策略中使用 a ws:ResourceTag/tag-key 全局条件密钥来允许访问带有特定标签的KMS密钥。

在委托人为 AWS 服务委托人的保单中,为了防止某项AWS 服务被用作混淆的副手,您可以使用 aws:SourceArnaws:SourceAccount全局条件键。有关详细信息,请参阅使用 aws:SourceArn 或 aws:SourceAccount 条件键

有关 AWS 全局条件密钥的信息,包括可用的请求类型,请参阅《IAM用户指南》中的AWS 全局条件上下文密钥。有关在IAM策略中使用全局条件密钥的示例,请参阅IAM用户指南中的控制请求访问和控制标签密钥。

以下主题为基于 IP 地址和VPC端点使用条件密钥提供了特殊指导。

在具有 AWS KMS 权限的策略中使用 IP 地址条件

您可以使用 AWS KMS 在集成 AWS 服务中保护您的数据。但是,在允许或拒绝访问的同一策略声明中指定 IP 地址aws:SourceIp条件运算符或条件密钥时,请谨慎行事 AWS KMS。例如,“AWS 基于源 IP 拒绝访问” 中的AWS策略将 AWS 操作限制为来自指定 IP 范围的请求。

请考虑以下情况:

  1. 您可以将类似于 “AWS 根据源 IP 拒绝访问” 中所示的策略附加到IAM身份。AWS您将aws:SourceIp 条件键的值设置为该用户公司的 IP 地址范围。该IAM身份还附有其他政策,允许其使用亚马逊EBSEC2、亚马逊和 AWS KMS。

  2. 该身份尝试将加密EBS卷附加到EC2实例。即使用户有权使用所有相关服务,此操作也会失败并显示授权错误。

第 2 步失败,因为解密卷加密数据密钥的请求来自与 Ama EC2 zon 基础设施关联的 IP 地址。 AWS KMS 要想成功,请求必须来自始发用户的 IP 地址。由于步骤 1 中的策略明确拒绝来自指定 IP 地址以外的 IP 地址的所有请求,因此 Amazon EC2 被拒绝解密EBS卷的加密数据密钥。

此外,当请求来自 Amazon VPC 终端节点时,aws:sourceIP条件密钥无效。要限制对VPC终端节点(包括终AWS KMS VPC端节点)的请求,请使用aws:sourceVpceaws:sourceVpc条件键。有关更多信息,请参阅 VPC Amazon VPC 用户指南中的终端节点-控制终端节点的使用

在具有 AWS KMS 权限的策略中使用VPC终端节点条件

AWS KMS 支持由提供支持的亚马逊虚拟私有云 (AmazonVPC) 终端节点AWS PrivateLink。当请求来自VPC或使用VPC终端节点时,您可以在关键IAM策略和策略中使用以下全局条件密钥来控制对 AWS KMS 资源的访问。有关详细信息,请参阅使用 VPC 端点控制对 AWS KMS 资源的访问

  • aws:SourceVpc限制对来自指定请求的访问权限VPC。

  • aws:SourceVpce限制对来自指定VPC端点的请求的访问。

如果您使用这些条件密钥来控制对KMS密钥的访问,则可能会无意中拒绝访问代表您使用的 AWS AWS KMS 服务。

请注意避免出现类似 IP 地址条件键示例的情况。如果您将KMS密钥请求限制为VPC或VPC终端节点,则 AWS KMS 从 Amazon S3 或 Amazon 等集成服务对的调用可能会失败。EBS即使源请求最终源自终端节点VPC或来自VPC端点,也可能发生这种情况。