我想坚持“所有基础设施都是代码”的政策。然而,我看不到用CloudFormation来处理secrets的方法。
SecretsManager要求您以纯文本形式指定SecretString。即使您从某个地方注入一个解密的值,纯文本字符串也会显示在CF控制台的模板视图中:/
在SSM中也不可能使用加密字符串。文档上说:“亚马逊网络服务CloudFormation不支持创建SecureString参数类型。”
真的没有办法使用CloudFormation以代码的形式安全地管理秘密吗?
发布于 2020-01-23 03:05:05
您可以使用CloudFormation中的Secret资源创建SecretsManager密钥。有一种方法可以在SecretString (使用GenerateRandomPassword应用编程接口)中生成值。看看GenerateSecretString属性。
这应该有助于您在不将密码硬编码到模板中的情况下生成密码。
还有一个RotationSchedule资源可以帮助您为您的秘密设置自动轮换。
要使用存储在SecretsManager密钥或参数存储参数中的密码值,请使用dynamic references。动态refs保证密码值不会在CFN中记录或在控制台中显示。
目前无法在参数存储/系统管理器中创建/生成SecureString参数。
https://stackoverflow.com/questions/59865701
复制相似问题