У вас нет ролей, назначенных учетной записи службы, которая, по вашему мнению, у вас есть.
Вам нужна одна из следующих ролей, назначенных учетной записи службы:
- роли / владелец ( Не рекомендуется )
- ролей / зрителя ( Не рекомендуется )
- ролей / облако sql .admin (Не рекомендуется, если не требуется для другие SQL операции)
- ролей / облако sql .editor (не рекомендуется, если не требуется для других SQL операций)
- ролей / облако sql .viewer (рекомендуется)
Go в Google Cloud Console -> Compute Engine. Щелкните свой экземпляр виртуальной машины. Прокрутите вниз и найдите учетную запись службы, назначенную вашему экземпляру виртуальной машины. Скопируйте адрес электронной почты учетной записи службы.
Выполните следующую команду (замените \ на ^ вместо Windows в следующей команде и укажите свой ИДЕНТИФИКАТОР ПРОЕКТА (не НАЗВАНИЕ ПРОЕКТА) и адрес электронной почты учетной записи службы):
gcloud projects get-iam-policy <PROJECT_ID> \
--flatten="bindings[].members" \
--format="table(bindings.role)" \
--filter="bindings.members:<COMPUTE_ENGINE_SERVICE_ACCOUNT>"
Дважды проверьте, присутствуют ли в выходных данных требуемые роли.
Чтобы перечислить ваши проекты и получить ИДЕНТИФИКАТОР ПРОЕКТА:
gcloud projects list
Примечание: не назначать разрешения непосредственно учетной записи службы. Назначьте разрешения для проекта, предоставив требуемую роль члену IAM учетной записи службы.
gcloud projects add-iam-policy-binding <PROJECT_ID> \
--member serviceAccount:<COMPUTE_ENGINE_SERVICE_ACCOUNT> \
--role roles/cloudsql.viewer