Condividi tramite


Limitare l'accesso al catalogo a aree di lavoro specifiche

Questo articolo presenta l'associazione del catalogo dell'area di lavoro e descrive come associare un catalogo unity a un'area di lavoro di Azure Databricks per impedire l'accesso ad altre aree di lavoro nell'account Azure Databricks.

Che cos'è l'associazione del catalogo dell'area di lavoro?

Se si usano aree di lavoro per isolare l'accesso ai dati utente, è possibile limitare l'accesso al catalogo a aree di lavoro specifiche nell'account, noto anche come associazione del catalogo dell'area di lavoro. L'impostazione predefinita consiste nel condividere il catalogo con tutte le aree di lavoro collegate al metastore corrente.

L'eccezione a questa impostazione predefinita è il catalogo dell'area di lavoro creato automaticamente per tutte le nuove aree di lavoro. Questo catalogo di aree di lavoro è associato solo all'area di lavoro, a meno che non si scelga di concedere ad altre aree di lavoro l'accesso. Per informazioni importanti sull'assegnazione delle autorizzazioni se si annulla l'associazione di questo catalogo, vedere Annullare l'associazione di un catalogo da un'area di lavoro.

È possibile consentire l'accesso in lettura e scrittura al catalogo da un'area di lavoro oppure specificare l'accesso in sola lettura. Se si specifica di sola lettura, tutte le operazioni di scrittura vengono bloccate da tale area di lavoro a tale catalogo.

I casi d'uso tipici per l'associazione di un catalogo a aree di lavoro specifiche includono:

  • Garantire che gli utenti possano accedere solo ai dati di produzione da un ambiente dell'area di lavoro di produzione.
  • Garantire che gli utenti possano elaborare solo i dati sensibili da un'area di lavoro dedicata.
  • Concedere agli utenti l'accesso in sola lettura ai dati di produzione da un'area di lavoro per sviluppatori per abilitare lo sviluppo e il test.

Nota

È anche possibile associare posizioni esterne e credenziali di archiviazione a aree di lavoro specifiche, limitando la possibilità di accedere ai dati in posizioni esterne agli utenti con privilegi in tali aree di lavoro. Vedere (Facoltativo) Assegnare una posizione esterna a aree di lavoro specifiche e (facoltativo) Assegnare credenziali di archiviazione a aree di lavoro specifiche.

Esempio di associazione del catalogo dell'area di lavoro

Si prenda l'esempio di isolamento di produzione e sviluppo. Se si specifica che i cataloghi dati di produzione possono essere accessibili solo dalle aree di lavoro di produzione, vengono sostituite tutte le singole concessioni rilasciate agli utenti.

Diagramma di associazione dell'area di lavoro del catalogo

In questo diagramma è prod_catalog associato a due aree di lavoro di produzione. Si supponga che a un utente sia stato concesso l'accesso a una tabella in prod_catalog chiamata my_table (usando GRANT SELECT ON my_table TO <user>). Se l'utente tenta di accedere my_table all'area di lavoro Sviluppo, viene visualizzato un messaggio di errore. L'utente può accedere my_table solo dalle aree di lavoro Prod ETL e Prod Analytics.

Le associazioni del catalogo dell'area di lavoro vengono rispettate in tutte le aree della piattaforma. Ad esempio, se si esegue una query sullo schema delle informazioni, vengono visualizzati solo i cataloghi accessibili nell'area di lavoro in cui si esegue la query. La derivazione dei dati e le interfacce utente di ricerca mostrano in modo analogo solo i cataloghi assegnati all'area di lavoro (se si usano associazioni o per impostazione predefinita).

Associare un catalogo a una o più aree di lavoro

Per assegnare un catalogo a aree di lavoro specifiche, è possibile usare Esplora cataloghi o l'interfaccia della riga di comando di Databricks.

Autorizzazioni necessarie: amministratore metastore o proprietario del catalogo.

Nota

Gli amministratori metastore possono visualizzare tutti i cataloghi in un metastore usando Esplora cataloghi e i proprietari del catalogo possono visualizzare tutti i cataloghi di cui sono proprietari in un metastore, indipendentemente dal fatto che il catalogo sia assegnato all'area di lavoro corrente. I cataloghi non assegnati all'area di lavoro vengono visualizzati in grigio e nessun oggetto figlio è visibile o su cui è possibile eseguire query.

