codeBuild container 运行 aws-cli 命令如何在没有事先身份验证的情况下发出?

How can codeBuild container run aws-cli commands without prior authentication?

假设我在我的机器上本地使用 aws-cli,我需要在任何操作之前使用凭据进行身份验证。

AWS 服务如何代表我向其他服务授予权限?更具体地说,容器如何 运行 aws-cli 在没有事先身份验证的情况下代表我?

我在 运行在 codePipeline 中成功设置我的第一个管道后问这个问题。我的 buildspec.yml 可以完美地执行 运行 aws s3 sync 命令 - 这让我想知道 aws 内部权限是如何工作的 -

AWS CodeBuild 使用 IAM 服务角色为 CodeBuild 环境提供 AWS 权限。您应该必须为您的 CodeBuild 配置创建一个服务角色。

当 AWS cli 工具运行时,如果之前没有配置 API 访问密钥,它将检查它是否在 EC2 或 Lambda 等 AWS 环境中 运行 以及是否因此,它将使用分配给该运行时环境的 AWS IAM 角色。