エイリアスを管理する - AWS Key Management Service

エイリアスを管理する

認可されたユーザーは、エイリアスを作成、表示、削除できます。エイリアスを更新することもできます。その場合、既存のエイリアスは別の KMS キーに関連付けられます。

エイリアスの作成

エイリアスは AWS KMS コンソールで、または AWS KMS API オペレーションを使用して作成できます。

エイリアスは 1 ~ 256 文字の文字列である必要があります。エイリアス名に使用できるのは、英数字、スラッシュ (/)、アンダースコア (_)、およびダッシュ (-) のみです。カスタマーマネージドキーのエイリアス名を alias/aws/ で始めることはできません。alias/aws/ プレフィックスは AWS マネージドキー のために予約されます。

新規の KMS キーまたは既存の KMS キーのエイリアスを作成できます。エイリアスを追加すると、特定の KMS キーをプロジェクトまたはアプリケーションで使用できます。

エイリアスを作成する (コンソール)

AWS KMS コンソールで KMS キーを作成する場合、新しい KMS キーのエイリアスを作成する必要があります。既存の KMS キーのエイリアスを作成するには、KMS キーの詳細ページにある [Aliases] (エイリアス) タブをクリックします。

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。AWS マネージドキー または AWS 所有のキー のエイリアスを管理することはできません。

  4. テーブルで、KMS キーのキー ID またはエイリアスを選択します。次に、KMS キーの詳細ページで、[Aliases] (エイリアス) タブをクリックします。

    KMS キーに複数のエイリアスがある場合は、テーブルの [Aliases] (エイリアス) 列に、1 つのエイリアスと (+n 個以上) などのエイリアスの概要が表示されます。エイリアスの概要を選択すると、KMS キーの詳細ページの [Aliases] (エイリアス) タブを直接表示します。

  5. [Aliases] (エイリアス) タブで、[Create alias] (エイリアスの作成) を選択します。エイリアス名を入力し、[Create alias] (エイリアスの作成) を選択します。

    注記

    コンソールで alias/ プレフィックスを指定する必要はありません。プレフィックスはコンソールが追加します。alias/ExampleAlias を入力すると、実際のエイリアス名は alias/alias/ExampleAlias になります。

エイリアスを作成する (AWS KMS API)

エイリアスを作成するには、 CreateAlias オペレーションを使用します。コンソールで KMS キーを作成するプロセスとは異なり、CreateKey オペレーションでは、新規 KMS キーのエイリアスは作成されません。

CreateAlias オペレーションを使用して、エイリアスを持たない新規 KMS キーのエイリアスを作成できます。CreateAlias オペレーションを使用して、既存の KMS キーにエイリアスを追加したり、誤って削除されたエイリアスを再作成したりできます。

AWS KMS API オペレーションでは、エイリアス名は alias/ で始まり、その後に名前が続きます (alias/ExampleAlias など)。エイリアスはアカウントと リージョンで一意であることが必要です。既に使用されているエイリアス名を検索するには、 ListAliases オペレーションを使用します。エイリアス名では、大文字と小文字が区別されます。

TargetKeyId は、同じ AWS リージョン 内の任意のカスタマーマネージドキーです。KMS キーを識別するには、そのキー ID またはキー ARN を使用します。別のエイリアスを使用することはできません。

次の例では、example-key エイリアスを作成し、指定した KMS キーに関連付けます。これらの例では、AWS Command Line Interface (AWS CLI) を使用します。複数のプログラミング言語の例については、「」を参照してください エイリアスの使用

$ aws kms create-alias \ --alias-name alias/example-key \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

CreateAlias は出力を返しません。新しいエイリアスを確認するには、 ListAliases オペレーションを使用します。詳細については、「エイリアスを表示する (AWS KMS API)」を参照してください。

エイリアスの表示

エイリアスを使用すると、AWS KMS コンソールで KMS キーを簡単に認識できます。KMS キーのエイリアスは AWS KMS コンソールで、または ListAliases オペレーションを使用して表示できます。KMS キーのプロパティを返す DescribeKey オペレーションには、エイリアスは含まれません。

エイリアスの表示(コンソール)

AWS KMS コンソールの [Customer managed keys] (カスタマーマネージドキー) ページおよび [AWS マネージドキー] ページには、各 KMS キーに関連付けられたエイリアスが表示されます。エイリアスに基づいて、KMS キーを検索、ソート、フィルタリングすることもできます。

次の AWS KMS コンソールの図では、サンプルアカウントの [カスタマー管理型のキー] ページのエイリアスを示します。イメージで示されているように、一部の KMS キーにはエイリアスがありません。

