5

JSON にシークレットを持つ CloudFormation で AWS スタックを作成しようとしています。

シークレットの値をパラメーターに表示したくありません。また、インスタンス (fargate または ec2) がシークレット マネージャーにアクセスすることも望ましくありません。CloudFormation でシークレット マネージャーから値を取得し、実行時にテンプレートに挿入する必要があります。

これは私がしたことです:

  1. シークレットを作成する

  2. Designer を使用してテンプレートを作成する

  3. シークレットを読み取り、リソースを作成します。この場合、シークレットをタグとして持つバケットを作成しています。これが安全でないことはわかっていますが、バケットは概念実証としてのみ使用されています。

  4. バケットにシークレットのタグが含まれていることを確認します

これは私のテンプレートです:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "create a single S3 bucket",
    "Resources": {
        "SampleBucket": {
            "Type": "AWS::S3::Bucket",
            "Properties": {
                "BucketName": "asantostestbucket",
                "Tags" : [
                    {
                        "Key" : "keyname",
                        "Value" : "{{resolve:secretsmanager:dev/learning:SecretString:hello}}"
                    }
            ]
            }
        }
    }
}

これは私にエラーを与えていますOne or more tags are not valid

タグをテキストとして読み取ろうとするのではなく、シークレットを読み取らせたいことを CloudFormation に示すにはどうすればよいですか? つまり、「{{resolve:secretsmanager:dev/learning:SecretString:hello}}」をテキストとして読み取るのではなく、値に置き換えます。

4

2 に答える 2