如何在buildspec.yaml中检索Secret Manager数据

问题描述 投票:0回答:2

我正在创建与SonarQube集成的CodeBuild,所以我直接在Buildspec.yaml中传递值和声纳凭证

而不是直接使用硬编码,而是尝试使用以下链接中提到的SecretManager中的以下命令进行检索。但是它没有得到正确的值。会引发错误。

Command:'{{resolve:secretsmanager:MyRDSSecret:SecretString:username}}'

链接https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager

错误 [错误] 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中传递值和声纳凭证,而不是直接进行硬编码,而是尝试使用...

amazon-web-services yaml aws-codepipeline aws-codebuild aws-secrets-manager
2个回答
0
投票

如果您希望在buildspec文件中检索机密,我建议使用与CodeBuild本机集成的Systems Manager参数存储。 Systems Manager本身就是一项服务,请从AWS Console主页中搜索它,然后在Systems Manager控制台页面的左下方找到Paramater Store。


0
投票

您尝试使用的动态参考语法仅适用于Cloud Formation(CFN)服务。在某些情况下,CFN会限制这些对秘密的动态引用的扩展位置。具体来说,它们不会在控制台中可能显示机密的地方(例如在EC2元数据中)扩展。

如果您尝试通过CFN设置代码构建,则可能会看到以下内容。但是,正如shariqmaws提到的,您可以使用参数存储并在其中存储您的秘密,也可以将参数存储用作pass through to secrets manager(以防您想使用Secrets Manager旋转您的秘密或出于其他原因)。

© www.soinside.com 2019 - 2024. All rights reserved.