エイリアスの使用 - AWS Key Management Service

エイリアスの使用

このトピックの例では、AWS KMS API を使用してエイリアスを作成、表示、更新、および削除します。

エイリアスは、カスタマーマスターキー (CMK) のオプションの表示名です。エイリアス名またはエイリアス ARN暗号化オペレーション (EncryptDecrypt など) で KeyId パラメータの値として使用できます。

各 CMK に複数のエイリアスを持つことができますが、各 CMK は 1 つの CMK のみを指します。エイリアス名は AWS アカウントおよびリージョン内で一意である必要があります。また、各エイリアスは、そのアカウントおよびリージョンの CMK と関連付ける必要があります。複数のリージョンで実行するコードを簡素化するために同じエイリアス名を使用できますが、各リージョンの異なる CMK を指してください。

AWS KMS API オペレーションを使用して、エイリアスを作成、一覧表示、および削除できます。エイリアスを更新することもできます。その場合、既存のエイリアスが別の CMK に関連付けられます。エイリアス名を編集または変更するオペレーションはありません。既にエイリアスがある CMK 用にエイリアスを作成した場合、同じ CMK 用の別のエイリアスが作成されます。エイリアス名を変更するには、現在のエイリアスを削除してから CMK 用の新しいエイリアスを作成します。

エイリアスは CMK のプロパティではないので、CMK のプロパティを変更することなく既存の CMK に関連付けることも、関連付けを解除することもできます。エイリアスを削除しても、基になる CMK は削除されません。

エイリアスを指定するには、以下の例に示すように、エイリアス名またはエイリアス ARN を使用します。どちらの場合も、エイリアス名の前に "alias/" を付けてください。

// Alias ARN arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias // Alias name alias/ExampleAlias

エイリアスの作成

エイリアスを作成するには、CreateAlias オペレーションを使用します。エイリアスはアカウントとリージョンで一意であることが必要です。既にエイリアスがある CMK 用にエイリアスを作成した場合、CreateAlias によって同じ CMK に対して別のエイリアスが作成されます。既存のエイリアスは置き換えられません。

エイリアス名は alias/ で始まり、その後に名前が続きます (alias/ExampleAlias など)。エイリアス名に使用できるのは、英数字、スラッシュ (/)、アンダースコア (_)、およびダッシュ (-) のみです。エイリアス名の先頭を alias/aws/ にすることはできません。alias/aws/ プレフィックスは、AWS 管理 CMK のために予約されています。

CreateAlias オペレーションはどのような出力も返しません。エイリアスが作成されたことを確認するには、ListAliases オペレーションを使用します。

クライアントオブジェクトを必要とする言語では、これらの例では「クライアントの作成」で作成した AWS KMS クライアントオブジェクトを使用します。

Java

詳細については、『AWS SDK for Java API Reference』の「createAlias メソッド」を参照してください。

// Create an alias for a CMK // String aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CreateAliasRequest req = new CreateAliasRequest().withAliasName(aliasName).withTargetKeyId(targetKeyId); kmsClient.createAlias(req);
C#

詳細については、『AWS SDK for .NET』の「CreateAlias メソッド」を参照してください。

// Create an alias for a CMK // String aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CreateAliasRequest createAliasRequest = new CreateAliasRequest() { AliasName = aliasName, TargetKeyId = targetKeyId }; kmsClient.CreateAlias(createAliasRequest);
Python

詳細については、『AWS SDK for Python (Boto3)』の「create_alias メソッド」を参照してください。

# Create an alias for a CMK alias_name = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 target_key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.create_alias( AliasName=alias_name, TargetKeyId=key_id )
Ruby

詳細については、『AWS SDK for Ruby』の「create_alias」インスタンスメソッドを参照してください。

# Create an alias for a CMK aliasName = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 targetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.create_alias({ alias_name: aliasName, target_key_id: targetKeyId })
PHP

詳細については、『AWS SDK for PHP』の「CreateAlias メソッド」を参照してください。

// Create an alias for a CMK // $aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->createAlias([ 'AliasName' => $aliasName, 'TargetKeyId' => $keyId, ]);
Node.js

詳細については、『AWS SDK for JavaScript in Node.js』の「createAlias プロパティ」を参照してください。

// Create an alias for a CMK // const AliasName = 'alias/projectKey1'; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 const TargetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.createAlias({ AliasName, TargetKeyId }, (err, data) => { ... });
PowerShell

エイリアスを作成するには、New-KMSAlias コマンドレットを使用します。エイリアス名では、大文字と小文字が区別されます。

# Create an alias for a CMK $aliasName = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $targetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' New-KMSAlias -TargetKeyId $targetKeyId -AliasName $aliasName

エイリアスのリスト化

アカウントとリージョンにエイリアスを一覧表示するには、ListAliases オペレーションを使用します。

