Secrets ManagerのKMSキーが未指定

シークレットのキー管理とクロスアカウントアクセスの要件を確認してください。

説明

Secrets ManagerでKmsKeyIdを省略すると、AWSマネージドキーのaws/secretsmanagerでシークレットが暗号化されます。カスタマーマネージドキーを求めるポリシーやクロスアカウントアクセスには、別のキーの指定が必要です。

想定される影響

デフォルトのキーでは、キーポリシーを直接管理する要件を満たせず、クロスアカウントアクセスにも利用できません。

対処方法

必要なカスタマーマネージドキーをKmsKeyIdに指定してください。クロスアカウントアクセスには、シークレットのリソースポリシー、IAM権限、KMSキーポリシーも必要です。キーの指定だけでアクセスが許可されるわけではありません。

例

属性の構造を示す抜粋で、Stringは実際の入力を表す仮の値です。実際のシークレット値をテンプレートに直接書き込まないでください。

変更前

yaml
Resources:
  SecretsManagerSecret:
    Type: AWS::SecretsManager::Secret
    Properties:
      Description: String
      Name: String
      SecretString: String

変更後

yaml
Resources:
  SecretsManagerSecret:
    Type: AWS::SecretsManager::Secret
    Properties:
      Description: String
      KmsKeyId: String
      Name: String
      SecretString: String

参考資料