Aller au contenu principal

Enregistrement des activités Workday

info

Aperçu

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

Lakewatch fournit un connecteur d’API pour ingérer les données de Workday Activity Logging. Cet article couvre les prérequis, les instructions de configuration, les schémas de connecteurs et les 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. Consultez Autorisations de connexion.
  3. Autorisation dans Workday pour modifier les paramètres du tenant, créer des utilisateurs du système d’intégration et des groupes de sécurité, mettre à jour les politiques de sécurité des domaines, inscrire des clients d’API et générer des jetons de refresh.

Limitations connues​

  • Le SCD de type 2 n'est pas pris en charge, car les logs d'activité Workday sont en ajout uniquement.
  • La période rétrospective ne peut pas dépasser 30 jours. Voir Choisir la période d'ingestion.

Configurer Workday pour l’ingestion​

Configurez Workday pour activer l'authentification et l'accès aux logs d'activité des utilisateurs.

Activer le logging d’activité et OAuth​

  1. Dans Workday, recherchez et sélectionnez Edit Tenant Setup - System .
  2. Assurez-vous que Activer la journalisation de l'activité utilisateur est sélectionné.
  3. Recherchez et sélectionnez Edit Tenant Setup - Security .
  4. Assurez-vous que Clients OAuth 2.0 activés est sélectionné.

Créer un utilisateur système d’intégration​

  1. Dans Workday, recherchez et sélectionnez Create Integration System User .
  2. Saisissez un nom d’utilisateur. Par exemple, ISU_Databricks.
  3. Saisissez un nouveau mot de passe.
  4. Réglez le délai d'expiration de la session en minutes sur 0.
  5. Sélectionnez Ne pas autoriser les sessions d'interface utilisateur .
  6. Cliquez sur OK .
  7. Enregistrez le nom d’utilisateur. Vous l'utilisez lorsque vous générez le jeton refresh.

Configurer les autorisations de sécurité​

  1. Dans Workday, recherchez et sélectionnez Create Security Group .
  2. Pour Type de groupe de sécurité locataire , sélectionnez Groupe de sécurité du système d’intégration (non contraint) , et saisissez un nom pour le groupe. Par exemple, ISSG_Databricks_Monitoring.
  3. Cliquez sur OK .
  4. Dans le formulaire suivant, ajoutez l’utilisateur du système d’intégration aux utilisateurs du système d’intégration .
  5. Cliquez sur OK , puis sur Terminé .
  6. Recherchez et sélectionnez View Domain .
  7. Pour Domaine , sélectionnez Audit du système .
  8. Cliquez sur le menu à trois points à côté du nom de domaine Audit du système , puis sélectionnez Domaine > Modifier les autorisations de politique de sécurité .
  9. Ajoutez le groupe de sécurité à la table Autorisations de rapport/tâche et accordez-lui l’accès Affichage .
  10. Ajoutez le groupe de sécurité à la table Permissions d’intégration et accordez-lui l’accès Obtenir .
  11. Cliquez sur OK , puis sur Terminé .
  12. Recherchez et sélectionnez Activate Pending Security Policy Changes .
  13. Entrez une description pour le changement.
  14. Cliquez sur OK .

Enregistrer un client API​

  1. Dans Workday, recherchez et sélectionnez Register API Clients for Integrations .
  2. Saisissez un nom de client . Par exemple, Databricks User Activity Monitor.
  3. Sélectionnez Jetons de refresh sans expiration pour éviter les interruptions dues à l’expiration des jetons de refresh.
  4. Pour Scope (Functional Areas) , sélectionnez System .
  5. Cliquez sur OK .
  6. Enregistrez l' identifiant client et le secret client . Vous utiliserez ces valeurs lors de la création de la connexion Unity Catalog.

Récupérer les valeurs Workday pour l’authentification Databricks​

  1. Dans Workday, recherchez et sélectionnez View API Clients .

  2. Sélectionnez le API Clients pour les intégrations tab.

  3. Pour le client API que vous avez créé, confirmez que les paramètres suivants sont activés :

    • Type d’octroi de client : Octroi de code d’autorisation
    • Type de jeton d’accès : Porteur
  4. Localisez le Endpoint REST API de Workday . Enregistrez les valeurs suivantes à partir de l'URL :

    • Le domaine de l'instance, se terminant par .com et excluant le schéma et le chemin. Par exemple, wd2-impl-services1.workday.com.
    • Le nom du tenant, qui apparaît après /v1/ dans l’URL.
  5. Cliquez sur le Link du client API. Dans la page View API Client , cliquez sur le menu à trois points à côté du nom du client.

  6. Sélectionnez Client API > Gérer le jeton de refresh pour les intégrations .

  7. Pour Compte Workday , sélectionnez l’utilisateur du système d’intégration, puis cliquez sur OK .

  8. Sélectionnez Générer un nouveau jeton refresh , puis cliquez sur OK .

  9. Enregistrez le jeton refresh. Vous l’utilisez lorsque vous créez la connexion Unity Catalog.

