Разрешение GCP IAM — учетная запись службы не имеет разрешения

Чтобы реализовать конвейер CI от github до gcp, я настроил идентификатор рабочей нагрузки.

SERVICE_ACCOUNT="xyz"

PROJECT_ID="АВС"

Сервисный аккаунт, созданный командой:

gcloud iam service-accounts create "${SERVICE_ACCOUNT}" \
    --description = "${SERVICE_ACCOUNT}" \
    --display-name = "${SERVICE_ACCOUNT}"

Добавляется PrincipalSet с помощью следующей команды:

gcloud iam service-accounts add-iam-policy-binding "${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
  --project = "${PROJECT_ID}" \
  --role = "roles/iam.workloadIdentityUser" \
  --member = "principalSet://iam.googleapis.com/projects/${PROJECT_NUMBER}/locations/global/workloadIdentityPools/${POOL_NAME}/attribute.repository/${ORG_NAME}/${REPOSITORY}"

До этого момента работал нормально.

Но с помощью этой учетной записи я также хочу подготовить инфраструктуру и развернуть приложения.

Поэтому я использовал следующую команду:

gcloud iam service-accounts add-iam-policy-binding "${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
    --member "serviceAccount:${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
    --role "roles/container.clusterAdmin"

Точно так же еще несколько ролей, которые будут добавлены. Но у меня есть следующая ошибка:

ERROR: (gcloud.iam.service-accounts.add-iam-policy-binding) INVALID_ARGUMENT: Role roles/container.clusterAdmin is not supported for this resource.

Есть отзывы как получить права?

Ссылка: https://cloud.google.com/blog/products/identity-security/enbling-keyless-authentication-from-github-actions

Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
1
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Добавьте политику IAM в проект, а не в учетную запись службы.

gcloud iam projects add-iam-policy-binding "${PROJECT_ID} \
    --member "serviceAccount:${SERVICE_ACCOUNT}@${PROJECT_ID}.iam.gserviceaccount.com" \
    --role "roles/container.clusterAdmin"

Другие вопросы по теме