エイリアスについて - AWS Key Management Service

エイリアスについて

AWS KMS におけるエイリアスの仕組みについて説明します。

エイリアスは独立した AWS リソース

エイリアスは、KMS キーのプロパティではありません。エイリアスに対して実行するアクションは、エイリアスに関連付けられた KMS キーには影響しません。KMS キーのエイリアスを作成してエイリアスを更新し、別の KMS キーに関連付けることができます。関連付けられた KMS キーに影響を与えずに、エイリアスを削除することもできます。ただし、KMS キーを削除すると、その KMS キーに関連付けられているすべてのエイリアスが削除されます。

IAM ポリシーでリソースとしてエイリアスを指定した場合、ポリシーは、関連付けられた KMS キーではなく、エイリアスを参照します。

各エイリアスには 2 つの形式があります。

エイリアスを作成するときは、エイリアス名を指定します。AWS KMS は、エイリアス ARN を作成します。

  • エイリアス ARN は、エイリアスを一意に識別する Amazon リソースネーム(ARN)です。

    # Alias ARN arn:aws:kms:us-west-2:111122223333:alias/<alias-name>
  • エイリアス名は、アカウントとリージョンで一意です。AWS KMS API では、エイリアス名は常に alias/ によってプレフィックスされます。そのプレフィックスは、AWS KMS コンソールで、除外されます。

    # Alias name alias/<alias-name>
各エイリアスは、一度に 1 つの KMS キーに関連付けられる

エイリアスとその KMS キーは、同じアカウントとリージョンに存在する必要があります。

エイリアスは、同じ AWS アカウント およびリージョン内のカスタマーマネージドキーに関連付けることができます。ただし、エイリアスを AWS マネージドキー に関連付ける許可はありません。

例えば、この ListAliases 出力では、test-key エイリアスが正確に 1 つのターゲット KMS キーに関連付けられていることが示されています。これは、TargetKeyId プロパティによって表されます。

{ "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 }
複数のエイリアスを同じ KMS キーに関連付けることができる

例えば、test-keyproject-key のエイリアスを同じ KMS キーに関連付けることができます。

{ "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 }, { "AliasName": "alias/project-key", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project-key", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1516435200.399, "LastUpdatedDate": 1516435200.399 }
エイリアスは、アカウントとリージョン内で一意である必要があります

例えば、各アカウントとリージョンに test-key エイリアスを 1 つだけ持つことができます。エイリアスでは大文字と小文字が区別されますが、大文字と小文字だけが異なるエイリアスは非常にエラーが発生しやすくなります。エイリアス名は変更できません。ただし、エイリアスを削除して、目的の名前で新しいエイリアスを作成することはできます。

異なるリージョンに同じ名前のエイリアスを作成することができます

例えば、米国東部 (バージニア北部) に finance-key エイリアスを持つことができ、ヨーロッパ (フランクフルト) に finance-key エイリアスを持つことができます。各エイリアスは、そのリージョンの KMS キーに関連付けられます。コードがのようなエイリアス名を参照している場合は alias/finance-key, 、複数のリージョンで実行できます。各リージョンでは、異なる KMS キーが使用されます。詳細については、「アプリケーションでのエイリアスの使用」を参照してください。

エイリアスに関連付けられている KMS キーを変更できる

UpdateAlias オペレーションを使用して、エイリアスを別の KMS キーに関連付けることができます。例えば、finance-key エイリアスが 1234abcd-12ab-34cd-56ef-1234567890ab KMS キーに関連付けられている場合、0987dcba-09fe-87dc-65ba-ab0987654321 KMS キーに関連付けられるようにエイリアスを更新できます。

ただし、現在の KMS キーと新しい KMS キーが同じタイプ (両方とも対称または非対称) であり、同じ キー使用法 (ENCRYPT_DECRYPT または SIGN_VERIFY) である必要があります。この制限により、エイリアスを使用するコードのエラーが防止されます。エイリアスを別のタイプのキーに関連付ける必要があり、リスクを軽減した場合は、エイリアスを削除して再作成できます。

一部の KMS キーにはエイリアスがない

AWS KMS コンソールで KMS キーを作成する場合、KMS キーに新しいエイリアスを割り当てる必要があります。ただし、CreateKey オペレーションを使用して KMS キーを作成する場合、エイリアスは必要ありません。また、UpdateAlias オペレーションを使用してエイリアスに関連付けられている KMS キーを変更し、DeleteAlias オペレーションを使用してエイリアスを削除することもできます。そのため、KMS キーには、複数のエイリアスを持つものもあれば、エイリアスを持たないものもあります。

AWS によってアカウントにエイリアスが作成される

AWS では AWS マネージドキー のアカウントでエイリアスを作成します。これらのエイリアスには alias/aws/<service-name>, 、のような形式の名前 alias/aws/s3があります。

一部の AWS エイリアスには KMS キーがありません。これらの定義済みエイリアスは、通常、サービスの使用をスタートすると、AWS マネージドキー に関連付けられます。

エイリアスを使用して KMS キーを識別する

エイリアス名またはエイリアス ARN を使用して、暗号化オペレーションDescribeKeyGetPublicKey で KMS キーを識別できます。(KMS キーが別の AWS アカウント にある場合は、そのキー ARN またはエイリアス ARN を使用する必要があります)。エイリアスは、他の AWS KMS オペレーションでは、KMS キーの有効な識別子ではありません 各 AWS KMS API オペレーションの有効なキー識別子については、AWS Key Management Service API リファレンスKeyId パラメータの説明を参照してください。

エイリアス名、またはエイリアス ARN を使用して、IAM ポリシーの KMS キーを識別することはできません。エイリアスに基づいて KMS キーへのアクセスを制御するには、kms:RequestAlias または kms:ResourceAliases 条件キーを使用します。詳細については、「AWS KMS の ABAC」を参照してください。