Aller au contenu principal

Gérer les fournisseurs OpenSharing pour les destinataires de données

Cette page décrit comment utiliser Unity Catalog pour obtenir des informations sur les fournisseurs de données qui partagent des données avec vous à l’aide d’OpenSharing. Il décrit également ce qu’est un objet fournisseur et quand vous pourriez avoir besoin de créer un objet fournisseur dans votre metastore Unity Catalog, une tâche que la plupart des destinataires ne devraient jamais avoir à effectuer.

important

Les destinataires de données doivent avoir accès à un workspace Databricks activé pour Unity Catalog afin d'utiliser les fonctionnalités décrites. Cette page ne s'applique pas aux destinataires qui n'ont pas de Workspace avec Unity Catalog activé.

Les destinataires doivent-ils créer des objets de fournisseur ?

Dans OpenSharing sur Databricks, le terme « fournisseur » peut désigner à la fois l'organisation qui partage des données avec vous et un objet sécurisable dans le métastore Unity Catalog d'un destinataire qui représente cette organisation. L'existence de cet objet sécurisable dans un métastore Unity Catalog d'un destinataire permet à celui-ci de gérer l'accès de son équipe aux données partagées à l'aide de Unity Catalog.

En tant que destinataire ayant accès à un métastore Unity Catalog, vous n'avez généralement pas besoin de créer d'objets de fournisseur. Ceci est dû au fait que les données devraient être partagées avec vous en utilisant le partage Databricks-to-Databricks, et les objets de fournisseur sont créés automatiquement dans votre métastore Unity Catalog.

remarque

Si vous recevez des données d’un fournisseur qui ne les partage pas depuis un workspace Databricks activé pour Unity Catalog, vous pouvez utiliser l’Explorateur de catalogues pour importer le fichier d’identifiants du fournisseur. Consultez Importer un fournisseur et lire les données partagées dans Databricks.

Avant de commencer

Pour gérer les fournisseurs dans votre workspace Databricks :

  • Votre workspace doit être activé pour Unity Catalog.
  • Pour afficher un fournisseur, vous devez être administrateur du métastore, ou un administrateur du métastore doit vous accorder le privilège USE PROVIDER.
  • Pour créer un fournisseur, vous devez être administrateur de métastore, ou un administrateur de métastore doit vous accorder le privilège CREATE PROVIDER.
  • Pour mettre à jour un fournisseur, vous devez être le propriétaire de l'objet fournisseur et disposer du privilège CREATE PROVIDER. Pour plus de détails, consultez Mettre à jour un fournisseur (renommer, changer de propriétaire, commenter).

Pour cette raison, si votre workspace a été créé sans administrateur de métastore, un administrateur de compte Databricks doit accorder le rôle d’administrateur de métastore à un utilisateur ou à un groupe avant de pouvoir travailler avec les objets du fournisseur dans Databricks. Consultez Prise en main d’Unity Catalog et Administrateurs du métastore.

Afficher les fournisseurs

Pour afficher la liste des fournisseurs de données disponibles, vous pouvez utiliser l’Explorateur de catalogues, le CLI de Databricks Unity Catalog ou la commande SHOW PROVIDERS SQL dans un notebook Databricks ou l’éditeur de query Databricks SQL.

**Autorisations requises** : Vous devez disposer du USE PROVIDER privilège pour afficher tous les fournisseurs dans le métastore. Les autres utilisateurs ont accès uniquement aux fournisseurs qu'ils possèdent.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d'engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Partagé avec moi , affichez toutes les données partagées avec votre organisation. Pour chaque partage, les détails suivants sont fournis :

    • Nom : Le nom de l’organisation, tel que spécifié par le fournisseur.
    • Type d’authentification : La méthode de partage utilisée par le fournisseur.
    • Propriétaire : le nom ou l'adresse e-mail du fournisseur.
    • Date de création : la date et l'heure de création du partage.
    • Description : description du partage.

Afficher les détails du fournisseur

Pour afficher les détails d'un fournisseur, vous pouvez utiliser l'Explorateur de catalogues, l'interface de ligne de commande (CLI) Databricks Unity Catalog ou la commande SQL DESCRIBE PROVIDER dans un Notebook Databricks ou l'éditeur de requêtes Databricks SQL.

Autorisations requises : Administrateur de métastore, utilisateur avec le privilège USE PROVIDER, ou le propriétaire de l'objet fournisseur.

