本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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:SourceArn 或 aws: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 范围的请求。
请考虑以下情况:
-
您可以将类似于 “AWS 根据源 IP 拒绝访问” 中所示的策略附加到IAM身份。AWS您将
aws:SourceIp
条件键的值设置为该用户公司的 IP 地址范围。该IAM身份还附有其他政策,允许其使用亚马逊EBSEC2、亚马逊和 AWS KMS。 -
该身份尝试将加密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:sourceVpce
或aws: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端点,也可能发生这种情况。