Condividi tramite


Entità servizio per CI/CD

Questo articolo descrive come usare le entità servizio per CI/CD con Azure Databricks. Un'entità servizio è un'identità creata per l'uso con strumenti e applicazioni automatizzati, tra cui:

Come procedura consigliata per la sicurezza, Databricks consiglia di usare un'entità servizio e il relativo token anziché l'utente di Azure Databricks o il token di accesso personale di Databricks per consentire all'utente dell'area di lavoro di concedere alle piattaforme CI/CD l'accesso alle risorse di Azure Databricks. Alcuni vantaggi di questo approccio includono i seguenti:

  • È possibile concedere e limitare l'accesso alle risorse di Azure Databricks per un'entità servizio indipendentemente da un utente. Ad esempio, ciò consente di impedire a un'entità servizio di agire come amministratore nell'area di lavoro di Azure Databricks, consentendo comunque ad altri utenti specifici dell'area di lavoro di continuare a fungere da amministratori.
  • Gli utenti possono proteggere i token di accesso dalle piattaforme CI/CD.
  • È possibile disabilitare o eliminare temporaneamente un'entità servizio senza influire sugli altri utenti. Ad esempio, ciò consente di sospendere o rimuovere l'accesso da un'entità servizio che si sospetta venga usata in modo dannoso.
  • Se un utente lascia l'organizzazione, è possibile rimuovere l'utente senza alcun impatto sull'entità servizio.

Per concedere a una piattaforma CI/CD l'accesso all'area di lavoro di Azure Databricks, eseguire le operazioni seguenti:

  1. Creare un'entità servizio gestita di Azure Databricks o un'entità servizio gestita di Microsoft Entra ID.
  2. Generare un token OAuth di Azure Databricks o un token ID Microsoft Entra per l'entità servizio gestita di Azure Databricks o l'entità servizio gestita di Microsoft Entra ID, a seconda dei tipi di token di accesso supportati dalla piattaforma CI/CD. Per altre informazioni, vedere la documentazione della piattaforma CI/CD.
  3. Assegnare questo token OAuth di Azure Databricks o il token ID Microsoft Entra alla piattaforma CI/CD.

Per completare i passaggi da 1 a 2, vedere Gestire le entità servizio.

Per completare il passaggio 3, completare le istruzioni in questo articolo.

Facoltativamente, se si vuole usare anche l'area di lavoro di Azure Databricks con le cartelle Git di Azure Databricks in uno scenario di piattaforma CI/CD, vedere Aggiungere credenziali del provider Git a un'area di lavoro di Azure Databricks. Ad esempio, è possibile che il provider Git accinga all'area di lavoro e si voglia usare anche le cartelle Git di Azure Databricks nell'area di lavoro con il provider Git. Non è tuttavia necessario usare le cartelle Git di Azure Databricks per usare l'area di lavoro con piattaforme CI/CD.

Requisiti

  • Token OAuth di Azure Databricks o token ID Microsoft Entra per un'entità servizio gestita di Azure Databricks o un'entità servizio gestita da Microsoft Entra ID. Per creare un'entità servizio gestita di Azure Databricks o un'entità servizio gestita di Microsoft Entra ID e il relativo token OAuth di Azure Databricks o token ID Microsoft Entra, vedere Gestire le entità servizio.
  • Un account con il provider Git.

Configurare GitHub Actions

GitHub Actions deve essere in grado di accedere all'area di lavoro di Azure Databricks. Se si vogliono usare le cartelle Git di Azure Databricks, l'area di lavoro deve anche essere in grado di accedere a GitHub.

Per consentire a GitHub Actions di accedere all'area di lavoro di Azure Databricks, è necessario fornire informazioni sull'entità servizio gestita di Azure Databricks o sull'entità servizio gestita di Microsoft Entra ID in GitHub Actions. Può includere informazioni quali l'ID applicazione (client), l'ID directory (tenant) per un'entità servizio gestita di Microsoft Entra ID, l'entità servizio gestita di Azure Databricks o il segreto client dell'entità servizio gestita di Microsoft Entra ID o il access_token valore per un'entità servizio gestita di Azure Databricks, a seconda dei requisiti di GitHub Action. Per altre informazioni, vedere Gestire le entità servizio e la documentazione di GitHub Action.

Se si vuole anche abilitare l'area di lavoro di Azure Databricks per accedere a GitHub quando si usano le cartelle Git di Azure Databricks, è necessario aggiungere il token di accesso personale gitHub per un utente del computer GitHub all'area di lavoro.

Fornire informazioni sull'entità servizio a GitHub Actions

Questa sezione descrive come abilitare GitHub Actions per accedere all'area di lavoro di Azure Databricks.