デフォルトでは、ListAliases コマンドはアカウントとリージョンのすべてのエイリアスを返します。これには、作成してカスタマー管理の CMK に関連付けたエイリアスと、AWS が作成し、AWS 管理の CMK に関連付けたエイリアスが含まれます。レスポンスには、TargetKeyId フィールドがないエイリアスが含まれている場合もあります。これらは、AWS が作成したが、まだ CMK と関連付けられていない事前定義されたエイリアスです。

クライアントオブジェクトを必要とする言語では、これらの例では「クライアントの作成」で作成した AWS KMS クライアントオブジェクトを使用します。

Java

Java の実装の詳細については、『AWS SDK for Java API Reference』の「listAliases メソッド」を参照してください。

// List the aliases in this AWS account // Integer limit = 10; ListAliasesRequest req = new ListAliasesRequest().withLimit(limit); ListAliasesResult result = kmsClient.listAliases(req);
C#

詳細については、『AWS SDK for .NET』の「ListAliases メソッド」を参照してください。

// List the aliases in this AWS account // int limit = 10; ListAliasesRequest listAliasesRequest = new ListAliasesRequest() { Limit = limit }; ListAliasesResponse listAliasesResponse = kmsClient.ListAliases(listAliasesRequest);
Python

詳細については、『AWS SDK for Python (Boto3)』の「list_aliases メソッド」を参照してください。

# List the aliases in this AWS account response = kms_client.list_aliases( Limit=10 )
Ruby

詳細については、『AWS SDK for Ruby』の「list_aliases」インスタンスメソッドを参照してください。

# List the aliases in this AWS account response = kmsClient.list_aliases({ limit: 10 })
PHP

詳細については、『AWS SDK for PHP』の「List Aliases メソッド」を参照してください。

// List the aliases in this AWS account // $limit = 10; $result = $KmsClient->listAliases([ 'Limit' => $limit, ]);
Node.js

詳細については、『AWS SDK for JavaScript in Node.js』の「listAliases プロパティ」を参照してください。

// List the aliases in this AWS account // const Limit = 10; kmsClient.listAliases({ Limit }, (err, data) => { ... });
PowerShell

アカウントとリージョンのエイリアスをリスト化するには、Get-KMSAliasList コマンドレットを使用します。

出力オブジェクト数を制限するために、この例では、Limit パラメータの代わりに Select-Object コマンドレットを使用します。このパラメータは、リストのコマンドレットでは非推奨です。AWS Tools for PowerShell での出力のページ分割については、「AWS Tools for PowerShell での出力ページ分割」を参照してください。

# List the aliases in this AWS account $limit = 10 $result = Get-KMSAliasList | Select-Object -First $limit

特定の CMK に関連付けられているエイリアスのみをリストするには、KeyId パラメータを使用します。その値として、リージョン内の任意の CMK のキー IDまたはキー ARN を指定できます。エイリアス名またはエイリアス ARN を指定することはできません。

Java

Java の実装の詳細については、『AWS SDK for Java API Reference』の「listAliases メソッド」を参照してください。

// List the aliases for one CMK // // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListAliasesRequest req = new ListAliasesRequest().withKeyId(keyId); ListAliasesResult result = kmsClient.listAliases(req);
C#

詳細については、『AWS SDK for .NET』の「ListAliases メソッド」を参照してください。

// List the aliases for one CMK // // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListAliasesRequest listAliasesRequest = new ListAliasesRequest() { KeyId = keyId }; ListAliasesResponse listAliasesResponse = kmsClient.ListAliases(listAliasesRequest);
Python

詳細については、『AWS SDK for Python (Boto3)』の「list_aliases メソッド」を参照してください。

# List the aliases for one CMK # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.list_aliases( KeyId=key_id )
Ruby

詳細については、『AWS SDK for Ruby』の「list_aliases」インスタンスメソッドを参照してください。

# List the aliases for one CMK # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.list_aliases({ key_id: keyId })
PHP

詳細については、『AWS SDK for PHP』の「List Aliases メソッド」を参照してください。

// List the aliases for one CMK // // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->listAliases([ 'KeyId' => $keyId, ]);
Node.js

詳細については、『AWS SDK for JavaScript in Node.js』の「listAliases プロパティ」を参照してください。

// List the aliases for one CMK // // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.listAliases({ KeyId }, (err, data) => { ... });
PowerShell

CMK のエイリアスをリスト化するには、Get-KMSAliasList コマンドレットの KeyId パラメータを使用します。

# List the aliases for one CMK # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $response = Get-KmsAliasList -KeyId $keyId

エイリアスの更新

既存のエイリアスを別の CMK に関連付けるには、UpdateAlias オペレーションを使用します。

クライアントオブジェクトを必要とする言語では、これらの例では「クライアントの作成」で作成した AWS KMS クライアントオブジェクトを使用します。

Java

Java の実装の詳細については、『AWS SDK for Java API Reference』の「updateAlias メソッド」を参照してください。

// Updating an alias // String aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"; UpdateAliasRequest req = new UpdateAliasRequest() .withAliasName(aliasName) .withTargetKeyId(targetKeyId); kmsClient.updateAlias(req);
C#

