Verificatie voor de Databricks CLI

Notitie

Deze informatie is van toepassing op Databricks CLI-versies 0.205 en hoger, die zich in openbare preview bevinden. Voer de opdracht uit databricks -vom uw versie van de Databricks CLI te vinden.

In dit artikel wordt beschreven hoe u verificatie instelt tussen de Databricks CLI en uw Azure Databricks-accounts en -werkruimten. Zie Wat is de Databricks CLI?

In dit artikel wordt ervan uitgegaan dat u de Databricks CLI al hebt geïnstalleerd. Zie De Databricks CLI installeren of bijwerken.

Voordat u Databricks CLI-opdrachten kunt uitvoeren, moet u verificatie instellen tussen de Databricks CLI en uw Azure Databricks-accounts, werkruimten of een combinatie hiervan, afhankelijk van de typen CLI-opdrachten die u wilt uitvoeren.

U moet de Databricks CLI tijdens runtime verifiëren bij de relevante resources om Azure Databricks-automatiseringsopdrachten uit te voeren in een Azure Databricks-account of -werkruimte. Afhankelijk van of u opdrachten op werkruimteniveau van Azure Databricks, Azure Databricks-accountniveau of beide wilt aanroepen, moet u zich verifiëren bij de Azure Databricks-werkruimte, het account of beide. Voer de opdracht databricks -huit voor een lijst met CLI-opdrachtgroepen op werkruimteniveau en op accountniveau van Azure Databricks. Zie de Databricks REST API-API voor een lijst met REST API-bewerkingen op werkruimteniveau en op accountniveau die door de Databricks CLI-opdrachten worden behandeld.

Notitie

De Databricks CLI implementeert de geïntegreerde verificatiestandaard van de Databricks-client, een geconsolideerde en consistente architectuur en programmatische benadering voor verificatie. Deze aanpak helpt bij het instellen en automatiseren van verificatie met Azure Databricks gecentraliseerder en voorspelbaarder. Hiermee kunt u Azure Databricks-verificatie eenmaal configureren en deze configuratie vervolgens gebruiken in meerdere Azure Databricks-hulpprogramma's en SDK's zonder verdere configuratiewijzigingen voor verificatie. Zie Geïntegreerde verificatie van Databricks-clients voor meer informatie over deze standaard.

De volgende secties bevatten informatie over het instellen van verificatie tussen de Databricks CLI en Azure Databricks:

Verificatie van persoonlijke toegangstokens van Azure Databricks

Verificatie van persoonlijke toegangstokens in Azure Databricks maakt gebruik van een persoonlijk toegangstoken van Azure Databricks om de Azure Databricks-entiteit te verifiëren, zoals een Azure Databricks-gebruikersaccount. Zie persoonlijke toegangstokenverificatie van Azure Databricks.

Notitie

U kunt geen persoonlijke toegangstokenverificatie van Azure Databricks gebruiken voor verificatie met een Azure Databricks-account, omdat azure Databricks-opdrachten op accountniveau geen persoonlijke toegangstokens van Azure Databricks gebruiken voor verificatie. Als u zich wilt verifiëren met een Azure Databricks-account, kunt u in plaats daarvan een van de volgende verificatietypen gebruiken:

Ga als volgt te werk om een persoonlijk toegangstoken te maken:

  1. Klik in uw Azure Databricks-werkruimte op de gebruikersnaam van Azure Databricks in de bovenste balk en selecteer vervolgens Instellingen in de vervolgkeuzelijst.
  2. Klik op Ontwikkelaars.
  3. Klik naast Access-tokens op Beheren.
  4. Klik op Nieuw token genereren.
  5. (Optioneel) Voer een opmerking in waarmee u dit token in de toekomst kunt identificeren en de standaardlevensduur van het token van 90 dagen kunt wijzigen. Als u een token zonder levensduur wilt maken (niet aanbevolen), laat u het vak Levensduur (dagen) leeg (leeg).
  6. Klik op Genereren.
  7. Kopieer het weergegeven token naar een veilige locatie en klik vervolgens op Gereed.

Notitie

