测试您的权限 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

测试您的权限

要使用 Amazon KMS,您必须拥有 Amazon 可以用来验证您的 API 请求的凭证。此凭证必须包括访问 KMS 密钥和别名的权限。权限由密钥政策、IAM policy、授权和跨账户存取控制决定。除了控制对 KMS 密钥的访问外,您还可以控制对 CloudHSM 和自定义密钥存储的访问权限。

您可以指定 DryRun API 参数来确认您具有使用 Amazon KMS 密钥的所需权限。您还可以使用 DryRun 来验证 Amazon KMS API 调用中的请求参数指定是否正确。

DryRun 参数是什么?

DryRun 是一个可选的 API 参数,您可以指定该参数来验证 Amazon KMS API 调用是否成功。在实际调用 Amazon KMS 之前,请使用 DryRun 测试您的 API 调用。您可以验证如下内容。

  • 您具有使用 Amazon KMS 密钥的所需权限。

  • 您已正确指定调用中的参数。

Amazon KMS 支持在某些 API 操作中使用 DryRun 参数:

使用 DryRun 参数将产生费用,并将按标准 API 请求计费。有关 Amazon KMS 定价的更多信息,请参阅 Amazon Key Management Service 定价

使用 DryRun 参数的所有 API 请求都适用于 API 的请求限额,如果您超过 API 请求限额,则可能会导致节流异常。例如,无论使用 DryRun 还是不使用 DryRun 调用 Decrypt,都将计入相同的加密操作限额。请参阅限制 Amazon KMS 请求,了解更多信息。

对 Amazon KMS API 操作的每次调用都被捕获为事件并记录在 Amazon CloudTrail 日志中。任何指定DryRun参数的操作的输出都会出现在您的 CloudTrail 日志中。有关更多信息,请参阅 使用 Amazon CloudTrail 记录 Amazon KMS API 调用

使用 API DryRun 进行指定

要使用 DryRun,请在支持该参数的 Amazon CLI 命令和 Amazon KMS API 调用中指定 —dry-run 参数。当您这样做时,Amazon KMS 将验证您的调用是否会成功。使用 DryRun 的 Amazon KMS 调用将始终失败并返回一条消息,其中包含有关调用失败原因的信息。消息可能包括以下例外情况:

  • DryRunOperationException ‐ 如果 DryRun 未指定,则请求会成功。

  • ValidationException ‐ 请求因指定错误的 API 参数而失败。

  • AccessDeniedException ‐ 您无权在 KMS 资源上执行指定的 API 操作。

例如,以下命令使用该CreateGrant操作并创建授权,允许有权担任该keyUserRole角色的用户对指定的对称 KMS 密钥调用 Decry pt 操作。DryRun 参数已指定。

$ aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:role/keyUserRole \ --operations Decrypt \ --dry-run