#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. Ты мой герой, это полностью сработало!