You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS跨账号中让Account B的CodeBuild访问Account A的CodeCommit?

跨账号将Account A的CodeCommit作为Account B CodeBuild的源

以下是完成配置的具体步骤:

1. 给Account B的CodeBuild服务角色添加角色假设权限

Account B的CodeBuild服务角色需要被允许**扮演(Assume)**你在Account A创建的角色。为此,给该服务角色附加一条IAM权限策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::[AccountA账号ID]:role/[你在AccountA创建的角色名]"
        }
    ]
}

2. 配置Account B的CodeBuild项目源

进入Account B的CodeBuild项目配置页面,在「源」模块完成以下操作:

  • 源提供商选择CodeCommit
  • 勾选「跨账号仓库」,输入Account A的账号ID,以及目标CodeCommit仓库的名称或ARN
  • 在「源的访问凭据」下拉框中选择「使用现有服务角色的角色假设」,并填入Account A中那个角色的ARN

3. 验证Account A角色的信任策略(关键检查项)

确保你在Account A创建的角色的信任策略,已经授权Account B的CodeBuild服务角色可以扮演它。信任策略示例如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::[AccountB账号ID]:role/service-role/[AccountB的CodeBuild服务角色名]"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

4. 测试构建

保存CodeBuild项目配置后,手动触发一次构建任务,验证是否能成功拉取Account A中CodeCommit仓库的代码。如果出现权限错误,优先检查两个角色的权限/信任策略是否匹配,以及ARN是否填写正确。

内容的提问来源于stack exchange,提问作者sshakya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 12:44:56