Share via


Tjänstens huvudnamn för CI/CD

Den här artikeln beskriver hur du använder tjänstens huvudnamn för CI/CD med Azure Databricks. Ett huvudnamn för tjänsten är en identitet som skapats för användning med automatiserade verktyg och program, inklusive:

Som bästa säkerhet rekommenderar Databricks att du använder ett huvudnamn för tjänsten och dess token i stället för din Azure Databricks-användare eller din personliga Databricks-åtkomsttoken för din arbetsyteanvändare för att ge CI/CD-plattformar åtkomst till Azure Databricks-resurser. Några fördelar med den här metoden är följande:

  • Du kan bevilja och begränsa åtkomsten till Azure Databricks-resurser för ett huvudnamn för tjänsten oberoende av en användare. På så sätt kan du till exempel förhindra att tjänstens huvudnamn fungerar som administratör på din Azure Databricks-arbetsyta samtidigt som andra specifika användare på arbetsytan kan fortsätta att fungera som administratörer.
  • Användare kan skydda sina åtkomsttoken från att nås av CI/CD-plattformar.
  • Du kan tillfälligt inaktivera eller permanent ta bort ett huvudnamn för tjänsten utan att påverka andra användare. På så sätt kan du till exempel pausa eller ta bort åtkomst från ett huvudnamn för tjänsten som du misstänker används på ett skadligt sätt.
  • Om en användare lämnar organisationen kan du ta bort användaren utan att påverka tjänstens huvudnamn.

Gör följande för att ge en CI/CD-plattform åtkomst till din Azure Databricks-arbetsyta:

  1. Skapa ett huvudnamn för en hanterad Azure Databricks-tjänst eller ett Microsoft Entra ID-hanterat tjänsthuvudnamn.
  2. Generera en Azure Databricks OAuth-token eller Microsoft Entra-ID-token för den hanterade Tjänstens huvudnamn för Azure Databricks eller Tjänstens huvudnamn för Microsoft Entra-ID, beroende på vilka typer av åtkomsttoken som CI/CD-plattformen stöder. Mer information finns i dokumentationen för CI/CD-plattformen.
  3. Ge denna Azure Databricks OAuth-token eller Microsoft Entra-ID-token till CI/CD-plattformen.

Information om hur du slutför steg 1–2 finns i Hantera tjänstens huvudnamn.

Slutför steg 3 genom att slutföra anvisningarna i den här artikeln.

Om du också vill använda din Azure Databricks-arbetsyta med Azure Databricks Git-mappar i ett CI/CD-plattformsscenario kan du läsa Lägga till autentiseringsuppgifter för Git-provider till en Azure Databricks-arbetsyta. Du kanske till exempel vill att Git-providern ska få åtkomst till din arbetsyta, och du vill även använda Git-mappar i Azure Databricks på din arbetsyta med git-providern. Du behöver dock inte använda Azure Databricks Git-mappar för att kunna använda din arbetsyta med CI/CD-plattformar.

Krav

  • Azure Databricks OAuth-token eller Microsoft Entra-ID-token för ett Azure Databricks-hanterat tjänsthuvudnamn eller ett microsoft entra-ID-hanterat tjänsthuvudnamn. Information om hur du skapar ett huvudnamn för en hanterad Azure Databricks-tjänst eller Microsoft Entra ID managed service principal och dess Azure Databricks OAuth-token eller Microsoft Entra ID-token finns i Hantera tjänstens huvudnamn.
  • Ett konto hos din Git-provider.

Konfigurera GitHub Actions

GitHub Actions måste kunna komma åt din Azure Databricks-arbetsyta. Om du vill använda Azure Databricks Git-mappar måste din arbetsyta också kunna komma åt GitHub.

Om du vill göra det möjligt för GitHub Actions att komma åt din Azure Databricks-arbetsyta måste du ange information om ditt azure Databricks-hanterade tjänsthuvudnamn eller Microsoft Entra ID:s huvudnamn för den hanterade tjänsten till GitHub Actions. Detta kan omfatta information som program-ID (klient-ID), katalog-ID (klient)-ID för ett hanterat Microsoft Entra-ID-huvudnamn för tjänsten, Azure Databricks-tjänstens huvudnamn eller Microsoft Entra ID-tjänstens huvudnamns klienthemlighet eller access_token värdet för ett huvudnamn för en hanterad Azure Databricks-tjänst, beroende på GitHub-åtgärdens krav. Mer information finns i Hantera tjänstens huvudnamn och GitHub-åtgärdens dokumentation.

Om du också vill aktivera din Azure Databricks-arbetsyta för åtkomst till GitHub när du använder Azure Databricks Git-mappar måste du lägga till github-personlig åtkomsttoken för en GitHub-datoranvändare till din arbetsyta.

