我希望获取一个秘密信息,以便可以允许我部署的基础结构具有获取该秘密的权限,例如:
const secret = secretsmanager.Secret.fromSecretArn(stack, secretName, secretArn);
secret.grantRead(CdkBuild);
在这种情况下,允许代码构建版本能够读取机密,而无需我以日志中显示的方式(例如,回显文件或...等)来传递该机密
我可以使用AWS开发工具包的listSecrets调用,然后迭代直到secretName匹配,但这是一个异步调用,并且在cdk经过其需要该值的位置后返回该值。
我可以从cdk中获取秘密值本身,例如对于github令牌:
ghtokenSecret = cdk.SecretValue.secretsManager(secretName, {
jsonField: ghtoken,
});
但是看不到任何获得秘密信息的方法/方式,这样我就可以将值传递给我的代码构建基础结构。
为多个环境(开发,沙箱,集成等)提供多个帐户,仅允许使用SecretName即可使我有效地使用cdk脚本,而不是使用arn,因为我必须为该帐户创建秘密(使用相同的秘密名称),然后找到它的arn,然后将该arn插入每个分支等的配置(例如cdk.json)中。这可能是失败/错误的根源。
很高兴欢迎任何想法