Gérer les destinataires de données pour OpenSharing
Cette page décrit comment les fournisseurs gèrent les destinataires OpenSharing existants dans Databricks. Un destinataire est l'objet nommé qui représente l'identité d'un utilisateur ou d'un groupe avec lequel vous partagez des données.
Si vous êtes un destinataire de données et que vous souhaitez gérer un objet fournisseur que vous avez importé à partir d'un fichier d'identification, consultez plutôt Gérer les fournisseurs OpenSharing pour les destinataires de données.
Pour créer un destinataire, consultez Créer des destinataires de données pour OpenSharing (partage Databricks-to-Databricks), Créer un objet destinataire pour les utilisateurs non-Databricks à l'aide de jetons d'accès (partage Databricks-to-Open), ou Activer la fédération Open ID Connect (OIDC) pour les destinataires OpenSharing. Pour gérer les partages, consultez Gérer les partages pour OpenSharing.
Accorder l'accès à un partage au destinataire
Après avoir créé le destinataire et les partages, vous pouvez accorder au destinataire l'accès à ces partages.
Pour accorder l'accès en partage aux destinataires, vous pouvez utiliser l'Explorateur de catalogues, le CLI Databricks Unity Catalog ou la commande GRANT ON SHARE SQL dans un notebook Databricks ou l'éditeur de query Databricks SQL.
Autorisations requises : l'une des suivantes :
- Administrateur du métastore.
- Autorisations déléguées ou propriété sur le partage et les objets destinataires ((
USE SHARE+SET SHARE PERMISSION) ou propriétaire du partage) et (USE RECIPIENTou propriétaire du destinataire).
Pour obtenir des instructions, consultez Gérer l'accès aux partages de données OpenSharing (pour les fournisseurs).
Afficher les destinataires
Pour afficher une liste de destinataires, vous pouvez utiliser Catalog Explorer, l'interface CLI Databricks Unity Catalog, ou la commande SQL SHOW RECIPIENTS dans un Notebook Databricks ou l'éditeur de query Databricks SQL.
Autorisations requises : Vous devez disposer du privilège USE RECIPIENT pour afficher tous les destinataires dans le metastore. Les autres utilisateurs n'ont accès qu'aux destinataires qu'ils possèdent.
- Catalog Explorer
- SQL
- CLI
-
Dans votre workspace Databricks, cliquez sur
Catalogue .
-
En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage
et sélectionnez OpenSharing .
Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Sous l'onglet **Shared by me** tab, cliquez sur **Destinataires**.
Exécutez la commande suivante dans un Notebook ou dans l'éditeur de query Databricks SQL. Vous pouvez éventuellement remplacer <pattern> par un LIKE prédicat.
SHOW RECIPIENTS [LIKE <pattern>];
Exécutez la commande suivante à l'aide de l'CLI Databricks.
databricks recipients list
Afficher les détails du destinataire
Pour afficher les détails concernant un destinataire, vous pouvez utiliser Catalog Explorer, la CLI Unity Catalog Databricks, ou la commande SQL DESCRIBE RECIPIENT dans un Notebook Databricks ou l'éditeur de query Databricks SQL.
Autorisations requises : administrateur de métastore, utilisateur disposant du privilège USE RECIPIENT, ou propriétaire de l’objet destinataire.
Les détails incluent :
- Le créateur, le timestamp de création, les commentaires et le type d'authentification du destinataire (
DATABRICKS,TOKEN,OAUTH_CLIENT_CREDENTIALSouOIDC_FEDERATION). - Si le destinataire utilise le partage Databricks-vers-Open avec des jetons porteurs : durée de vie du jeton, Link d'activation, état d'activation (si l'identifiant a été download) et listes d'accès IP, le cas échéant.
- Si le destinataire utilise le partage Databricks-to-Open avec la fédération OIDC : Endpoint du destinataire, Endpoint MTLS, politiques de fédération et listes d'accès IP, le cas échéant.
- Si le destinataire utilise le partage Databricks-to-Databricks : le cloud, la région et l'ID du metastore Unity Catalog du destinataire, ainsi que le statut d'activation.
- Propriétés du destinataire, y compris les propriétés personnalisées. Consultez Gérer les propriétés du destinataire.
- Catalog Explorer
- SQL
- CLI
-
Dans votre workspace Databricks, cliquez sur
Catalogue .
-
En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage
et sélectionnez OpenSharing .
Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Dans l’onglet **Partagé par moi**, cliquez sur **Destinataires**, et sélectionnez le destinataire.
Exécutez la commande suivante dans un Notebook ou l'éditeur de requêtes Databricks SQL.
DESCRIBE RECIPIENT <recipient-name>;
Exécutez la commande suivante à l'aide de l'CLI Databricks.
databricks recipients get <recipient-name>
Afficher 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, le Databricks CLI ou la commande SQL SHOW GRANTS TO RECIPIENT dans un Notebook Databricks ou l'éditeur de query Databricks SQL.
Autorisations requises : administrateur de métastore, utilisateur disposant du privilège USE RECIPIENT, ou propriétaire de l’objet destinataire.
- Catalog Explorer
- SQL
- CLI
-
Dans votre workspace Databricks, cliquez sur
Catalogue .
-
En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage
et sélectionnez OpenSharing .
Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Dans l’onglet **Partagé par moi**, cliquez sur **Destinataires**, et sélectionnez le destinataire.
-
Accédez à l'onglet Shares tab pour afficher la liste des partages partagés avec le destinataire.
Exécutez la commande suivante dans un Notebook ou l'éditeur de requêtes Databricks SQL.
SHOW GRANTS TO RECIPIENT <recipient-name>;
Exécutez la commande suivante à l'aide de l'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 Unity Catalog de Databricks, ou la commande SQL ALTER RECIPIENT dans un Notebook Databricks ou l’éditeur de query 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 destinataire pour mettre à jour le propriétaire. Vous devez disposer du CREATE RECIPIENT privilège *et* être 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.
- Catalog Explorer
- SQL
- CLI
-
Dans votre workspace Databricks, cliquez sur
Catalogue .
-
En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage
et sélectionnez OpenSharing .
Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Dans l’onglet **Partagé par moi**, cliquez sur **Destinataires**, et sélectionnez le destinataire.
-
Sur la page de détails du destinataire :
-
Mettre à jour le propriétaire.
-
Modifier ou ajouter un commentaire.
-
Renommez le destinataire.
Cliquez sur le menu
kebab et sélectionnez Renommer .
-
Modifiez, supprimez ou ajoutez des propriétés du destinataire personnalisées.
Cliquez sur l'icône de modification
en regard de Propriétés du destinataire . Ajoutez ensuite un nom de propriété ( Clé ) et une Valeur . Pour plus de détails, consultez Gérer les propriétés des destinataires.
-
Destinataires authentifiés par jeton uniquement :
- Affichez et copiez le Link d'authentification . Consultez Obtenir le Link d'activation
- Sous Gestion des jetons , faites pivoter ou mettez à jour le jeton porteur. Voir Gérer les jetons des destinataires.
-
Destinataires OIDC fédérés uniquement :
- Sous Stratégies de fédération OIDC , cliquez sur Ajouter des stratégies . Consultez Activer la fédération Open ID Connect (OIDC) pour les destinataires OpenSharing.
- Afficher et copier l'**Endpoint du destinataire** et l'**Endpoint MTLS du destinataire**.
-
Exécutez une ou plusieurs des commandes suivantes dans un Notebook ou l'éditeur de query Databricks SQL.
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 en savoir plus sur les propriétés, consultez Gérer les propriétés du destinataire.
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"
}
}
Exécutez ensuite la commande suivante à l'aide de la CLI Databricks. Remplacez <recipient-name> par le nom du destinataire actuel et remplacez update-recipient-settings.json par le nom de fichier du fichier JSON.
databricks recipients update --json-file update-recipient-settings.json
Pour en savoir plus sur les propriétés, consultez Gérer les propriétés du destinataire.
(Facultatif) Restreindre l'accès des destinataires à l'aide de listes d'accès
Vous pouvez limiter l'accès des destinataires à un ensemble restreint d'adresses IP pour les destinataires de partage Databricks-à-Open. Voir Restreindre l'accès des destinataires OpenSharing à l'aide de listes d'accès IP (partage Databricks vers OpenSharing).
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 Data Sharing. Par exemple, vous pouvez les utiliser pour effectuer les opérations suivantes :
- Partagez différentes partitions de table avec différents destinataires, ce qui vous permet d'utiliser les mêmes partages avec plusieurs destinataires tout en maintenant des limites de données entre eux.
- Partagez des vues dynamiques qui limitent l'accès des destinataires aux données de table au niveau des lignes ou des colonnes 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 start par databricks. et incluent les éléments suivants :
databricks.accountId: Le compte Databricks auquel un destinataire des données appartient (partage Databricks-to-Databricks uniquement).databricks.metastoreId: Le metastore Unity Catalog auquel un destinataire de données appartient (partage Databricks-to-Databricks uniquement).databricks.name: le nom du destinataire des données.
Les propriétés personnalisées qui pourraient être utiles pourraient inclure, par exemple, country. Par exemple, si vous associez la propriété personnalisée 'country' = 'us' à un destinataire, vous pouvez partitionner les données de la table par pays et partager uniquement les lignes contenant des données américaines avec les destinataires auxquels cette propriété est attribuée. Vous pouvez également partager une vue dynamique qui restreint l'accès aux lignes ou aux colonnes en fonction des propriétés du destinataire. Pour des exemples plus détaillés, consultez Utiliser les propriétés des destinataires pour effectuer le filtrage de partition et Ajouter des vues dynamiques à un partage pour filtrer les lignes et les colonnes.
Exigences
Vous devez utiliser un SQL Warehouse ou un compute exécutant Databricks Runtime 12.2 ou une version ultérieure.
Ajoutez 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 mettre à jour pour un destinataire existant. Vous pouvez utiliser Catalog Explorer, la CLI Unity Catalog de Databricks, ou des commandes SQL dans un Notebook Databricks ou l'éditeur de requêtes Databricks SQL.
Autorisations requises : administrateur de metastore ou utilisateur disposant du privilège CREATE RECIPIENT pour le metastore Unity Catalog.
- Catalog Explorer
- SQL
- CLI
Lorsque vous créez ou mettez à jour un destinataire à l'aide de l'Explorateur de catalogues, ajoutez ou mettez à jour des propriétés personnalisées en procédant comme suit :
-
Aller à la page des détails du destinataire.
Si vous créez un nouveau 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 > OpenSharing > Partagé par moi > Destinataires , puis sélectionnez le destinataire.
-
En bas à droite de la page, sous Propriétés du destinataire , cliquez sur l'icône
en forme de crayon à côté de databricks.metastoreID pour un destinataire Databricks ou à côté de databricks.name pour un destinataire ouvert.
-
Saisissez un nom de propriété ( Clé ) et une Valeur .
Par exemple, si vous souhaitez filtrer les données partagées par pays et ne partager que les données des États-Unis avec ce destinataire, vous pouvez créer une clé nommée « country » avec la valeur « US ».
-
Cliquez sur Enregistrer .
Pour ajouter une propriété personnalisée lorsque vous créez un destinataire, exécutez la commande suivante dans un Notebook ou l'éditeur de requêtes 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. L'argument <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 opérations suivantes :
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );
Pour ajouter des propriétés personnalisées lors de la création d'un destinataire, exécutez la commande suivante à l'aide de l'Databricks CLI. Remplacez les valeurs des espaces réservés :
<recipient-name>: Le nom du destinataire.<property-key>peut être un littéral de chaîne ou un identifiant.<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 dans Afficher les détails du destinataire.
Supprimer un destinataire
Pour supprimer un destinataire, vous pouvez utiliser Catalog Explorer, la CLI Unity Catalog de Databricks, ou la commande SQL DROP RECIPIENT dans un Notebook Databricks ou l'éditeur de query 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 ce destinataire ne peuvent plus accéder aux données partagées. Les jetons que les destinataires utilisent dans un scénario de partage Databricks-à-Open sont invalidés.
Autorisations requises : Propriétaire de l'objet destinataire.
- Catalog Explorer
- SQL
- CLI
-
Dans votre workspace Databricks, cliquez sur
Catalogue .
-
En haut du volet Catalog , cliquez sur l'icône en forme d'engrenage
et sélectionnez OpenSharing .
Sinon, dans le coin supérieur droit, cliquez sur **Partager > OpenSharing**.
-
Dans l’onglet **Partagé par moi**, cliquez sur **Destinataires**, et sélectionnez le destinataire.
-
Dans l’onglet Recipients tab, find and select the recipient.
-
Cliquez sur le menu kebab
et sélectionnez Supprimer .
-
Dans la boîte de dialogue de confirmation, cliquez sur Supprimer .
Exécutez la commande suivante dans un Notebook ou l'éditeur de requêtes Databricks SQL.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
Exécutez la commande suivante à l'aide de l'CLI Databricks.
databricks recipients delete <recipient-name>