KMS キーに複数のエイリアスがある場合は、[Aliases] (エイリアス) 列に、1 つのエイリアスとエイリアスの概要 (+n 個以上) が表示されます。エイリアスの概要では、KMS キーに関連付けられている追加のエイリアスの数と、KMS キーのすべてのエイリアスの表示へのリンクが、[Aliases] (エイリアス) タブに表示されます。


            AWS KMS コンソールの [Customer managed keys] (カスタマーマネージドキー) ページのエイリアス

各 KMS キーの詳細ページの [Aliases] (エイリアス) タブには、AWS アカウント とリージョンの KMS キーのすべてのエイリアスのエイリアス名とエイリアス ARN が表示されます。[Aliases] (エイリアス) を使用して、エイリアスの作成エイリアスの削除を行うこともできます。

KMS キーのすべてのエイリアスのエイリアス名とエイリアス ARN を検索するには、[Aliases] (エイリアス) タブを使用します。

  • [Aliases] (エイリアス) タブに直接移動するには、[Aliases] (エイリアス) 列で、エイリアスの概要 (+n個以上) を選択します。エイリアスの概要は、KMS キーに複数のエイリアスがある場合にのみ表示されます。

  • または、KMS キーのエイリアスまたはキー ID を選択し (KMS キーの詳細ページが開きます)、[Aliases] (エイリアス) タブを選択します。これらのタブは、[General configuration] (一般設定) セクションにあります。

次のイメージは、サンプル KMS キーの [Aliases] (エイリアス) タブを示しています。

このエイリアスを使用して、この AWS マネージドキー ページの例に示されているように、AWS マネージドキー を認識できます。AWS マネージドキー のエイリアスでは、形式は常に aws/<service-name> です。例えば、Amazon DynamoDB の AWS マネージドキー のエイリアスは aws/dynamodb です。


            AWS KMS コンソールの [AWS マネージドキー] ページのエイリアス

エイリアスを表示する (AWS KMS API)

ListAliases オペレーションは、アカウントおよびリージョン内のエイリアスのエイリアス名とエイリアス ARN を返します。出力には、AWS マネージドキー およびカスタマーマネージドキーのエイリアスが含まれます。AWS マネージドキー のエイリアスは、 aws/<service-name>の形式になります (例: aws/dynamodb)。

レスポンスには、TargetKeyId フィールドがないエイリアスが含まれている場合もあります。これらは AWS が作成した定義済みのエイリアスですが、まだ KMS キーとは関連付けられていません。

$ aws kms list-aliases { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }, { "AliasName": "alias/ECC-P521-Sign", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ECC-P521-Sign", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1693622000.704, "LastUpdatedDate": 1693622000.704 }, { "AliasName": "alias/ImportedKey", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/ImportedKey", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "CreationDate": 1493622000.704, "LastUpdatedDate": 1521097200.235 }, { "AliasName": "alias/finance-project", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 }, { "AliasName": "alias/aws/dynamodb", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef", "CreationDate": 1521097200.454, "LastUpdatedDate": 1521097200.454 }, { "AliasName": "alias/aws/ebs", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "TargetKeyId": "abcd1234-09fe-ef90-09fe-ab0987654321", "CreationDate": 1466518990.200, "LastUpdatedDate": 1466518990.200 } ] }

特定の KMS キーに関連付けられているすべてのエイリアスを取得するには、ListAliases オペレーションのオプションの KeyId パラメータを使用します。KeyId パラメータは、KMS キーのキー ID またはキー ARN を受け取ります。

この例では、0987dcba-09fe-87dc-65ba-ab0987654321 KMS キーに関連付けられているすべてのエイリアスを取得します。

$ aws kms list-aliases --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 { "Aliases": [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": "2018-01-20T15:23:10.194000-07:00", "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00" }, { "AliasName": "alias/finance-project", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/finance-project", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1604958290.014, "LastUpdatedDate": 1604958290.014 } ] }

KeyId パラメータはワイルドカード文字を使用しませんが、プログラミング言語の機能を使用して応答をフィルタリングできます。

例えば、次の AWS CLI コマンドでは、AWS マネージドキー のエイリアスのみを取得します。

$ aws kms list-aliases --query 'Aliases[?starts_with(AliasName, `alias/aws/`)]'

