Autentisering för Databricks CLI

Kommentar

Den här informationen gäller för Databricks CLI-versionerna 0.205 och senare, som finns i offentlig förhandsversion. Kör för att hitta din version av Databricks CLI databricks -v.

Den här artikeln beskriver hur du konfigurerar autentisering mellan Databricks CLI och dina Azure Databricks-konton och arbetsytor. Se Vad är Databricks CLI?.

Den här artikeln förutsätter att du redan har installerat Databricks CLI. Se Installera eller uppdatera Databricks CLI.

Innan du kan köra Databricks CLI-kommandon måste du konfigurera autentisering mellan Databricks CLI och dina Azure Databricks-konton, arbetsytor eller en kombination av dessa, beroende på vilka typer av CLI-kommandon du vill köra.

Du måste autentisera Databricks CLI till relevanta resurser vid körning för att kunna köra Azure Databricks Automation-kommandon inom ett Azure Databricks-konto eller en arbetsyta. Beroende på om du vill anropa Azure Databricks-kommandon på arbetsytenivå , Azure Databricks-kommandon på kontonivå eller båda, måste du autentisera till Azure Databricks-arbetsytan, kontot eller båda. Om du vill ha en lista över CLI-kommandogrupper på Azure Databricks-arbetsyta och kontonivå kör du kommandot databricks -h. En lista över REST API-åtgärder på Azure Databricks-arbetsyta och kontonivå som Databricks CLI-kommandona omfattar finns i Databricks REST API.

Kommentar

Databricks CLI implementerar Databricks-klientens enhetliga autentiseringsstandard, en konsoliderad och konsekvent arkitcural och programmatisk metod för autentisering. Med den här metoden kan du konfigurera och automatisera autentisering med Azure Databricks mer centraliserad och förutsägbar. Det gör att du kan konfigurera Azure Databricks-autentisering en gång och sedan använda den konfigurationen över flera Azure Databricks-verktyg och SDK:er utan ytterligare autentiseringskonfigurationsändringar. Mer information om den här standarden finns i Databricks-klientens enhetliga autentisering.

Följande avsnitt innehåller information om hur du konfigurerar autentisering mellan Databricks CLI och Azure Databricks:

Personlig åtkomsttokenautentisering i Azure Databricks

Azure Databricks personliga åtkomsttokenautentisering använder en personlig Åtkomsttoken för Azure Databricks för att autentisera azure Databricks-målentiteten, till exempel ett Azure Databricks-användarkonto. Mer information finns i autentisering med personlig åtkomsttoken i Azure Databricks.

Kommentar

Du kan inte använda personlig åtkomsttokenautentisering i Azure Databricks för autentisering med ett Azure Databricks-konto, eftersom Azure Databricks-kommandon på kontonivå inte använder personliga åtkomsttoken för Azure Databricks för autentisering. Om du vill autentisera med ett Azure Databricks-konto bör du överväga att använda någon av följande autentiseringstyper i stället:

Gör följande för att skapa en personlig åtkomsttoken:

  1. I din Azure Databricks-arbetsyta klickar du på ditt Användarnamn för Azure Databricks i det övre fältet och väljer sedan Inställningar i listrutan.
  2. Klicka på Utvecklare.
  3. Bredvid Åtkomsttoken klickar du på Hantera.
  4. Klicka på Generera ny token.
  5. (Valfritt) Ange en kommentar som hjälper dig att identifiera den här token i framtiden och ändra tokens standardlivslängd på 90 dagar. Om du vill skapa en token utan livslängd (rekommenderas inte) lämnar du rutan Livslängd (dagar) tom (tom).
  6. Klicka på Generera.
  7. Kopiera den visade token till en säker plats och klicka sedan på Klar.

Kommentar

Se till att spara den kopierade token på en säker plats. Dela inte din kopierade token med andra. Om du förlorar den kopierade token kan du inte återskapa exakt samma token. I stället måste du upprepa den här proceduren för att skapa en ny token. Om du förlorar den kopierade token eller om du tror att token har komprometterats rekommenderar Databricks starkt att du omedelbart tar bort den token från arbetsytan genom att klicka på papperskorgsikonen (Återkalla) bredvid token på sidan Åtkomsttoken .

Om du inte kan skapa eller använda token på din arbetsyta kan det bero på att arbetsyteadministratören har inaktiverat token eller inte har gett dig behörighet att skapa eller använda token. Se din arbetsyteadministratör eller följande:

Gör följande för att konfigurera och använda personlig åtkomsttokenautentisering i Azure Databricks:

Kommentar

