測試您的許可 - AWS Key Management Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

測試您的許可

若要使用 AWS KMS,您必須擁有 AWS 可用來驗證 API 要求的認證。憑證必須包含存取 KMS 金鑰與別名的許可。許可由金鑰政策、IAM 政策、授權以及跨帳戶存取控制決定。除控制 KMS 金鑰的存取權之外,您還可控制 CloudHSM 與自訂金鑰存放區的存取權。

您可指定 DryRun API 參數,驗證您擁有運用 AWS KMS 金鑰的必要許可。您也可以使用DryRun來驗證 AWS KMS API 呼叫中的要求參數是否已正確指定。

什麼是 DryRun 參數?

DryRun 是選用的 API 參數,您可加以指定以便驗證 AWS KMS API 呼叫是否成功。在實際呼叫 AWS KMS之前,利用 DryRun 來測試 API 呼叫。您可以驗證下列各項。

  • 您擁有必要的許可,可運用 AWS KMS 金鑰。

  • 您已正確指定呼叫的參數。

AWS KMS 支援在特定 API 動作中使用DryRun參數:

採用 DryRun 參數將產生費用,並作為標準 API 請求計費。如需有關 AWS KMS 定價的詳細資訊,請參閱AWS Key Management Service 定價

採用 DryRun 參數的所有 API 請求都會套用至 API 的請求配額,如您超出 API 請求配額,則可能導致限流例外狀況。例如,無論採用 DryRun 還是不採用 DryRun 來呼叫 Decrypt,都會根據相同的密碼編譯操作配額進行計數。如需進一步了解,請參閱《節流 AWS KMS 請求》。

每次對 AWS KMS API 作業的呼叫都會擷取為事件,並將其記錄在記錄中。 AWS CloudTrail 任何指定DryRun參數之作業的輸出都會顯示在 CloudTrail 記錄檔中。如需詳細資訊,請參閱 使用記錄 AWS KMS API 呼叫 AWS CloudTrail

DryRun 使用 API 指定

若要使用DryRun,請在支援—dry-run參數的 AWS CLI 命令和 AWS KMS API 呼叫中指定參數。當你這樣做, AWS KMS 將驗證您的呼叫是否會成功。 AWS KMS 使用的呼叫DryRun將始終失敗,並返回一條消息,其中包含有關呼叫失敗原因的信息。訊息可能包含下列例外狀況:

  • DryRunOperationException ‐ 如未指定 DryRun,請求就會成功。

  • ValidationException ‐ 請求因指定不正確 API 參數而失敗。

  • AccessDeniedException ‐ 您不具權限,無法對 KMS 資源執行指定 API 動作。

例如,下列命令會使用CreateGrant作業並建立授權,允許有權承擔keyUserRole角色的使用者在指定的對稱 KMS 金鑰上呼叫「解密」作業。指定 DryRun 參數。

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