Zorg ervoor dat u het gekopieerde token op een veilige locatie opslaat. Deel uw gekopieerde token niet met anderen. Als u het gekopieerde token kwijtraakt, kunt u dat token niet opnieuw genereren. In plaats daarvan moet u deze procedure herhalen om een nieuw token te maken. Als u het gekopieerde token kwijtraakt of als u denkt dat het token is aangetast, raadt Databricks u ten zeerste aan dat u dat token onmiddellijk uit uw werkruimte verwijdert door te klikken op het prullenbakpictogram (Intrekken) naast het token op de pagina Toegangstokens .

Als u geen tokens in uw werkruimte kunt maken of gebruiken, kan dit komen doordat uw werkruimtebeheerder tokens heeft uitgeschakeld of u geen toestemming hebt gegeven om tokens te maken of te gebruiken. Neem de werkruimtebeheerder of het volgende weer:

Ga als volgt te werk om persoonlijke toegangstokenverificatie van Azure Databricks te configureren en te gebruiken:

Notitie

Met de volgende procedure maakt u een Azure Databricks-configuratieprofiel met de naam DEFAULT. Als u al een DEFAULT configuratieprofiel hebt dat u wilt gebruiken, slaat u deze procedure over. Anders overschrijft deze procedure uw bestaande DEFAULT configuratieprofiel. Als u de namen en hosts van bestaande configuratieprofielen wilt weergeven, voert u de opdracht databricks auth profilesuit.

Als u een configuratieprofiel wilt maken met een andere naam danDEFAULT, voegt u of aan het einde van de volgende databricks configure opdracht een configuratieprofiel toe--profile <configuration-profile-name>, -p <configuration-profile-name> waarbij u de naam van het nieuwe configuratieprofiel vervangt<configuration-profile-name>.

  1. Gebruik de Databricks CLI om de volgende opdracht uit te voeren:

    databricks configure
    
  2. Voer voor de prompt databricks-host de URL van uw Azure Databricks per werkruimte in, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net.

  3. Voer het persoonlijke toegangstoken van Azure Databricks in voor uw werkruimte voor de prompt persoonlijke toegangstoken.

    Nadat u uw persoonlijke toegangstoken van Azure Databricks hebt ingevoerd, wordt er een bijbehorend configuratieprofiel toegevoegd aan uw .databrickscfg bestand. Als het bestand niet kan worden gevonden in de standaardlocatie van de Databricks CLI, wordt dit bestand eerst voor u gemaakt en wordt dit configuratieprofiel vervolgens toegevoegd aan het nieuwe bestand. De standaardlocatie voor dit bestand bevindt zich in de ~ map (de basismap van uw gebruiker) in Unix, Linux of macOS, of in de %USERPROFILE% map (de basismap van uw gebruiker) in Windows.

  4. U kunt nu de Cli --profile van -p Databricks gebruiken, gevolgd door de naam van uw configuratieprofiel, bijvoorbeeld databricks clusters list -p <configuration-profile-name>als onderdeel van de opdrachtoproep van de Databricks CLI.

OAuth-verificatie van machine-naar-machine (M2M)

In plaats van verificatie met Azure Databricks met behulp van persoonlijke toegangstokenverificatie van Azure Databricks kunt u OAuth-verificatie gebruiken. OAuth biedt tokens met snellere verlooptijden dan persoonlijke toegangstokens van Azure Databricks en biedt betere server-side sessie ongeldigheid en bereik. Omdat OAuth-toegangstokens binnen een uur verlopen, vermindert dit het risico dat is gekoppeld aan het per ongeluk controleren van tokens in broncodebeheer. Zie ook OAuth-verificatie van machine-naar-machine (M2M).

Ga als volgt te werk om OAuth M2M-verificatie te configureren en te gebruiken:

  1. Voltooi de installatie-instructies voor OAuth M2M-verificatie. OAuth-verificatie voor machine-naar-machine (M2M) weergeven

  2. Maak of identificeer een Azure Databricks-configuratieprofiel met de volgende velden in uw .databrickscfg bestand. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden.

    Stel voor opdrachten op accountniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Stel voor opdrachten op werkruimteniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Notitie

    De standaardlocatie voor het .databrickscfg bestand bevindt zich in de basismap van de gebruiker. Dit is ~ voor Linux en macOS en %USERPROFILE% voor Windows.

  3. Gebruik de cli van -p Databricks--profile, gevolgd door de naam van uw configuratieprofiel als onderdeel van de opdrachtoproep van de Databricks CLI, bijvoorbeeld databricks account groups list -p <configuration-profile-name> of databricks clusters list -p <configuration-profile-name>.

    Tip

    Druk Tab na --profile of -p om een lijst weer te geven met bestaande beschikbare configuratieprofielen waaruit u kunt kiezen, in plaats van de naam van het configuratieprofiel handmatig in te voeren.