次のコマンドは、 access-key エイリアスのみを取得します。エイリアス名では、大文字と小文字が区別されます。

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/access-key`]' [ { "AliasName": "alias/access-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/access-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": "2018-01-20T15:23:10.194000-07:00", "LastUpdatedDate": "2018-01-20T15:23:10.194000-07:00" } ]

エイリアスの更新

エイリアスは独立したリソースであるため、エイリアスに関連付けられている KMS キーを変更することができます。例えば、test-key エイリアスがある KMS キーに関連付けられている場合、UpdateAlias オペレーションを使用して、エイリアスを別の KMS キーに関連付けることができます。これは、キーマテリアルを変更せずに KMS キーを手動でローテーションする方法の 1 つです。KMS キーを更新し、新しいリソースに特定の KMS キーを使用していたアプリケーションで、別の KMS キーを使用することもできます。

AWS KMS コンソールでエイリアスを更新することはできません。また、 UpdateAlias (または他のオペレーション)を使用してエイリアス名を変更することはできません。エイリアス名を変更するには、現在のエイリアスを削除してから KMS キーの新しいエイリアスを作成します。

エイリアスを更新するときは、現在の KMS キーと新しい KMS キーが同じタイプ (両方が対称または非対称) である必要があります。これらのキーの用途も同じである必要もあります (ENCRYPT_DECRYPTSIGN_VERIFY、または GENERATE_VERIFY_MAC)。この制限により、エイリアスを使用するコードの暗号化エラーが防止されます。

次の例では、最初に ListAliases オペレーションを使用して、test-key エイリアスが現在、KMS キー 1234abcd-12ab-34cd-56ef-1234567890ab に関連付けられていることを示します 。

$ aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "Aliases": [ { "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1593622000.191, "LastUpdatedDate": 1593622000.191 } ] }

次に、UpdateAlias オペレーションを使用して、test-key エイリアスに関連付けられている KMS キーを、KMS キー 0987dcba-09fe-87dc-65ba-ab0987654321 に変更します 現在関連付けられている KMS キーを指定する必要はありません。新しい (「ターゲット」) KMS キーのみを指定します。エイリアス名では、大文字と小文字が区別されます。

$ aws kms update-alias --alias-name 'alias/test-key' --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321

エイリアスが現在、ターゲット KMS キーに関連付けられていることを確認するには、再度、ListAliases オペレーションを使用します。この AWS CLI コマンドは、--query パラメータを使用して、test-key エイリアスのみを取得します。TargetKeyId および LastUpdatedDate フィールドが更新されます。

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]' [ { "AliasName": "alias/test-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/test-key", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1593622000.191, "LastUpdatedDate": 1604958290.154 } ]

エイリアスの削除

AWS KMS コンソールで、または DeleteAlias オペレーションを使用して、エイリアスを削除できます。エイリアスを削除する前に、そのエイリアスが使用されていないことを確認してください。エイリアスを削除しても関連付けられている KMS キーには影響しませんが、そのエイリアスを使用するアプリケーションに問題が発生する可能性があります。エイリアスを誤って削除した場合は、同じ名前の新しいエイリアスを作成し、同じまたは別の KMS キーに関連付けることができます。

KMS キーを削除すると、その KMS キーに関連付けられているすべてのエイリアスが削除されます。

エイリアスを削除する (コンソール)

AWS KMS コンソールでエイリアスを削除するには、KMS キーの詳細ページの [Aliases] (エイリアス) タブを使用します。KMS キーの複数のエイリアスを一度に削除できます。

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。AWS マネージドキー または AWS 所有のキー のエイリアスを管理することはできません。

  4. テーブルで、KMS キーのキー ID またはエイリアスを選択します。次に、KMS キーの詳細ページで、[Aliases] (エイリアス) タブをクリックします。

    KMS キーに複数のエイリアスがある場合は、テーブルの [Aliases] (エイリアス) 列に、1 つのエイリアスと (+n 個以上) などのエイリアスの概要が表示されます。エイリアスの概要を選択すると、KMS キーの詳細ページの [Aliases] (エイリアス) タブを直接表示します。

  5. [Aliases] (エイリアス) タブで、削除するエイリアスの横にあるチェックボックスをオンにします。その後、[Delete] (削除) をクリックします。

エイリアスを削除する (AWS KMS API)

エイリアスを削除するには、 DeleteAlias オペレーションを使用します。このオペレーションでは、エイリアスは一度に 1 つずつ削除されます。エイリアス名では、大文字と小文字が区別されます。また、エイリアス名の先頭には必ず alias/ プレフィックスが付いています。

例えば、次のコマンドは、 test-key エイリアスを削除します。このコマンドは出力を返しません。

$ aws kms delete-alias --alias-name alias/test-key

エイリアスが削除されていることを確認するには、 ListAliases オペレーションを使用します。次のコマンドでは、AWS CLI の --query パラメータを使用して、test-key エイリアスのみを取得します。応答の空の括弧は、 ListAliases 応答に test-key エイリアスが含まれていないことを示します。括弧を削除するには、 --output text パラメータと値を使用します。

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/test-key`]' []