Följande procedur skapar en Azure Databricks-konfigurationsprofil med namnet DEFAULT. Om du redan har en DEFAULT konfigurationsprofil som du vill använda hoppar du över den här proceduren. Annars skriver den här proceduren över din befintliga DEFAULT konfigurationsprofil. Om du vill visa namn och värdar för befintliga konfigurationsprofiler kör du kommandot databricks auth profiles.

Om du vill skapa en konfigurationsprofil med ett annat namn än DEFAULTlägger du till --profile <configuration-profile-name> eller -p <configuration-profile-name> i slutet av följande databricks configure kommando och ersätter <configuration-profile-name> med den nya konfigurationsprofilens namn.

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

    databricks configure
    
  2. Ange url:en för Azure Databricks per arbetsyta för fråga Databricks-värden, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

  3. För frågan Personlig åtkomsttoken anger du personlig åtkomsttoken för Azure Databricks för din arbetsyta.

    När du har angett din personliga åtkomsttoken för Azure Databricks läggs en motsvarande konfigurationsprofil till i .databrickscfg filen. Om Databricks CLI inte kan hitta den här filen på standardplatsen skapar den den här filen åt dig först och lägger sedan till den här konfigurationsprofilen i den nya filen. Standardplatsen för den här filen finns i mappen ~ (ditt användarhem) i Unix, Linux eller macOS eller i %USERPROFILE% mappen (ditt användarhem) i Windows.

  4. Nu kan du använda Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempel databricks clusters list -p <configuration-profile-name>.

OAuth-autentisering från dator till dator (M2M)

I stället för att autentisera med Azure Databricks med personlig åtkomsttokenautentisering i Azure Databricks kan du använda OAuth-autentisering. OAuth tillhandahåller token med snabbare förfallotider än personliga åtkomsttoken för Azure Databricks och ger bättre sessionsintegrering och omfång på serversidan. Eftersom OAuth-åtkomsttoken upphör att gälla på mindre än en timme minskar risken för oavsiktlig kontroll av token i källkontrollen. Se även OAuth-autentisering från dator till dator (M2M).

Gör följande för att konfigurera och använda OAuth M2M-autentisering:

  1. Slutför installationsanvisningarna för OAuth M2M-autentisering. Se OAuth-autentisering från dator till dator (M2M)

  2. Skapa eller identifiera en Azure Databricks-konfigurationsprofil med följande fält i .databrickscfg filen. Om du skapar profilen ersätter du platshållarna med lämpliga värden.

    För kommandon på kontonivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    För kommandon på arbetsytenivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    Kommentar

    Standardplatsen för .databrickscfg filen finns i användarens hemkatalog. Detta är ~ för Linux och macOS och %USERPROFILE% för Windows.

  3. Använd Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen som en del av Databricks CLI-kommandoanropet, databricks account groups list -p <configuration-profile-name> till exempel eller databricks clusters list -p <configuration-profile-name>.

    Dricks

    Tryck Tab efter --profile eller -p för att visa en lista över befintliga tillgängliga konfigurationsprofiler att välja mellan, i stället för att ange konfigurationsprofilnamnet manuellt.

OAuth-autentisering från användare till dator (U2M)

I stället för att autentisera med Azure Databricks med hjälp av tokenautentisering kan du använda OAuth-autentisering. OAuth tillhandahåller token med snabbare förfallotider än personliga åtkomsttoken för Azure Databricks och ger bättre sessionsintegrering och omfång på serversidan. Eftersom OAuth-åtkomsttoken upphör att gälla på mindre än en timme minskar risken för oavsiktlig kontroll av token i källkontrollen. Se även OAuth-autentisering från användare till dator (U2M).

