Aller au contenu principal

Activité d'audit Google Workspace

info

Aperçu

Lakewatch est en aperçu privé. Pour demander un accès, veuillez contacter l'équipe de votre compte Databricks.

Lakewatch fournit un connecteur d'API pour importer l'activité d'audit des applications et des services Google Workspace. Cet article traite des prérequis, des instructions de configuration, du schéma de connecteur et des observables de l'analyseur Lakewatch.

Prérequis​

Le connecteur nécessite les éléments suivants :

  1. Serverless Lakeflow Spark Declarative Pipelines activé dans votre workspace.

  2. Unity Catalog, avec des privilèges pour créer ou utiliser une connexion Unity Catalog. Voir les autorisations de connexion.

  3. Un compte d'administrateur Google Workspace disposant du privilège Rapports . Les super administrateurs possèdent déjà ce privilège. Dans le cas contraire, créez un rôle d'administrateur personnalisé avec le privilège Rapports , puis attribuez-le au compte qui autorise la connexion. Rapports figure sous Rapports dans la liste des privilèges.

    • Pour ingérer l'activité d'audit Vault, incluez le privilège Google Vault Access All Logs dans le même rôle personnalisé, sous Vault .
  4. Accès à un projet Google Cloud où vous pouvez activer l’API Admin SDK et créer des identifiants OAuth.

  5. Une édition prise en charge pour chaque application Google Workspace qui en nécessite une. Lakewatch écrit ces applications dans la table combinée activities :

    • L'activité Drive et Keep nécessite une édition Business ou Enterprise. Consultez la référence de l'API Admin SDK Reports.
    • L'activité de transparence des accès nécessite Frontline Plus, Enterprise Plus, Education Standard, Education Plus ou Enterprise Essentials Plus. Consultez Transparence des accès.
    • L'activité Vault nécessite une licence complémentaire Google Vault. Voir la licence Google Vault.

Limitations connues​

  • Le connecteur ingère l'activité d'audit depuis l'API Admin SDK Reports. Il n'ingère pas le contenu des boîtes aux lettres, les fichiers Google Drive ou d'autres ressources Google Workspace.
  • La période rétrospective ne peut pas dépasser 179 jours. Google conserve les rapports d'activité d'audit pendant 180 jours. Consultez Choisir la période d'ingestion.
  • Le connecteur prend en charge l’authentification utilisateur à machine (U2M) OAuth. OAuth M2M, l’authentification par nom d’utilisateur et mot de passe, ainsi que l’authentification par clé API ne sont pas prises en charge.
  • Google limite chaque combinaison de compte Google et de client OAuth à 100 jetons de refresh. La création d’un autre jeton invalide le jeton le plus ancien.

Configurer Google Workspace pour l'ingestion​

Créez un projet Google Cloud, configurez l’écran de consentement OAuth, activez l’API Admin SDK et créez des identifiants client OAuth. Utilisez l’identifiant client et le secret obtenus pour créer la connexion au Unity Catalog dans Databricks. Pour plus d’informations, consultez Activer les APIs Google Workspace et Créer des identifiants d’accès.

Créer ou sélectionner un projet Google Cloud​

  1. Connectez-vous à la console Google Cloud.
  2. En haut de la page, ouvrez le sélecteur de projet. Sélectionnez un projet existant ou cliquez sur Créer un projet pour en créer un.
  3. Si vous créez un projet, saisissez un nom de projet descriptif, choisissez un emplacement , puis cliquez sur Créer . La création du projet prend quelques secondes.
  4. Dans le menu de navigation de gauche, accédez à Vue d'ensemble du cloud > Tableau de bord .
  5. Vérifiez que le projet que vous avez sélectionné ou créé s’affiche en haut de la page. Si ce n’est pas le cas, ouvrez le sélecteur de projet et sélectionnez-le.

Configurer votre application Google Cloud​

  1. Dans la barre de recherche supérieure, recherchez Écran de consentement OAuth et sélectionnez-le.

  2. Sur la page Écran de consentement OAuth , cliquez sur start .

  3. Sur la page Branding , saisissez les informations suivantes, puis laissez les champs restants vides :

    • Nom de l'application : un nom pour l'application.
    • E-mail d'assistance aux utilisateurs : votre adresse e-mail.
    • Public : sélectionnez Interne .
    • Informations de contact du développeur : votre adresse e-mail.
  4. Cliquez sur Enregistrer et continuer .

  5. Dans la page Accès aux données , cliquez sur Ajouter ou supprimer des étendues .

  6. Dans Ajouter manuellement des portées , saisissez https://www.googleapis.com/auth/admin.reports.audit.readonly.

  7. Cliquez sur Ajouter à la table , puis cliquez sur Mettre à jour .

  8. Cliquez sur Enregistrer .

Activer l’API Admin SDK​

  1. Dans la barre de recherche en haut, recherchez Admin SDK API et sélectionnez-la.
  2. Sur la page Admin SDK API , cliquez sur Enable .

Créer des identifiants OAuth​

  1. Dans la barre de recherche en haut, recherchez API et Services et sélectionnez-le.
  2. Dans le menu de navigation de gauche, cliquez sur Identifiants .
  3. Cliquez sur Créer des identifiants .
  4. Sélectionnez ID client OAuth .
  5. Pour Type d’application , sélectionnez Application web , puis saisissez un Nom pour le client.
  6. Sous URI de redirection autorisés , cliquez sur Ajouter un URI .
  7. Saisissez https://<workspace-url>/login/oauth/http.html. Remplacez <workspace-url> par le host name du workspace Databricks.
  8. Cliquez sur Créer .
  9. Dans la boîte de dialogue, enregistrez l' ID client et le secret client . Utilisez ces valeurs pour créer la connexion au Unity Catalog.
