Ambiti dei segreti

La gestione dei segreti inizia con la creazione di un ambito segreto. Un ambito segreto è una raccolta di segreti identificati da un nome.

Un'area di lavoro è limitata a un massimo di 1000 ambiti segreti. Se necessario, contattare il team di supporto di Azure Databricks.

Nota

Databricks consiglia di allineare gli ambiti dei segreti ai ruoli o alle applicazioni anziché ai singoli utenti.

Panoramica

Esistono due tipi di ambito del segreto, ovvero basato su Azure Key Vault e basato su Databricks.

Ambiti supportati da Azure Key Vault

Per fare riferimento ai segreti archiviati in un insieme di credenziali delle chiavi di Azure, è possibile creare un ambito segreto supportato da Azure Key Vault. È quindi possibile sfruttare tutti i segreti nell'istanza di Key Vault corrispondente dall'ambito del segreto. Poiché l'ambito del segreto supportato da Azure Key Vault è un'interfaccia di sola lettura per l'insieme di credenziali delle chiavi, le PutSecret operazioni dell'API segreti e DeleteSecretnon sono consentite. Per gestire i segreti in Azure Key Vault, è necessario usare l'API REST set secret di Azure o l'interfaccia utente di portale di Azure.

Ambiti supportati da Databricks

Un ambito del segreto basato su Databricks viene archiviato in un database crittografato che appartiene e viene gestito da Azure Databricks. Nome dell'ambito del segreto:

  • Deve essere univoco all'interno di un'area di lavoro.
  • Deve essere costituito da caratteri alfanumerici, trattini, caratteri di sottolineatura, @punti e e non può superare i 128 caratteri.

I nomi sono considerati non sensibili e sono leggibili da tutti gli utenti nell'area di lavoro.

Si crea un ambito segreto supportato da Databricks usando l'interfaccia della riga di comando di Databricks (versione 0.205 e successive). In alternativa, è possibile usare l'API Segreti.

Autorizzazioni per l'ambito

Gli ambiti vengono creati con autorizzazioni controllate dagli ACL dei segreti. Per impostazione predefinita, gli ambiti vengono creati con l'autorizzazione MANAGE per l'utente che ha creato l'ambito (creatore), che consente all'autore di leggere i segreti nell'ambito, scrivere segreti nell'ambito e modificare gli ACL per l'ambito. Se l'account ha il piano Premium, è possibile assegnare autorizzazioni granulari in qualsiasi momento dopo aver creato l'ambito. Per informazioni dettagliate, vedere ACL dei segreti.

È anche possibile eseguire l'override dell'impostazione predefinita e concedere in modo esplicito l'autorizzazione MANAGE a tutti gli utenti quando si crea l'ambito. Infatti, devi farlo se il tuo account non ha il piano Premium.

Nota

Gli ACL dei segreti sono a livello di ambito. Se si usano ambiti supportati da Azure Key Vault, gli utenti a cui viene concesso l'accesso all'ambito hanno accesso a tutti i segreti nell'insieme di credenziali delle chiavi di Azure. Per limitare l'accesso, usare istanze separate di Azure Key Vault.

Creare un ambito segreto supportato da Azure Key Vault

Questa sezione descrive come creare un ambito segreto supportato da Azure Key Vault usando il portale di Azure e l'interfaccia utente dell'area di lavoro di Azure Databricks. È anche possibile creare un ambito segreto supportato da Azure Key Vault usando l'interfaccia della riga di comando di Databricks.

Requisiti

  • È necessario avere il ruolo Collaboratore, Collaboratore o Proprietario di Key Vault nell'istanza di Azure Key Vault che si vuole usare per ripristinare l'ambito del segreto.

    Se non si dispone di un'istanza dell'insieme di credenziali delle chiavi, seguire le istruzioni in Creare un insieme di credenziali delle chiavi usando il portale di Azure.

    Nota

    La creazione di un ambito segreto supportato da Azure Key Vault richiede il ruolo Collaboratore o Proprietario nell'istanza di Azure Key Vault anche se il servizio Azure Databricks ha precedentemente concesso l'accesso all'insieme di credenziali delle chiavi.

    Se l'insieme di credenziali delle chiavi esiste in un tenant diverso rispetto all'area di lavoro di Azure Databricks, l'utente di Azure AD che crea l'ambito segreto deve avere l'autorizzazione per creare entità servizio nel tenant dell'insieme di credenziali delle chiavi. In caso contrario, si verifica l'errore seguente:

    Unable to grant read/list permission to Databricks service principal to KeyVault 'https://xxxxx.vault.azure.net/': Status code 403, {"odata.error":{"code":"Authorization_RequestDenied","message":{"lang":"en","value":"Insufficient privileges to complete the operation."},"requestId":"XXXXX","date":"YYYY-MM-DDTHH:MM:SS"}}
    

