Créer et gérer des destinataires de données pour Delta Sharing
Cet article explique comment créer et gérer des destinataires pour Delta Sharing.
Un destinataire est l’objet nommé qui représente l’identité d’un utilisateur ou d’un groupe d’utilisateurs dans le monde réel qui consomment des données partagées. La façon dont vous créez des destinataires varie selon que votre destinataire a accès ou non à un espace de travail Databricks activé pour Unity Catalog :
- Pour les destinataires ayant accès à un espace de travail Databricks activé pour Unity Catalog, vous pouvez créer un objet destinataire avec une connexion sécurisée entièrement gérée par Databricks. Ce mode de partage est appelé partage Databricks à Databricks.
- Pour les destinataires qui n’ont pas accès à un espace de travail Databricks activé pour Unity Catalog, vous devez utiliser le partage ouvert, avec une connexion sécurisée que vous gérez à l’aide de l’authentification basée sur les jetons.
Pour plus d’informations sur ces deux modes de partage et sur le moment où il faut choisir celui qui convient le mieux, consultez Partage ouvert et partage Databricks à Databricks.
Spécifications
Pour créer un destinataire :
- Vous devez être administrateur de metastore ou disposer du privilège
CREATE_RECIPIENT
sur le metastore Unity Catalog où sont inscrites les données à partager. - Vous devez créer le destinataire à l’aide d’un espace de travail Azure Databricks auquel est attaché le metastore Unity Catalog.
- Si vous utilisez un notebook Databricks pour créer le destinataire, votre cluster doit exécuter la version 11.3 LTS (ou une version ultérieure) de Databricks Runtime et employer un mode d’accès au cluster partagé ou mono-utilisateur.
Pour d’autres opérations de gestion des destinataires (telles que l’affichage, la suppression, la mise à jour et l’octroi de l’accès du destinataire à un partage), consultez les exigences d’autorisations répertoriées dans les sections spécifiques à l’opération de cet article.
Créer un objet destinataire pour les utilisateurs qui ont accès à Databricks (partage Databricks à Databricks)
Si votre destinataire de données a accès à un espace de travail Databricks activé pour Unity Catalog, vous pouvez créer un objet destinataire avec un type d’authentification de DATABRICKS
.
Un objet destinataire avec le type d’authentification de DATABRICKS
représente un destinataire de données sur un metastore Unity Catalog particulier, identifié dans la définition de l’objet destinataire par une chaîne d’identificateur de partage composée du cloud, de la région et de l’UUID du metastore. Les données partagées avec ce destinataire ne sont accessibles que sur ce metastore.
Étape 1 : demander l’identificateur de partage du destinataire
Demandez à un utilisateur destinataire de vous envoyer l’identificateur de partage pour le metastore Unity Catalog attaché aux espaces de travail où l’utilisateur destinataire ou le groupe d’utilisateurs travaillera avec les données partagées.
L’identificateur de partage est une chaîne composée du cloud, de la région et de l’UUID (identificateur unique du metastore), au format <cloud>:<region>:<uuid>
.
Par exemple, dans la capture d’écran suivante, la chaîne d’identificateur de partage complète est aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.
Le destinataire peut trouver l'identificateur à l'aide de Catalog Explorer, de l'interface CLI Databricks Unity Catalog ou de la fonction CURRENT_METASTORE
SQL par défaut dans un notebook Databricks ou une requête SQL Databricks qui s'exécute sur un cluster compatible Unity Catalog dans l'espace de travail qu'il a l'intention d'utiliser.
Explorateur de catalogues
Pour obtenir l'identifiant de partage à l'aide de Catalog Explorer :
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagés avec moi, cliquez sur le nom de l’organisation de votre partage Databricks en haut à droite, puis sélectionnez Copier l’identificateur de partage.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
SELECT CURRENT_METASTORE();
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks. L’identificateur de partage est retourné en tant que global_metastore_id
.
databricks metastores summary
Vous pouvez aider le destinataire en envoyant à votre contact les informations contenues dans cette étape, ou vous pouvez le rediriger vers Obtenir l’accès dans le modèle Databricks à Databricks.
Étape 2 : créer le destinataire
Pour créer un destinataire pour le partage Databricks à Databricks, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL CREATE RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : administrateur ou utilisateur de metastore avec le privilège CREATE_RECIPIENT
sur le metastore Unity Catalog où sont inscrites les données à partager.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Nouveau destinataire.
Entrez le Nom du destinataire et l’Identificateur de partage.
Utilisez la chaîne d’identificateur de partage entière au format
<cloud>:<region>:<uuid>
. Par exemple :aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.(Facultatif) Entrez un commentaire.
Cliquez sur Créer.
(Facultatif) Créez des propriétés de destinataire personnalisées.
Cliquez sur Modifier les propriétés > +Ajouter une propriété. Ajoutez ensuite un nom de propriété (Clé) et une Valeur. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks :
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];
Utilisez la chaîne d’identificateur de partage entière au format <cloud>:<region>:<uuid>
. Par exemple : aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.
Vous pouvez également ajouter des propriétés personnalisées pour le destinataire. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks. Remplacez les valeurs d’espace réservé :
<recipient-name>
: nom du destinataire.<sharing-identifier>
: utilisez la chaîne d’identificateur de partage entière au format<cloud>:<region>:<uuid>
. Par exemple :aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.<authentication-type>
: défini surDATABRICKS
lorsqu’une chaîne d’identificateur de partage au format<cloud>:<region>:<uuid>
est fournie pour<sharing-identifier>
.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
Vous pouvez également ajouter des propriétés personnalisées pour le destinataire. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
Le destinataire est créé avec le authentication_type
de DATABRICKS
.
Créer un objet destinataire pour tous les autres utilisateurs (partage ouvert)
Si vous souhaitez partager des données avec des utilisateurs en dehors de votre espace de travail Azure Databricks, qu’ils utilisent ou non Databricks, vous pouvez utiliser le partage Delta ouvert pour partager vos données en toute sécurité. Fonctionnement :
- En tant que fournisseur de données, vous créez l’objet destinataire dans votre metastore Unity Catalog.
- Lorsque vous créez l’objet destinataire, Azure Databricks génère un jeton, un fichier d’informations d’identification qui inclut le jeton et un lien d’activation que vous pouvez partager avec le destinataire. L’objet destinataire a le type d’authentification de
TOKEN
. - Le destinataire accède au lien d’activation, télécharge le fichier d’informations d’identification et utilise le fichier d’informations d’identification pour s’authentifier et obtenir un accès en lecture aux tableaux que vous incluez dans les partages auquel vous lui donnez accès.
Étape 1 : créer le destinataire
Pour créer un destinataire pour le partage ouvert, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL CREATE RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : administrateur ou utilisateur de metastore avec le privilège CREATE_RECIPIENT
sur le metastore Unity Catalog où sont inscrites les données à partager.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Nouveau destinataire.
Entrez le nom du destinataire
(Facultatif) Entrez un commentaire.
Cliquez sur Créer.
Vous n’utilisez pas l’identificateur de partage pour les destinataires de partage ouvert.
Copiez le lien d’activation.
Vous pouvez aussi obtenir le lien d’activation ultérieurement. Voir Étape 2 : obtenir le lien d'activation.
(Facultatif) Créez des propriétés de destinataire personnalisées.
Sous l’onglet Détails du destinataire, cliquez sur Modifier les propriétés > +Ajouter une propriété. Ajoutez ensuite un nom de propriété (Clé) et une Valeur. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête Databricks SQL :
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];
Vous pouvez également ajouter des propriétés personnalisées pour le destinataire. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks.
databricks recipients create <recipient-name>
Vous pouvez également ajouter des propriétés personnalisées pour le destinataire. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
La sortie inclut le activation_url
que vous partagez avec le destinataire.
Le destinataire est créé avec le authentication_type
de TOKEN
.
Notes
Lorsque vous créez le destinataire, vous avez la possibilité de limiter l’accès du destinataire à un ensemble restreint d’adresses IP. Vous pouvez également ajouter une liste d’accès IP à un destinataire existant. Voir Restreindre l’accès des destinataires Delta Sharing à l’aide de listes d’accès IP (partage ouvert).
Étape 2 : obtenir le lien d'activation
Pour obtenir le lien d'activation du nouveau destinataire, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL DESCRIBE RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Si le destinataire a déjà téléchargé le fichier d’informations d’identification, le lien d’activation n’est ni retourné ni affiché.
Autorisations requises : administrateur de metastore, utilisateur disposant du privilège USE RECIPIENT
ou propriétaire de l’objet destinataire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
Dans la page des détails du destinataire, copiez le lien Activation.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
DESCRIBE RECIPIENT <recipient-name>;
La sortie comprend le activation_link
.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks recipients get <recipient-name>
La sortie comprend le activation_url
.
Accorder au destinataire l’accès à un partage
Une fois que vous avez créé le destinataire et créé des partages, vous pouvez accorder au destinataire l’accès à ces partages.
Pour accorder aux destinataires l’accès au partage, vous pouvez utiliser Catalog Explorer, l’interface CLI Databricks Unity Catalog ou la commande SQL GRANT ON SHARE
dans un notebook Azure Databricks ou l’éditeur de requête Databricks SQL.
Autorisations requises : l’une des suivantes :
- Administrateur de metastore.
- Les permissions déléguées ou la propriété sur le partage et les objets du destinataire ((
USE SHARE
+SET SHARE PERMISSION
) ou propriétaire du partage) ET (USE RECIPIENT
ou propriétaire du destinataire).
Pour obtenir des instructions, consultez Gérer l’accès aux partages de données Delta Sharing (pour les fournisseurs).
Envoyer au destinataire ses informations de connexion
Vous devez indiquer au destinataire comment accéder aux données que vous partagez avec lui. Les informations que vous partagez avec le destinataire varient selon que vous utilisez le partage Databricks à Databricks ou le partage ouvert :
Pour le partage Databricks à Databricks, vous envoyez un lien vers des instructions pour accéder aux données que vous partagez.
Un objet fournisseur qui répertorie les partages disponibles est automatiquement créé dans le metastore du destinataire. Les destinataires ont uniquement besoin d’afficher et de sélectionner les partages qu’ils souhaitent utiliser. Consultez Lire les données partagées à l’aide du partage Delta Databricks-to-Databricks (pour les destinataires).
Pour le partage ouvert, vous utilisez un canal sécurisé pour partager le lien d’activation et un lien vers des instructions d’utilisation.
Vous ne pouvez télécharger le fichier d’informations d’identification qu’une seule fois. Les destinataires doivent traiter les informations d’identification téléchargées comme un secret, et ne doivent pas les partager en dehors de leur organisation. Si vous avez des inquiétudes quant à une gestion non sécurisée des informations d’identification, vous pouvez faire pivoter les informations d’identification d’un destinataire à tout moment. Pour plus d’informations sur la gestion des informations d’identification afin de garantir un accès sécurisé aux destinataires, consultez Considérations relatives à la sécurité pour les jetons.
Voir les destinataires
Pour voir une liste des destinataires, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL SHOW RECIPIENTS
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : vous devez être administrateur de metastore ou avoir le privilège USE RECIPIENT
d’afficher tous les destinataires dans le metastore. Les autres utilisateurs ont accès uniquement aux destinataires qu’ils possèdent.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks. Si vous le souhaitez, remplacez <pattern>
par un prédicat LIKE
.
SHOW RECIPIENTS [LIKE <pattern>];
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks recipients list
Voir les détails du destinataire
Pour voir les détails d'un destinataire, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL DESCRIBE RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : administrateur de metastore, utilisateur disposant du privilège USE RECIPIENT
ou propriétaire de l’objet destinataire.
Les détails sont les suivants :
- Le créateur, l’horodatage de création, les commentaires et le type d’authentification du destinataire (
TOKEN
ouDATABRICKS
). - Si le destinataire utilise le partage ouvert : la durée de vie du jeton, le lien d’activation, l’état d’activation (si les informations d’identification ont été téléchargées) et les listes d’accès IP, le cas échéant.
- Si le destinataire utilise le partage Databricks à Databricks : l’ID de cloud, de région et de metastore du metastore Unity Catalog du destinataire, ainsi que l’état d’activation.
- Propriétés du destinataire, y compris les propriétés personnalisées. Consultez Gérer les propriétés du destinataire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
DESCRIBE RECIPIENT <recipient-name>;
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks.
databricks recipients get <recipient-name>
Voir les autorisations de partage d’un destinataire
Pour afficher la liste des partages auxquels un destinataire a obtenu l'accès, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks ou la commande SQL SHOW GRANTS TO RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : administrateur de metastore, utilisateur disposant du privilège USE RECIPIENT
ou propriétaire de l’objet destinataire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
Accédez à l’onglet Partages pour voir la liste des partages partagée avec le destinataire.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
SHOW GRANTS TO RECIPIENT <recipient-name>;
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks.
databricks recipients share-permissions <recipient-name>
Mettre à jour un destinataire
Pour mettre à jour un destinataire, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou la commande SQL ALTER RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Les propriétés que vous pouvez mettre à jour incluent le nom du destinataire, le propriétaire, le commentaire et les propriétés personnalisées.
Autorisations requises : vous devez être un administrateur du metastore ou le propriétaire de l’objet du destinataire pour mettre à jour le propriétaire. Vous devez être un administrateur du metastore (ou utilisateur disposant du privilège CREATE_RECIPIENT
) et le propriétaire pour mettre à jour le nom. Vous devez être le propriétaire pour mettre à jour le commentaire ou les propriétés personnalisées.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
Dans la page des détails du destinataire :
Mettre à jour le propriétaire.
Modifier ou ajouter un commentaire.
Renommez le destinataire.
Cliquez sur le menu kebab , puis sélectionnez Renommer.
Modifier, supprimer ou ajouter des propriétés de destinataire personnalisées.
Cliquez sur Modifier les propriétés. Pour ajouter une propriété, cliquez sur +Ajouter une propriété et entrez un nom de propriété (Clé) et une Valeur. Pour plus d’informations, consultez Gérer les propriétés du destinataire.
SQL
Exécutez une ou plusieurs des commandes suivantes dans un notebook ou dans l’éditeur de requête SQL Databricks.
ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;
ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;
COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key> = property_value [, ...] )
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )
Pour plus d’informations sur les propriétés, consultez Gérer les propriétés du destinataire.
INTERFACE DE LIGNE DE COMMANDE
Créez un fichier JSON qui inclut une mise à jour du nom du destinataire, du commentaire, du propriétaire, de la liste d’accès IP ou des propriétés personnalisées.
{
"name": "new-recipient-name",
"owner": "someone-else@example.com",
"comment": "something new",
"ip_access_list": {
"allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
},
"property": {
"country": "us",
"id": "001"
}
}
Ensuite, exécutez la commande suivante à partir de l’interface CLI Databricks. Remplacez <recipient-name>
par le nom du destinataire actuel et remplacez update-recipient-settings.json
par le nom du fichier du fichier JSON.
databricks recipients update --json-file update-recipient-settings.json
Pour plus d’informations sur les propriétés, consultez Gérer les propriétés du destinataire.
Gérer les jetons de destinataire (partage ouvert)
Si vous partagez des données avec un destinataire à l’aide du partage ouvert, vous devrez peut-être faire pivoter le jeton de ce destinataire. La rotation d’un jeton consiste à définir un jeton existant pour expirer et à le remplacer par un nouveau jeton et une URL d’activation.
Vous devez permuter un jeton d’un destinataire et générer un nouveau lien d’activation dans les circonstances suivantes :
- Lorsque le jeton de destinataire existant est sur le point d’expirer.
- Si un destinataire perd son URL d’activation ou si elle est compromise.
- Si les informations d’identification sont endommagées, perdues ou compromises après leur téléchargement par un destinataire.
- Lorsque vous modifiez la durée de vie du jeton de destinataire pour un metastore. Consultez Modifier la durée de vie du jeton de destinataire.
Considérations relatives à la sécurité pour les jetons
À tout moment, un destinataire ne peut avoir au plus que deux jetons : un jeton actif et un jeton permuté. Le jeton pivoté est un jeton qui a été défini pour expirer et être remplacé par le jeton actif. Jusqu’à l’expiration du jeton permuté, toute tentative de permutation du jeton entraîne une erreur.
Lorsque vous permutez le token d’un destinataire, vous pouvez éventuellement définir --existing-token-expire-in-seconds
sur le nombre de secondes le jeton du destinataire - c’est-à-dire, celui qui doit être pivoté - n’expire. Si vous définissez la valeur sur 0
, le jeton de destinataire existant expire immédiatement.
Databricks vous recommande de définir --existing-token-expire-in-seconds
sur un laps de temps relativement bref qui donne à l’organisation du destinataire le temps d’accéder à la nouvelle URL d’activation tout en minimisant la durée pendant laquelle le destinataire a deux jetons actifs. Si vous pensez que le jeton de destinataire existant est compromis, Databricks vous recommande de forcer l’expiration immédiate.
Si l'URL d'activation existante d'un destinataire n'a jamais été consultée, la rotation du jeton existant invalide cette URL d'activation et la remplace par une nouvelle.
Si tous les jetons de destinataire ont expiré, la permutation du jeton remplace l’URL d’activation existante par une nouvelle. Databricks vous recommande de permuter ou de supprimer rapidement un destinataire dont le jeton a expiré.
Si une URL d’activation de destinataire est envoyé par inadvertance à la mauvaise personne ou est envoyé via un canal non sécurisé, Databricks vous recommande d’effectuer les opérations suivantes :
- Révoquer l’accès du destinataire au partage.
- Permuter le destinataire et affecter la valeur
0
à--existing-token-expire-in-seconds
. - Partager la nouvelle URL d’activation avec le destinataire prévu sur un canal sécurisé.
- Une fois l’URL d’activation sollicitée, réaccordez au destinataire l’accès au partage.
Dans les situations extrêmes, au lieu de faire pivoter le jeton du destinataire, vous pouvez supprimer et recréer le destinataire.
Effectuer la rotation du jeton d’un destinataire
Pour faire pivoter le jeton d'un destinataire, vous pouvez utiliser Catalog Explorer ou l'interface CLI de Unity Catalog Databricks.
Autorisations requises : propriétaire de l’objet destinataire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
Dans le volet gauche, développez le menu Delta Sharing et sélectionnez Partagé par moi.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
Sous l’onglet Détails, en dessous de Expiration du jeton, cliquez sur Pivoter.
Dans la boîte de dialogue Rotation du jeton, définissez le jeton pour qu’il expire immédiatement ou pour une période définie. Pour obtenir des conseils sur l’expiration des jetons existants, consultez Considérations relatives à la sécurité pour les jetons.
Cliquez sur Pivoter.
Sous l’onglet Détails, copiez le nouveau lien Activation et partagez-le avec le destinataire via un canal sécurisé. Voir Étape 2 : obtenir le lien d'activation.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante à l’aide de l’interface CLI Databricks. Remplacez les valeurs d’espace réservé :
<recipient-name>
: nom du destinataire.<expiration-seconds>
: nombre de secondes avant l’expiration du jeton de destinataire existant. Pendant ce laps de temps, le jeton existant continuera à fonctionner. La valeur0
indique que le jeton existant expire immédiatement. Pour obtenir des conseils sur l’expiration des jetons existants, consultez Considérations relatives à la sécurité pour les jetons.
databricks recipients rotate-token \ <recipient-name> \ <expiration-seconds>
Obtenez le nouveau lien d’activation du destinataire et partagez-le avec lui par un canal sécurisé. Voir Étape 2 : obtenir le lien d'activation.
Modifier la durée de vie du jeton de destinataire
Si vous devez modifier la durée de vie du jeton de destinataire par défaut pour votre metastore Unity Catalog, vous pouvez utiliser Catalog Explorer ou l'interface CLI de Unity Catalog Databricks.
Remarque
La durée de vie du jeton de destinataire pour les destinataires existants n’est pas automatiquement mise à jour lorsque vous modifiez la durée de vie du destinataire par défaut pour un metastore. Pour appliquer la nouvelle durée de vie de jeton à un destinataire donné, vous devez faire pivoter son jeton. Consultez Gérer les jetons de destinataire (partage ouvert).
Autorisations requises : Administrateur de compte.
Explorateur de catalogues
- Connectez-vous à la console du compte.
- Dans la barre latérale, cliquez sur Catalogue.
- Cliquez sur le nom du metastore.
- Sous Drée de vie du jeton du destinataire Delta Sharing, cliquez sur Modifier.
- Activez Set expiration.
- Entrez un nombre de secondes, de minutes, d’heures ou de jours, puis sélectionnez l’unité de mesure.
- Cliquez sur Enregistrer.
Si vous désactivez Set expiration, les jetons de destinataire n’expirent pas. Databricks vous recommande de configurer les jetons pour qu’ils expirent.
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks. Remplacez 12a345b6-7890-1cd2-3456-e789f0a12b34
par l’UUID du metastore, puis remplacez 86400
par le nombre de secondes avant l’expiration du jeton du destinataire. Si vous définissez cette valeur sur 0
, les jetons de destinataire n’expirent pas. Databricks vous recommande de configurer les jetons pour qu’ils expirent.
databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400
(Facultatif) Restreindre l’accès des destinataires à l’aide de listes d’accès
Vous pouvez limiter l’accès du destinataire à un ensemble restreint d’adresses IP lorsque vous configurez l’objet destinataire. Voir Restreindre l’accès des destinataires Delta Sharing à l’aide de listes d’accès IP (partage ouvert).
Gérer les propriétés du destinataire
Les objets destinataires incluent des propriétés prédéfinies que vous pouvez utiliser pour affiner l’accès au partage de données. Par exemple, vous pouvez les utiliser pour effectuer les opérations suivantes :
- Partager différentes partitions de table avec différents destinataires, ce qui vous permet d’utiliser les mêmes partages avec plusieurs destinataires tout en conservant les limites de données entre eux.
- Partager des vues dynamiques qui limitent l’accès des destinataires aux données de table au niveau de la ligne ou de la colonne en fonction des propriétés du destinataire.
Vous pouvez également créer des propriétés personnalisées.
Les propriétés prédéfinies commencent par databricks.
et incluent les éléments suivants :
databricks.accountId
: compte Azure Databricks auquel appartient un destinataire de données (partage de Databricks à Databricks uniquement).databricks.metastoreId
: metastore Unity Catalog auquel appartient un destinataire de données (partage de Databricks à Databricks uniquement).databricks.name
: nom du destinataire des données.
Les propriétés personnalisées qui peuvent avoir une valeur peuvent inclure, par exemple, country
. Par exemple, si vous attachez la propriété personnalisée 'country' = 'us'
à un destinataire, vous pouvez partitionner les données de table par pays et partager uniquement les lignes qui ont des données américaines avec les destinataires auxquels cette propriété est attribuée. Vous pouvez également partager une vue dynamique qui limite l’accès aux lignes ou aux colonnes en fonction des propriétés du destinataire. Pour obtenir des exemples plus détaillés, consultez Utiliser les propriétés du destinataire pour effectuer un filtrage de partition et Ajouter des vues dynamiques à un partage pour filtrer des lignes et des colonnes.
Spécifications
Les propriétés de destinataire sont prises en charge dans Databricks Runtime 12.2 et versions ultérieures.
Ajouter des propriétés lorsque vous créez ou mettez à jour un destinataire
Vous pouvez ajouter des propriétés lorsque vous créez un destinataire ou les mettez à jour pour un destinataire existant. Vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog ou des commandes SQL dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL.
Autorisations requises : administrateur de metastore ou utilisateur disposant du privilège CREATE RECIPIENT
sur le metastore.
Explorateur de catalogues
Lorsque vous créez ou mettez à jour un destinataire à l'aide de Catalog Explorer, ajoutez ou mettez à jour des propriétés personnalisées en procédant comme suit :
Accédez à la page Détails du destinataire.
Si vous créez un destinataire, vous accédez à cette page après avoir cliqué sur Créer. Si vous mettez à jour un destinataire existant, accédez à cette page en cliquant sur l’ icône d’engrenage> Delta Sharing > Partagé par moi > Destinataires, puis en sélectionnant le destinataire.
Cliquez sur Modifier les propriétés > +Ajouter une propriété.
Entrez un nom de propriété (Clé) et une Valeur.
Par exemple, si vous souhaitez filtrer les données partagées par pays et partager uniquement des données américaines avec ce destinataire, vous pouvez créer une clé nommée « country » avec la valeur « US ».
Cliquez sur Enregistrer.
SQL
Pour ajouter une propriété personnalisée lorsque vous créez un destinataire, exécutez la commande suivante dans un bloc-notes ou dans l’éditeur de requête Databricks SQL :
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
<property-key>
peut être un littéral de chaîne ou un identificateur. <property-value>
doit être un littéral de chaîne.
Par exemple :
CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');
Pour ajouter, modifier ou supprimer des propriétés personnalisées pour un destinataire existant, exécutez l’une des commandes suivantes :
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );
INTERFACE DE LIGNE DE COMMANDE
Pour ajouter des propriétés personnalisées lorsque vous créez un destinataire, exécutez la commande suivante à l’aide de l’interface CLI Databricks. Remplacez les valeurs d’espace réservé :
<recipient-name>
: nom du destinataire.<property-key>
peut être un littéral de chaîne ou un identificateur.<property-value>
doit être un littéral de chaîne.
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"<property-key>": "<property-value>",
}
}
}'
Par exemple :
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Pour ajouter ou modifier des propriétés personnalisées pour un destinataire existant, utilisez update
au lieu de create
:
databricks recipients update \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Afficher les propriétés du destinataire
Pour afficher les propriétés du destinataire, suivez les instructions fournies dans Afficher les détails du destinataire.
Supprimer un destinataire
Pour supprimer un destinataire, vous pouvez utiliser Catalog Explorer, l'interface CLI Unity Catalog Databricks ou la commande SQL DROP RECIPIENT
dans un notebook Azure Databricks ou l'éditeur de requête Databricks SQL. Vous devez être le propriétaire de l’objet destinataire pour supprimer le destinataire.
Lorsque vous supprimez un destinataire, les utilisateurs représentés par le destinataire ne peuvent plus accéder aux données partagées. Les jetons que les destinataires utilisent dans un scénario de partage ouvert sont invalidés.
Autorisations requises : propriétaire de l’objet destinataire.
Explorateur de catalogues
Dans votre espace de travail Azure Databricks, cliquez sur Catalogue.
En haut du volet Catalogue, cliquez sur l’icône d’engrenage , puis sélectionnez Delta Sharing.
Vous pouvez aussi, dans la page Accès rapide, cliquer sur le bouton Delta Sharing >.
Sous l’onglet Partagé par moi, cliquez sur Destinataires, puis sélectionnez le destinataire.
Sous l’onglet Destinataires, recherchez le destinataire et sélectionnez-le.
Cliquez sur le menu kebab et sélectionnez Supprimer.
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
SQL
Exécutez la commande suivante dans un notebook ou dans l’éditeur de requête SQL Databricks.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
INTERFACE DE LIGNE DE COMMANDE
Exécutez la commande suivante dans l’interface CLI Databricks.
databricks recipients delete <recipient-name>