AWS: Политика IAM для CodePipeline?

Независимо от того, насколько открыта политика IAM для моей роли CodePipeline, на этапе DOWNLOAD_SOURCE мой шаг CodeBuild всегда завершается ошибкой с отказом в доступе. Сборка отлично работает, когда я запускаю вручную из CodeBuild.

Я буквально предоставил эту политику роли службы CodePipeline, но конвейер по-прежнему не работает:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

Кто-нибудь еще сталкивался с подобной проблемой? Где мне искать, чтобы это исправить?


person Jpnh    schedule 24.02.2018    source источник


Ответы (1)


В первую очередь я бы посмотрел на вашу служебную роль CodeBuild, убедитесь, что в политике есть что-то вроде следующего:

{
      "Sid": "S3GetObjectPolicy",
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion"
      ],
      "Resource": [
        "*"
      ]
    },
person Sudharsan Sivasankaran    schedule 25.02.2018
comment
Спасибо! Это так странно ... значит, у роли службы сборки кода должны быть разрешения, а не роли линии кода? Сработало ли выполнение сборки кода вручную, потому что оно выполнялось моей учетной записью AWS, а не ролью службы сборки кода? - person Jpnh; 25.02.2018
comment
Обычно это происходит, когда у вас уже есть проект CodeBuild и вы интегрируете его в проект CodePipeline. Codebuild теперь не загружает исходники из репозитория CodeCommit / Github. Вместо этого он попытается загрузить исходный артефакт, созданный в сегменте codepipeline в S3. Итак, вам нужно будет предоставить разрешения роли CodeBuild для доступа к сегменту codepipline в S3. - person Sudharsan Sivasankaran; 25.02.2018