gpt4 book ai didi

amazon-web-services - CodeBuild 无权执行 : sts:AssumeRole on arn:aws:iam/. ..... InvalidInputException;为什么?

转载 作者:行者123 更新时间:2023-12-04 08:07:08 27 4
gpt4 key购买 nike

我有一个 cloudformation 堆栈,它导出此角色并附加了一些策略:

      CodeBuildRole:
Type: AWS::IAM::Role
Properties:
RoleName: codebuild-role
AssumeRolePolicyDocument:
Statement:
- Action: ['sts:AssumeRole']
Effect: Allow
Principal:
Service:
- codebuild.amazonaws.com
- codepipeline.amazonaws.com
Version: '2012-10-17'
Path: /
Policies:
- etc....

导出的角色名称是cb-remove-role-id,然后我尝试将其导入到另一个堆栈中,以供代码管道中的另一个代码构建项目使用

      BuildProjectUK:
Type: AWS::CodeBuild::Project
Properties:
Name: !Sub ${ResourceContext}-build-uk
Description: UK build and deploy
ServiceRole: !ImportValue cb-remove-role-id
BadgeEnabled: false
Artifacts:
Type: CODEPIPELINE
Environment:
etc...

当尝试更新后一个堆栈的模板时,我收到此错误:

Failed to call UpdateProject, reason: CodeBuild is not authorized to perform: sts:AssumeRole on arn:aws:iam::xxxxxxxxx:role/xxxxxxxxx (Service: AWSCodeBuild; Status Code: 400; Error Code: InvalidInputException; Request ID: xxxxxxxxxxxxxxxx; Proxy: null)

您知道为什么会出现这种情况或者我该如何解决这个问题吗?

谢谢

最佳答案

使用 Arn 而不是 RoleId 导出角色解决了问题,谢谢@Marcin

输出失败:

  CodeBuildRemoveRoleId:
Description: ID of role used by remove codebuild project
Value: !GetAtt CodeBuildRole.RoleId
Export:
Name: cb-remove-role-id

传递输出:

  CodeBuildRemoveRoleId:
Description: ID of role used by remove codebuild project
Value: !GetAtt CodeBuildRole.Arn
Export:
Name: cb-remove-role-id

关于amazon-web-services - CodeBuild 无权执行 : sts:AssumeRole on arn:aws:iam/. ..... InvalidInputException;为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66169018/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com