本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制对 HMAC KMS 密钥的访问
要控制对 HMAC KMS 密钥的访问,您可以使用密钥策略,每个 KMS 密钥都需要此操作。您还可以使用 IAM policy 和授权。
AWS KMS 控制台中创建的 HMAC 密钥的原定设置密钥策略授予密钥用户调用 GenerateMac
和 VerifyMac
操作的权限。但是,它不包括设计将授权与 AWS 服务结合使用的密钥策略语句。如果您通过使用 CreateKey
操作创建 HMAC 密钥,您必须在密钥政策或 IAM policy 中指定这些权限。
您可以使用 AWS 全局条件键和 AWS KMS 条件键优化和限制对 HMAC 密钥的权限。例如,您可以使用 kms:ResourceAliases 条件键基于与 HMAC 密钥关联的别名控制对 AWS KMS 操作的访问。以下 AWS KMS 策略条件对于 HMAC 密钥的策略很有用。
-
使用 kms:MacAlgorithm 条件键,以限制主体在其调用
GenerateMac
和VerifyMac
操作时请求的算法。例如,您可以允许主体调用GenerateMac
操作,但仅限在请求中的 MAC 算法为HMAC_SHA_384
时。 -
使用 kms:KeySpec 条件键,允许或阻止主体创建某些类型的 HMAC 密钥。例如,要允许委托人仅创建 HMAC 密钥,您可以允许该CreateKey操作,但使用
kms:KeySpec
条件仅允许具有HMAC_384
密钥规范的密钥。您还可以使用
kms:KeySpec
条件键,根据密钥的密钥规范,控制对 KMS 密钥上的其他操作的访问。例如,您只能允许主体仅在具有HMAC_256
密钥规范的 KMS 密钥上计划和取消密钥删除。 -
使用 kms:KeyUsage 条件键,允许或阻止主体创建任何 HMAC 密钥。例如,要允许委托人仅创建 HMAC 密钥,您可以允许该CreateKey操作,但使用
kms:KeyUsage
条件仅允许使用密钥的GENERATE_VERIFY_MAC
密钥。您还可以使用
kms:KeyUsage
条件键,根据密钥的密钥用法,控制对 KMS 密钥上的其他操作的访问。例如,您可以仅允许主体在具有GENERATE_VERIFY_MAC
密钥用法的 KMS 密钥上启用和禁用。
您也可以创建 GenerateMac
和 VerifyMac
操作的授权,它们为授权操作。对于 HMAC 密钥,不能在授权中使用加密上下文授权约束。HMAC 标签格式不支持加密上下文值。