Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa pagina descrive come i provider gestiscono i destinatari OpenSharing esistenti in Azure Databricks. Un destinatario è l'oggetto denominato che rappresenta l'identità di un utente o di un gruppo con cui si condividono i dati.
Se si è un destinatario di dati che desidera gestire un oggetto provider importato da un file di credenziali, vedere Gestire invece i provider OpenSharing per i destinatari dei dati .
Per creare un destinatario, vedi Creare destinatari dei dati per OpenSharing (condivisione da Databricks a Databricks), Creare un oggetto destinatario per utenti non Databricks usando token bearer (condivisione da Databricks a Open), o Abilitare la federazione Open ID Connect (OIDC) per i destinatari di OpenSharing. Per gestire le condivisioni, vedere Gestire le condivisioni per OpenSharing.
Concedere al destinatario l'accesso a una condivisione
Dopo aver creato il destinatario e aver creato le condivisioni, è possibile concedere al destinatario l'accesso a tali condivisioni.
Per concedere l'accesso condiviso ai destinatari, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il GRANT ON SHARE comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: una delle seguenti:
- Amministratore Metastore.
- Autorizzazioni delegate o proprietà per la condivisione e per gli oggetti destinatario ((
USE SHARE+SET SHARE PERMISSION) o proprietario della condivisione) E (USE RECIPIENTo proprietario del destinatario).
Per istruzioni, vedere Gestire l'accesso alle condivisioni dati OpenSharing (per i provider).
Visualizzare i destinatari
Per visualizzare un elenco di destinatari, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il SHOW RECIPIENTS comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: è necessario disporre del USE RECIPIENT privilegio per visualizzare tutti i destinatari nel metastore. Gli altri utenti hanno accesso solo ai destinatari di cui sono proprietari.
Esploratore di cataloghi
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Nella parte superiore del riquadro Catalogo, fare clic sull'
e selezionare OpenSharing.
In alternativa, nell'angolo superiore destro fare clic su Condividi > OpenSharing.
Nella scheda Condivisi da me fare clic su Destinatari.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks. Facoltativamente, sostituire <pattern> con un LIKE predicato.
SHOW RECIPIENTS [LIKE <pattern>];
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients list
Visualizzare i dettagli del destinatario
Per visualizzare informazioni dettagliate su un destinatario, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il DESCRIBE RECIPIENT comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore metastore, utente con privilegi USE RECIPIENT o proprietario dell'oggetto destinatario.
I dettagli includono:
- Autore del destinatario, timestamp di creazione, commenti e tipo di autenticazione (
DATABRICKS,TOKEN,OAUTH_CLIENT_CREDENTIALSoOIDC_FEDERATION). - Se il destinatario usa la condivisione Databricks-to-Open con token bearer: durata del token, collegamento di attivazione, stato di attivazione (se la credenziale è stata scaricata) ed elenchi di accesso IP, se assegnati.
- Se il destinatario usa la condivisione da Databricks a Open con la federazione OIDC: endpoint destinatario, endpoint MTLS, criteri di federazione ed elenchi di accesso IP, se assegnato.
- Se il destinatario utilizza la condivisione tra Databricks: il cloud, la regione e l'ID del metastore del catalogo Unity del destinatario, insieme allo stato di attivazione.
- Proprietà del destinatario, incluse le proprietà personalizzate. Vedere Gestire le proprietà dei destinatari.
Esploratore di cataloghi
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Nella parte superiore del riquadro Catalogo, fare clic sull'
e selezionare OpenSharing.
In alternativa, nell'angolo superiore destro fare clic su Condividi > OpenSharing.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks.
DESCRIBE RECIPIENT <recipient-name>;
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients get <recipient-name>
Visualizzare le autorizzazioni di condivisione di un destinatario
Per visualizzare l'elenco di condivisioni a cui è stato concesso l'accesso a un destinatario, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks o il SHOW GRANTS TO RECIPIENT comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore metastore, utente con privilegi USE RECIPIENT o proprietario dell'oggetto destinatario.
Esploratore di cataloghi
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Nella parte superiore del riquadro Catalogo, fare clic sull'
e selezionare OpenSharing.
In alternativa, nell'angolo superiore destro fare clic su Condividi > OpenSharing.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Passare alla scheda Condivisioni per visualizzare l'elenco di condivisioni condivise con il destinatario.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks.
SHOW GRANTS TO RECIPIENT <recipient-name>;
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients share-permissions <recipient-name>
Aggiornare un destinatario
Per aggiornare un destinatario, puoi utilizzare il Catalog Explorer, il Databricks Unity Catalog CLI o il ALTER RECIPIENT comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Le proprietà che è possibile aggiornare includono il nome del destinatario, il proprietario, il commento e le proprietà personalizzate.
Autorizzazioni necessarie: È necessario essere un amministratore del metastore o il proprietario dell'oggetto destinatario per aggiornare il proprietario. È necessario avere il CREATE RECIPIENT privilegio e essere il proprietario per aggiornare il nome. È necessario essere il proprietario per aggiornare il commento o le proprietà personalizzate.
Esploratore di cataloghi
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Nella parte superiore del riquadro Catalogo, fare clic sull'
e selezionare OpenSharing.
In alternativa, nell'angolo superiore destro fare clic su Condividi > OpenSharing.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Nella pagina dei dettagli del destinatario:
Aggiornare il proprietario.
Modificare o aggiungere un commento.
Rinominare il destinatario.
Fare clic
Menu kebab e selezionare Rinomina.
Modificare, rimuovere o aggiungere proprietà del destinatario personalizzate.
Clicca sull'icona
accanto alle proprietà del destinatario . Aggiungere quindi un nome di proprietà (chiave) e un valore. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.Solo destinatari autenticati tramite token:
- Visualizzare e copiare il collegamento di autenticazione . Consulta Ottieni il collegamento di attivazione
- In Gestione token, ruotare o aggiornare il token portatore. Vedere Gestire i token dei destinatari.
Solo destinatari federati OIDC:
- In politiche di federazione OIDC, fare clic su Aggiungi politiche. Vedere Abilitare la federazione OIDC (Open ID Connect) per i destinatari OpenSharing.
- Visualizza e copia endpoint destinatario e endpoint MTLS destinatario.
SQL
Eseguire uno o più dei comandi seguenti in un notebook o nell'editor di query SQL di 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> [, ...] )
Per altre informazioni sulle proprietà, vedere Gestire le proprietà dei destinatari.
CLI
Creare un file JSON che include un aggiornamento al nome del destinatario, al commento, al proprietario, all'elenco di accesso IP o alle proprietà personalizzate.
{
"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"
}
}
Eseguire quindi il comando seguente usando l'interfaccia della riga di comando di Databricks. Sostituire <recipient-name> con il nome del destinatario corrente e sostituire update-recipient-settings.json con il nome del file JSON.
databricks recipients update --json-file update-recipient-settings.json
Per altre informazioni sulle proprietà, vedere Gestire le proprietà dei destinatari.
(Facoltativo) Limitare l'accesso ai destinatari usando gli elenchi di accesso
È possibile limitare l'accesso dei destinatari a un set limitato di indirizzi IP per i destinatari di condivisione da Databricks a Open. Vedere Limitare l'accesso dei destinatari OpenSharing usando gli elenchi di accesso IP (condivisione da Databricks a Open).
Gestire le proprietà dei destinatari
Gli oggetti destinatario includono proprietà predefinite che è possibile usare per perfezionare l'accesso alla condivisione dei dati. Ad esempio, è possibile usarli per eseguire le operazioni seguenti:
- Condividere partizioni di tabella diverse con destinatari diversi, consentendo di usare le stesse condivisioni con più destinatari mantenendo al tempo stesso i limiti dei dati tra di essi.
- Condividere visualizzazioni dinamiche che limitano l'accesso dei destinatari ai dati della tabella a livello di riga o colonna in base alle proprietà del destinatario.
È anche possibile creare proprietà personalizzate.
Le proprietà predefinite iniziano con databricks. e includono quanto segue:
-
databricks.accountId: L'account Azure Databricks a cui un destinatario di dati appartiene (condivisione solo da Databricks a Databricks). -
databricks.metastoreId: Il metastore del catalogo Unity al quale appartiene un destinatario di dati. (Solo per la condivisione da Databricks a Databricks). -
databricks.name: nome del destinatario dati.
Le proprietà personalizzate che potrebbero essere di valore possono includere, ad esempio, country. Ad esempio, se si collega la proprietà 'country' = 'us' personalizzata a un destinatario, è possibile partizionare i dati della tabella in base al paese e condividere solo le righe con i dati degli Stati Uniti con i destinatari a cui è assegnata tale proprietà. È anche possibile condividere una visualizzazione dinamica che limita l'accesso alle righe o alle colonne in base alle proprietà del destinatario. Per esempi più dettagliati, vedere Usare le proprietà dei destinatari per filtrare le partizioni e Aggiungere visualizzazioni dinamiche a una condivisione per filtrare righe e colonne.
Requisiti
È necessario usare un'istanza di SQL Warehouse o un ambiente di calcolo che esegue Databricks Runtime 12.2 o versione successiva.
Aggiungere proprietà quando si crea o si aggiorna un destinatario
È possibile aggiungere proprietà quando si crea un destinatario o le si aggiorna per un destinatario esistente. È possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o i comandi SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore o utente del metastore con il privilegio CREATE RECIPIENT per il metastore di Unity Catalog.
Esploratore di cataloghi
Quando si crea o si aggiorna un destinatario usando Esplora cataloghi, aggiungere o aggiornare le proprietà personalizzate eseguendo le operazioni seguenti:
Passare alla pagina Dettagli destinatario.
Se si sta creando un nuovo destinatario, si arriva a questa pagina dopo aver fatto clic su Crea. Se si sta aggiornando un destinatario esistente, andare a questa pagina facendo clic sull'
icona a forma di ingranaggio > OpenSharing > Condivisi da me > Destinatari e selezionando il destinatario.
Sul lato inferiore destro della pagina, in Proprietà destinatario fare clic
matita accanto a databricks.metastoreID per un destinatario di Azure Databricks o accanto a databricks.name per un destinatario aperto.
Immettere un nome di proprietà (chiave) e un valore.
Ad esempio, se si desidera filtrare i dati condivisi in base al paese e condividere solo i dati degli Stati Uniti con questo destinatario, è possibile creare una chiave denominata "country" con il valore "US".
Fai clic su Salva.
SQL
Per aggiungere una proprietà personalizzata quando si crea un destinatario, eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
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> può essere un valore letterale stringa o un identificatore.
<property-value> deve essere una stringa letterale.
Per esempio:
CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');
Per aggiungere, modificare o eliminare proprietà personalizzate per un destinatario esistente, eseguire una delle operazioni seguenti:
ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );
ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );
CLI
Per aggiungere proprietà personalizzate quando si crea un destinatario, eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks. Sostituisci i valori segnaposto:
-
<recipient-name>: nome del destinatario. -
<property-key>può essere un valore letterale stringa o un identificatore. -
<property-value>deve essere una stringa letterale.
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"<property-key>": "<property-value>",
}
}
}'
Per esempio:
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Per aggiungere o modificare proprietà personalizzate per un destinatario esistente, usare update anziché create:
databricks recipients update \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"country": "us",
"partner_id":"001"
}
}
}'
Visualizzare le proprietà del destinatario
Per visualizzare le proprietà dei destinatari, seguire le istruzioni riportate in Visualizzare i dettagli del destinatario.
Eliminare un destinatario
Per eliminare un destinatario, è possibile usare Catalog Explorer, il Databricks Unity Catalog CLI, o il DROP RECIPIENT comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks. Per eliminare il destinatario, è necessario essere il proprietario dell'oggetto destinatario.
Quando si elimina un destinatario, gli utenti rappresentati dal destinatario non possono più accedere ai dati condivisi. I token usati dai destinatari in uno scenario di condivisione da Databricks a Open vengono invalidati.
Autorizzazioni necessarie: proprietario dell'oggetto destinatario.
Esploratore di cataloghi
Nell'area di lavoro di Azure Databricks fare clic
Catalogo.
Nella parte superiore del riquadro Catalogo, fare clic sull'
e selezionare OpenSharing.
In alternativa, nell'angolo superiore destro fare clic su Condividi > OpenSharing.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Nella scheda Destinatari trovare e selezionare il destinatario.
Fare clic
Menu kebab e selezionare Elimina.
Nella finestra di dialogo di conferma fare clic su Elimina.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks.
DROP RECIPIENT [IF EXISTS] <recipient-name>;
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients delete <recipient-name>