Ange information om tjänstens huvudnamn för GitHub Actions

I det här avsnittet beskrivs hur du aktiverar GitHub Actions för åtkomst till din Azure Databricks-arbetsyta.

Som bästa säkerhet rekommenderar Databricks att du inte anger information om tjänstens huvudnamn direkt i brödtexten i en GitHub Actions-fil. Du bör ange den här informationen för GitHub Actions med hjälp av GitHub-krypterade hemligheter i stället.

GitHub Actions, till exempel de som Databricks listar i Kontinuerlig integrering och leverans med GitHub Actions, förlitar sig på olika GitHub-krypterade hemligheter som:

  • DATABRICKS_HOST, vilket är värdet https:// följt av namnet på arbetsytans instans, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • AZURE_CREDENTIALS, som är ett JSON-dokument som representerar utdata från körningen av Azure CLI för att få information om ett Microsoft Entra ID-hanterat tjänsthuvudnamn. Mer information finns i dokumentationen för GitHub-åtgärden.
  • AZURE_SP_APPLICATION_ID, vilket är värdet för program-ID (klient)-ID :t för ett hanterat Microsoft Entra-ID-huvudnamn för tjänsten.
  • AZURE_SP_TENANT_ID, vilket är värdet för katalog-ID :t (klientorganisation) för ett hanterat Microsoft Entra-ID-huvudnamn för tjänsten.
  • AZURE_SP_CLIENT_SECRET, vilket är värdet för klienthemlighetens Värde för ett hanterat Microsoft Entra-ID-huvudnamn för tjänsten.

Mer information om vilka GitHub-krypterade hemligheter som krävs för en GitHub-åtgärd finns i Hantera tjänstens huvudnamn och dokumentationen för github-åtgärden.

Information om hur du lägger till dessa GitHub-krypterade hemligheter till din GitHub-lagringsplats finns i Skapa krypterade hemligheter för en lagringsplats i GitHub-dokumentationen. Andra metoder för att lägga till dessa GitHub-lagringshemligheter finns i Krypterade hemligheter i GitHub-dokumentationen.

Lägg till github-personlig åtkomsttoken för en GitHub-datoranvändare till din Azure Databricks-arbetsyta

I det här avsnittet beskrivs hur du aktiverar din Azure Databricks-arbetsyta för åtkomst till GitHub med Azure Databricks Git-mappar. Det här är en valfri uppgift i CI/CD-scenarier.

Som bästa säkerhet rekommenderar Databricks att du använder GitHub-datoranvändare i stället för personliga GitHub-konton av många av samma skäl som du bör använda ett huvudnamn för tjänsten i stället för en Azure Databricks-användare. Gör följande för att lägga till github-personlig åtkomsttoken för en GitHub-datoranvändare på din Azure Databricks-arbetsyta:

  1. Skapa en GitHub-datoranvändare om du inte redan har en tillgänglig. En GitHub-datoranvändare är ett personligt GitHub-konto, separat från ditt eget personliga GitHub-konto, som du kan använda för att automatisera aktivitet på GitHub. Skapa ett nytt separat GitHub-konto som ska användas som GitHub-datoranvändare, om du inte redan har ett tillgängligt.

    Kommentar

    När du skapar ett nytt separat GitHub-konto som en GitHub-datoranvändare kan du inte associera det med e-postadressen för ditt eget personliga GitHub-konto. Kontakta i stället organisationens e-postadministratör om att få en separat e-postadress som du kan associera med det här nya separata GitHub-kontot som en GitHub-datoranvändare.

    Kontakta din organisations kontoadministratör om hur du hanterar den separata e-postadressen och dess associerade GitHub-datoranvändare och dess personliga GitHub-åtkomsttoken i din organisation.

  2. Ge GitHub-datoranvändaren åtkomst till din GitHub-lagringsplats. Se Bjuda in ett team eller en person i GitHub-dokumentationen. Om du vill acceptera inbjudan kan du först behöva logga ut från ditt personliga GitHub-konto och sedan logga in igen som GitHub-datoranvändare.

  3. Logga in på GitHub som datoranvändare och skapa sedan en personlig Åtkomsttoken för GitHub för den datoranvändaren. Se Skapa en personlig åtkomsttoken i GitHub-dokumentationen. Se till att ge gitHub-lagringsplatsen för personlig åtkomsttoken åtkomst.

  4. Samla in Microsoft Entra-ID-token för tjänstens huvudnamn, ditt användarnamn för GitHub-datorn och lägg sedan till autentiseringsuppgifter för Git-providern på en Azure Databricks-arbetsyta.

Konfigurera Azure Pipelines

Azure Pipelines måste kunna komma åt din Azure Databricks-arbetsyta. Om du också vill använda Azure Databricks Git-mappar måste din arbetsyta kunna komma åt Azure Pipelines.

