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.

esempio di CURRENT_METASTORE

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:

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione delta e selezionare Condivisi con l'utente corrente.
  3. Sopra la scheda Provider fare clic sull'icona Copia identificatore 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 l'interfaccia della riga di comando di Databricks. L'identificatore di condivisione viene restituito come global_metastore_id.

databricks unity-catalog metastores get-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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.

  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.

  3. Fare clic su Nuovo destinatario.

  4. 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.

  5. (Facoltativo) Immettere un commento.

  6. Fai clic su Crea.

  7. (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 l'interfaccia della riga di comando 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.
databricks unity-catalog recipients create --name <recipient-name> --sharing-id <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:

  1. In qualità di provider di dati, si crea l'oggetto destinatario nel metastore del catalogo Unity.
  2. 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.
  3. 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.

  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.

  3. Fare clic su Nuovo destinatario.

  4. Immettere il nome del destinatario

  5. (Facoltativo) Immettere un commento.

  6. Fai clic su Crea.

    Non si usa l'identificatore di condivisione per i destinatari della condivisione aperta.

  7. (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>
[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 l'interfaccia della riga di comando di Databricks.

databricks unity-catalog recipients create --name <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).

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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Nella pagina dei dettagli del destinatario copiare il collegamento Attivazione.

Sql

Eseguire il comando seguente 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 l'interfaccia della riga di comando di Databricks.

databricks unity-catalog recipients get --name <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 opzioni seguenti:

  • Amministratore metastore.
  • Autorizzazioni delegate o proprietà per la condivisione e gli oggetti destinatario ((USE SHARE + SET SHARE PERMISSION) o proprietario della condivisione AND (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. Per i destinatari, vedere Leggere i dati condivisi con Databricks-to-Databricks Delta Sharing (per i 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Aprire la scheda Destinatari .

Sql

Eseguire il comando seguente 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 l'interfaccia della riga di comando di Databricks.

databricks unity-catalog 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 o DATABRICKS).
  • 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Visualizzare i dettagli del destinatario nella scheda Dettagli .

Sql

Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.

DESCRIBE RECIPIENT <recipient-name>;

Cli

Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.

databricks unity-catalog recipients get --name <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 Unity Catalog 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Passare alla scheda Condivisioni per visualizzare l'elenco di condivisioni condivise con il destinatario.

Sql

Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.

SHOW GRANTS TO RECIPIENT <recipient-name>;

Cli

Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.

databricks unity-catalog recipients list-permissions --name <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. Non è possibile aggiornare il nome del destinatario usando Esplora cataloghi.

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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Nella pagina dei dettagli è possibile:
    • Aggiornare il proprietario.

    • Modificare o aggiungere un commento.

    • 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 unity-catalog recipients update --name <recipient-name> --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.

È necessario ruotare le credenziali di un destinatario e generare un nuovo collegamento 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. Fino alla scadenza del token ruotato, il tentativo di ruotare il token restituisce un errore.

Quando si ruota il token di un destinatario, facoltativamente è possibile impostare --existing-token-expire-in-seconds il numero di secondi prima della scadenza del token del destinatario esistente. 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 sia compromesso, Databricks consiglia di forzare la scadenza immediata del token del destinatario esistente.

Se l'URL di attivazione esistente di un destinatario non è mai stato eseguito e il destinatario non è stato ruotato, la rotazione del destinatario invalida l'URL di attivazione esistente e la sostituisce con una nuova.

Se tutti i token del destinatario sono scaduti, la rotazione del destinatario sostituisce l'URL di attivazione esistente con uno nuovo. Databricks consiglia di ruotare o rilasciare tempestivamente un destinatario il cui token è scaduto.

Se un collegamento di attivazione del destinatario viene inviato inavvertitamente alla persona sbagliata o viene inviato tramite un canale non sicuro, Databricks consiglia di:

  1. Revocare l'accesso del destinatario alla condivisione.
  2. Ruotare il destinatario e impostare su --existing-token-expire-in-seconds0.
  3. Condividere il nuovo collegamento di attivazione con il destinatario previsto tramite un canale sicuro.
  4. 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Nella scheda Dettagli , in Scadenza token, fare clic su Ruota.
  5. 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.
  6. Fare clic su Ruota.
  7. 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

  1. Eseguire il comando seguente usando l'interfaccia della riga di comando di Unity Catalog. Gli argomenti tra parentesi quadre sono facoltativi. Sostituire i valori segnaposto:

    • <recipient-name>: nome del destinatario.
    • <expiration-seconds>: facoltativo. Numero di secondi fino alla scadenza del token del destinatario esistente. Durante questo periodo, il token esistente continuerà a funzionare. Un valore indica 0 che il token esistente scade immediatamente. Per consigli su quando scadere i token esistenti, vedere Considerazioni sulla sicurezza per i token.
    databricks unity-catalog rotate-recipient-token \
      --name <recipient-name> \
      [--existing-token-expire-in-seconds <expiration-seconds>]
    
  2. 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

  1. Accedere alla console dell'account.
  2. Nella barra laterale fare clic su Icona catalogoCatalogo.
  3. Fare clic sul nome del metastore.
  4. Abilitare Imposta scadenza.
  5. Immettere un numero di secondi, minuti, ore o giorni e selezionare l'unità di misura.
  6. Fare clic su Abilita.

Se si disabilita Imposta scadenza, i token del destinatario non scadono. Databricks consiglia di configurare i token per la scadenza.

Cli

Creare un file JSON che includa un aggiornamento al valore del delta_sharing_recipient_token_lifetime_in_seconds metastore. Se si imposta questo valore su 0, i token del destinatario non scadono. Databricks consiglia di configurare i token per la scadenza.

{
  "delta_sharing_recipient_token_lifetime_in_seconds": 86400,
}

Eseguire quindi il comando seguente usando l'interfaccia della riga di comando di Databricks. Sostituire 12a345b6-7890-1cd2-3456-e789f0a12b34 con l'UUID del metastore e sostituire update-metastore.json con il nome file del file JSON.

databricks unity-catalog metastores update --id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
  --json-file update-metastore.json

(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:

  1. 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 su Condivisione > differenziale Condivisi da me > Destinatari e selezionando il destinatario.

  2. Fare clic su Modifica proprietà > +Aggiungi proprietà.

  3. 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".

  4. 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 unity-catalog recipients create --name <recipient-name> --property <property-key>=<property-value>

Ad esempio:

databricks unity-catalog recipients create --name acme --property country=us --property partner_id=001

Per aggiungere o modificare proprietà personalizzate per un destinatario esistente, usare update anziché create:

databricks unity-catalog recipients update --name acme --property country=us --property 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

  1. Nell'area di lavoro di Azure Databricks fare clic su Icona catalogoCatalogo.
  2. Nel riquadro sinistro espandere il menu Condivisione differenziale e selezionare Condiviso da me.
  3. Nella scheda Destinatari trovare e selezionare il destinatario.
  4. Fare clic sul Menu Kebab menu kebab (noto anche come menu a tre punti) e selezionare Elimina.
  5. Nella finestra di dialogo di conferma fare clic su Elimina.

Sql

Eseguire il comando seguente in un notebook o nell'editor di query SQL di Databricks.

DROP RECIPIENT [IF EXISTS] <recipient-name>;

Cli

Eseguire il comando seguente usando l'interfaccia della riga di comando di Databricks.

databricks unity-catalog recipients delete --name <recipient-name>