OAuth-verificatie van gebruiker naar machine (U2M)

In plaats van verificatie met Azure Databricks met behulp van tokenverificatie kunt u OAuth-verificatie gebruiken. OAuth biedt tokens met snellere verlooptijden dan persoonlijke toegangstokens van Azure Databricks en biedt betere server-side sessie ongeldigheid en bereik. Omdat OAuth-toegangstokens binnen een uur verlopen, vermindert dit het risico dat is gekoppeld aan het per ongeluk controleren van tokens in broncodebeheer. Zie ook OAuth-gebruikers-naar-machine-verificatie (U2M).

Ga als volgt te werk om OAuth U2M-verificatie te configureren en te gebruiken:

  1. Voordat u opdrachten op accountniveau van Azure Databricks aanroept, moet u lokaal OAuth-tokenbeheer starten door de volgende opdracht uit te voeren. Deze opdracht moet afzonderlijk worden uitgevoerd voor elk account waarvoor u opdrachten wilt uitvoeren. Als u geen bewerkingen op accountniveau wilt aanroepen, gaat u verder met stap 5.

    Vervang in de volgende opdracht de volgende tijdelijke aanduidingen:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. De Databricks CLI vraagt u om de URL van de accountconsole en account-id lokaal op te slaan als een Azure Databricks-configuratieprofiel. Druk Enter om de voorgestelde profielnaam te accepteren of voer de naam van een nieuw of bestaand profiel in. Elk bestaand profiel met dezelfde naam wordt overschreven met deze accountconsole-URL en account-id.

    Als u een lijst met bestaande profielen wilt ophalen, voert u de opdracht databricks auth profilesuit in een afzonderlijke terminal of opdrachtprompt. Als u de bestaande instellingen van een specifiek profiel wilt weergeven, voert u de opdracht databricks auth env --profile <profile-name>uit.

  3. Vul in uw webbrowser de instructies op het scherm in om u aan te melden bij uw Azure Databricks-account.

  4. Als u de huidige OAuth-tokenwaarde en de geplande verlooptijdstempel wilt weergeven, voert u de opdracht databricks auth token --host <account-console-url> --account-id <account-id>uit.

  5. Voordat u opdrachten op werkruimteniveau van Azure Databricks aanroept, moet u OAuth-tokenbeheer lokaal starten door de volgende opdracht uit te voeren. Deze opdracht moet afzonderlijk worden uitgevoerd voor elke werkruimte waarvoor u opdrachten wilt uitvoeren.

    Vervang in de volgende opdracht bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.netdoor <workspace-url> de URL van uw Azure Databricks per werkruimte.

    databricks auth login --host <workspace-url>
    
  6. De Databricks CLI vraagt u om de werkruimte-URL lokaal op te slaan als een Azure Databricks-configuratieprofiel. Druk Enter om de voorgestelde profielnaam te accepteren of voer de naam van een nieuw of bestaand profiel in. Elk bestaand profiel met dezelfde naam wordt overschreven met deze werkruimte-URL.

    Als u een lijst met bestaande profielen wilt ophalen, voert u de opdracht databricks auth profilesuit in een afzonderlijke terminal of opdrachtprompt. Als u de bestaande instellingen van een specifiek profiel wilt weergeven, voert u de opdracht databricks auth env --profile <profile-name>uit.

  7. Voltooi in uw webbrowser de instructies op het scherm om u aan te melden bij uw Azure Databricks-werkruimte.

  8. Als u de huidige OAuth-tokenwaarde en de geplande verlooptijdstempel wilt weergeven, voert u de opdracht databricks auth token --host <workspace-url>uit.

  9. Gebruik de cli van Databricks--profile, gevolgd door de naam van uw configuratieprofiel, als onderdeel van de opdrachtoproep van de Databricks CLI, bijvoorbeeld databricks account groups list -p <configuration-profile-name> of databricks clusters list -p <configuration-profile-name>.-p

    Tip

    U kunt erna --profile drukken Tab of -p een lijst weergeven met bestaande beschikbare configuratieprofielen waaruit u kunt kiezen, in plaats van de naam van het configuratieprofiel handmatig in te voeren.

