

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

# アプリケーションでエイリアスを使用する方法について説明します。
<a name="alias-using"></a>

エイリアスを使用して、アプリケーションコードで KMS キーを表示できます。`KeyId` パラメータ AWS KMS [の暗号化オペレーション](kms-cryptography.md#cryptographic-operations)、[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)、および [GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) は、エイリアス名またはエイリアス ARN を受け入れます。

例えば、次の `GenerateDataKey` コマンドでは、エイリアス名 (`alias/finance`) を使用して KMS キーを識別します。エイリアス名は、 `KeyId` パラメータの値です。

```
$ aws kms generate-data-key --key-id alias/finance --key-spec AES_256
```

KMS キーが異なる にある場合は AWS アカウント、これらのオペレーションでキー ARN またはエイリアス ARN を使用する必要があります。エイリアス ARN を使用する際、KMS キーのエイリアスは KMS キーを所有するアカウントで定義され、リージョンごとに異なる場合があることに注意してください。エイリアス ARN を検索する方法については、[KMS キーのエイリアス名とエイリアス ARN を見つける](alias-view.md) を参照してください。

例えば、次の `GenerateDataKey` コマンドでは、発信者のアカウントに含まれていない KMS キーを使用します。`ExampleAlias` エイリアスは、指定したアカウントおよびリージョンの KMS キーに関連付けられます。

```
$ aws kms generate-data-key --key-id arn:aws:kms:us-west-2:444455556666:alias/ExampleAlias --key-spec AES_256
```

エイリアスの最も強力な使用法の 1 つは、アプリケーションを複数の AWS リージョンで実行する場合です。例えば、署名と検証に RSA [非対称 KMS キー](symmetric-asymmetric.md)を使用するグローバルなアプリケーションがあるとします。
+ 米国西部 (オレゴン) ( s-west-2) では、`arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab` を使用します。
+ ヨーロッパ (フランクフルト) (eu-central-1) では `arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321` を、
+ アジアパシフィック (シンガポール) (ap-southeast-1) では、`arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d` を使用します。

各リージョンで異なるバージョンのアプリケーションを作成するか、ディクショナリまたはスイッチステートメントを使用して、各リージョンに適切な KMS キーを選択できます。ただし、各リージョンで同じエイリアス名を持つエイリアスを作成する方がはるかに簡単です。エイリアス名では、大文字と小文字が区別されます。

```
aws --region us-west-2 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

aws --region eu-central-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:eu-central-1:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321

aws --region ap-southeast-1 kms create-alias \
    --alias-name alias/new-app \
    --key-id arn:aws:kms:ap-southeast-1:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
```

次に、コード内でエイリアスを使用します。コードが各リージョンで実行されると、エイリアスは、そのリージョンの関連付けられた KMS キーを参照します。例えば、このコードは、エイリアス名を使用して [Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html) オペレーションを呼び出します。

```
aws kms sign --key-id alias/new-app \
    --message $message \
    --message-type RAW \
    --signing-algorithm RSASSA_PSS_SHA_384
```

ただし、エイリアスが削除または更新され、別の KMS キーに関連付けられるリスクがあります。この場合、エイリアス名を使用した署名の検証に失敗し、エイリアスの再作成または更新が必要になる場合があります。

このリスクを軽減するには、アプリケーションで使用するエイリアスを管理する権限をプリンシパルに与えることに注意する必要があります。詳細については、「[エイリアスへのアクセスの制御](alias-access.md)」を参照してください。

複数の AWS リージョン([AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/) など) のデータを暗号化するアプリケーションには、他にも複数のソリューションがあります。