1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS CloudFormationでKMSのAWSマネージド型キーのエイリアス名を指定する際の注意点

Posted at

RDSのCloudFormationテンプレートを作成している際に、KMSのAWSマネージド型キーのエイリアス名を値として指定するときに気づいた注意点を共有したいと思います。この注意点は、AWS RDSだけでなく、他のサービスでもCloudFormationでKMSのAWSマネージド型キーのエイリアス名を指定する際に共通して適用されると思います。

RDSマネジメントコンソールではaws/プレフィックスになっている

RDSマネジメントコンソールでは、aws/secretsmanagerのような形式で表示されているため、そのままパラメータの値として使用できると考えがちですが、実際には異なる形式で指定する必要があります。

image.png

KMSエイリアス名の注意点

KMSのエイリアス名には、aws/プレフィックスが予約されています。

image.png
スタック作成の際のエラーメッセージによると指定されたKMSキー(aws/secretsmanager)に関連する問題があるとのことで以下のいずれかの状況が発生している可能性があるようです。

  1. 指定されたKMSキー(aws/secretsmanager)が存在しない。
  2. 指定されたKMSキーが有効化されていない。
  3. 現在のユーザーが指定されたKMSキーにアクセスできない。
Resource handler returned message: "The specified KMS key [aws/secretsmanager] either doesn't exist, isn't enabled, or isn't accessible by the current user. Either specify a different key or access the key with a different user."

aws/secretsmanagerは存在してマネジメントコンソールで作成する時に利用できたのに、CloudFormation作成する時に同じ値を指定するとエラーが出てます。

対処方法

KMSキーのエイリアス名を指定する際には、alias/aws/プレフィックス形式で指定する必要があります。例えば、alias/aws/secretsmanagerのような形式で指定することで、スタック作成時にエラーを回避できます。

KMSキーのエイリアス名について

AWS KMS APIでは、エイリアス名は常にalias/で始まります

エイリアス名の形式は次のとおりです。

alias/<alias-name>

例:

alias/aws/secretsmanager

まとめ

AWS CloudFormationでスタックを作成する際に、マネージドキーのエイリアス名を指定する場合は、aws/プレフィックスではなく、alias/aws/プレフィックスを使用しましょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?