Gör följande för att konfigurera och använda OAuth U2M-autentisering:

  1. Innan du anropar kommandon på Azure Databricks-kontonivå måste du initiera OAuth-tokenhantering lokalt genom att köra följande kommando. Det här kommandot måste köras separat för varje konto som du vill köra kommandon mot. Om du inte vill anropa några åtgärder på kontonivå går du vidare till steg 5.

    Ersätt följande platshållare i följande kommando:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. Databricks CLI uppmanar dig att spara kontokonsolens URL och konto-ID lokalt som en Azure Databricks-konfigurationsprofil. Tryck Enter för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den här kontokonsolens URL och konto-ID.

    Om du vill hämta en lista över befintliga profiler kör du kommandot databricks auth profilesi en separat terminal eller kommandotolk. Om du vill visa en specifik profils befintliga inställningar kör du kommandot databricks auth env --profile <profile-name>.

  3. I webbläsaren slutför du anvisningarna på skärmen för att logga in på ditt Azure Databricks-konto.

  4. Om du vill visa det aktuella OAuth-tokenvärdet och den kommande förfallotidsstämpeln kör du kommandot databricks auth token --host <account-console-url> --account-id <account-id>.

  5. Innan du anropar kommandon på Azure Databricks-arbetsytenivå måste du initiera OAuth-tokenhantering lokalt genom att köra följande kommando. Det här kommandot måste köras separat för varje arbetsyta som du vill köra kommandon mot.

    I följande kommando ersätter du <workspace-url> med url:en för Azure Databricks per arbetsyta, till exempel https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. Databricks CLI uppmanar dig att spara arbetsytans URL lokalt som en Azure Databricks-konfigurationsprofil. Tryck Enter för att acceptera det föreslagna profilnamnet eller ange namnet på en ny eller befintlig profil. Alla befintliga profiler med samma namn skrivs över med den här arbetsytans URL.

    Om du vill hämta en lista över befintliga profiler kör du kommandot databricks auth profilesi en separat terminal eller kommandotolk. Om du vill visa en specifik profils befintliga inställningar kör du kommandot databricks auth env --profile <profile-name>.

  7. I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.

  8. Om du vill visa det aktuella OAuth-tokenvärdet och den kommande förfallotidsstämpeln kör du kommandot databricks auth token --host <workspace-url>.

  9. Använd Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempel databricks account groups list -p <configuration-profile-name> eller databricks clusters list -p <configuration-profile-name>.

    Dricks

    Du kan trycka Tab efter --profile eller -p visa en lista över befintliga tillgängliga konfigurationsprofiler att välja mellan, i stället för att ange namnet på konfigurationsprofilen manuellt.

Azure-hanterad identitetsautentisering

Autentisering med hanterade Azure-identiteter använder hanterade identiteter för Azure-resurser (tidigare hanterade tjänstidentiteter (MSI)) för autentisering. Läs mer i Vad är hanterade identiteter för Azure-resurser. Se även autentisering av hanterade Azure-identiteter.

Gör följande för att skapa en azure-användartilldelad hanterad identitet:

  1. Skapa eller identifiera en virtuell Azure-dator och installera Databricks CLI på den och tilldela sedan din hanterade identitet till din virtuella Azure-dator och dina Azure Databricks-målkonton, arbetsytor eller båda. Se Konfigurera och använda Azure-autentisering för hanterade identiteter för Azure Databricks-automatisering.

  2. På den virtuella Azure-datorn skapar eller identifierar du en Azure Databricks-konfigurationsprofil med följande fält i .databrickscfg filen. Om du skapar profilen ersätter du platshållarna med lämpliga värden.

    För kommandon på kontonivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    För kommandon på arbetsytenivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Om målidentiteten inte redan har lagts till på arbetsytan för kommandon på arbetsytan anger du azure_workspace_resource_id tillsammans med Azure-resurs-ID:t i stället för host tillsammans med arbetsytans URL. I det här fallet måste målidentiteten ha minst behörigheten Deltagare eller Ägare för Azure-resursen.

    Kommentar

    Standardplatsen för .databrickscfg filen finns i användarens hemkatalog. Detta är ~ för Linux och macOS och %USERPROFILE% för Windows.

  3. På den virtuella Azure-datorn använder du Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen för att ange profilen för Databricks som ska användas, databricks account groups list -p <configuration-profile-name> till exempel eller databricks clusters list -p <configuration-profile-name>.

    Dricks

    Du kan trycka Tab efter --profile eller -p visa en lista över befintliga tillgängliga konfigurationsprofiler att välja mellan, i stället för att ange namnet på konfigurationsprofilen manuellt.

Autentisering av tjänstens huvudnamn för Microsoft Entra-ID

Microsoft Entra ID-tjänstens huvudnamnsautentisering använder autentiseringsuppgifterna för ett Microsoft Entra ID-tjänsthuvudnamn för att autentisera. Information om hur du skapar och hanterar tjänstens huvudnamn för Azure Databricks finns i Hantera tjänstens huvudnamn. Se även Microsoft Entra ID-tjänstens huvudnamnsautentisering.

