Gestire identità, autorizzazioni e privilegi per le pipeline

Le identità, le autorizzazioni e i privilegi controllano chi può eseguire, gestire e interrogare le pipeline e i dati che producono.

Databricks consiglia di usare Unity Catalog per tutte le nuove pipeline. Per impostazione predefinita, le viste materializzate e le tabelle di streaming create dalle pipeline configurate con Unity Catalog possono essere sottoposte a query solo dal proprietario della pipeline. Vedere Usare il catalogo Unity con le pipeline.

Se le pipeline pubblicano set di dati nel metastore Hive legacy, vedere Usare pipeline dichiarative di Lakeflow Spark con metastore Hive legacy.

Per le procedure consigliate generali sulle configurazioni delle identità, vedere Procedure consigliate per le identità.

Quale identità viene utilizzata per effettuare gli aggiornamenti della pipeline?

Le pipeline elaborano gli aggiornamenti utilizzando l'identità dell'utente run-as. Per impostazione predefinita, l'utente Run as è l'autore della pipeline, ma è possibile cambiarlo assegnandolo a un altro utente o a un service principal. Vedere Impostare l'utente run-as.

Databricks consiglia di impostare l'utente «run-as» su un'entità di servizio, in modo che gli aggiornamenti alla pipeline non siano collegati all'account di un singolo utente. Vedi Principali del servizio.

Chi può gestire un aggiornamento della pipeline?

Gli aggiornamenti della pipeline possono essere eseguiti da qualsiasi utente o entità servizio con autorizzazioni CAN RUN, CAN MANAGE o IS OWNER.

Chi può visualizzare una pipeline e il relativo output?

Per aprire una pipeline e visualizzarne i dettagli, un utente deve disporre almeno dell'autorizzazione CAN VIEW per la pipeline. Per l'elenco completo dei livelli di autorizzazione della pipeline e delle capacità concesse, vedere ACL dichiarativi di Lakeflow Spark.

Per visualizzare la pipeline che esegue il backup di una tabella di streaming o di una vista materializzata, un utente non amministratore necessita anche del REFRESH privilegio per tale tabella di streaming o vista materializzata, oltre alle relative autorizzazioni per la pipeline. Senza il REFRESH privilegio, l'URL della pipeline mostra Pipeline non disponibile.

Configurare le autorizzazioni della pipeline

Per gestire le autorizzazioni, è necessario disporre dell'autorizzazione CAN MANAGE o IS OWNER per la pipeline. Le pipeline usano elenchi di controllo di accesso (ACL) per controllare le autorizzazioni. Per un elenco completo delle autorizzazioni e delle relative capacità, vedere ACL dichiarativi di Lakeflow Spark.

  1. Nella barra laterale fare clic su Processi e pipeline.
  2. Selezionare il nome di una pipeline.
  3. Fare clic su Condividi. Verrà visualizzata la finestra di dialogo Impostazioni autorizzazioni .
  4. Fare clic su Seleziona utente, gruppo o entità servizio e selezionare un utente, un gruppo o un'entità servizio.
  5. Selezionare un'autorizzazione dal menu a discesa delle autorizzazioni.
  6. Fare clic su Aggiungi.
  7. Fare clic su Salva.

Modificare il proprietario della pipeline

Per impostazione predefinita, il proprietario della pipeline è anche l'utente run-as con cui vengono eseguiti gli aggiornamenti della pipeline. La modifica del proprietario modifica l'identità usata per gli aggiornamenti futuri.

Se si desidera modificare l'identità con cui vengono eseguiti gli aggiornamenti della pipeline senza cambiare il proprietario, impostare invece l'utente run-as. Vedere Impostare l'utente run-as.

Per modificare il proprietario di una pipeline, è necessario essere sia un amministratore del metastore che un amministratore dell'area di lavoro. Modificare il proprietario usando l'interfaccia utente o l'API REST.

Usare l'interfaccia utente

  1. Nella barra laterale fare clic su Processi e pipeline.
  2. Selezionare il nome della pipeline.
  3. Fare clic su Condividi. Verrà visualizzata la finestra di dialogo Impostazioni autorizzazioni .
  4. Deselezionare il proprietario corrente, quindi selezionare il nuovo proprietario. Il proprietario può essere un utente o un'entità di servizio. Databricks consiglia un service principal. Vedi Principali del servizio.
  5. Fare clic su Salva.

Usare l'API REST

Se il controllo proprietario non è disponibile nell'interfaccia utente, ad esempio per alcune pipeline gestite internamente, modificare il proprietario con l'operazione Imposta autorizzazioni pipeline API REST. Specificare il user_name del nuovo proprietario (o service_principal_name per un'entità servizio) con il livello di autorizzazione IS_OWNER:

{
  "access_control_list": [
    {
      "user_name": "new.owner@example.com",
      "permission_level": "IS_OWNER"
    }
  ]
}

Se nessun utente è al contempo amministratore del metastore e amministratore dell'area di lavoro

Se nessuno nella tua organizzazione è contemporaneamente amministratore del metastore e amministratore dell'area di lavoro, contatta il tuo referente Databricks per modificare il proprietario della pipeline.

Consentire agli utenti non amministratori di visualizzare i log dei driver da una pipeline abilitata per Unity Catalog.

Per impostazione predefinita, solo il proprietario della pipeline e gli amministratori dell'area di lavoro possono visualizzare i log del driver dal cluster che esegue una pipeline abilitata per Unity Catalog. È possibile abilitare l'accesso ai log dei driver per qualsiasi utente con autorizzazioni CAN MANAGE, CAN VIEW o CAN RUN aggiungendo il parametro di configurazione Spark seguente all'oggetto configuration nelle impostazioni della pipeline:

{
  "configuration": {
    "spark.databricks.acl.needAdminPermissionToViewLogs": "false"
  }
}