Verificatie van door Azure beheerde identiteiten

Verificatie van beheerde identiteiten in Azure maakt gebruik van beheerde identiteiten voor Azure-resources (voorheen Managed Service Identities (MSI)) voor verificatie. Zie Wat zijn beheerde identiteiten voor Azure-resources?. Zie ook verificatie van door Azure beheerde identiteiten.

Ga als volgt te werk om een door de gebruiker toegewezen beheerde azure-identiteit te maken:

  1. Maak of identificeer een Azure-VM en installeer de Databricks CLI erop en wijs vervolgens uw beheerde identiteit toe aan uw Azure-VM en uw Azure Databricks-doelaccounts, werkruimten of beide. Zie Verificatie van door Azure beheerde identiteiten instellen en gebruiken voor Automatisering van Azure Databricks.

  2. Maak of identificeer op de Virtuele Azure-machine een Azure Databricks-configuratieprofiel met de volgende velden in uw .databrickscfg bestand. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden.

    Stel voor opdrachten op accountniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Stel voor opdrachten op werkruimteniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Als voor opdrachten op werkruimteniveau de doelidentiteit nog niet is toegevoegd aan de werkruimte, geeft u azure_workspace_resource_id deze samen met de Azure-resource-id op in plaats van samen met de url van host de werkruimte. In dit geval moet de doelidentiteit ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource.

    Notitie

    De standaardlocatie voor het .databrickscfg bestand bevindt zich in de basismap van de gebruiker. Dit is ~ voor Linux en macOS en %USERPROFILE% voor Windows.

  3. Gebruik op de Virtuele Azure-machine de of optie van -p de Databricks CLI--profile, gevolgd door de naam van uw configuratieprofiel om het profiel in te stellen dat Databricks moet gebruiken, bijvoorbeeld databricks account groups list -p <configuration-profile-name> of databricks clusters list -p <configuration-profile-name>.

    Tip

    U kunt erna --profile drukken Tab of -p een lijst weergeven met bestaande beschikbare configuratieprofielen waaruit u kunt kiezen, in plaats van de naam van het configuratieprofiel handmatig in te voeren.

Verificatie van microsoft Entra ID-service-principal

Verificatie van de Microsoft Entra ID-service-principal maakt gebruik van de referenties van een Microsoft Entra ID-service-principal om te verifiëren. Zie Service-principals beheren als u service-principals voor Azure Databricks wilt maken en beheren. Zie ook verificatie van de service-principal van Microsoft Entra ID.

Als u verificatie van de Service-principal van Microsoft Entra ID wilt configureren en gebruiken, moet de Azure CLI lokaal zijn geïnstalleerd. U moet ook het volgende doen:

  1. Maak of identificeer een Azure Databricks-configuratieprofiel met de volgende velden in uw .databrickscfg bestand. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden.

    Stel voor opdrachten op accountniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Stel voor opdrachten op werkruimteniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Als voor opdrachten op werkruimteniveau de service-principal van Microsoft Entra ID nog niet is toegevoegd aan de werkruimte, geeft u azure_workspace_resource_id deze samen met de Azure-resource-id op in plaats van host samen met de werkruimte-URL. In dit geval moet de microsoft Entra ID-service-principal ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource.

    Notitie

    De standaardlocatie voor het .databrickscfg bestand bevindt zich in de basismap van de gebruiker. Dit is ~ voor Linux en macOS en %USERPROFILE% voor Windows.

  2. Gebruik de cli van Databricks--profile, gevolgd door de naam van uw configuratieprofiel, als onderdeel van de opdrachtoproep van de Databricks CLI, bijvoorbeeld databricks account groups list -p <configuration-profile-name> of databricks clusters list -p <configuration-profile-name>.-p

    Tip

    U kunt erna --profile drukken Tab of -p een lijst weergeven met bestaande beschikbare configuratieprofielen waaruit u kunt kiezen, in plaats van de naam van het configuratieprofiel handmatig in te voeren.

Azure CLI-verificatie