Om du vill konfigurera och använda Microsoft Entra ID-tjänstens huvudnamnsautentisering måste du ha Azure CLI installerat lokalt. Du måste också göra följande:

  1. Skapa eller identifiera en Azure Databricks-konfigurationsprofil med följande fält i .databrickscfg filen. Om du skapar profilen ersätter du platshållarna med lämpliga värden.

    För kommandon på kontonivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    För kommandon på arbetsytenivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Om microsoft Entra ID-tjänstens huvudnamn inte redan har lagts till på arbetsytan för kommandon på arbetsytan anger azure_workspace_resource_id du tillsammans med Azure-resurs-ID:t i stället för host tillsammans med arbetsytans URL. I det här fallet måste microsoft Entra-måltjänstens huvudnamn ha minst behörighet som deltagare eller ägare för Azure-resursen.

    Kommentar

    Standardplatsen för .databrickscfg filen finns i användarens hemkatalog. Detta är ~ för Linux och macOS och %USERPROFILE% för Windows.

  2. Använd Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempel databricks account groups list -p <configuration-profile-name> eller databricks clusters list -p <configuration-profile-name>.

    Dricks

    Du kan trycka Tab efter --profile eller -p visa en lista över befintliga tillgängliga konfigurationsprofiler att välja mellan, i stället för att ange namnet på konfigurationsprofilen manuellt.

Azure CLI-autentisering

Azure CLI-autentisering använder Azure CLI för att autentisera den inloggade entiteten. Se även Azure CLI-autentisering.

För att konfigurera Azure CLI-autentisering måste du göra följande:

  1. Installera Azure CLI lokalt.

  2. Använd Azure CLI för att logga in på Azure Databricks genom att köra az login kommandot . Se Azure CLI-inloggning med ett Azure Databricks-användarkonto.

  3. Skapa eller identifiera en Azure Databricks-konfigurationsprofil med följande fält i .databrickscfg filen. Om du skapar profilen ersätter du platshållarna med lämpliga värden.

    För kommandon på kontonivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    För kommandon på arbetsytenivå anger du följande värden i .databrickscfg filen:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    

    Kommentar

    Standardplatsen för .databrickscfg filen finns i användarens hemkatalog. Detta är ~ för Linux och macOS och %USERPROFILE% för Windows.

  4. Använd Databricks CLI:s --profile eller -p -alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempel databricks account groups list -p <configuration-profile-name> eller databricks clusters list -p <configuration-profile-name>.

    Dricks

    Du kan trycka Tab efter --profile eller -p visa en lista över befintliga tillgängliga konfigurationsprofiler att välja mellan, i stället för att ange namnet på konfigurationsprofilen manuellt.

Utvärderingsordning för autentisering

När Databricks CLI behöver samla in de inställningar som krävs för att försöka autentisera med en Azure Databricks-arbetsyta eller ett konto söker det efter de här inställningarna på följande platser i följande ordning.

  1. För paketkommandon , värdena för fält i ett projekts paketinställningsfiler. (Paketinställningsfiler stöder inte direkt inkludering av åtkomstautentiseringsvärden.)
  2. Värdena för miljövariabler enligt listan i den här artikeln och i Miljövariabler och fält för klientadenad autentisering.
  3. Fältvärden för konfigurationsprofil i .databrickscfg filen, enligt listan tidigare i den här artikeln.

När Databricks CLI hittar de inställningar som krävs slutar det att söka på andra platser. Till exempel:

  • Databricks CLI behöver värdet för en personlig åtkomsttoken för Azure Databricks. En DATABRICKS_TOKEN miljövariabel anges och .databrickscfg filen innehåller även flera personliga åtkomsttoken. I det här exemplet använder Databricks CLI värdet för DATABRICKS_TOKEN miljövariabeln och söker inte i .databrickscfg filen.
  • Kommandot databricks bundle deploy -e development behöver värdet för en personlig åtkomsttoken för Azure Databricks. En DATABRICKS_TOKEN miljövariabel har inte angetts och .databrickscfg filen innehåller flera personliga åtkomsttoken. Projektets paketinställningsfil innehåller en development miljödeklaration som via dess profile fält refererar till en konfigurationsprofil med namnet DEV. I det här exemplet söker Databricks CLI i .databrickscfg filen efter en profil med namnet DEV och använder värdet för profilens token fält.
  • Kommandot databricks bundle run -e development hello-job behöver värdet för en personlig åtkomsttoken för Azure Databricks. En DATABRICKS_TOKEN miljövariabel har inte angetts och .databrickscfg filen innehåller flera personliga åtkomsttoken. Projektets paketinställningsfil innehåller en development miljödeklaration som via dess host fält refererar till en specifik URL för Azure Databricks-arbetsytan. I det här exemplet söker Databricks CLI genom konfigurationsprofilerna i .databrickscfg filen efter en profil som innehåller ett host fält med en matchande url för arbetsytan. Databricks CLI hittar ett matchande host fält och använder sedan profilens token fältvärde.