Не удается найти учетную запись службы, созданную из приемника

#google-cloud-platform #google-cloud-storage

#google-cloud-platform #google-облачное хранилище

Вопрос:

Я создаю приемник, выполнив следующую команду (от имени администратора организации):

 gcloud logging sinks create vpc_flow_sink storage.googleapis.com/<storage_bucket_name> --include-children --organization=<organization_id> --log-filter="resource.type="gce_subnetwork" AND logName:"logs/compute.googleapis.com/vpc_flows""
  

Команда выполняется успешно и выводит следующий текст:

 Created [https://logging.googleapis.com/v2/organizations/<organization_id>/sinks/<sink_name>].
Please remember to grant serviceAccount:o<organization_id>-511237@gcp-sa-logging.iam.gserviceaccount.com the Storage Object Creator role on the bucket.
  

Однако, когда я фактически применяю разрешение к корзине хранилища, я не могу найти эту учетную запись (ни в проекте, ни в организации). Учетные записи также не отображаются при запуске:

 gcloud organizations get-iam-policy <organization_id>
  

Когда я описываю приемник, учетная запись службы существует в поле writerIdentity:

 gcloud beta logging sinks describe vpc_flow_sink --organization <organization_id>
...
writerIdentity: serviceAccount:o<organization_id>-511237@gcp-sa-logging.iam.gserviceaccount.com
...
  

Для справки, чтобы попытаться устранить эту проблему, я прикрепил следующие роли: администратор роли организации, администратор ведения журнала, владелец, владелец проекта, администратор организации, администратор хранилища.

Я искренне теряюсь в том, что делать, как мне предоставить ведру роль для этой учетной записи?

Комментарии:

1. 1/2) Я не уверен в вашем случае, но вот несколько советов. Учетные записи служб существуют в отдельном разделе облачной консоли Google. Как только вы предоставите им разрешения вручную в разделе IAM, они появятся. Учетные записи службы могут существовать на уровне проекта, папки или организации. В вашем случае вы, вероятно, найдете учетную запись службы в разделе Учетные записи служб на уровне организации. Войдите в облачную консоль Google. Перейдите в IAM. Вверху рядом с надписью «Облачная платформа Google» вы увидите свой идентификатор проекта. Щелкните стрелку вниз и выберите свою организацию (у нее есть значок здания).

2. 2/2) Если вы не видите свою учетную запись службы в разделе IAM, нажмите кнопку «ДОБАВИТЬ». Добавьте учетную запись службы, используя адрес электронной почты, указанный в вашем вопросе. Затем предоставьте требуемые политики. ПРИМЕЧАНИЕ: чтобы исправить мой предыдущий комментарий. «Учетной записи службы могут быть назначены роли на уровне проекта, папки или организации, а также на комбинации этих уровней».

3. Я не верю, что учетные записи служб можно просматривать в консоли на уровне организации. Google заявляет, что «Страница недоступна для просмотра организациями. Чтобы просмотреть эту страницу, выберите проект.»

4. @Robert удалось выяснить это?

Ответ №1:

При применении разрешения к месту назначения экспорта не копируйте:

serviceAccount:o<organization_id>-511237@gcp-sa-logging.iam.gserviceaccount.com

но вместо этого просто используйте все после serviceAccount:

o<organization_id>-511237@gcp-sa-logging.iam.gserviceaccount.com

Затем Google распознает учетную запись службы. Тем не менее, я все еще не могу обнаружить ее через gcloud organizations get-iam-policy <organization_id>

Комментарии:

1. Ты мой герой, это полностью сработало!