Autentisering för Databricks CLI
Kommentar
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 set upp 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 update Databricks CLI.
Innan du kan köra Databricks CLI-kommandon måste du set upprätta auktorisering mellan Databricks CLI och dina Azure Databricks-konton, arbetsytor eller en kombination av dessa, beroende på vilka typer av CLI-kommandon som 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. Kör kommandot databricks -h
för en list av CLI-kommandogrupper på arbetsytenivå och kontonivå i Azure Databricks. För en list av REST API-åtgärder på arbetsytes- och kontonivå i Azure Databricks, som Databricks CLI-kommandon omfattar, se i Databricks REST API.
Mer information om Microsoft Entra-autentisering till Databricks med Azure DevOps finns i Autentisera med Azure DevOps på Databricks.
Följande avsnitt innehåller information om hur du set autentisering mellan Databricks CLI och Azure Databricks:
- Autentisering av personliga Azure Databricks-åtkomsttoken
- OAuth-autentisering från dator till dator (M2M)
- OAuth-autentisering från användare till dator (U2M)
- Azure-hanterad identitetsautentisering
- Autentisering med tjänstens huvudnamn i Microsoft Entra ID
- Azure CLI-autentisering
- Utvärderingsordning för autentisering
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:
Om du vill skapa en personlig åtkomsttoken följer du stegen i Personliga åtkomsttoken för Azure Databricks för arbetsyteanvändare.
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 DEFAULT
lä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.
Gör följande för att konfigurera och använda personlig åtkomsttokenautentisering i Azure Databricks:
Använd Databricks CLI för att köra följande kommando:
databricks configure
Ange url:en för Azure Databricks per arbetsyta för fråga Databricks-värden, till exempel
https://adb-1234567890123456.7.azuredatabricks.net
.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.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 exempeldatabricks 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 Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M).
Gör följande för att konfigurera och använda OAuth M2M-autentisering:
Slutför installationsanvisningarna för OAuth M2M-autentisering. Se Autentisera åtkomst till Azure Databricks med ett huvudnamn för tjänsten med OAuth (OAuth M2M)
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ämplig values.För -kommandon på kontonivå set du följande values 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å, set använda följande values i din
.databrickscfg
-fil:[<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.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 ellerdatabricks clusters list -p <configuration-profile-name>
.Dricks
Tryck på
Tab
efter--profile
eller-p
för att visa en list av 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 Autentisera åtkomst till Azure Databricks med ett användarkonto med OAuth (OAuth U2M).
Gör följande för att konfigurera och använda OAuth U2M-autentisering:
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:
- Ersätt
<account-console-url>
med Azure Databricks https://accounts.azuredatabricks.net. - Ersätt
<account-id>
med ditt Azure Databricks-konto-ID. Se Hitta ditt konto-ID.
databricks auth login --host <account-console-url> --account-id <account-id>
- Ersätt
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 get en list av befintliga profiler kör du kommandot
databricks auth profiles
i en separat terminal eller kommandotolk. Om du vill visa en specifik profils befintliga inställningar kör du kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på ditt Azure Databricks-konto.
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>
.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 exempelhttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
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 get en list av vilken som helst av de befintliga profilerna kör du kommandot
databricks auth profiles
i en separat terminal eller kommandotolk. Om du vill visa en specifik profils befintliga inställningar kör du kommandotdatabricks auth env --profile <profile-name>
.I webbläsaren slutför du anvisningarna på skärmen för att logga in på din Azure Databricks-arbetsyta.
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>
.Använd Databricks CLI:s
--profile
eller-p
-alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempeldatabricks account groups list -p <configuration-profile-name>
ellerdatabricks clusters list -p <configuration-profile-name>
.Dricks
Du kan trycka på
Tab
efter--profile
eller-p
för att visa en list av 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:
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 Set ovan och använd Azure-hanterade identiteter för autentisering i Azure Databricks-automatiseringen.
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ätt platshållarna med lämplig values.För -kommandon på kontonivå set du följande values 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å set du följande values i filen
.databrickscfg
:[<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örhost
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.På den virtuella Azure-datorn använder du alternativet Databricks CLI:s
--profile
eller-p
följt av namnet på konfigurationsprofilen för att set profilen som Databricks ska använda, till exempeldatabricks account groups list -p <configuration-profile-name>
ellerdatabricks clusters list -p <configuration-profile-name>
.Dricks
Du kan trycka på
Tab
efter--profile
eller-p
för att visa en list av 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 huvudnamn autentisering använder credentials av 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 MS Entra-tjänstens huvudnamnsautentisering.
Om du vill konfigurera och använda autentisering med Tjänstens huvudnamn för Microsoft Entra måste du ha Azure CLI-autentiseringen installerad lokalt. Du måste också göra följande:
Skapa eller identifiera en Azure Databricks-konfigurationsprofil med följande fält i
.databrickscfg
filen. Om du skapar profilen, ersätt platshållarna med de lämpliga values.För -kommandon på kontonivå set du följande values 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å , använd följande setvalues i din fil
.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>
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örhost
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.Använd Databricks CLI:s
--profile
eller-p
-alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempeldatabricks account groups list -p <configuration-profile-name>
ellerdatabricks clusters list -p <configuration-profile-name>
.Dricks
Du kan trycka på
Tab
efter--profile
eller-p
för att visa en list av 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:
Installera Azure CLI lokalt.
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.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ämplig values.För -kommandon på kontonivå set du följande values i
.databrickscfg
-filen:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id>
För kommandon på arbetsytenivå, använd set följande values i din fil
.databrickscfg
:[<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.Använd Databricks CLI:s
--profile
eller-p
-alternativet följt av namnet på konfigurationsprofilen, som en del av Databricks CLI-kommandoanropet, till exempeldatabricks account groups list -p <configuration-profile-name>
ellerdatabricks clusters list -p <configuration-profile-name>
.Dricks
Du kan trycka på
Tab
efter--profile
eller-p
för att visa en list av 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.
- För alla kommandon som körs från samlingsarbetskatalogen (paketroten och valfri kapslad sökväg) values fält i ett projekts paketinställningsfiler. (Paketinställningsfiler stöder inte direkt inkludering av åtkomstautentiseringsuppgifter values.)
- values av miljövariabler, så som listas i denna artikel och i Miljövariabler och fält för klientens enhetliga autentisering.
- Konfigurationsprofilfältet values i
.databrickscfg
-filen, enligt beskrivningen 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 är setoch filen.databrickscfg
innehåller även flera personliga åtkomsttoken. I det här exemplet använder Databricks CLI värdet förDATABRICKS_TOKEN
miljövariabeln och söker inte i.databrickscfg
filen. - Kommandot
databricks bundle deploy -t dev
behöver värdet för en personlig åtkomsttoken för Azure Databricks. EnDATABRICKS_TOKEN
miljövariabel är inte setoch filen.databrickscfg
innehåller flera personliga åtkomsttoken. Projektets paketinställningsfil innehåller endev
miljödeklaration som via dessprofile
fält refererar till en konfigurationsprofil med namnetDEV
. I det här exemplet söker Databricks CLI i.databrickscfg
filen efter en profil med namnetDEV
och använder värdet för profilenstoken
fält. - Kommandot
databricks bundle run -t dev hello-job
behöver värdet för en personlig åtkomsttoken för Azure Databricks. EnDATABRICKS_TOKEN
miljövariabel är inte setoch filen.databrickscfg
innehåller flera personliga åtkomsttoken. Projektets paketinställningsfil innehåller endev
miljödeklaration som via desshost
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 etthost
fält med en matchande url för arbetsytan. Databricks CLI hittar ett matchandehost
fält och använder sedan profilenstoken
fältvärde.