我正在创建与SonarQube集成的CodeBuild,所以我直接在Buildspec.yaml中传递值和声纳凭证
而不是直接使用硬编码,而是尝试使用以下链接中提到的SecretManager中的以下命令进行检索。但是它没有得到正确的值。会引发错误。
Command:'{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}'
错误 [错误] SonarQube服务器[{{resolve:secretsmanager:arn:aws:secretsmanager:us-east-1:********:secret:******** **:SecretString:SonarURL}}]无法到达
我如何使用 echo'{{resolve:secretsmanager:arn:aws:secretsmanager:us-east-1:***:secret:**************: SecretString:*******}}''>
注意:我的逗号中所有*都是密码名和secreturl
我正在创建与SonarQube集成的CodeBuild,所以我直接在Buildspec.yaml中传递值和声纳凭证,而不是直接进行硬编码,而是尝试使用...
如果您希望在buildspec文件中检索机密,我建议使用与CodeBuild本机集成的Systems Manager参数存储。 Systems Manager本身就是一项服务,请从AWS Console主页中搜索它,然后在Systems Manager控制台页面的左下方找到Paramater Store。
您尝试使用的动态参考语法仅适用于Cloud Formation(CFN)服务。在某些情况下,CFN会限制这些对秘密的动态引用的扩展位置。具体来说,它们不会在控制台中可能显示机密的地方(例如在EC2元数据中)扩展。
如果您尝试通过CFN设置代码构建,则可能会看到以下内容。但是,正如shariqmaws提到的,您可以使用参数存储并在其中存储您的秘密,也可以将参数存储用作pass through to secrets manager(以防您想使用Secrets Manager旋转您的秘密或出于其他原因)。