0
votes

Les journaux d'audit BQ Sevent Set automatiquement pour un projet

Chaque fois que nous créons un nouveau projet et utilisez un BQ dans un projet, nous avons besoin manuellement pour définir un évier de journaux BQ, y compris le filtre:

Exemple de journaux BQ Buvez

filtre de journaux

La question - y a-t-il un moyen de l'automatiser, une fois que la ressource BQ est créée pour un nouveau projet, elle créerait automatiquement un évier? Il devrait avoir:

Nom de l'évier: BQLogsDataSet_ [ProjectNameorid]

Destination: bigquery.googleappis.com/projects/billing/datasets/bqlogsdataset

Identité de l'écrivain: créerait un approprié

appliquerait filtrer: ressource.type = "bigquery_resource" logname = "Projets / [projetNameorid] /logs/cloudaudit.googleapis.com%2fdata_access"

Peut être mis en œuvre déjà similaire ou avoir d'autres solutions comment ne pas oublier d'activer la journalisation BQ à chaque fois qu'un nouveau projet ayant une ressource BQ est créé?

Merci!


1 commentaires

Bonjour, je vérifiais la documentation et, selon la documentation, BigQuery envoie automatiquement des journaux d'audit à la journalisation de StackDiver. Ensuite, vous pouvez les exporter ou les filtrer. Link: cloud.google.com/bigquery/docs/reference/auditlogs


3 Réponses :


0
votes

Ma suggestion est d'utiliser un évier de niveau d'organisation pouvant être défini via API. Référence à l'API peut être trouvée dans ce lien

Ceci est la description pertinente de la documentation parle de la configuration:

Une ressource parent - un projet, un dossier, un compte de facturation ou une organisation dans lequel l'évier est créé. L'évier ne peut exporter que des journaux appartenant à la ressource parentale. Les parents ont les formats suivants:

"Projets / [projet_id]" "Organisations / [organisation_id]" "Dossiers / [folder_id]" "BillingAccounts / [facturation_account_id]"

Un paramètre Inclure les enfants. Ceci n'est que pertinent pour les puits au sein des organisations. Voir Exportations agrégées.

REMARQUE: Ce paramètre ne peut actuellement pas être effectué uniquement via API et non via la console Google UI


1 commentaires

Mais fonctionne-t-il avec filtrer les bûches? I.E. Maintenant, nous exportons uniquement des journaux correspondant au filtre sur un projet "ressource.type =" bigquery_resource "logName =" Projets / [projetNameorid] /logs/cloudaudit.googleap is.com% 2fdata_access "". Comment ajoutera chaque projet projecdid dans le filtre?



2
votes

Vous pouvez créer le puits de bigquery au niveau de l'organisation et activer - Inclure les enfants drapeau qui configureront tous les projets dans une organisation.

Exemple de commande gcloud: < Pré> xxx

Plus de détails sur cette commande gcloud Ici

Si vous utilisez Terraform, vous pouvez utiliser Google_Logging_Organization_Sink

J'espère que cela aide.


1 commentaires

Je crois que cela crée chaque évier pour tous les projets sous le niveau de l'organisation, de sorte que c'est bon. Mais comment cela applique-t-il plus tard le filtre par le projecdid mentionné au message initial?



1
votes

solution - Utilisez cette commande ci-dessous pour définir un évier pour un projet (et des objets enfants en dessous). Les journaux BQ seront filtrés en conséquence:

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 commentaires