amazon-web-services - CodePipeline 中的 AWS CodeCommit 权限错误
问题描述
我正在尝试按照此示例设置 AWS Pipeline以跨多个账户使用。我设置了四个不同的帐户。我已经成功地完成了这个过程的每一步。没有命令产生任何错误。管道成功完成。然后我可以连接到管道并提交我的代码更改。简而言之,直到最后一步的每一步都按照文档中的说明工作。
但是,然后在代码提交的初始触发器上出现错误:
权限不足 服务角色或操作角色没有访问名为 dbmigration 的 AWS CodeCommit 存储库所需的权限。更新 IAM 角色权限,然后重试。错误:用户:arn:aws:sts::12345678912:assumed-role/my-pipeline-CodePipelineRole-1UPXOXOXO1WD0H/987654321 无权执行:codecommit:UploadArchive on resource:arn:aws:codecommit:us-east-2: 123456789:数据库迁移
我用于创建管道的 AWS 账户不是根账户,而是具有跨账户管理员权限的 IAM 管理员登录。我已经尝试添加 AWSCodeCommitFullAccess 和 AWSCodePipelineFullAccess,我原以为无论如何这都是管理的一部分。然而,这并没有改变什么。
我的假设是我做错了什么,但我无法确定那是什么。任何有关更好故障排除的建议,更不用说有关如何修复它的建议,都将受到欢迎。
同样,用于创建管道的代码使用 IAM 登录名 Administrator 从第四个 AWS 账户运行,如下所示:
aws cloudformation deploy --stack-name my-pipeline `
--template-file db-migration-master.yml `
--parameter-overrides ProjectName=dbmigration `
EmailAddress=grant@scarydba.com `
DevAccountId=98765432123 `
TestAccountId=123456789012 `
ProdAccountID=210987654321 --capabilities CAPABILITY_NAMED_IAM
所有模板均来自链接文章,未修改或自定义。
解决方案
根据评论。
错误消息表明该角色my-pipeline-CodePipelineRole-1UPXOXOXO1WD0H/987654321
缺少以下权限 codecommit:UploadArchive
:
向 AWS CodePipeline 的服务角色授予将存储库更改上传到管道的权限
解决方案是将角色添加为codecommit:UploadArchive
内联策略。
推荐阅读
- java - 在 webview 中包含一个小部件
- r - 从 R 中的持续时间列中拆分小时和分钟
- javascript - 什么时候真正发出“可读”事件?流.可读
- javascript - 无法连接到 Node JS 上的 Mysql 数据库
- javascript - 如何在不和谐的消息中找到数字?
- html - 带滚动的全屏 gif,像视差视频效果
- python - 为什么我的 matplotlib 刻度标签不可见?相同的代码适用于 Jupyter 笔记本
- mfc - Msftedit 似乎在文件末尾处理段落标记 (\par) 不一致
- php - 如何检查复选框并在 jQuery 中显示输入字段?
- php - PHP 你可以在不同的类中使用相同的属性吗