Autentisering för Databricks CLI

Anteckning

Den här informationen gäller för Databricks CLI-versionerna 0.205 och senare. Databricks CLI finns i offentlig förhandsversion.

Databricks CLI-användning omfattas av Databricks-licensen och Databricks sekretessmeddelande, inklusive eventuella användningsdatabestämmelser.

Den här artikeln beskriver hur du konfigurerar autentisering mellan Databricks CLI och dina Azure Databricks konton och arbetsytor. Det förutsätter att du redan har installerat Databricks CLI. Se Installera eller uppdatera Databricks CLI.

Innan du kör Databricks CLI-kommandon måste du konfigurera autentisering för de konton eller arbetsytor som du planerar att använda. Vilken konfiguration som krävs beror på om du vill köra kommandon på arbetsytenivå , kommandon på kontonivå eller både och.

Om du vill visa tillgängliga CLI-kommandogrupper kör du databricks -h. En lista över motsvarande REST API-åtgärder finns i Databricks REST API.

Information om Microsoft Entra autentisering till Databricks med Azure DevOps specifikt finns i Authenticate with Azure DevOps on Azure Databricks.

OAuth maskin-till-maskin (M2M) autentisering

M2M-autentisering (machine-to-machine) med OAuth gör att tjänster, skript eller program kan komma åt Databricks-resurser utan interaktiv användarinloggning. I stället för att förlita sig på personliga åtkomsttoken (PAT) eller användarautentiseringsuppgifter använder M2M-autentisering ett tjänsthuvudnamn och ett OAuth-klientautentiseringsflöde för att begära och hantera token.

Så här konfigurerar och använder du OAuth M2M-autentisering:

  1. Slutför installationsstegen för OAuth M2M-autentisering. Se Authorize service principal access to Azure Databricks with OAuth.

  2. Skapa en Azure Databricks konfigurationsprofil med följande fält i filen .databrickscfg.

    För kommandon på kontonivå

    [<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å

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

Om du vill använda profilen skickar du den med --profile-flaggan eller -p-flaggan i CLI-kommandon. Till exempel:

databricks account groups list -p <profile-name>

Tryck på Tabb efter --profile eller -p för att visa en lista över tillgängliga profiler.

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

Med OAuth-autentisering från användare till dator (U2M) loggar du in interaktivt och CLI hanterar kortlivade token åt dig. OAuth-token upphör att gälla inom en timme, vilket minskar risken om en token exponeras av misstag. Se Auktorisera användaråtkomst till Azure Databricks med OAuth.

Så här loggar du in:

För kommandon på kontonivå

databricks auth login --host <account-console-url> --account-id <account-id>

För kommandon på arbetsytenivå

databricks auth login --host <workspace-url>

CLI vägleder dig genom ett webbläsarbaserat inloggningsflöde. När du är klar sparar CLI autentiseringsuppgifterna som en konfigurationsprofil. Du kan acceptera det föreslagna profilnamnet eller ange ditt eget.

Om du vill använda profilen skickar du den med --profile-flaggan eller -p-flaggan i CLI-kommandon. Till exempel:

databricks clusters list -p <profile-name>

Tryck på Tabb efter --profile eller -p för att visa en lista över tillgängliga profiler.

Azure hanterade identiteters autentisering

Azure hanterade identiteter autentisering använder hanterade identiteter för Azure resurser (tidigare hanterade tjänstidentiteter (MSI)) för autentisering. Se Vad är hanterade identiteter för Azure resurser?. Se även autentisera med Azure hanterade identiteter.

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

  1. Skapa eller identifiera en Azure virtuell dator och installera Databricks CLI på den och tilldela sedan din hanterade identitet till din Azure virtuella dator och ditt mål Azure Databricks konton, arbetsytor eller båda. Se Använd Azure hanterade identiteter med Azure Databricks.

  2. På den Azure virtuella datorn skapar eller identifierar du en Azure Databricks konfigurationsprofil med följande fält i filen .databrickscfg. 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 filen .databrickscfg:

    [<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 filen .databrickscfg:

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

    Databricks rekommenderar att du använder host och uttryckligen tilldelar identiteten till arbetsytan. Du kan också använda azure_workspace_resource_id med resurs-ID:t för Azure. Den här metoden kräver behörigheter som deltagare eller ägare för den Azure resursen eller en anpassad roll med specifika Azure Databricks behörigheter.

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

    Tips

    Du kan trycka på 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.

Microsoft Entra ID-autentisering för tjänstens objekt

Microsoft Entra ID tjänstens huvudnamn autentisering använder autentiseringsuppgifterna för ett Microsoft Entra ID tjänstens huvudnamn för att autentisera. Information om hur du skapar och hanterar tjänstens huvudnamn för Azure Databricks finns i Service principals. Se även Autentisera med Microsoft Entra tjänstehuvudmän.

För att konfigurera och använda Microsoft Entra ID tjänstens huvudautentisering måste du ha autenticera med 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 filen .databrickscfg. 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 filen .databrickscfg:

    [<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 filen .databrickscfg:

    [<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>
    

    Databricks rekommenderar att du använder host och uttryckligen tilldelar Microsoft Entra ID tjänstens huvudnamn till arbetsytan. Du kan också använda azure_workspace_resource_id med resurs-ID:t för Azure. Den här metoden kräver behörigheter som deltagare eller ägare för den Azure resursen eller en anpassad roll med specifika Azure Databricks behörigheter.

  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>.

    Tips

    Du kan trycka på 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.

Azure CLI-autentisering

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

Om du vill 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 kommandot az login. Se Tilldela med Azure CLI.

  3. Skapa eller identifiera en Azure Databricks konfigurationsprofil med följande fält i filen .databrickscfg. 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 filen .databrickscfg:

    [<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 filen .databrickscfg:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  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>.

    Tips

    Du kan trycka på 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.

Utvärderingsordning för autentisering

När Databricks CLI autentiserar till en Azure Databricks arbetsyta eller ett konto letar det efter nödvändiga inställningar i följande ordning:

  1. Paketinställningsfiler för kommandon som körs från en samlingsarbetskatalog. Paketinställningar filer kan inte innehålla autentiseringsvärden direkt.
  2. Miljövariabler, som anges i den här artikeln och i Miljövariabler och fält för enhetlig autentisering.
  3. Konfigurationsprofiler i .databrickscfg filen.

Så snart CLI hittar den obligatoriska inställningen slutar den söka på andra platser.

Examples:

  • Om en DATABRICKS_TOKEN miljövariabel anges använder CLI den, även om det finns flera token i .databrickscfg.
  • Om nej DATABRICKS_TOKEN anges och en paketmiljö refererar till ett profilnamn, till exempel dev → profil DEV, använder CLI autentiseringsuppgifterna från profilen i .databrickscfg.
  • Om ingen DATABRICKS_TOKEN anges och en paketmiljö anger ett host-värde söker CLI efter en profil i .databrickscfg med ett matchande host och använder dess token.

Autentisering med personlig åtkomsttoken (legacy)

Viktigt!

Där det är möjligt rekommenderar Azure Databricks att du använder OAuth i stället för PAT för användarkontoautentisering eftersom OAuth ger starkare säkerhet. Tänk på följande autentiseringsmetoder:

Azure Databricks autentisering med personlig åtkomsttoken använder en Azure Databricks personlig åtkomsttoken för att autentisera målets Azure Databricks entitet, till exempel ett Azure Databricks användarkonto. Se Authenticate with Azure Databricks personal access tokens (legacy).

Om du vill skapa en personlig åtkomsttoken följer du stegen i Skapa personliga åtkomsttoken för arbetsyteanvändare.