Приемник журналов аудита BQ устанавливается автоматически для проекта - PullRequest
0 голосов
/ 23 января 2020

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

пример приемника журналов BQ

фильтр логов

Вопрос - есть ли способ его автоматизации, когда ресурс BQ создается для нового проекта, он автоматически создает приемник? Оно должно иметь:

Имя приемника: BQLogsDataset_ [ProjectNameOrID]

Назначение: bigquery.googleapis.com/projects/billing/datasets/BQLogsDataset

Идентификатор писателя: создаст подходящий

Применил бы фильтр: resource.type = "bigquery_resource" logName = "projects / [ProjectNameOrID] /logs/cloudaudit.googleapis.com%2Fdata_access"

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

спасибо!

Ответы [ 3 ]

1 голос
/ 23 января 2020

Вы можете создать Bigquery Sink на уровне Организации и включить флаг --include-children, который настроит все проекты в Организации.

Пример команды gcloud:

gcloud logging sinks create my-org-bq-sink bigquery.googleapis.com/projects/my-gcp-project/datasets/my_bq_audit_dataset --include-children --organization=MY_ORG_ID

Подробнее Об этой команде gcloud здесь

Если вы используете Terraform, вы можете использовать google_logging_organization_sink

Надеюсь, это поможет.

1 голос
/ 28 января 2020

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

gcloud logging sinks create <My-sink-name> bigquery.googleapis.com/projects/<My-billing-project-ID>/datasets/<My-dataset-name> --include-children --log-filter='resource.type="bigquery_resource" AND logName:"cloudaudit.googleapis.com/data_access"' --organization=<My-organization-ID> 
0 голосов
/ 23 января 2020

Мое предложение - использовать приемник уровня организации, который можно определить через API. Ссылку на API можно найти по этой ссылке

. Это соответствующее описание из документации, в которой говорится о настройке:

Родительский ресурс - проект , папка, платежная учетная запись или организация, в которой создан приемник. Приемник может экспортировать только журналы, принадлежащие родительскому ресурсу. Родители имеют следующие форматы:

"проекты / [PROJECT_ID]" "организации / [ORGANIZATION_ID]" "папки / [FOLDER_ID]" "billingAccounts / [BILLING_ACCOUNT_ID]"

Включают детей параметр. Это относится только к стокам внутри организаций. См. Агрегированный экспорт.

Примечание. В настоящее время этот параметр можно настроить ТОЛЬКО через API, а не через пользовательский интерфейс консоли Google

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...