YAML-pipelinefiler i Azure Pipelines förlitar sig på miljövariabler för att få åtkomst till din Azure Databricks-arbetsyta. Dessa miljövariabler omfattar sådana som:

  • DATABRICKS_HOST, vilket är värdet https:// följt av namnet på arbetsytans instans, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, vilket är värdet för det token_value värde som du kopierade efter att du skapade Microsoft Entra ID-token för tjänstens huvudnamn för Microsoft Entra-ID:t.

Information om hur du lägger till dessa miljövariabler i din Azure-pipeline finns i Använda Azure Key Value-hemligheter i Azure Pipelines och Ange hemliga variabler i Azure-dokumentationen.

Se även följande Databricks-blogg:

Valfritt för CI/CD-scenarier: Om din arbetsyta använder Azure Databricks Git-mappar och du vill aktivera din arbetsyta för åtkomst till Azure Pipelines samlar du in:

  • Microsoft Entra-ID-token för tjänstens huvudnamn
  • Ditt användarnamn för Azure Pipelines

Lägg sedan till autentiseringsuppgifter för Git-provider till en Azure Databricks-arbetsyta.

Konfigurera GitLab CI/CD

GitLab CI/CD måste kunna komma åt din Azure Databricks-arbetsyta. Om du också vill använda Azure Databricks Git-mappar måste din arbetsyta ha åtkomst till GitLab CI/CD.

För att få åtkomst till din Azure Databricks-arbetsyta använder GitLab CI/CD-filer .gitlab-ci.yml , till exempel den som en del av Den grundläggande Python-mallen i dbx, på anpassade CI/CD-variabler som:

  • DATABRICKS_HOST, vilket är värdet https:// följt av namnet på arbetsytans instans, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, vilket är värdet för det token_value värde som du kopierade när du skapade Microsoft Entra ID-token för tjänstens huvudnamn.

Information om hur du lägger till dessa anpassade variabler i ditt GitLab CI/CD-projekt finns i Lägga till en CI/CD-variabel i ett projekt i GitLab CI/CD-dokumentationen.

Om din arbetsyta använder Databricks Git-mappar och du vill aktivera din arbetsyta för åtkomst till GitLab CI/CD samlar du in:

  • Microsoft Entra-ID-token för tjänstens huvudnamn
  • Ditt GitLab CI/CD-användarnamn

Lägg sedan till autentiseringsuppgifter för Git-providern till en Azure Databricks-arbetsyta.

Lägga till autentiseringsuppgifter för Git-provider till en Azure Databricks-arbetsyta

I det här avsnittet beskrivs hur du aktiverar din Azure Databricks-arbetsyta för åtkomst till en Git-provider för Git-mappar i Azure Databricks. Detta är valfritt i CI/CD-scenarier. Du kanske till exempel bara vill att Git-providern ska få åtkomst till din Azure Databricks-arbetsyta, men du vill inte heller använda Git-mappar i Azure Databricks på din arbetsyta med git-providern. I så fall hoppar du över det här avsnittet.

Samla in följande information och verktyg innan du börjar:

  • Microsoft Entra-ID-token för tjänstens huvudnamn.
  • Användarnamnet som är associerat med git-providern.
  • Åtkomsttoken som är associerad med användaren för git-providern.

Kommentar

Information om Azure Pipelines finns i Använda personliga åtkomsttoken på Azure-webbplatsen.

  • Databricks CLI version 0.205 eller senare. Se Vad är Databricks CLI?. Du kan inte använda Användargränssnittet för Azure Databricks.
  • En Azure Databricks-konfigurationsprofil i filen.databrickscfg, med profilens fält korrekt inställda för den relaterade host som representerar url:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.netoch token som representerar Microsoft Entra ID-token för tjänstens huvudnamn. (Använd inte databricks personliga åtkomsttoken för din arbetsyteanvändare.) Mer information finns i autentisering med personlig åtkomsttoken i Azure Databricks.

Använd Databricks CLI för att köra följande kommando:

databricks git-credentials create <git-provider-short-name> --git-username <git-provider-user-name> --personal-access-token <git-provider-access-token> -p <profile-name>
  • Använd något av följande för <git-provider-short-name>:
    • För GitHub använder du GitHub.
    • För Azure Pipelines använder du AzureDevOpsServices.
    • För GitLab CI/CD använder du GitLab.
  • Ersätt <git-provider-user-name> med användarnamnet som är associerat med git-providern.
  • Ersätt <git-provider-access-token> med den åtkomsttoken som är associerad med användaren för git-providern.
  • Ersätt <profile-name> med namnet på Azure Databricks-konfigurationsprofilen i filen .databrickscfg .

Dricks

För att bekräfta att anropet lyckades kan du köra något av följande Databricks CLI-kommandon och granska utdata:

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