У нас есть проблема с сервисным аккаунтом, который «по умолчанию» используется для проекта, в котором он был создан, при включении API перед созданием ресурсов.
SA была создана в рамках проекта A, но имеет Owner
права на проект B.
Мы пытаемся создать ресурс (кластер GKE) в проекте B, но он жалуется, что нам нужно сначала включить Kubernetes API в проекте A (мы передаем --project
в cluster create, чтобы избежать двусмысленности в том, где мы пытаемся создать кластер (это также относится к команде get-credentials).
ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Kubernetes Engine API has not been used in project PROJECT_NUMBER before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/container.googleapis.com/overview?project=PROJECT_NUMBER then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
PROJECT_NUMBER
здесь номер проекта A, а не B. Требуемый API уже включен в проекте B.
Есть ли здесь какие-то изъяны в нашем подходе к использованию служебных учетных записей?