Condividi tramite


Limit catalog l'accesso a aree di lavoro specifiche

Questo articolo introduce il bindingcatalog di area di lavoro e descrive come collegare un Unity Catalogcatalog a un'area di lavoro di Azure Databricks per impedire ad altre aree di lavoro nel tuo account Azure Databricks di accedervi.

Che cos'è l'associazione dicatalog area di lavoro?

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

L'eccezione a questa impostazione predefinita è l'area di lavoro catalog creata automaticamente per tutte le nuove aree di lavoro. Questa area di lavoro catalog è associata 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 nel caso in cui si annulli l'associazione di questa catalog, consultare Annullare l'associazione di un catalog da un'area di lavoro.

È possibile consentire l'accesso in lettura e scrittura al catalog 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 quell'area di lavoro a quel catalog.

I casi d'uso tipici per l'associazione di un catalog 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 percorsi esterni e unità di archiviazione esterne credentials ad aree di lavoro specifiche, limitando la possibilità di accedere ai dati in percorsi esterni 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 associazionecatalog dell'area di lavoro

Si prenda l'esempio di isolamento di produzione e sviluppo. Se si specifica che l'accesso ai dati di produzione catalogs sia consentito solo dalle aree di lavoro di produzione, questo prevale su qualsiasi concessione individuale rilasciata agli utenti.

diagramma di associazione per il workspace Catalog

In questo diagramma è prod_catalog associato a due aree di lavoro di produzione. Supponiamo che a un utente sia stato concesso l'accesso a un table in prod_catalog chiamato 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.

Area di lavoro: le associazionicatalog vengono rispettate in tutte le aree della piattaforma. Ad esempio, se si eseguono query sulle informazioni schema, vengono visualizzate solo le catalogs accessibili nell'area di lavoro where si esegue la query. La derivazione dei dati e le interfacce utente di ricerca mostrano in modo analogo solo i catalogs assegnati all'area di lavoro (se si usano associazioni o per impostazione predefinita).

Associare un catalog a una o più aree di lavoro

Per assegnare un catalog a aree di lavoro specifiche, è possibile usare Catalog Explorer o l'interfaccia della riga di comando di Databricks.

Autorizzazioni necessarie: amministratore Metastore, proprietario catalog , oppure MANAGE e USE CATALOG su catalog.

Nota

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

Esploratore Catalog

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

  2. Fare clic sull'icona CatalogCatalog.

  3. Sul riquadro Catalog a sinistra, fare clic sul nome catalog.

    Per impostazione predefinita, il riquadro principale Catalog Explorer è Catalogslist. È anche possibile select il catalog.

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

    Se il catalog è 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) Limit'accesso all'area di lavoro di sola lettura.

    Nel menu Gestisci livello di accesso selectModificare l'accesso adi sola lettura.

    È possibile invertire questa selezione in qualsiasi momento modificando il catalog e selezionando Cambia accesso da lettura a scrittura &.

Per accedere a revoke, passare alla scheda Aree di lavoro, select l'area di lavoro e fare clic su Revoke.

CLI

Esistono due gruppi di comandi dell'interfaccia della riga di comando di Databricks e due passaggi necessari per assegnare un catalog 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 e all'ID dell'area di lavoro where in cui hai generato il token di accesso personale. Consultare Autenticazione con token di accesso personale di Azure Databricks.

  1. Utilizzare il comando update del gruppo comandi catalogs per set il isolation mode dell’cataloga 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 comando update-bindings del gruppo di comandi workspace-bindings per assegnare le aree di lavoro all'catalog:

    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 proprietà "add" e "remove" per aggiungere o remove i binding dell'area di lavoro. <binding-type> può essere “BINDING_TYPE_READ_WRITE” (impostazione predefinita) o “BINDING_TYPE_READ_ONLY”.

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

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

Dissociare un catalog da un'area di lavoro

Le istruzioni per revocare l'accesso all'area di lavoro di un catalog tramite l'esploratore Catalog o il gruppo di comandi della CLI workspace-bindings sono incluse in Associare un catalog a una o più aree di lavoro.

Importante

Se l'area di lavoro è stata abilitata per Unity Catalog automaticamente e si dispone di un'area di lavoro catalog, gli amministratori dell'area di lavoro sono proprietari di tale catalog e dispongono di tutte le autorizzazioni per tale catalognell'area di lavoro solo. Se si annulla l'associazione che catalog o lo si associa ad altri catalogs, è necessario grant le autorizzazioni necessarie manualmente 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 Tipi di gruppi in Azure Databricks.