astuce

Lorsque vous créez une connexion via l’interface utilisateur Lakewatch, saisissez l’ ID client et le Secret client recueillis ci-dessus, puis cliquez sur Connexion à Google et accordez l’autorisation demandée.

Pour plus d’informations, consultez la configuration de la source Google Workspace.

Étapes suivantes​

Une fois la configuration ci-dessus terminée, créez une source de données avec le connecteur Google Workspace dans l'interface utilisateur de Lakewatch. Voir les connecteurs API pour obtenir des instructions.


Schémas de connecteur et Lakewatch​

Lakewatch combine les activités d'audit de toutes les applications Google Workspace prises en charge dans une seule table nommée activities.

Table source

Données Google Workspace

Analyseur Lakewatch intégré

activities

Activité d'audit combinée de toutes les applications Google Workspace prises en charge

google_workspace_reports

Table source

Données Google Workspace

Analyseur Lakewatch intégré

activities

Activité d'audit combinée de toutes les applications Google Workspace prises en charge

google_workspace_reports

Le connecteur écrit la table des sources vers la destination brute de la source de données. L'analyseur intégré écrit une table analysée distincte nommée d'après l'analyseur, sauf si vous définissez une destination analysée lors de la configuration de la source de données.

Colonnes gérées par Lakewatch​

Le connecteur ajoute les colonnes suivantes à chaque ligne source brute :

  • lw_id: chaîne non nulle que Lakewatch utilise dans le cadre de la clé primaire. Le connecteur dérive un ID stable et triable dans le temps à partir de time et un hachage stable de l’identité de l’activité source et des champs d’événement. La table activities utilise lw_id et application comme clé primaire composite.
  • time: un timestamp non nul analysé à partir de id.time. Le connecteur utilise time comme champ de curseur pour l’ingestion incrémentale.

La table analysée transfère lw_id. L'analyseur assigne également la colonne time analysée et ajoute :

  • lw_meta: métadonnées de traitement Lakewatch standard.
  • lw_observables: Valeurs extraites des champs marqués comme observables de sécurité dans l'analyseur.

Pour plus d'informations, consultez la référence du parser.

Schéma brut de table de connecteur​

La table activities écrit une ligne par événement. Chaque ligne contient le type, le nom, le statut, les ID des Ressources et les parameter spécifiques à l’application de l’événement, ainsi que les détails partagés sur l’activité comme l’acteur, l’adresse IP et l’heure de l’événement. Les paramètres spécifiques à l’application sont stockés sous forme de VARIANT.

Schéma

Colonne

Type de données

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

Colonne

Type de données

lw_id

STRING

application

STRING

time

TIMESTAMP

kind

STRING

etag

STRING

id

STRUCT<time: STRING, uniqueQualifier: STRING, applicationName: STRING, customerId: STRING>

actor

STRUCT<profileId: STRING, email: STRING, callerType: STRING, key: STRING, applicationInfo: STRUCT<oauthClientId: STRING, applicationName: STRING, impersonation: BOOLEAN>>

ownerDomain

STRING

ipAddress

STRING

isAgenticAction

BOOLEAN

networkInfo

STRUCT<ipAsn: ARRAY<INT>, regionCode: STRING, subdivisionCode: STRING>

type

STRING

name

STRING

status

STRING

resourceIds

ARRAY<STRING>

parameters

VARIANT

userDeviceInfo

VARIANT

resourceDetails

VARIANT

Pour les définitions de champs, voir la ressource d'activité de l'API Admin SDK Reports.

Observables de l’analyseur​

L’analyseur google_workspace_reports écrit des objets imbriqués sous la forme VARIANT et extrait les champs suivants dans lw_observables.

Observables

Champ

Observable

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

Champ

Observable

actor.email

email

actor.profileId

actor_id

ownerDomain

domain

ipAddress

ip

Le parser scanne également parameters par nom de parameter. La correspondance ne fait pas la distinction entre les minuscules et les majuscules.

Observables

Noms de paramètres

Observable

user_email, email_monitor_dest_email, group_email, affected_email_address, email_forwarding_destination_address, grantee_email, recipient_email, organizer_email, guardians, impacted_users, invited_emails, previous_email, previous_course_owner, target_user, owner, assignee_email, new_assignee_email, group_id

email

domain_name, domain_alias, secondary_domain_name, link_domain

domain

web_address, remote_ews_url, task_creation_point_url, task_origin_space, target_uri, source_uri

url

email_log_search_smtp_sender_ip, email_log_search_smtp_recipient_ip, ip_address, actor_ip_address

ip

apk_sha256_hash

hash

Noms de paramètres

Observable

user_email, email_monitor_dest_email, group_email, affected_email_address, email_forwarding_destination_address, grantee_email, recipient_email, organizer_email, guardians, impacted_users, invited_emails, previous_email, previous_course_owner, target_user, owner, assignee_email, new_assignee_email, group_id

email

domain_name, domain_alias, secondary_domain_name, link_domain

domain

web_address, remote_ews_url, task_creation_point_url, task_origin_space, target_uri, source_uri

url

email_log_search_smtp_sender_ip, email_log_search_smtp_recipient_ip, ip_address, actor_ip_address

ip

apk_sha256_hash

hash