Creare e gestire i destinatari dei dati per la condivisione differenziale
Questo articolo illustra come creare e gestire i destinatari per la condivisione differenziale.
Un destinatario è l'oggetto denominato che rappresenta l'identità di un utente o di un gruppo di utenti nel mondo reale che utilizzano dati condivisi. La modalità di creazione dei destinatari varia a seconda che il destinatario abbia o meno accesso a un'area di lavoro di Databricks abilitata per Unity Catalog:
- Per i destinatari con accesso a un'area di lavoro di Databricks abilitata per Unity Catalog, è possibile creare un oggetto destinatario con una connessione sicura gestita interamente da Databricks. Questa modalità di condivisione è denominata condivisione da Databricks a Databricks.
- Per i destinatari senza accesso a un'area di lavoro di Databricks abilitata per Unity Catalog, è necessario usare la condivisione aperta, con una connessione sicura gestita usando l'autenticazione basata su token.
Per altre informazioni su queste due modalità di condivisione e su quando scegliere quale, vedere Aprire la condivisione rispetto alla condivisione da Databricks a Databricks.
Requisiti
Per creare un destinatario:
- È necessario essere un amministratore del metastore o avere il
CREATE_RECIPIENT
privilegio per il metastore del catalogo Unity in cui sono registrati i dati da condividere. - È necessario creare il destinatario usando un'area di lavoro di Azure Databricks con il metastore di Unity Catalog collegato.
- Se si usa un notebook di Databricks per creare il destinatario, il cluster deve usare Databricks Runtime 11.3 LTS o versione successiva e la modalità di accesso al cluster condiviso o utente singolo.
Per altre operazioni di gestione dei destinatari, ad esempio visualizzazione, eliminazione, aggiornamento e concessione dell'accesso dei destinatari a una condivisione, vedere i requisiti delle autorizzazioni elencati nelle sezioni specifiche dell'operazione di questo articolo.
Creare un oggetto destinatario per gli utenti che hanno accesso a Databricks (condivisione da Databricks a Databricks)
Se il destinatario dei dati ha accesso a un'area di lavoro di Databricks abilitata per Unity Catalog, è possibile creare un oggetto destinatario con un tipo di autenticazione .DATABRICKS
Un oggetto destinatario con il tipo di autenticazione di DATABRICKS
rappresenta un destinatario di dati in un particolare metastore del catalogo Unity, identificato nella definizione dell'oggetto destinatario da una stringa di identificatore di condivisione costituita dal cloud, dall'area e dall'UUID del metastore. È possibile accedere ai dati condivisi con questo destinatario solo in tale metastore.
Passaggio 1: Richiedere l'identificatore di condivisione del destinatario
Chiedere a un utente destinatario di inviare l'identificatore di condivisione per il metastore del catalogo Unity collegato alle aree di lavoro in cui l'utente o il gruppo di utenti destinatario funzionerà con i dati condivisi.
L'identificatore di condivisione è una stringa costituita dal cloud, dall'area e dall'UUID del metastore (identificatore univoco per il metastore), nel formato <cloud>:<region>:<uuid>
.
Nello screenshot seguente, ad esempio, la stringa dell'identificatore di condivisione completa è aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.
Il destinatario può trovare l'identificatore usando Esplora cataloghi, l'interfaccia della riga di comando del catalogo unity di Databricks o la funzione CURRENT_METASTORE
SQL predefinita in un notebook di Databricks o una query SQL di Databricks eseguita in un cluster compatibile con Unity Catalog nell'area di lavoro che intende usare.
Esplora cataloghi
Per ottenere l'identificatore di condivisione tramite Esplora cataloghi:
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi con l'utente corrente fare clic sul nome dell'organizzazione di condivisione Databricks in alto a destra e selezionare Copia identificatore di condivisione.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
SELECT CURRENT_METASTORE();
CLI
Eseguire il comando seguente usando la CLI di Databricks. L'identificatore di condivisione viene restituito come global_metastore_id
.
databricks metastores summary
È possibile aiutare il destinatario inviando le informazioni di contatto contenute in questo passaggio oppure scegliendo Ottenere l'accesso nel modello Databricks-to-Databricks.
Passaggio 2: Creare il destinatario
Per creare un destinatario per la condivisione da Databricks a Databricks, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il CREATE RECIPIENT
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore o utente metastore con il privilegio per il CREATE_RECIPIENT
metastore di Unity Catalog in cui sono registrati i dati da condividere.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi da me fare clic su Nuovo destinatario.
Immettere il nome del destinatario e l'identificatore di condivisione.
Usare l'intera stringa di identificatore di condivisione nel formato
<cloud>:<region>:<uuid>
. Ad esempio:aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016
.(Facoltativo) Immettere un commento.
Cliccare su Crea.
(Facoltativo) Creare proprietà del destinatario personalizzate.
Fare clic su Modifica proprietà > +Aggiungi proprietà. Aggiungere quindi un nome di proprietà (chiave) e un valore. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
SQL
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>'
[COMMENT "<comment>"];
Usare l'intera stringa di identificatore di condivisione nel formato <cloud>:<region>:<uuid>
. Ad esempio: aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.
È anche possibile aggiungere proprietà personalizzate per il destinatario. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
CLI
Eseguire il comando seguente usando la CLI di Databricks. Sostituire i valori segnaposto;
<recipient-name>
: nome del destinatario.<sharing-identifier>
: l'intera stringa di identificatore di condivisione nel formato<cloud>:<region>:<uuid>
. Ad esempio:aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef
.<authentication-type>
: impostato suDATABRICKS
quando viene fornita una stringa di identificatore di condivisione nel formato<cloud>:<region>:<uuid>
per<sharing-identifier>
.
databricks recipients create <recipient-name> <authentication-type> --sharing-code <sharing-identifier>
È anche possibile aggiungere proprietà personalizzate per il destinatario. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
Il destinatario viene creato con l'oggetto authentication_type
di DATABRICKS
.
Creare un oggetto destinatario per tutti gli altri utenti (condivisione aperta)
Se si vogliono condividere dati con utenti esterni all'area di lavoro di Azure Databricks, indipendentemente dal fatto che usino databricks stessi, è possibile usare La condivisione Delta aperta per condividere i dati in modo sicuro. Il funzionamento è il seguente:
- In qualità di provider di dati, si crea l'oggetto destinatario nel metastore del catalogo Unity.
- Quando si crea l'oggetto destinatario, Azure Databricks genera un token, un file di credenziali che include il token e un collegamento di attivazione da condividere con il destinatario. L'oggetto destinatario ha il tipo di autenticazione di
TOKEN
. - Il destinatario accede al collegamento di attivazione, scarica il file delle credenziali e usa il file delle credenziali per autenticare e ottenere l'accesso in lettura alle tabelle incluse nelle condivisioni a cui si concede l'accesso.
Passaggio 1: Creare il destinatario
Per creare un destinatario per la condivisione aperta, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog o il CREATE RECIPIENT
comando SQL in un notebook di Azure Databricks o nell'editor di query SQL di Databricks.
Autorizzazioni necessarie: amministratore o utente metastore con il privilegio per il CREATE_RECIPIENT
metastore di Unity Catalog in cui sono registrati i dati da condividere.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi da me fare clic su Nuovo destinatario.
Immettere il nome del destinatario
(Facoltativo) Immettere un commento.
Cliccare su Crea.
Non si usa l'identificatore di condivisione per i destinatari della condivisione aperta.
Copiare il collegamento di attivazione.
In alternativa, è possibile ottenere il collegamento di attivazione in un secondo momento. Vedere Passaggio 2: Ottenere il collegamento di attivazione.
(Facoltativo) Creare proprietà del destinatario personalizzate.
Nella scheda Dettagli destinatario fare clic su Modifica proprietà > +Aggiungi proprietà. Aggiungere quindi un nome di proprietà (chiave) e un valore. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
SQL
Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks:
CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];
È anche possibile aggiungere proprietà personalizzate per il destinatario. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients create <recipient-name>
È anche possibile aggiungere proprietà personalizzate per il destinatario. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
L'output include l'oggetto activation_url
condiviso con il destinatario.
Il destinatario viene creato con l'oggetto authentication_type
di TOKEN
.
Nota
Quando si crea il destinatario, è possibile limitare l'accesso dei destinatari a un set limitato di indirizzi IP. È anche possibile aggiungere un elenco di accesso IP a un destinatario esistente. Vedere Limitare l'accesso dei destinatari alla condivisione delta tramite elenchi di accesso IP (condivisione aperta).
Passaggio 2: Ottenere il collegamento di attivazione
Per ottenere il collegamento di attivazione del nuovo 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.
Se il destinatario ha già scaricato il file delle credenziali, il collegamento di attivazione non viene restituito o visualizzato.
Autorizzazioni necessarie: amministratore metastore, utente con privilegi USE RECIPIENT
o proprietario dell'oggetto destinatario.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Nella pagina dei dettagli del destinatario copiare il collegamento Attivazione.
SQL
Eseguire il seguente comando in un notebook o nell'editor di query SQL di Databricks.
DESCRIBE RECIPIENT <recipient-name>;
L'output include .activation_link
CLI
Eseguire il comando seguente usando la CLI di Databricks.
databricks recipients get <recipient-name>
L'output include .activation_url
Concedere al destinatario l'accesso a una condivisione
Dopo aver creato il destinatario e 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 RECIPIENT
o proprietario del destinatario).
Per istruzioni, vedere Gestire l'accesso alle condivisioni dati di condivisione differenziale (per i provider).
Inviare al destinatario le informazioni di connessione
È necessario comunicare al destinatario come accedere ai dati condivisi. Le informazioni condivise con il destinatario dipendono dal fatto che si usi la condivisione da Databricks a Databricks o la condivisione aperta:
Per la condivisione da Databricks a Databricks, inviare un collegamento alle istruzioni per l'accesso ai dati condivisi.
Un oggetto provider che elenca le condivisioni disponibili viene creato automaticamente nel metastore del destinatario. I destinatari non devono eseguire alcuna operazione, ma visualizzare e selezionare le condivisioni che vogliono usare. Vedere Leggere i dati condivisi usando Delta Sharing da Databricks a Databricks (per destinatari).
Per la condivisione aperta, si usa un canale sicuro per condividere il collegamento di attivazione e un collegamento alle istruzioni per usarlo.
È possibile scaricare il file delle credenziali una sola volta. I destinatari devono considerare le credenziali scaricate come segreto e non devono condividerle all'esterno dell'organizzazione. In caso di dubbi sul fatto che una credenziale possa essere stata gestita in modo non sicuro, è possibile ruotare le credenziali di un destinatario in qualsiasi momento. Per altre informazioni sulla gestione delle credenziali per garantire l'accesso sicuro ai destinatari, vedere Considerazioni sulla sicurezza per i token.
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 essere un amministratore del metastore o avere il USE RECIPIENT
privilegio di visualizzare tutti i destinatari nel metastore. Gli altri utenti hanno accesso solo ai destinatari di cui sono proprietari.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
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 (
TOKEN
oDATABRICKS
). - Se il destinatario usa la condivisione aperta: la durata del token, il collegamento di attivazione, lo stato di attivazione (se le credenziali sono state scaricate) e gli elenchi di accesso IP, se assegnati.
- Se il destinatario usa la condivisione da Databricks a Databricks: il cloud, l'area e l'ID metastore del metastore del catalogo Unity del destinatario, nonché lo stato di attivazione.
- Proprietà del destinatario, incluse le proprietà personalizzate. Vedere Gestire le proprietà dei destinatari.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
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.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
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, è possibile usare Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog 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: per aggiornare il proprietario, è necessario essere un amministratore o un proprietario del metastore dell'oggetto destinatario. È necessario essere un amministratore del metastore (o un utente con privilegi CREATE_RECIPIENT
) e il proprietario per aggiornare il nome. È necessario essere il proprietario per aggiornare il commento o le proprietà personalizzate.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
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 sul menu kebab e selezionare Rinomina.
Modificare, rimuovere o aggiungere proprietà personalizzate destinatario.
Fare clic su Modifica proprietà. Per aggiungere una proprietà, fare clic su +Aggiungi proprietà e immettere un nome di proprietà (chiave) e valore. Per informazioni dettagliate, vedere Gestire le proprietà dei destinatari.
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.
Gestire i token dei destinatari (condivisione aperta)
Se si condividono dati con un destinatario usando la condivisione aperta, potrebbe essere necessario ruotare il token del destinatario. La rotazione di un token consiste nell'impostare un token esistente per scadere e sostituirlo con un nuovo token e un URL di attivazione.
È necessario ruotare il token di un destinatario e generare un nuovo URL di attivazione nelle circostanze seguenti:
- Quando il token del destinatario esistente sta per scadere.
- Se un destinatario perde l'URL di attivazione o se viene compromesso.
- Se le credenziali sono danneggiate, perse o compromesse dopo il download da parte di un destinatario.
- Quando si modifica la durata del token del destinatario per un metastore. Vedere Modificare la durata del token del destinatario.
Considerazioni sulla sicurezza per i token
In qualsiasi momento, un destinatario può avere al massimo due token: un token attivo e un token ruotato. Il token ruotato è uno che è stato impostato per scadere e essere sostituito dal token attivo. Fino alla scadenza del token ruotato, il tentativo di ruotare il token restituisce un errore.
Quando si ruota il token di un destinatario, è possibile impostare --existing-token-expire-in-seconds
facoltativamente il numero di secondi prima del token del destinatario esistente, ovvero quello da ruotare, scade. Se si imposta il valore su 0
, il token del destinatario esistente scade immediatamente.
Databricks consiglia di impostare --existing-token-expire-in-seconds
su un periodo relativamente breve che consente all'organizzazione del destinatario di accedere al nuovo URL di attivazione riducendo al minimo la quantità di tempo in cui il destinatario ha due token attivi. Se si sospetta che il token del destinatario esistente sia compromesso, Databricks consiglia di forzare la scadenza immediata.
Se non è mai stato eseguito l'accesso all'URL di attivazione esistente di un destinatario, la rotazione del token esistente invalida l'URL di attivazione e la sostituisce con una nuova.
Se tutti i token del destinatario sono scaduti, la rotazione del token sostituisce l'URL di attivazione esistente con uno nuovo. Databricks consiglia di ruotare o rilasciare tempestivamente un destinatario il cui token è scaduto.
Se un URL di attivazione del destinatario viene inviato inavvertitamente alla persona sbagliata o viene inviato tramite un canale non sicuro, Databricks consiglia di:
- Revocare l'accesso del destinatario alla condivisione.
- Ruotare il destinatario e impostare su
--existing-token-expire-in-seconds
0
. - Condividere il nuovo URL di attivazione con il destinatario previsto tramite un canale sicuro.
- Dopo aver eseguito l'accesso all'URL di attivazione, concedere nuovamente al destinatario l'accesso alla condivisione.
In situazioni estreme, invece di ruotare il token del destinatario, è possibile eliminare e ricreare il destinatario.
Ruotare il token di un destinatario
Per ruotare il token di un destinatario, è possibile usare Esplora cataloghi o l'interfaccia della riga di comando di Databricks Unity Catalog.
Autorizzazioni necessarie: proprietario dell'oggetto destinatario.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Nella scheda Dettagli , in Scadenza token, fare clic su Ruota.
Nella finestra di dialogo Ruota token impostare il token per scadere immediatamente o per un periodo di tempo impostato. Per consigli su quando scadere i token esistenti, vedere Considerazioni sulla sicurezza per i token.
Fare clic su Ruota.
Nella scheda Dettagli copiare il nuovo collegamento Attivazione e condividerlo con il destinatario tramite un canale sicuro. Vedere Passaggio 2: Ottenere il collegamento di attivazione.
CLI
Eseguire il comando seguente usando la CLI di Databricks. Sostituire i valori segnaposto;
<recipient-name>
: nome del destinatario.<expiration-seconds>
: numero di secondi fino alla scadenza del token del destinatario esistente. Durante questo periodo, il token esistente continuerà a funzionare. Un valore indica0
che il token esistente scade immediatamente. Per consigli su quando scadere i token esistenti, vedere Considerazioni sulla sicurezza per i token.
databricks recipients rotate-token \ <recipient-name> \ <expiration-seconds>
Ottenere il nuovo collegamento di attivazione del destinatario e condividerlo con il destinatario tramite un canale sicuro. Vedere Passaggio 2: Ottenere il collegamento di attivazione.
Modificare la durata del token del destinatario
Se è necessario modificare la durata predefinita del token del destinatario per il metastore di Unity Catalog, è possibile usare Esplora cataloghi o l'interfaccia della riga di comando di Databricks Unity Catalog.
Nota
La durata del token del destinatario per i destinatari esistenti non viene aggiornata automaticamente quando si modifica la durata predefinita del token del destinatario per un metastore. Per applicare la durata del nuovo token a un determinato destinatario, è necessario ruotare il token. Vedere Gestire i token dei destinatari (condivisione aperta).
Autorizzazioni necessarie: amministratore dell'account.
Esplora cataloghi
- Accedere alla console dell'account.
- Nella barra laterale fare clic su Catalogo.
- Fare clic sul nome del metastore.
- In Durata del token del destinatario di condivisione differenziale fare clic su Modifica.
- Abilitare Imposta scadenza.
- Immettere un numero di secondi, minuti, ore o giorni e selezionare l'unità di misura.
- Fare clic su Salva.
Se si disabilita Imposta scadenza, i token del destinatario non scadono. Databricks consiglia di configurare i token per la scadenza.
CLI
Eseguire il comando seguente usando la CLI di Databricks. Sostituire 12a345b6-7890-1cd2-3456-e789f0a12b34
con l'UUID del metastore e sostituire 86400
con il numero di secondi prima della scadenza del token del destinatario. Se si imposta questo valore su 0
, i token del destinatario non scadono. Databricks consiglia di configurare i token per la scadenza.
databricks metastores update \
12a345b6-7890-1cd2-3456-e789f0a12b34 \
--delta-sharing-recipient-token-lifetime-in-seconds 86400
(Facoltativo) Limitare l'accesso ai destinatari usando gli elenchi di accesso
È possibile limitare l'accesso dei destinatari a un set limitato di indirizzi IP quando si configura l'oggetto destinatario. Vedere Limitare l'accesso dei destinatari alla condivisione delta tramite elenchi di accesso IP (condivisione aperta).
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
: account di Azure Databricks a cui appartiene un destinatario di dati (solo condivisione da Databricks a Databricks).databricks.metastoreId
: metastore del catalogo Unity a cui appartiene un destinatario di dati (solo 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
Le proprietà dei destinatari sono supportate in Databricks Runtime 12.2 e versioni successive.
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 metastore con il privilegio per il CREATE RECIPIENT
metastore del catalogo Unity.
Esplora cataloghi
Quando si crea o si aggiorna un destinatario usando Esplora cataloghi, aggiungere o aggiornare 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 aggiorna un destinatario esistente, passare a questa pagina facendo clic sull'icona a forma di ingranaggio > Condivisione > differenziale Condivisi da me > Destinatari e selezionando il destinatario.
Fare clic su Modifica proprietà > +Aggiungi proprietà.
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".
Fare 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 un valore letterale stringa.
Ad 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. Sostituire i valori segnaposto;
<recipient-name>
: nome del destinatario.<property-key>
può essere un valore letterale stringa o un identificatore.<property-value>
deve essere un valore letterale stringa.
databricks recipients create \
--json='{
"name": "<recipient-name>",
"properties_kvpairs": {
"properties": {
"<property-key>": "<property-value>",
}
}
}'
Ad 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 Esplora cataloghi, l'interfaccia della riga di comando di Databricks Unity Catalog 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 aperta vengono invalidati.
Autorizzazioni necessarie: proprietario dell'oggetto destinatario.
Esplora cataloghi
Nell'area di lavoro di Azure Databricks fare clic su Catalogo.
Nella parte superiore del riquadro Catalogo fare clic sull'icona forma di ingranaggio e selezionare condivisione delta.
In alternativa, nella pagina Accesso rapido fare clic sul pulsante condivisione delta >.
Nella scheda Condivisi da me fare clic su Destinatari e selezionare il destinatario.
Nella scheda Destinatari trovare e selezionare il destinatario.
Fare clic sul 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>