Какие роли я должен добавить в свою учетную запись службы, используемую CircleCi?

Я запускаю тесты и отправляю свои образы докеров из CircleCi в Google Container Registry. По крайней мере, я пытаюсь. Какие роли требуются моей учетной записи службы для получения и отправки изображений в GCR? Даже будучи учетной записью с ролью «Владелец проекта», я получаю такую ​​ошибку:

 gcloud --quiet container clusters get-credentials $PROJECT_ID
   Fetching cluster endpoint and auth data.
   ERROR: (gcloud.container.clusters.get-credentials) 
   ResponseError: code=403, 
   message=Required "container.clusters.get" permission(s) 
   for "projects/$PROJECT_ID/locations/europe-west1/clusters/$CLUSTER".

person martins    schedule 14.08.2018    source источник


Ответы (2)


Согласно этому документу, для Push (чтение и запись) и storage.objectViewer для извлечения (только чтение) из реестра контейнеров Google.

Что касается невозможности получить учетные данные в качестве владельца, вы, вероятно, используете учетную запись службы машины вместо своей учетной записи владельца. Проверьте, какую учетную запись вы используете, с помощью команды:

gcloud auth list

Вы можете изменить учетную запись службы, которую использует машина, через пользовательский интерфейс, сначала остановив экземпляр, а затем отредактировав учетную запись службы. Вы также можете использовать свои учетные данные Google с помощью команды:

gcloud auth login

Надеюсь это поможет

person xavierc    schedule 16.08.2018
comment
Все работало, как ожидалось, после добавления роли администратора хранилища и наблюдателя объектов хранилища. :) - person martins; 27.08.2018

Когда вы получите сообщение Required "___ANYTHING____" permission:

  • перейдите в Консоль -> IAM -> Роли -> Создать новую пользовательскую роль [ROLE_NAME]

  • добавьте container.clusters.get и / или любые другие разрешения, которые вам нужны, чтобы все это работало (например, мне нужны были некоторые права для kubectl)

  • назначьте эту роль (Консоль -> IAM -> Добавить +) вашей учетной записи службы

person Andrei Popa    schedule 19.08.2018