AWS、GitHub 操作:用户无权对资源(CodePipeline)执行 sts:AssumeRole

Guo*_*ang 4 github amazon-web-services github-actions

我希望AWS专家能提供一些帮助。我将使用 GitHub Actions 执行 AWS CodePipeline。我正在遵循这个示例,并且我已经为此设置了角色。但是当我测试的时候,却出现这样的错误。

“错误:用户:arn:aws:iam:: :user/lms-test 无权对资源执行:sts:AssumeRole:arn:aws:codepipeline:us-west-1: :lms-test”

为了修复此错误,我还添加sts:AssumRole了当前用户(lms-test),但仍然出现相同的错误。我期待得到这个问题的解决方案。

感谢您的时间和考虑。

小智 6

您信任的策略中缺少某些内容。更改如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::xxxxxxxxxxx:oidc-provider/token.actions.githubusercontent.com"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
                },
                "StringLike": {
                    "token.actions.githubusercontent.com:sub": "repo:[your-org]/[your-repo]:*"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)