エイリアスについて
AWS KMS におけるエイリアスの仕組みについて説明します。
- エイリアスは独立した AWS リソース
-
エイリアスは、KMS キーのプロパティではありません。エイリアスに対して実行するアクションは、エイリアスに関連付けられた KMS キーには影響しません。KMS キーのエイリアスを作成してエイリアスを更新し、別の KMS キーに関連付けることができます。関連付けられた KMS キーに影響を与えずに、エイリアスを削除することもできます。ただし、KMS キーを削除すると、その KMS キーに関連付けられているすべてのエイリアスが削除されます。
IAM ポリシーでリソースとしてエイリアスを指定した場合、ポリシーは、関連付けられた KMS キーではなく、エイリアスを参照します。
- 各エイリアスには 2 つの形式があります。
-
エイリアスを作成するときは、エイリアス名を指定します。AWS KMS は、エイリアス ARN を作成します。
- 各エイリアスは、一度に 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-key
とproject-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 を使用して、暗号化オペレーション、DescribeKey、GetPublicKey で 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」を参照してください。