

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アクセス許可をテストする
<a name="testing-permissions"></a>

を使用するには AWS KMS、 API リクエストの認証 AWS に使用できる認証情報が必要です。認証情報には、 KMS キーとエイリアスにアクセスするためのアクセス許可を含める必要があります。アクセス許可は、キーポリシー、IAM ポリシー、グラント、およびクロスアカウントアクセス制御によって決定されます。KMS キーへのアクセス制御に加えて、CloudHSM やカスタムキーストアへのアクセスを制御できます。

`DryRun` API パラメータを指定して、 AWS KMS  キーを使用するために必要なアクセス許可があることを確認できます。`DryRun` を使用して、 AWS KMS API コールのリクエストパラメータが正しく指定されていることを確認することもできます。

**Topics**
+ [DryRun パラメータとは](#what-is-dryrun)
+ [API で DryRun を指定する](#dryrun-api)

## DryRun パラメータとは
<a name="what-is-dryrun"></a>

 `DryRun` は、 AWS KMS  API 呼び出しが成功することを確認するために指定する API パラメータ (オプション) です。実際に  AWS KMS を呼び出す前に、`DryRun` を使用して API 呼び出しをテストします。次のことを確認できます。
+  AWS KMS  キーを使用するために必要なアクセス許可があること。
+ 呼び出しのパラメータが正しく指定されていること。

AWS KMS は、特定の API アクションで `DryRun`パラメータの使用をサポートしています。
+ [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)
+ [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)
+ [DeriveSharedSecret](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html)
+ [暗号化](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)
+ [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)
+ [GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)
+ [GenerateDataKeyPairWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPairWithoutPlaintext.html)
+ [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)
+ [GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)
+ [ReEncrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReEncrypt.html)
+ [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)
+ [RevokeGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html)
+ [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)
+ [検証](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html)
+ [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)

`DryRun` パラメータを使用すると料金が発生し、標準の API リクエストとして課金されます。 AWS KMS 料金の詳細については、[AWS Key Management Service 「 ](https://aws.amazon.com/kms/pricing/)料金表」を参照してください。

 `DryRun` パラメータを使用するすべての API リクエストは API のリクエストクォータに適用され、API リクエストクォータを超えた場合にスロットリング例外が発生する可能性があります。例えば、[Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) を呼び出す際に `DryRun` を使用する場合でも `DryRun` を使用しない場合でも、同じ暗号化オペレーションクォータに対してカウントされます。詳細については、「[AWS KMS リクエストのスロットリング](throttling.md)」を参照してください。

 AWS KMS API オペレーションへのすべての呼び出しはイベントとしてキャプチャされ、 AWS CloudTrail ログに記録されます。`DryRun` パラメータを指定するすべてのオペレーションの出力が CloudTrail ログに表示されます。詳細については、「[を使用した AWS KMS API コールのログ記録 AWS CloudTrail](logging-using-cloudtrail.md)」を参照してください。

## API で DryRun を指定する
<a name="dryrun-api"></a>

を使用するには`DryRun`、 `—dry-run`パラメータをサポートするコマンドと AWS KMS API コールで AWS CLI パラメータを指定します。これを行うと、 AWS KMS は呼び出しが成功するかどうかを検証します。 を使用する AWS KMS 呼び出し`DryRun`は常に失敗し、呼び出しが失敗した理由に関する情報を含むメッセージを返します。メッセージには次の例外が含まれます。
+ `DryRunOperationException` ‐ `DryRun` が指定されていなければリクエストは成功します。
+ `ValidationException` ‐ 間違った API パラメータが指定されたためリクエストが失敗しました。
+ `AccessDeniedException` ‐ KMS リソースで指定された API アクションを実行するアクセス許可がありません。

例えば、次のコマンドは [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) オペレーションを使用し、`keyUserRole` ロールの継承が承認されたユーザーが指定の[対称 KMS キー](symm-asymm-choose-key-spec.md#symmetric-cmks)上の [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) オペレーションを呼び出すことを許可するグラントを作成します。`DryRun` パラメータが指定されます。

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