Google Cloud Logging Аутентификация / разрешения - PullRequest
0 голосов
/ 18 февраля 2020

Я использую библиотеку Golang cloud.google.com/go/logging и хочу отправить журнал выполнения.

У вас уже есть файл GOOGLE_APPLICATION_CREDENTIALS. json - и я использую хранилище Google и Firebase - поэтому я знаю, что учетные данные работают.

При ведении журнала я получаю сообщение об ошибке «Ошибка 403. У вызывающего абонента нет разрешений, запрещено»

Учетная запись в учетных данных приложения является служебной учетной записью, и я просматривал IAM разрешения. Нет очевидного разрешения для ведения журнала (существуют другие разрешения для стекового драйвера, для отладки, trace и c, но они, похоже, не работают).

Итак, если я пока нахожусь в нужном месте - какие разрешения нужны служебной учетной записи для отправки данных журналов в журналы стекового драйвера?

Ответы [ 2 ]

1 голос
/ 18 февраля 2020

Согласно официальной документации:

Для использования библиотеки журналов Stackdriver для Go требуется роль Cloud IAM Logs Writer в Google Cloud. Большинство сред Google Cloud предоставляют эту роль по умолчанию.

1.App Engine по умолчанию предоставляет роль «Редактор журналов».

2.В Google Kubernetes Engine необходимо добавить ведение журнала. область доступа для записи при создании кластера:

3. При использовании экземпляров виртуальной машины Compute Engine добавьте область доступа к облачной платформе для каждого экземпляра.

4.Чтобы использовать библиотеку журналов Stackdriver для Go за пределами Google Cloud, включая запуск библиотеки на собственной рабочей станции, на компьютерах вашего центра обработки данных или на экземплярах виртуальных машин другого поставщика облака, вы должны предоставить свой идентификатор проекта Google Cloud и соответствующие учетные данные учетной записи службы непосредственно в ведение журнала Stackdriver. библиотека для Go.

Вы можете создать и получить учетные данные учетной записи службы вручную. При указании поля Role используйте роль Logs Writer . Дополнительную информацию о ролях Cloud Identity и Access Management см. В руководстве по управлению доступом go.

Настройка ведения журнала Stackdriver для Go

gcloud iam service-accounts list 
gcloud projects add-iam-policy-binding my-project-123 \
--member serviceAccount:my-sa-123@my-project-123.iam.gserviceaccount.com \
--role roles/logging.logWriter
1 голос
/ 18 февраля 2020

Если мы посмотрим на API для записи записей в журнал , мы обнаружим, что требуется разрешение IAM logging.logEntries.create.

Более подробную статью можно найти по адресу Руководство по управлению доступом .

Здесь описываются различные роли, в том числе:

  • roles/logging.logWriter
...