詳細については、『AWS SDK for .NET』の「UpdateAlias メソッド」を参照してください。

// Updating an alias // String aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 String targetKeyId = "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321"; UpdateAliasRequest updateAliasRequest = new UpdateAliasRequest() { AliasName = aliasName, TargetKeyId = targetKeyId }; kmsClient.UpdateAlias(updateAliasRequest);
Python

詳細については、『AWS SDK for Python (Boto3)』の「update_alias メソッド」を参照してください。

# Updating an alias alias_name = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 key_id = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' response = kms_client.update_alias( AliasName=alias_name, TargetKeyID=key_id )
Ruby

詳細については、『AWS SDK for Ruby』の「update_alias」インスタンスメソッドを参照してください。

# Updating an alias aliasName = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 keyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' response = kmsClient.update_alias({ alias_name: aliasName, target_key_id: keyId })
PHP

詳細については、『AWS SDK for PHP』の「UpdateAlias メソッド」を参照してください。

// Updating an alias // $aliasName = "alias/projectKey1"; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $keyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321'; $result = $KmsClient->updateAlias([ 'AliasName' => $aliasName, 'TargetKeyId' => $keyId, ]);
Node.js

詳細については、『AWS SDK for JavaScript in Node.js』の「updateAlias プロパティ」を参照してください。

// Updating an alias // const AliasName = 'alias/projectKey1'; // 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 const TargetKeyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321'; kmsClient.updateAlias({ AliasName, TargetKeyId }, (err, data) => { ... });
PowerShell

エイリアスが指す CMK を変更するには、Update-KMSAlias コマンドレットを使用します。エイリアス名では、大文字と小文字が区別されます。

Update-KMSAlias コマンドレットは出力を返しません。コマンドが機能していることを確認するには、Get-KMSAliasList コマンドレットを使用します。

# Updating an alias $aliasName = 'alias/projectKey1' # 以下の架空の CMK ARN を有効な CMK ID または ARN に置き換えます。 $keyId = 'arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321' Update-KMSAlias -AliasName $aliasName -TargetKeyID $keyId

エイリアスの削除

エイリアスを削除するには、DeleteAlias オペレーションを使用します。エイリアスを削除しても、関連付けられた CMK には影響しません。

クライアントオブジェクトを必要とする言語では、これらの例では「クライアントの作成」で作成した AWS KMS クライアントオブジェクトを使用します。

Java

詳細については、『AWS SDK for Java API Reference』の「deleteAlias メソッド」を参照してください。

// Delete an alias for a CMK // String aliasName = "alias/projectKey1"; DeleteAliasRequest req = new DeleteAliasRequest().withAliasName(aliasName); kmsClient.deleteAlias(req);
C#

詳細については、『AWS SDK for .NET』の「DeleteAlias メソッド」を参照してください。

// Delete an alias for a CMK // String aliasName = "alias/projectKey1"; DeleteAliasRequest deleteAliasRequest = new DeleteAliasRequest() { AliasName = aliasName }; kmsClient.DeleteAlias(deleteAliasRequest);
Python

詳細については、『AWS SDK for Python (Boto3)』の「delete_alias メソッド」を参照してください。

# Delete an alias for a CMK alias_name = 'alias/projectKey1' response = kms_client.delete_alias( AliasName=alias_name )
Ruby

詳細については、『AWS SDK for Ruby』の「delete_alias」インスタンスメソッドを参照してください。

# Delete an alias for a CMK aliasName = 'alias/projectKey1' response = kmsClient.delete_alias({ alias_name: aliasName })
PHP

詳細については、『AWS SDK for PHP』の「DeleteAlias メソッド」を参照してください。

// Delete an alias for a CMK // $aliasName = "alias/projectKey1"; $result = $KmsClient->deleteAlias([ 'AliasName' => $aliasName, ]);
Node.js

詳細については、『AWS SDK for JavaScript in Node.js』の「deleteAlias プロパティ」を参照してください。

// Delete an alias for a CMK // const AliasName = 'alias/projectKey1'; kmsClient.deleteAlias({ AliasName }, (err, data) => { ... });
PowerShell

エイリアスを削除するには、Remove-KMSAlias コマンドレットを使用します。エイリアス名では、大文字と小文字が区別されます。

このコマンドレットはエイリアスを完全に削除するため、PowerShell はコマンドの確認を求めるプロンプトを表示します。ConfirmImpactHigh であるため、ConfirmPreference を使用してこのプロンプトを抑制することはできません。確認プロンプトを表示しないようにする必要がある場合は、Confirm 共通パラメータに -Confirm:$false の値を追加します (例: $false)。

Remove-KMSAlias コマンドレットは出力を返しません。コマンドが有効であることを確認するには、Get-KMSAliasList コマンドレットを使用します。

# Delete an alias for a CMK $aliasName = 'alias/projectKey1' Remove-KMSAlias -AliasName $aliasName