与 BitBucket 集成时 AWS CodePipeline 的 AWS IAM 访问异常
AWS IAM access exception with AWS CodePipeline when integrating with BitBucket
我正在尝试使用 AWS CodePipeline 为我们的 CICD 流程构建管道。我单击 "Create Pipeline",提供名称并使用第一个面板的默认值。在下一个面板上,在选择 "BitBucket(beta)" 作为源提供者时,我得到以下访问异常:
AccessDeniedException:
用户:arn:aws:iam::280945876345:user/Roger 无权在资源上执行:codestar-connections:ListConnections:arn:aws:codestar-connections:us-west-2:280945876345:*
我浏览了文档并向 IAM 用户提供了对 CodePipeline、CodeDeploy、CodeStar、CodeBuildAdmin、CloudFormation、AmazonS3、AmazonECS、AWSCodeCommit 的完全访问权限。我找不到任何与 codestar-connections:* 相关的政策,我可以添加。我知道 CodePipeline-BitBucket 集成处于 Beta 阶段,但只是想看看是否有其他人遇到过这个问题并解决了它。
根据评论,问题是由于缺少对 codestar-connections
的权限。
解决方案是在具有 codestar-connections:*
.
权限的相关角色中创建内联策略
通过执行以下步骤更新用户权限对我有用的方法:
- 通过此 link 访问列出您在 IAM 中的所有用户的页面:https://console.aws.amazon.com/iamv2/home?#/users
- Select 我们需要授予权限的用户
- 点击左侧的
+ Add inline policy
按钮
- 单击
Service
字段前的 Choose a service
- 在搜索栏中输入
CodeStar Connections
并在搜索结果中点击它
- 我 select 勾选了
All CodeStar Connections actions (codestar-connections:*)
复选框,而您可以 select 根据您的要求选择任何访问级别。
- 这有时会产生警告并要求您从
Resources
字段中添加 ARN
。在这种情况下,单击 Add ARN
并填写字段。
- 单击底部的
Review Policy
继续将此策略添加到用户。
另一种选择是更新整个 user group
的权限
Marcin 和 Adil 的回答都对我有用,但是在尝试部署时收到此错误“用户无权执行:iam:CreateRole”。
然后我发现这个 link 帮助我制定了最终政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codestar-connections:GetIndividualAccessToken",
"codestar-connections:CreateConnection",
"codestar-connections:ListInstallationTargets",
"codestar-connections:StartOAuthHandshake",
"codestar-connections:GetInstallationUrl",
"codestar-connections:ListHosts",
"codestar-connections:StartAppRegistrationHandshake",
"codestar-connections:RegisterAppCode",
"codestar-connections:ListConnections",
"codestar-connections:CreateHost"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "codestar-connections:*",
"Resource": [
"arn:aws:codestar-connections:*:474678791249:connection/*",
"arn:aws:codestar-connections:*:474678791249:host/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:CreatePolicy",
"iam:PutRolePolicy",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy"
],
"Resource": [
"*"
]
}
]
}
将其粘贴到 JSON 编辑器而不是可视化编辑器中会使用之前的 JSON.
创建策略
我正在尝试使用 AWS CodePipeline 为我们的 CICD 流程构建管道。我单击 "Create Pipeline",提供名称并使用第一个面板的默认值。在下一个面板上,在选择 "BitBucket(beta)" 作为源提供者时,我得到以下访问异常:
AccessDeniedException: 用户:arn:aws:iam::280945876345:user/Roger 无权在资源上执行:codestar-connections:ListConnections:arn:aws:codestar-connections:us-west-2:280945876345:*
我浏览了文档并向 IAM 用户提供了对 CodePipeline、CodeDeploy、CodeStar、CodeBuildAdmin、CloudFormation、AmazonS3、AmazonECS、AWSCodeCommit 的完全访问权限。我找不到任何与 codestar-connections:* 相关的政策,我可以添加。我知道 CodePipeline-BitBucket 集成处于 Beta 阶段,但只是想看看是否有其他人遇到过这个问题并解决了它。
根据评论,问题是由于缺少对 codestar-connections
的权限。
解决方案是在具有 codestar-connections:*
.
通过执行以下步骤更新用户权限对我有用的方法:
- 通过此 link 访问列出您在 IAM 中的所有用户的页面:https://console.aws.amazon.com/iamv2/home?#/users
- Select 我们需要授予权限的用户
- 点击左侧的
+ Add inline policy
按钮 - 单击
Service
字段前的Choose a service
- 在搜索栏中输入
CodeStar Connections
并在搜索结果中点击它 - 我 select 勾选了
All CodeStar Connections actions (codestar-connections:*)
复选框,而您可以 select 根据您的要求选择任何访问级别。 - 这有时会产生警告并要求您从
Resources
字段中添加ARN
。在这种情况下,单击Add ARN
并填写字段。 - 单击底部的
Review Policy
继续将此策略添加到用户。
另一种选择是更新整个 user group
的权限Marcin 和 Adil 的回答都对我有用,但是在尝试部署时收到此错误“用户无权执行:iam:CreateRole”。
然后我发现这个 link 帮助我制定了最终政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"codestar-connections:GetIndividualAccessToken",
"codestar-connections:CreateConnection",
"codestar-connections:ListInstallationTargets",
"codestar-connections:StartOAuthHandshake",
"codestar-connections:GetInstallationUrl",
"codestar-connections:ListHosts",
"codestar-connections:StartAppRegistrationHandshake",
"codestar-connections:RegisterAppCode",
"codestar-connections:ListConnections",
"codestar-connections:CreateHost"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "codestar-connections:*",
"Resource": [
"arn:aws:codestar-connections:*:474678791249:connection/*",
"arn:aws:codestar-connections:*:474678791249:host/*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"iam:CreateRole",
"iam:CreatePolicy",
"iam:PutRolePolicy",
"iam:AttachRolePolicy",
"iam:DetachRolePolicy"
],
"Resource": [
"*"
]
}
]
}
将其粘贴到 JSON 编辑器而不是可视化编辑器中会使用之前的 JSON.
创建策略