Azure CLI-verificatie maakt gebruik van de Azure CLI om de aangemelde entiteit te verifiëren. Zie ook Azure CLI-verificatie.

Als u Azure CLI-verificatie wilt configureren, moet u het volgende doen:

  1. Zorg ervoor dat de Azure CLI lokaal is geïnstalleerd.

  2. Gebruik de Azure CLI om u aan te melden bij Azure Databricks door de az login opdracht uit te voeren. Zie azure CLI-aanmelding met een Azure Databricks-gebruikersaccount.

  3. Maak of identificeer een Azure Databricks-configuratieprofiel met de volgende velden in uw .databrickscfg bestand. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden.

    Stel voor opdrachten op accountniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Stel voor opdrachten op werkruimteniveau de volgende waarden in uw .databrickscfg bestand in:

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

    Notitie

    De standaardlocatie voor het .databrickscfg bestand bevindt zich in de basismap van de gebruiker. Dit is ~ voor Linux en macOS en %USERPROFILE% voor Windows.

  4. Gebruik de cli van Databricks--profile, gevolgd door de naam van uw configuratieprofiel, als onderdeel van de opdrachtoproep van de Databricks CLI, bijvoorbeeld databricks account groups list -p <configuration-profile-name> of databricks clusters list -p <configuration-profile-name>.-p

    Tip

    U kunt erna --profile drukken Tab of -p een lijst weergeven met bestaande beschikbare configuratieprofielen waaruit u kunt kiezen, in plaats van de naam van het configuratieprofiel handmatig in te voeren.

Verificatievolgorde van evaluatie

Wanneer de Databricks CLI de instellingen moet verzamelen die nodig zijn om te verifiëren met een Azure Databricks-werkruimte of -account, wordt in de volgende volgorde naar deze instellingen gezocht.

  1. Voor bundelopdrachten zijn de waarden van velden in de bundel-instellingsbestanden van een project. (Bundelinstellingsbestanden bieden geen ondersteuning voor het direct opnemen van toegangsreferentiewaarden.)
  2. De waarden van omgevingsvariabelen, zoals vermeld in dit artikel en in omgevingsvariabelen en -velden voor geïntegreerde clientverificatie.
  3. Waarden voor het configuratieprofielveld in het .databrickscfg bestand, zoals eerder in dit artikel is vermeld.

Wanneer de Databricks CLI de vereiste instellingen vindt die nodig zijn, stopt het zoeken op andere locaties. Voorbeeld:

  • De Databricks CLI heeft de waarde van een persoonlijk toegangstoken van Azure Databricks nodig. Er wordt een DATABRICKS_TOKEN omgevingsvariabele ingesteld en het .databrickscfg bestand bevat ook meerdere persoonlijke toegangstokens. In dit voorbeeld gebruikt de Databricks CLI de waarde van de DATABRICKS_TOKEN omgevingsvariabele en wordt het .databrickscfg bestand niet doorzocht.
  • De databricks bundle deploy -e development opdracht heeft de waarde van een persoonlijk toegangstoken van Azure Databricks nodig. Een DATABRICKS_TOKEN omgevingsvariabele is niet ingesteld en het .databrickscfg bestand bevat meerdere persoonlijke toegangstokens. Het bestand met bundelinstellingen van het project bevat een development omgevingsdeclaratie die verwijst naar het profile veld een configuratieprofiel met de naam DEV. In dit voorbeeld zoekt de Databricks CLI het .databrickscfg bestand naar een profiel met de naam DEV en gebruikt de waarde van het veld van dat profiel token .
  • De databricks bundle run -e development hello-job opdracht heeft de waarde van een persoonlijk toegangstoken van Azure Databricks nodig. Een DATABRICKS_TOKEN omgevingsvariabele is niet ingesteld en het .databrickscfg bestand bevat meerdere persoonlijke toegangstokens. Het bestand met bundelinstellingen van het project bevat een development omgevingsdeclaratie die verwijst naar het host veld een specifieke URL van de Azure Databricks-werkruimte. In dit voorbeeld zoekt de Databricks CLI in de configuratieprofielen in het .databrickscfg bestand naar een profiel dat een host veld met een overeenkomende werkruimte-URL bevat. De Databricks CLI zoekt een overeenkomend host veld en gebruikt vervolgens de veldwaarde van token dat profiel.