Fédération de catalogues Workday Data Connect

Important

Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur d’espace de travail doit activer Workday Data Connect Connector depuis la page des aperçus . Consultez Gérer les préversions d’Azure Databricks.

Utilisez la fédération du catalogue Workday Data Connect pour lire directement les tables Workday Data Connect depuis le stockage cloud et les ajouter au catalogue Unity en tant que tables étrangères. Les requêtes s’exécutent entièrement sur Azure Databricks et calculent, afin que les équipes de données puissent découvrir, gouverner et interroger ces tables depuis Azure Databricks sans construire de pipelines ETL. L’accès aux données est en lecture seule.

Azure Databricks s’authentifie au catalogue Workday Data Connect en tant qu’utilisateur Workday Integration System (ISU) que vous enregistrez comme principal, en utilisant OAuth avec une clé privée.

Workday appelle ce produit Workday lac de données. La documentation des partenaires, y compris cette page, l’appelle Workday Data Connect.

Pour en savoir plus sur la fédération par catalogue, consultez Qu’est-ce que la fédération par catalogue ?.

Note

Ce connecteur n'intègre ni ne copie les données dans Azure Databricks, et il n'est pas lié aux connecteurs d'ingestion Lakeflow Connect pour Workday. Pour intégrer les données Workday dans Azure Databricks à la place, voir le connecteur Workday Reports ou le connecteur Workday HCM.

Requirements

Examinez les exigences suivantes avant de configurer la fédération du catalogue Workday Data Connect.

Conditions requises pour l’espace de travail :

Voici les exigences de calcul à respecter :

  • Azure Databricks compute doit utiliser Databricks Runtime 19 ou supérieur et le mode d’accès standard. Le mode d’accès dédié n’est pas pris en charge.

Configuration réseau requise :

  • Connectivité réseau depuis Azure Databricks vers votre point de terminaison du catalogue Workday Data Connect à https://<workday-host>/api/catalog. Vous n'avez pas besoin de lister les adresses IP d'Azure Databricks dans Workday.

Autorisations requises :

  • Pour créer une connexion, vous devez être un administrateur de metastore ou un utilisateur disposant du privilège CREATE CONNECTION sur le metastore Unity Catalog attaché à l’espace de travail.
  • Pour créer un catalogue étranger, vous devez disposer de l’autorisation CREATE CATALOG sur le metastore et être le propriétaire de la connexion ou disposer du privilège CREATE FOREIGN CATALOG sur la connexion.

Exigences pour la journée de travail :

  • Workday Data Connect activé pour votre locataire Workday, avec les tables que vous souhaitez interroger partagées via son catalogue Iceberg REST. Voir Commencer avec Workday lac de données.
  • Un utilisateur du système d’intégration Workday (ISU) enregistré comme principal sur le catalogue Workday Data Connect, rôle principal pour cette ISU qui accorde l’accès en lecture aux tables partagées, et paire de clés RSA pour ce principal. Pour enregistrer le client API, voir Enregistrer le client API pour lac de données (JWT Bearer Grant).

Étape 1 : Créer un lien

Une connexion spécifie le point de terminaison et les identifiants qu’Azure Databricks utilise pour communiquer avec le catalogue Workday Data Connect.

Pour créer une connexion, utilisez l’Explorateur de catalogue ou la CREATE CONNECTION commande SQL :

Explorateur de catalogues

Pour créer la connexion :

  1. Dans votre espace de travail Azure Databricks, cliquez sur l’icône Données.Catalogue.
  2. En haut du volet Catalogue , cliquez sur l’icône Ajouter ou plus plus, puis sélectionnez Créer une connexion dans le menu.
  3. Sur la page Bases de la Connexion , saisissez un nom de la Connexion.
  4. Sélectionnez un type de connexion de Workday Data Connect.
  5. Cliquez sur Suivant.
  6. Sur la page des détails de la connexion , saisissez les valeurs suivantes :
    • Hôte : Le nom d’hôte de votre point de terminaison Workday Data Connect, par exemple mycompany.myworkday.com.
    • Tenant : votre tenant Workday.
    • ID du client : ID client du client API Workday.
    • Clé privée : Une clé privée RSA au format PEM.
    • Nom principal : le nom de l’ISU que vous avez enregistré comme principal du catalogue.
    • Rôle principal : le rôle principal dans Workday qui définit le périmètre de l’accès en lecture aux tables partagées. La valeur par défaut est ALL. Pour restreindre l’accès, définissez un rôle spécifique, par exemple all-reads-role.

SQL

Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :

