разрешение IAM облачного ключа отклонено - PullRequest
0 голосов
/ 25 ноября 2018

При использовании команд CLI gcloud я могу выполнять любые действия с моей базой данных.Тем не менее, когда я пытаюсь сделать то же самое из Go (из того же экземпляра оболочки, что и при использовании команд gcloud), я получаю сообщение об ошибке:

spanner: code = "PermissionDenied", desc = "Resource projects/todo/instances/todospanner/databases/tododb is missing IAM permission: spanner.sessions.create."

Код, который я пытаюсь запуститьвзято из примера, найденного здесь: https://cloud.google.com/spanner/docs/getting-started/go/

Я не могу найти это разрешение (spanner.session.create) в разрешениях гаечного ключа.Я играл с настройкой всех разрешений, которые я мог найти, связанных с гаечным ключом, для учетной записи, которую я использовал для входа в систему с помощью gcloud.

мои GOOGLE_APPLICATION_CREDENTIALS установлены, и я также пытался с gcloud beta auth.

1 Ответ

0 голосов
/ 27 февраля 2019

Роли IAM Cloud Spanner, включая разрешение spanner.session.create, перечислены и описаны здесь: https://cloud.google.com/spanner/docs/iam#roles

Обратите внимание, что некоторые роли относятся к конкретному человеку, а другие - к компьютеру (или к учетной записи службы).).

Необходимо указать, откуда вы подключаетесь или выполняете код (экземпляр Cloud Shell, виртуальная машина, работающая на GCE, локальный компьютер или ноутбук) и чтобы убедиться, что человеку назначены правильные роли илислужебная учетная запись, которая пытается выполнить код и получить доступ к экземпляру Cloud Spanner.

Рассмотрим следующий сценарий:

  • ваш gcloud SDK может быть успешно проверен с учетной записью person@domain.com, которая предоставилаroles/spanner.admin роль, так что все нормально работает для gcloud
  • виртуальная машина, на которой размещен ваш код и SDK, работает как 12345678901-compute@developer.gserviceaccount.com служебная учетная запись, и у нее нет доступа к Cloud Spanner, что вызывает проблемы.

Подробнее об учетных записях здесь: https://cloud.google.com/compute/docs/access/service-accounts

...