CodeBuild使用ACL将构建工件上传到S3

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

我有2个AWS账户。让我们说A和B。

[帐户A使用CodeBuild来构建工件并将其上传到B拥有的S3存储桶。B帐户已对该存储桶设置了ACL权限,以便向A授予写入权限。

工件文件已成功上传到S3存储桶。但是,B帐户对该文件没有任何权限,因为该文件归A所有。

帐户A可以通过运行来更改所有权

aws s3api put-object-acl --bucket bucket-name --key key-name --acl bucket-owner-full-control

但是必须从A帐户进行每次构建后手动运行。如何通过CodeBuild过程向帐户B授予权限?或帐户B如何覆盖此所有权权限错误。

CodeBuild会自动从网络钩子开始,而我的buildspec是这样的:

 version: 0.2
 env:
 phases:
  install:
    runtime-versions:
      java: openjdk8
    commands:
      - echo Entered the install phase...
  build:
    commands:
      - echo Entered the build phase...
  post_build:
    commands:
      - echo Entered the post_build phase...
artifacts:
  files:
    - 'myFile.txt'

我有2个AWS账户。假设A和B。帐户A使用CodeBuild来构建工件并将其上载到B拥有的S3存储桶。B帐户已为该存储桶设置了ACL权限,以便提供Write ...

amazon-web-services amazon-s3 acl aws-codebuild
2个回答
1
投票
CodeBuild本身不支持将工件写入其他帐户,因为它没有在交叉帐户对象上设置适当的ACL。这就是在CodePipeline文档中标注以下限制的原因:

0
投票
我在构建阶段就使用了aws cli命令。
© www.soinside.com 2019 - 2024. All rights reserved.