控制对 HMAC KMS 密钥的访问 - AWS Key Management Service

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

控制对 HMAC KMS 密钥的访问

要控制对 HMAC KMS 密钥的访问,您可以使用密钥策略,每个 KMS 密钥都需要此操作。您还可以使用 IAM policy授权

AWS KMS 控制台中创建的 HMAC 密钥的原定设置密钥策略授予密钥用户调用 GenerateMacVerifyMac 操作的权限。但是,它不包括设计将授权与 AWS 服务结合使用的密钥策略语句。如果您通过使用 CreateKey 操作创建 HMAC 密钥,您必须在密钥政策或 IAM policy 中指定这些权限。

您可以使用 AWS 全局条件键和 AWS KMS 条件键优化和限制对 HMAC 密钥的权限。例如,您可以使用 kms:ResourceAliases 条件键基于与 HMAC 密钥关联的别名控制对 AWS KMS 操作的访问。以下 AWS KMS 策略条件对于 HMAC 密钥的策略很有用。

  • 使用 kms:MacAlgorithm 条件键,以限制主体在其调用 GenerateMacVerifyMac 操作时请求的算法。例如,您可以允许主体调用 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 密钥上启用和禁用。

您也可以创建 GenerateMacVerifyMac 操作的授权,它们为授权操作。对于 HMAC 密钥,不能在授权中使用加密上下文授权约束。HMAC 标签格式不支持加密上下文值。