Вопрос о настройке политики для загрузки изображения docker в ECR в Jenkins - PullRequest
0 голосов
/ 12 февраля 2020

Я создал новую роль для загрузки docker изображения в ECR с помощью Jenkins, я прикрепил эту политику, я нашел здесь

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"ListImagesInRepository",
         "Effect":"Allow",
         "Action":[
            "ecr:ListImages"
         ],
         "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
      },
      {
         "Sid":"GetAuthorizationToken",
         "Effect":"Allow",
         "Action":[
            "ecr:GetAuthorizationToken"
         ],
         "Resource":"*"
      },
      {
         "Sid":"ManageRepositoryContents",
         "Effect":"Allow",
         "Action":[
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:DescribeImages",
                "ecr:BatchGetImage",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
         ],
         "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
      }
   ]
}

Я тестировал в Policy Simulator, он дал мне отказано: enter image description here

Я подозреваю, что с ARN что-то идет не так, я нашел только URL для репозитория ECR, но я изменил формат в соответствии с примером, может кто-то Помоги мне? Давно боролся с этим.

1 Ответ

0 голосов
/ 12 февраля 2020

Проблема с Simulation Resource. Вы тестируете на *, но ваша политика, разумно, не позволяет все. Вы должны проверить это для фактического ARN ресурса, к которому вам нужно получить доступ.

...