Esplora cataloghi

  1. Accedere a un'area di lavoro collegata al metastore.

  2. Fare clic su Icona catalogo Catalogo.

  3. Nel riquadro Catalogo, a sinistra, fare clic sul nome del catalogo.

    Per impostazione predefinita, il riquadro principale esplora cataloghi è l'elenco Cataloghi . È anche possibile selezionare il catalogo.

  4. Nella scheda Aree di lavoro deselezionare la casella di controllo Tutte le aree di lavoro hanno accesso.

    Se il catalogo è già associato a una o più aree di lavoro, questa casella di controllo è già deselezionata.

  5. Fare clic su Assegna alle aree di lavoro e immettere o trovare le aree di lavoro da assegnare.

  6. (Facoltativo) Limitare l'accesso all'area di lavoro in sola lettura.

    Scegliere Cambia accesso in sola lettura dal menu Gestisci livello di accesso.

    È possibile invertire questa selezione in qualsiasi momento modificando il catalogo e selezionando Modifica l'accesso alla lettura e scrittura.

Per revocare l'accesso, passare alla scheda Aree di lavoro , selezionare l'area di lavoro e fare clic su Revoca.

CLI

Esistono due gruppi di comandi dell'interfaccia della riga di comando di Databricks e due passaggi necessari per assegnare un catalogo a un'area di lavoro.

Negli esempi seguenti sostituire <profile-name> con il nome del profilo di configurazione dell'autenticazione di Azure Databricks. Deve includere il valore di un token di accesso personale, oltre al nome dell'istanza dell'area di lavoro e all'ID dell'area di lavoro in cui è stato generato il token di accesso personale. Vedere Autenticazione del token di accesso personale di Azure Databricks.

  1. Usare il catalogs comando del gruppo di update comandi per impostare il catalogo isolation mode su ISOLATED:

    databricks catalogs update <my-catalog> \
    --isolation-mode ISOLATED \
    --profile <profile-name>
    

    L'impostazione predefinita isolation-mode è OPEN tutte le aree di lavoro collegate al metastore.

  2. Usare il workspace-bindings comando del gruppo di update-bindings comandi per assegnare le aree di lavoro al catalogo:

    databricks workspace-bindings update-bindings catalog <my-catalog> \
    --json '{
      "add": [{"workspace_id": <workspace-id>, "binding_type": <binding-type>}...],
      "remove": [{"workspace_id": <workspace-id>, "binding_type": "<binding-type>}...]
    }' --profile <profile-name>
    

    Usare le "add" proprietà e "remove" per aggiungere o rimuovere associazioni dell'area di lavoro. <binding-type> può essere “BINDING_TYPE_READ_WRITE” (impostazione predefinita) o “BINDING_TYPE_READ_ONLY”.

Per elencare tutte le assegnazioni dell'area di lavoro per un catalogo, usare il workspace-bindings comando del gruppo di get-bindings comandi:

databricks workspace-bindings get-bindings catalog <my-catalog> \
--profile <profile-name>

Annullare l'associazione di un catalogo da un'area di lavoro

Le istruzioni per revocare l'accesso all'area di lavoro a un catalogo tramite Esplora cataloghi o il gruppo di comandi dell'interfaccia della workspace-bindings riga di comando sono incluse in Associare un catalogo a una o più aree di lavoro.

Importante

Se l'area di lavoro è stata abilitata automaticamente per Unity Catalog e si dispone di un catalogo dell'area di lavoro, gli amministratori dell'area di lavoro possiedono tale catalogo e dispongono di tutte le autorizzazioni per tale catalogo solo nell'area di lavoro. Se il catalogo viene scollegato o associato ad altri cataloghi, è necessario concedere manualmente le autorizzazioni necessarie ai membri del gruppo di amministratori dell'area di lavoro come singoli utenti o usando gruppi a livello di account, perché il gruppo di amministratori dell'area di lavoro è un gruppo locale dell'area di lavoro. Per altre informazioni sui gruppi di account e sui gruppi locali dell'area di lavoro, vedere Differenza tra gruppi di account e gruppi locali dell'area di lavoro.