Les détails incluent :

  • Partages partagés par le fournisseur (voir Afficher les partages qu'un fournisseur a partagés avec vous).
  • Le créateur du fournisseur, le Timestamp de création, les commentaires et le type d'authentification (TOKEN ou DATABRICKS). TOKEN représente les fournisseurs qui ont partagé des données avec vous à l’aide du protocole de partage Databricks-to-Open. DATABRICKS représente les fournisseurs qui ont partagé des données avec vous à l’aide du protocole de partage Databricks-to-Databricks.
  • Si le fournisseur utilise le partage Databricks-to-Databricks : le cloud, la région et l'ID du métastore Unity Catalog du fournisseur.
  • Si le fournisseur utilise Databricks-to-OpenSharing : votre endpoint de profil de destinataire, qui est l'endroit où le serveur de partage OpenSharing est hébergé.
  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d'engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

Afficher les partages qu'un fournisseur a partagés avec vous

Pour afficher les partages qu'un fournisseur a partagés avec vous, vous pouvez utiliser l'Explorateur de catalogues, le CLI Databricks Unity Catalog, ou la commande SQL SHOW SHARES IN PROVIDER dans un Notebook Databricks ou l'éditeur de query Databricks SQL.

Autorisations requises : Administrateur de métastore, utilisateur avec le privilège USE PROVIDER, ou le propriétaire de l'objet fournisseur.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d'engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

Mettre à jour un fournisseur (renommer, changer de propriétaire, commenter)

Vous pouvez utiliser Catalog Explorer, le CLI Databricks Unity Catalog, ou la commande SQL ALTER PROVIDER dans un Notebook Databricks ou l'éditeur de query Databricks SQL pour modifier l'objet de fournisseur dans votre metastore Unity Catalog :

  • Renommer le fournisseur pour modifier la façon dont les utilisateurs voient l'objet fournisseur dans leurs interfaces Databricks.
  • Changer le propriétaire de l'objet fournisseur.
  • Ajouter ou modifier des commentaires.

Autorisations requises : Vous devez être le propriétaire de l'objet fournisseur pour mettre à jour le propriétaire. Vous devez être un administrateur du métastore (ou un utilisateur avec le privilège CREATE PROVIDER) et propriétaire du fournisseur pour mettre à jour le nom du fournisseur. Vous devez être le propriétaire pour mettre à jour le commentaire. Le propriétaire initial est l'administrateur du métastore.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d'engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

  4. Sur la page des détails, mettez à jour le propriétaire, le commentaire ou le nom du fournisseur.

    Pour renommer un fournisseur, cliquez sur le menu kebab Icône du menu kebab. et sélectionnez Renommer .

Faire pivoter les identifiants pour les destinataires ouverts

Cette section s'applique aux objets fournisseur avec le type d'authentification TOKEN, OAUTH_CLIENT_CREDENTIALS ou OIDC_FEDERATION. Les fournisseurs Databricks-to-Databricks (type d'authentification DATABRICKS) pivotent automatiquement. Si vous accédez aux données sans objet fournisseur, par exemple, en utilisant le connecteur delta-sharing Python ou Spark, appliquez le nouveau fichier d'informations d'identification dans la configuration de votre connecteur. Voir Lire les données partagées avec des jetons d'authentification.

Un fournisseur utilisant le protocole de partage Databricks-to-Open peut renouveler votre jeton d'accès et vous envoyer un nouveau fichier d'identifiants. Lorsque cela se produit, utilisez l'API REST Databricks pour mettre à jour l'objet fournisseur. Ne supprimez pas et ne recréez pas le fournisseur pour appliquer un nouvel identifiant. Les catalogues sont liés à l'ID interne du fournisseur, pas à son nom. Recréer un fournisseur avec le même nom rompt la connexion du catalogue aux données partagées.

ALTER PROVIDER, l'interface CLI Databricks et Catalog Explorer ne prennent pas en charge la mise à jour des identifiants du fournisseur.

Mettez à jour l'identifiant

Envoyez une requête PATCH à l'Endpoint du fournisseur avec le contenu du nouveau fichier d'identifiants dans le champ recipient_profile_str.

**Autorisations requises** : Propriétaire de l'objet du fournisseur ou administrateur du metastore.

Exécutez ce qui suit depuis un Notebook sur le Workspace du destinataire. Remplacez <provider-name> par le nom de l'objet fournisseur dans votre metastore, et mettez à jour new_profile avec les valeurs du nouveau fichier d'informations d'identification.

Python
import json
import requests

new_profile = {
"shareCredentialsVersion": 1,
"bearerToken": "<new-bearer-token>",
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>",
}

token = (
dbutils.notebook.entry_point.getDbutils()
.notebook()
.getContext()
.apiToken()
.get()
)
workspace_url = spark.conf.get("spark.databricks.workspaceUrl")

response = requests.patch(
f"https://{workspace_url}/api/2.1/unity-catalog/providers/<provider-name>",
headers={
&quot;Authorization&quot;: f&quot;Bearer {token}&quot;,
&quot;Content-Type&quot;: &quot;application/json&quot;,
},
json={&quot;recipient_profile_str&quot;: json.dumps(new_profile)},
)

print(response.status_code)
print(response.json())

Une rotation réussie renvoie la réponse suivante avec les métadonnées mises à jour du fournisseur.

JSON
{
"name": "<provider-name>",
"authentication_type": "TOKEN",
"owner": "user@example.com",
"recipient_profile": {
"share_credentials_version": 1,
"endpoint": "https://<provider-workspace>.cloud.databricks.com/api/2.0/delta-sharing/metastores/<metastore-id>"
},
"updated_at": 1775804332820,
"updated_by": "user@example.com",
"id": "abcd2a5b-c18e-46eb-ae11-3056cfe99bef"
}

Pour plus de détails, consultez l'API REST de mise à jour d'un fournisseur.

Vérifier la rotation

Confirmez que le catalogue, les schémas et les tables sont toujours accessibles. Le nom du catalogue doit être le même qu'avant la rotation.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d&#39;engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Partagé avec moi , trouvez votre fournisseur.

Les bannières d'erreur précédentes devraient avoir disparu et les partages devraient être à nouveau listés. Le catalogue listé devrait être le même qu'auparavant.

Dépannage

Erreur

Corriger

La requête renvoie 403 Forbidden

Vous devez être le propriétaire du fournisseur ou un administrateur de metastore pour faire pivoter les informations d'identification. Demandez à un administrateur de metastore d'appliquer la rotation ou de transférer la propriété. Voir Mettre à jour un fournisseur (renommer, changer le propriétaire, commenter).

La requête renvoie 404 Not Found

Le nom du fournisseur est incorrect. Exécutez SHOW PROVIDERS pour répertorier les noms exacts dans votre metastore.

La requête renvoie 400 Bad Request avec le message « le profil du destinataire ne peut pas être mis à jour ».

L'API met à jour les informations d'identification uniquement pour les fournisseurs TOKEN, OAUTH_CLIENT_CREDENTIALS et OIDC_FEDERATION. Pour le partage Databricks-to-Databricks, les informations d'identification pivotent automatiquement.

Les query renvoient TABLE_OR_VIEW_NOT_FOUND

Le nom du catalogue pourrait être incorrect ou la liaison entre le catalogue et le fournisseur pourrait être interrompue. Exécutez SHOW CATALOGS et SHOW SCHEMAS IN <catalog-name> pour confirmer que le catalogue existe.

L'Explorateur de catalogues affiche des données périmées ou des erreurs après une PATCH réussie.

Vous consultez des résultats mis en cache d'avant la rotation. refresh la page ou attendez quelques minutes.

Erreur

Corriger

La requête renvoie 403 Forbidden

Vous devez être le propriétaire du fournisseur ou un administrateur de metastore pour faire pivoter les informations d'identification. Demandez à un administrateur de metastore d'appliquer la rotation ou de transférer la propriété. Voir Mettre à jour un fournisseur (renommer, changer le propriétaire, commenter).

La requête renvoie 404 Not Found

Le nom du fournisseur est incorrect. Exécutez SHOW PROVIDERS pour répertorier les noms exacts dans votre metastore.

La requête renvoie 400 Bad Request avec le message « le profil du destinataire ne peut pas être mis à jour ».

L'API met à jour les informations d'identification uniquement pour les fournisseurs TOKEN, OAUTH_CLIENT_CREDENTIALS et OIDC_FEDERATION. Pour le partage Databricks-to-Databricks, les informations d'identification pivotent automatiquement.

Les query renvoient TABLE_OR_VIEW_NOT_FOUND

Le nom du catalogue pourrait être incorrect ou la liaison entre le catalogue et le fournisseur pourrait être interrompue. Exécutez SHOW CATALOGS et SHOW SCHEMAS IN <catalog-name> pour confirmer que le catalogue existe.

L'Explorateur de catalogues affiche des données périmées ou des erreurs après une PATCH réussie.

Vous consultez des résultats mis en cache d'avant la rotation. refresh la page ou attendez quelques minutes.

Supprimer un fournisseur

Pour supprimer un fournisseur, vous pouvez utiliser l'Explorateur de catalogues, l'interface de ligne de commande Databricks (CLI) ou la commande DROP PROVIDER SQL dans un Notebook Databricks ou l'éditeur de query Databricks SQL. Vous devez être le propriétaire de l'objet fournisseur pour supprimer le fournisseur.

Lorsque vous supprimez un fournisseur, vous et les utilisateurs de votre organisation (le destinataire) ne pouvez plus accéder aux données partagées par le fournisseur.

Autorisations requises : Propriétaire de l’objet fournisseur.

  1. Dans votre workspace Databricks, cliquez sur Icône de données. Catalogue .

  2. En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage Icône d&#39;engrenage. et sélectionnez OpenSharing .

    Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.

  3. Dans l'onglet Shared with me tab, trouvez et sélectionnez le fournisseur.

  4. Cliquez sur le menu kebab Icône du menu kebab. et sélectionnez Supprimer .

  5. Dans la boîte de dialogue de confirmation, cliquez sur Supprimer .