Предположим, что роль для пользователя IAM заключается в загрузке s3 из Jenkins CI - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь использовать s3upload из Jenkins CI, я добавил учетные данные S3_User пользователя IAM в консоль Jenkins и использую withAWS (region: s3Region, credentials: s3User). Но мой пользователь IAM S3_User не имеет политики S3 RW, пользователь IAM должен принять на себя роль S3_UserRoleWithRWpolicy. Как это сделать?

Предоставил доступ S3_User и секретный ключ в учетных данных Jenkins IAM и добавил S3_UserRoleWithRWpolicy в роли IAM для использования в рамках поддержки роли IAM. Но все еще не в состоянии сделать загрузку S3 от Jenkins. Как я могу настроить в файле Jenkins для использования роли?

1 Ответ

0 голосов
/ 30 мая 2019
Finally figured out the solution:

I was using this in Jenkins CI file : 
withAWS(region: 's3Region', credentials: 'iamUser')
{
s3Upload( file:'jar', bucket:s3Bucket, path: s3Path)
}

It worked fine when iamUser has direct access to S3
but failed when iamUser has to assume role to access S3 (after adding IAM Role to Assume in credentials)
But the below worked:

 withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', credentialsId: 'iamUser']]) {
withAWS(region: 's3Region')
{
s3Upload( file:'jar', bucket:s3Bucket, path: s3Path)
}
}
...