Come procedura consigliata per la sicurezza, Databricks consiglia di non immettere informazioni sull'entità servizio direttamente nel corpo di un file GitHub Actions. È consigliabile fornire queste informazioni a GitHub Actions usando invece i segreti crittografati di GitHub.

GitHub Actions, ad esempio quelli elencati da Databricks nell'integrazione e nel recapito continui con GitHub Actions, si basano su vari segreti crittografati di GitHub, ad esempio:

  • DATABRICKS_HOST, che è il valore https:// seguito dal nome dell'istanza dell'area di lavoro, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • AZURE_CREDENTIALS, ovvero un documento JSON che rappresenta l'output dell'esecuzione dell'interfaccia della riga di comando di Azure per ottenere informazioni su un'entità servizio gestita con ID Microsoft Entra. Per altre informazioni, vedere la documentazione per GitHub Action.
  • AZURE_SP_APPLICATION_ID, ovvero il valore dell'ID applicazione (client) per un'entità servizio gestita con ID Microsoft Entra.
  • AZURE_SP_TENANT_ID, ovvero il valore dell'ID directory (tenant) per un'entità servizio gestita con ID Microsoft Entra.
  • AZURE_SP_CLIENT_SECRET, ovvero il valore del valore del segreto client per un'entità servizio gestita dell'ID Microsoft Entra.

Per altre informazioni sui segreti crittografati di GitHub necessari per un'azione GitHub, vedere Gestire le entità servizio e la documentazione relativa a GitHub Action.

Per aggiungere questi segreti crittografati di GitHub al repository GitHub, vedere Creazione di segreti crittografati per un repository nella documentazione di GitHub. Per altri approcci per aggiungere questi segreti del repository GitHub, vedere Segreti crittografati nella documentazione di GitHub.

Aggiungere il token di accesso personale gitHub per un utente del computer GitHub all'area di lavoro di Azure Databricks

Questa sezione descrive come abilitare l'area di lavoro di Azure Databricks per accedere a GitHub con le cartelle Git di Azure Databricks. Si tratta di un'attività facoltativa negli scenari CI/CD.

Come procedura consigliata per la sicurezza, Databricks consiglia di usare gli utenti del computer GitHub anziché gli account personali di GitHub, per molti degli stessi motivi per cui è consigliabile usare un'entità servizio anziché un utente di Azure Databricks. Per aggiungere il token di accesso personale GitHub per un utente del computer GitHub all'area di lavoro di Azure Databricks, eseguire le operazioni seguenti:

  1. Creare un utente del computer GitHub, se non ne è già disponibile uno. Un utente del computer GitHub è un account personale GitHub, separato dal proprio account personale GitHub, che è possibile usare per automatizzare l'attività in GitHub. Creare un nuovo account GitHub separato da usare come utente del computer GitHub, se non ne è già disponibile uno.

    Nota

    Quando si crea un nuovo account GitHub separato come utente del computer GitHub, non è possibile associarlo all'indirizzo di posta elettronica per il proprio account personale GitHub. Vedere invece l'amministratore di posta elettronica dell'organizzazione per ottenere un indirizzo di posta elettronica separato che è possibile associare a questo nuovo account GitHub separato come utente del computer GitHub.

    Vedere l'amministratore dell'account dell'organizzazione sulla gestione dell'indirizzo di posta elettronica separato e dell'utente del computer GitHub associato e dei relativi token di accesso personali GitHub all'interno dell'organizzazione.

  2. Concedere all'utente del computer GitHub l'accesso al repository GitHub. Vedere Invito di un team o di una persona nella documentazione di GitHub. Per accettare l'invito, potrebbe essere necessario disconnettersi dall'account personale GitHub e quindi accedere di nuovo come utente del computer GitHub.

  3. Accedere a GitHub come utente del computer e quindi creare un token di accesso personale GitHub per l'utente del computer. Vedere Creare un token di accesso personale nella documentazione di GitHub. Assicurarsi di concedere all'accesso al repository del token di accesso personale gitHub.

  4. Raccogliere il token ID Microsoft Entra per l'entità servizio, il nome utente del computer GitHub e quindi aggiungere le credenziali del provider Git a un'area di lavoro di Azure Databricks.

Configurare Azure Pipelines

Azure Pipelines deve essere in grado di accedere all'area di lavoro di Azure Databricks. Se si vogliono usare anche le cartelle Git di Azure Databricks, l'area di lavoro deve essere in grado di accedere ad Azure Pipelines.

I file di pipeline YAML di Azure Pipelines si basano sulle variabili di ambiente per accedere all'area di lavoro di Azure Databricks. Queste variabili di ambiente includono quelle come:

  • DATABRICKS_HOST, che è il valore https:// seguito dal nome dell'istanza dell'area di lavoro, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, che è il valore del token_value valore copiato dopo aver creato il token ID Microsoft Entra per l'entità servizio gestita di Microsoft Entra ID.

