本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
控制对 HMAC KMS 密钥的访问
要控制对 HMAC KMS 密钥的访问,您可以使用密钥策略,每个 KMS 密钥都需要此操作。您还可以使用 IAM 策略和授权。
Amazon KMS 控制台中创建的 HMAC 密钥的原定设置密钥策略授予密钥用户调用 GenerateMac 和 VerifyMac 操作的权限。但是,它不包括设计将授权与 Amazon 服务结合使用的密钥策略语句。如果您通过使用 CreateKey 操作创建 HMAC 密钥,您必须在密钥策略或 IAM 策略中指定这些权限。
您可以使用 Amazon 全局条件键和 Amazon KMS 条件键优化和限制对 HMAC 密钥的权限。例如,您可以使用 kms:ResourceAliases 条件键基于与 HMAC 密钥关联的别名控制对 Amazon KMS 操作的访问。以下 Amazon 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 标签格式不支持加密上下文值。