Configurare l'istanza di Azure Key Vault per Azure Databricks

  1. Accedere al portale di Azure e selezionare l'istanza di Azure Key Vault.

  2. Selezionare la scheda Configurazione di accesso in Impostazioni.

  3. Impostare Il modello di autorizzazione su Criteri di accesso dell'insieme di credenziali.

    Nota

    La creazione di un ruolo di ambito segreto supportato da Azure Key Vault concede le autorizzazioni Get e List all'ID applicazione per il servizio Azure Databricks usando i criteri di accesso dell'insieme di credenziali delle chiavi. Il modello di autorizzazione per il controllo degli accessi in base al ruolo di Azure non è attualmente supportato con Azure Databricks.

  4. Selezionare la scheda Rete in Impostazioni.

  5. In Firewall e reti virtuali impostare Consenti l'accesso da: per Consentire l'accesso pubblico da reti virtuali e indirizzi IP specifici.

    In Eccezione selezionare Consenti alle servizi Microsoft attendibili di ignorare il firewall.

    Nota

    È anche possibile impostare Consenti l'accesso da: per Consentire l'accesso pubblico da tutte le reti.

Creare un ambito dei segreti supportato da Azure Key Vault

  1. Vai a https://<databricks-instance>#secrets/createScope. Sostituire <databricks-instance> con l'URL dell'area di lavoro della distribuzione di Azure Databricks. Questo URL fa distinzione tra maiuscole e minuscole.L'ambito in createScope deve essere maiuscolo.

    Creare l'ambito

  2. Immettere il nome dell'ambito del segreto. I nomi degli ambiti dei segreti non fanno distinzione tra maiuscole e minuscole.

  3. Usare l'elenco a discesa Gestisci entità per specificare se tutti gli utenti dispongono dell'autorizzazione MANAGE per questo ambito segreto o solo l'autore dell'ambito del segreto, ad esempio l'utente.

    L'autorizzazione MANAGE consente agli utenti di leggere e scrivere in questo ambito segreto e, nel caso di account nel piano Premium, di modificare le autorizzazioni per l'ambito.

    Per poter selezionare Creator, l'account deve avere il piano Premium. Questo è l'approccio consigliato: concedere l'autorizzazione MANAGE al creatore quando si crea l'ambito del segreto e quindi assegnare autorizzazioni di accesso più granulari dopo aver testato l'ambito. Per un flusso di lavoro di esempio, vedere Esempio di flusso di lavoro segreto.

    Se l'account ha il piano standard, è necessario impostare l'autorizzazione MANAGE sul gruppo "Tutti gli utenti". Se si seleziona Creator qui, verrà visualizzato un messaggio di errore quando si tenta di salvare l'ambito.

    Per altre informazioni sull'autorizzazione MANAGE, vedere ACL dei segreti.

  4. Immettere il nome DNS (ad esempio, https://databrickskv.vault.azure.net/) e l'ID risorsa, ad esempio:

    /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/databricks-rg/providers/Microsoft.KeyVault/vaults/databricksKV
    

    Queste proprietà sono disponibili nella scheda Proprietà di un insieme di credenziali delle chiavi di Azure nel portale di Azure.

    Scheda Proprietà di Azure Key Vault

  5. Fare clic sul pulsante Crea.

  6. Usare il comando dell'interfaccia della riga di comando di Databricksdatabricks secrets list-scopes per verificare che l'ambito sia stato creato correttamente.

Creare un ambito segreto supportato da Databricks

I nomi degli ambiti dei segreti non fanno distinzione tra maiuscole e minuscole.

Per creare un ambito usando l'interfaccia della riga di comando di Databricks:

databricks secrets create-scope <scope-name>

Per impostazione predefinita, gli ambiti vengono creati con l'autorizzazione MANAGE per l'utente che ha creato l'ambito. Se l'account non ha il piano Premium, è necessario eseguire l'override di tale impostazione predefinita e concedere in modo esplicito l'autorizzazione MANAGE a "utenti" (tutti gli utenti) quando si crea l'ambito:

databricks secrets create-scope <scope-name> --initial-manage-principal users

È anche possibile creare un ambito segreto supportato da Databricks usando l'API Segreti.

Se l'account ha il piano Premium, è possibile modificare le autorizzazioni in qualsiasi momento dopo aver creato l'ambito. Per informazioni dettagliate, vedere ACL dei segreti.

Dopo aver creato un ambito segreto supportato da Databricks, è possibile aggiungere segreti.

Elencare gli ambiti dei segreti

Per elencare gli ambiti esistenti in un'area di lavoro usando l'interfaccia della riga di comando:

databricks secrets list-scopes

È anche possibile elencare gli ambiti esistenti usando l'API Segreti.

Eliminare un ambito dei segreti

L'eliminazione di un ambito segreto elimina tutti i segreti e gli elenchi di controllo di accesso applicati all'ambito. Per eliminare un ambito usando l'interfaccia della riga di comando, eseguire quanto segue:

databricks secrets delete-scope <scope-name>

È anche possibile eliminare un ambito segreto usando l'API Segreti.