CREATE CONNECTION <connection-name> TYPE WORKDAY_DATA_CONNECT
OPTIONS (
  host '<workday-host>',
  tenant '<workday-tenant>',
  client_id '<client-id>',
  private_key secret('<secret-scope>','<secret-key>'),
  principal_name '<isu-name>',
  principal_role '<principal-role>'
);
  • host: Le nom d’hôte de votre point de terminaison Workday Data Connect, par exemple mycompany.myworkday.com.
  • tenant: Votre tenant Workday.
  • client_id: ID client du client API Workday.
  • private_key: Une clé privée RSA au format PEM. Databricks recommande de le stocker comme secret.
  • principal_name:  le nom de l’ISU que vous avez enregistré comme principal du catalogue.
  • principal_role: Le rôle principal dans Workday qui définit le périmètre de l’accès en lecture aux tables partagées. La valeur par défaut est ALL. Pour restreindre l’accès, définissez un rôle spécifique, par exemple all-reads-role.

Databricks recommande d’utiliser des secrets plutôt que des chaînes de texte clair pour des valeurs sensibles comme la clé privée. Pour des informations sur la création de secrets, voir Gestion des secrets.

Étape 2 : Créer un catalogue étranger

Un catalogue étranger reflète le catalogue Workday Data Connect dans le catalogue Unity afin que vous puissiez utiliser Unity Catalog pour gérer l’accès aux tables Workday et les interroger depuis le calcul Azure Databricks.

Pour créer un catalogue étranger, vous pouvez utiliser l’Explorateur de catalogue, la CREATE FOREIGN CATALOG commande SQL dans un carnet ou l’éditeur de requêtes SQL de Databricks.

Explorateur de catalogues

  1. Dans votre espace de travail Azure Databricks, cliquez sur l’icône Données.Catalogue.
  2. En haut du volet Catalogue , cliquez sur l’icône Ajouter ou plus plus, puis sélectionnez Créer un catalogue dans le menu.
  3. Dans la boîte de dialogue Créer un nouveau catalogue , saisissez un nom pour le catalogue.
  4. Sélectionnez un type d'étranger.
  5. Sélectionnez la connexion que vous avez créée à l’étape 1.
  6. Pour la localisation du stockage, entrez le chemin de stockage cloud où Azure Databricks stocke les métadonnées des tables fédérées.
  7. Cliquez sur Créer.

SQL

Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks. Les éléments entre crochets sont optionnels.

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name>
USING CONNECTION <connection-name>
OPTIONS (storage_root '<storage-root-path>');
  • storage_root:Obligatoire. Un chemin de localisation externe où Azure Databricks peut écrire. Azure Databricks utilise cet emplacement pour stocker les métadonnées des tables fédérées. Les données de la table Workday ne sont pas copiées à cet endroit.

Le catalogue étranger reflète toujours l’ensemble du catalogue Workday Data Connect auquel vos identifiants donnent accès. Pour limiter les éléments visibles, définissez un principal_role qui accorde un accès en lecture uniquement aux tables souhaitées lors de la création de la connexion.

Étape 3 : Accorder les autorisations et interroger le catalogue

Après avoir créé le catalogue étranger, les utilisateurs doivent obtenir les autorisations appropriées du catalogue Unity pour accéder aux tables fédérées :

  • Tous les utilisateurs ont besoin des autorisations USE CATALOG sur le catalogue et USE SCHEMA sur le schéma respectivement.
  • Pour lire à partir d’une table fédérée, les utilisateurs ont besoin de cette SELECT autorisation.

Pour plus d’informations sur les privilèges du catalogue Unity et sur la façon de les accorder, consultez Gérer les privilèges dans le catalogue Unity.

Par exemple, exécutez les commandes suivantes dans un notebook ou dans l’éditeur de requêtes SQL de Databricks :

GRANT USE CATALOG ON CATALOG <catalog-name> TO `<principal>`;
GRANT USE SCHEMA ON SCHEMA <catalog-name>.<schema-name> TO `<principal>`;
GRANT SELECT ON TABLE <catalog-name>.<schema-name>.<table-name> TO `<principal>`;

Les utilisateurs disposant de ces permissions peuvent alors interroger les tables fédérées en utilisant la notation des espaces de noms à trois niveaux :

SELECT * FROM <catalog-name>.<schema-name>.<table-name>;

Mappage d’espace de noms

Unity Catalog reflète la hiérarchie d’objets Workday Data Connect comme suit :

Objet Workday Data Connect Objet Unity Catalog
Catalogue Catalogue étranger
Namespace Schéma
Table Table étrangère

Workday Data Connect expose des noms plats à trois niveaux qui correspondent exactement à la hiérarchie Unity Catalog catalog.schema.table. Il n’y a pas d’imbrication supplémentaire dans l’espace de noms.

Limitations

La fédération du catalogue Workday Data Connect présente les limitations suivantes :

  • Le connecteur ne peut accéder qu’aux tables Iceberg partagées via le catalogue Workday Data Connect.
  • Les noms de schéma et de table suivent les conventions de dénomination standard d’Unity Catalog. Azure Databricks ne prend pas en charge les noms contenant un point (.), un espace ( ), ou une barre oblique (/). Consultez les exigences de nommage des objets sécurisables.