Per aggiungere queste variabili di ambiente alla pipeline di Azure, vedere Usare i segreti chiave di Azure Key Value in Azure Pipelines e Impostare le variabili segrete nella documentazione di Azure.

Vedere anche il blog di Databricks seguente:

Facoltativo per gli scenari CI/CD: se l'area di lavoro usa cartelle Git di Azure Databricks e si vuole consentire all'area di lavoro di accedere ad Azure Pipelines, raccogliere:

  • Token ID Microsoft Entra per l'entità servizio
  • Nome utente di Azure Pipelines

Aggiungere quindi le credenziali del provider Git a un'area di lavoro di Azure Databricks.

Configurare GitLab CI/CD

GitLab CI/CD deve essere in grado di accedere all'area di lavoro di Azure Databricks. Se si vogliono usare anche le cartelle Git di Azure Databricks, l'area di lavoro deve essere in grado di accedere a GitLab CI/CD.

Per accedere all'area di lavoro di Azure Databricks, i file CI/CD .gitlab-ci.yml di GitLab, ad esempio quelli inclusi nel modello Python di base in dbx, si basano su variabili CI/CD personalizzate, ad esempio:

  • DATABRICKS_HOST, che è il valore https:// seguito dal nome dell'istanza dell'area di lavoro, ad esempio adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, ovvero il valore del token_value valore copiato dopo aver creato il token ID Microsoft Entra per l'entità servizio.

Per aggiungere queste variabili personalizzate al progetto CI/CD di GitLab, vedere Aggiungere una variabile CI/CD a un progetto nella documentazione di GitLab CI/CD.

Se l'area di lavoro usa cartelle Git di Databricks e si vuole abilitare l'area di lavoro per accedere a GitLab CI/CD, raccogliere:

  • Token ID Microsoft Entra per l'entità servizio
  • Nome utente CI/CD di GitLab

Aggiungere quindi le credenziali del provider Git a un'area di lavoro di Azure Databricks.

Aggiungere le credenziali del provider Git a un'area di lavoro di Azure Databricks

Questa sezione descrive come abilitare l'area di lavoro di Azure Databricks per accedere a un provider Git per le cartelle Git di Azure Databricks. Questa opzione è facoltativa negli scenari CI/CD. Ad esempio, è possibile che il provider Git accechi solo l'area di lavoro di Azure Databricks, ma non si vogliono usare anche le cartelle Git di Azure Databricks nell'area di lavoro con il provider Git. In tal caso, ignorare questa sezione.

Prima di iniziare, raccogliere le informazioni e gli strumenti seguenti:

  • Token ID Microsoft Entra per l'entità servizio.
  • Nome utente associato al provider Git.
  • Token di accesso associato all'utente per il provider Git.

Nota

Per Azure Pipelines, vedere Usare i token di accesso personale nel sito Web di Azure.

  • Interfaccia della riga di comando di Databricks versione 0.205 o successiva. Vedere Che cos'è l'interfaccia della riga di comando di Databricks?. Non è possibile usare l'interfaccia utente di Azure Databricks.
  • Un profilo di configurazione di Azure Databricks nel .databrickscfg file, con i campi del profilo impostati correttamente per l'URL correlato host che rappresenta l'URL di Azure Databricks per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net, e token che rappresenta il token ID Microsoft Entra per l'entità servizio. Non usare il token di accesso personale di Databricks per l'utente dell'area di lavoro. Vedere Autenticazione del token di accesso personale di Azure Databricks.

Usare l'interfaccia della riga di comando di Databricks per eseguire il comando seguente:

databricks git-credentials create <git-provider-short-name> --git-username <git-provider-user-name> --personal-access-token <git-provider-access-token> -p <profile-name>
  • Usare uno dei valori seguenti per <git-provider-short-name>:
    • Per GitHub usare GitHub.
    • Per Azure Pipelines usare AzureDevOpsServices.
    • Per GitLab CI/CD, usare GitLab.
  • Sostituire <git-provider-user-name> con il nome utente associato al provider Git.
  • Sostituire <git-provider-access-token> con il token di accesso associato all'utente per il provider Git.
  • Sostituire <profile-name> con il nome del profilo di configurazione di Azure Databricks nel .databrickscfg file.

Suggerimento

Per verificare che la chiamata sia riuscita, è possibile eseguire uno dei comandi dell'interfaccia della riga di comando di Databricks seguenti ed esaminare l'output:

databricks git-credentials list -p <profile-name>
databricks git-credentials get <credential-id> -p <profile-name>