gpt4 book ai didi

amazon-web-services - 使用 AWS Codebuild 时如何读取 SSM 参数?

转载 作者:行者123 更新时间:2023-12-04 14:08:46 26 4
gpt4 key购买 nike

我目前成功地将 codebuild 用于简单的构建任务(在非 vpc 配置中)。

但是现在我正在尝试运行一个读取 SSM 参数值的构建任务,它失败了,因为它无法加载任何凭据,明显的原因是:

com.amazonaws.auth.InstanceProfileCredentialsProvider@5754b242: Unable to load credentials from service endpoint

我分配给 codebuild 项目的 IAM 服务角色确实具有 ssm:GetParameters我试图读取的参数的权限(如果这是问题所在,我希望看到 unauthorized 消息,而不是 unable to load credentials )。

我正在使用 Java SDK 来执行 SSM GetParameter 调用,我已经确认它在从 EC2 实例运行时可以用于读取 SSM 参数,所以我很确定这里的问题是 Codebuild。

为了进一步诊断问题,我尝试添加一个构建命令来执行 curl针对 AWS 实例元数据地址:
curl 169.254.169.254/latest/meta-data/iam/info

它不会像从普通 EC2 环境那样返回实例元数据,它只是超时。

因此,问题的根源似乎是代码构建环境不适用于 AWS 元数据查找地址,从而导致 AWS 提供商链无法查找凭证。

如何从代码构建中读取我的 SSM 参数(无需硬编码或使用环境变量作为 SDK 凭据)?

最佳答案

请问您为什么不使用AWS CodeBuild 的内置方法? ?您可以从 SSM 中获取参数通过您的 AWS CodeBuild 的构建规范项目。在这种情况下,通过 Java SDK 的附加调用已过时。

version: 0.2

env:
parameter-store:
key: "value"
key: "value"

phases:
build:
commands:
- command
- command

parameter-store: Required if env is specified, and you want to retrieve custom environment variables stored in Amazon EC2 Systems Manager Parameter Store. Contains a mapping of key/value scalars, where each mapping represents a single custom environment variable stored in Amazon EC2 Systems Manager Parameter Store. key is the name you will use later in your build commands to refer to this custom environment variable, and value is the name of the custom environment variable stored in Amazon EC2 Systems Manager Parameter Store.



更多信息请查看 Build Specification Reference for AWS CodeBuild

关于amazon-web-services - 使用 AWS Codebuild 时如何读取 SSM 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50016185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com