astuce

Lors de la création d'une connexion via l'interface utilisateur Lakewatch, vous avez besoin de l' URL d'instance , du nom du tenant , de l' ID client , du secret client et du jeton de refresh collectés ci-dessus.

Étapes suivantes​

Après avoir effectué la configuration ci-dessus, créez une source de données avec le connecteur Workday dans l’interface utilisateur de Lakewatch. Voir Connecteurs API pour obtenir des instructions.


Schémas du connecteur et de Lakewatch​

Le connecteur ingère la table source suivante à partir du schéma source default :

Table source

Données Workday

Analyseur Lakewatch intégré

activity_logging

Événements de journalisation de l'activité des utilisateurs

workday_activity

Table source

Données Workday

Analyseur Lakewatch intégré

activity_logging

Événements de journalisation de l'activité des utilisateurs

workday_activity

Le connecteur écrit la table source dans 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 lorsque vous configurez 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 comme clé primaire. Le connecteur dérive un ID stable et triable dans le temps à partir du requestTime Workday et de l’enregistrement source complet. L’ID prend en charge la déduplication au cours des synchronisations incrémentielles.
  • time: un timestamp non nul copié à partir de requestTime. Le connecteur utilise time comme champ curseur pour l’ingestion incrémentale.

Pour les sources de données Lakewatch, la table brute contient également ces colonnes, et la table analysée transporte les trois champs gérés par Lakewatch :

  • lw_meta: Métadonnées de traitement standard de Lakewatch.
  • lw_observables: valeurs extraites des champs marqués comme observables de sécurité dans le parser.

L’analyseur attribue également la colonne time analysée.

Pour plus d'informations, consultez la référence de l'analyseur.

Schéma de table de connecteur brut​

Le schéma suivant combine les champs standard de Lakeflow Connect avec les champs gérés par Lakewatch.

Schéma

Colonne

Type de données

lw_id

STRING

time

TIMESTAMP

systemAccount

STRING

activityAction

STRING

requestTime

TIMESTAMP

userAgent

STRING

taskId

STRING

deviceType

STRING

ipAddress

STRING

userActivityEntryCount

LONG

sessionId

STRING

target

STRUCT<id: STRING, descriptor: STRING, href: STRING>

taskDisplayName

STRING

lw_observables

STRUCT<account_ids: ARRAY<STRING>, actor_ids: ARRAY<STRING>, cves: ARRAY<STRING>, device_ids: ARRAY<STRING>, emails: ARRAY<STRING>, hashes: ARRAY<STRING>, hostnames: ARRAY<STRING>, ip_addresses: ARRAY<STRING>, mac_addresses: ARRAY<STRING>, mitre_attack_technique_ids: ARRAY<STRING>, request_trace_ids: ARRAY<STRING>, resource_ids: ARRAY<STRING>, resource_tags: ARRAY<STRING>, serial_numbers: ARRAY<STRING>, usernames: ARRAY<STRING>>

lw_meta

STRUCT<datasource_id: STRING, datasource_name: STRING, connection_name: STRING, parser_name: STRING, parser_version: STRING, ingestion_time: TIMESTAMP>

Colonne

Type de données

lw_id

STRING

time

TIMESTAMP

systemAccount

STRING

activityAction

STRING

requestTime

TIMESTAMP

userAgent

STRING

taskId

STRING

deviceType

STRING

ipAddress

STRING

userActivityEntryCount

LONG

sessionId

STRING

target

STRUCT<id: STRING, descriptor: STRING, href: STRING>

taskDisplayName

STRING

lw_observables

STRUCT<account_ids: ARRAY<STRING>, actor_ids: ARRAY<STRING>, cves: ARRAY<STRING>, device_ids: ARRAY<STRING>, emails: ARRAY<STRING>, hashes: ARRAY<STRING>, hostnames: ARRAY<STRING>, ip_addresses: ARRAY<STRING>, mac_addresses: ARRAY<STRING>, mitre_attack_technique_ids: ARRAY<STRING>, request_trace_ids: ARRAY<STRING>, resource_ids: ARRAY<STRING>, resource_tags: ARRAY<STRING>, serial_numbers: ARRAY<STRING>, usernames: ARRAY<STRING>>

lw_meta

STRUCT<datasource_id: STRING, datasource_name: STRING, connection_name: STRING, parser_name: STRING, parser_version: STRING, ingestion_time: TIMESTAMP>

Observables d’analyseur​

L'analyseur workday_activity écrit target comme VARIANT et extrait les champs suivants dans lw_observables.

Observables

Champ

Observable

systemAccount

email

ipAddress

ip

target.href

url

Champ

Observable

systemAccount

email

ipAddress

ip

target.href

url