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

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

测试你的 Amazon KMS API 调用

要使用Amazon KMS,您必须拥有可用于对您的 Amazon API 请求进行身份验证的证书。证书必须包含访问 KMS 密钥和别名的权限。权限由密钥策略、IAM 策略、授权和跨账户访问控制决定。除了控制对 KMS 密钥的访问外,您还可以控制对 CloudHSM 和自定义密钥存储的访问权限。

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

DryRun参数是什么?

DryRun是一个可选 API 参数,您可以指定该参数来验证 Amazon KMS API 调用是否成功。DryRun用于测试您的 API 调用,然后再实际调用Amazon KMS。您可以验证以下内容。

  • 您拥有使用Amazon KMS密钥的必要权限。

  • 你在通话中正确指定了参数。

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

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

使用DryRun参数的所有 API 请求均适用于 API 的请求配额,如果您超过 API 请求配额,可能会导致限制异常。例如,调用 D ecrypt 时带DryRun或不带DryRun计数都计入相同的加密操作配额。要了解更多信息,请参阅限制 Amazon KMS 请求

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

使用 API DryRun 进行指定

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

  • 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