Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

なぜKMSキーが割り当てられていないエイリアスが存在するのか?

AWS CLI list-aliases のレスポンスに、TargetKeyId フィールドがないエイリアスが含まれていることがあります。

aws kms list-aliases
{
    "Aliases": [
        {
            "AliasName": "alias/aws/codecommit",
            "AliasArn": "arn:aws:kms:ap-northeast-1:xxxxxxxxxxxx:alias/aws/codecommit",
            "TargetKeyId": "xxxx...",
            "CreationDate": "2024-06-17T00:34:07.222000+00:00",
            "LastUpdatedDate": "2024-06-17T00:34:07.222000+00:00"
        },
        {
            "AliasName": "alias/aws/dynamodb",
            "AliasArn": "arn:aws:kms:ap-northeast-1:xxxxxxxxxxxx:alias/aws/dynamodb"
        },
        ...

なぜ、KMSキーが割り当てられていないエイリアスが存在するのか疑問に思い、調べてみました。

これらは、AWS が作成した定義済みのエイリアスで、まだ KMS キーとは関連付けられていないものでした。これらの定義済みエイリアスは、通常、サービスの使用をスタートすると AWS 管理キーに関連付けられます。

docs.aws.amazon.com

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

docs.aws.amazon.com

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

ちなみに、CreateAlias API は TargetKeyId が必須なので、KMS キーが割り当てられないエイリアスを作成することはできません。

docs.aws.amazon.com