Authenticeren met persoonlijke toegangstokens van Azure Databricks (verouderd)

Azure Databricks persoonlijke toegangstokens (PAT's) stellen u in staat om te authenticeren bij resources en API's op het niveau van de werkruimte. U kunt ze opslaan in omgevingsvariabelen of Azure Databricks configuratieprofielen. Elke PAT is geldig voor slechts één werkruimte en een gebruiker kan maximaal 600 PAT's per werkruimte maken. Azure Databricks automatisch PAT's intrekt die gedurende 90 dagen niet zijn gebruikt.

Belangrijk

Waar mogelijk raadt Databricks aan om OAuth te gebruiken in plaats van PAT's voor verificatie van gebruikersaccounts, omdat OAuth een sterkere beveiliging biedt. Zie Gebruikerstoegang tot Azure Databricks verifiëren met OAuth voor meer informatie over het verifiëren met een Databricks-gebruikersaccount met behulp van OAuth.

U kunt geen persoonlijke toegangstokens gebruiken om de functionaliteit van Azure Databricks accountniveau te automatiseren. Gebruik in plaats daarvan de Microsoft Entra ID tokens van Azure Databricks accountbeheerders. Azure Databricks accountbeheerders kunnen gebruikers of service-principals zijn. Zie voor meer informatie:

Persoonlijke toegangstokens maken voor werkruimtegebruikers

Ga als volgt te werk om een persoonlijk toegangstoken te maken voor uw Azure Databricks werkruimtegebruiker:

  1. Klik in uw Azure Databricks werkruimte op uw gebruikersnaam in de bovenste balk en selecteer Settings.
  2. Klik op Ontwikkelaar.
  3. Klik naast Access-tokens op Beheren.
  4. Klik op Nieuw token genereren.
  5. Voer een naam in waarmee u dit token later kunt identificeren.
  6. Stel de levensduur van het token in dagen in. Zie De maximale levensduur van nieuwe persoonlijke toegangstokens instellen.
  7. Selecteer een bereiktype en voeg API-bereiken toe. Selecteer BI Tools voor hulpprogramma's die verbinding maken met Databricks SQL-warehouses, zoals Tableau of Power BI, of selecteer Overige API's om handmatig bereiken te kiezen. Zie Scoped personal access tokens.
  8. Om auto-scoping voor deze token mogelijk te maken, zet je Auto-scope tokens aan. Auto-scoping beperkt automatisch de scopes van het token tot de API's die het gebruikt, waarbij de all-apis scope tijdelijk wordt toegepast tijdens de observatieperiode. Deze optie verschijnt alleen wanneer een beheerder de auto-scoping preview voor je werkruimte heeft ingeschakeld, en auto-scoping geldt alleen voor tokens met een levensduur van meer dan 30 dagen. Zie Automatische scopetoewijzing voor persoonlijke toegangstokens.
  9. Klik op Genereren.
  10. Kopieer het weergegeven token naar een veilige locatie en klik vervolgens op Gereed. Sla het token veilig op en deel het niet. Als u het kwijtraakt, moet u een nieuw token maken.

Als u geen tokens kunt maken of gebruiken, heeft uw werkruimtebeheerder mogelijk tokens uitgeschakeld of u bent niet gemachtigd. Raadpleeg uw werkruimtebeheerder of het volgende:

Persoonlijke toegangstokens met beperkte rechten

Persoonlijke toegangstokens met een beperking beperken de machtigingen van een token tot specifieke API-bewerkingen. In plaats van volledige werkruimtetoegang te verlenen, wijst u een of meer API-bereiken toe, zoals sql, unity-catalogof scim, die beperken welke REST API-bewerkingen het token kan aanroepen.

Waarschuwing

Tokens met de authentication scope kunnen nieuwe tokens maken met elke scope. Verken dit bereik alleen aan tokens die andere tokens moeten beheren.

Als u een scoped token wilt maken in de gebruikersinterface van de werkruimte, selecteert u een bereiktype en voegt u API-bereiken toe wanneer u een nieuw token genereert. Selecteer BI Tools voor hulpprogramma's die verbinding maken met Databricks SQL-warehouses, zoals Tableau of Power BI, of selecteer Overige API's om handmatig bereiken te kiezen.

Zie API-bereiken voor een volledige lijst met bereiken en de bijbehorende API-bewerkingen.

Automatische scopetoewijzing voor persoonlijke toegangstokens

Automatische scoping beperkt de machtigingen van een token automatisch tot alleen de API's die het daadwerkelijk gebruikt. Azure Databricks observeert het API-gebruik van de token over een periode van 30 dagen en past vervolgens de afgeleide scopes toe. Auto-scoping wordt één keer per token uitgevoerd. Tijdens de observatieperiode behoudt het token volledige toegang tot de werkruimte (de all-apis scope). Azure Databricks stuurt een herinneringsmail 7 dagen voor de afdwinging en een afdwingingsmail wanneer de afgeleide scopes worden toegepast.

Auto-scoping-regelaars

  • Workspace preview (door de beheerder beheerd): Een beheerder schakelt de automatische scopering voor de hele workspace in of uit via de account console of de pagina Previews. Zie Azure Databricks previews beheren.
  • Per-token instelling (autoscope_enabled): Wanneer de preview is ingeschakeld, wordt elke token afzonderlijk bij het aanmaken in- of uitgeschakeld.

Auto-scoping geldt alleen voor tokens met een levensduur van meer dan 30 dagen. Dit omvat nieuwe tokens die zijn gemaakt met auto-scoping ingeschakeld en bestaande langlopende tokens. Voor een bestaand in aanmerking komende token begint de observatieperiode van 30 dagen wanneer een beheerder de preview inschakelt. Azure Databricks past de afgeleide scopes toe aan het einde van die periode en stuurt 7 dagen vóór de afdwinging ervan een herinneringsmail, volgens hetzelfde tijdschema als een nieuw aangemaakt auto-scoped token.

Meld je af voor auto-scoping

  • Eén token, vóór afdwinging: Stel het token in op specifieke scopes in de workspace UI (Settings>Developer>Access TokensManage, klik vervolgens op >) of met de Token API (zie Update the scopes of a personal access token). Het instellen van specifieke scopes schakelt auto-scoping voor die token permanent uit. Het terugzetten van de token naar de all-apis scope (een lege scopes array) is een no-op en stopt auto-scoping niet. Om een token met volledige all-apis toegang te behouden die nooit automatisch scopet, maak je een nieuwe token aan met auto-scoping uitgeschakeld.
  • De hele werkruimte: Vraag een beheerder om de preview voor automatisch scoping op de pagina Previews uit te schakelen. Zie Azure Databricks previews beheren.

Nadat de handhaving is voltooid, draait auto-scoping niet meer voor dat token, dus je kunt de scopes vrij instellen, inclusief terug naar all-apis.

Notitie

De workspace UI-opt-out werkt alleen voor een token dat je bezit. Om het token van een serviceprincipal uit te sluiten, stel je de scopes ervan in met het PATCH /api/2.0/token/{token_id_sha256} verzoek.

Om de status van automatische scopetoewijzing en afgeleide scopes voor je tokens te bekijken, zie De status van automatische scopetoewijzing en afgeleide scopes voor tokens bekijken.

Persoonlijke toegangstokens maken voor service-principals

Een service-principal kan persoonlijke toegangstokens voor zichzelf maken.

  1. Voer de volgende opdracht uit om een toegangstoken te genereren:

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    Vervang de volgende waarden:

    • <lifetime-seconds>: Tokenlevensduur in seconden, zoals 86400 voor 1 dag. Standaard ingesteld op het maximum van de werkruimte (meestal 730 dagen).
    • <profile-name>: Configuratieprofiel met verificatiegegevens. Standaardwaarde is DEFAULT.
  2. Kopieer het token_value uit het antwoord. Dit is het toegangstoken voor uw service-principal. Sla het token veilig op en deel het niet. Als u het kwijtraakt, moet u een nieuw token maken.

Als u geen tokens kunt maken of gebruiken, heeft uw werkruimtebeheerder mogelijk tokens uitgeschakeld of u bent niet gemachtigd. Raadpleeg uw werkruimtebeheerder of het volgende:

Persoonlijke toegangstokenverificatie uitvoeren

Als u Azure Databricks persoonlijke toegangstokenverificatie wilt configureren, stelt u de volgende gekoppelde omgevingsvariabelen, .databrickscfg velden, Terraform-velden of Config-velden in:

  • De Azure Databricks host, opgegeven als de doel-URL Azure Databricks perwerkruimte, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.
  • Het Azure Databricks persoonlijke toegangstoken voor het Azure Databricks gebruikersaccount.

Als u Azure Databricks persoonlijke toegangstokenverificatie wilt uitvoeren, integreert u het volgende in uw code op basis van het deelnemende hulpprogramma of de SDK:

Omgeving

Als u omgevingsvariabelen wilt gebruiken voor een specifiek Azure Databricks verificatietype met een hulpprogramma of SDK, raadpleegt u Authorize-toegang tot Azure Databricks resources of de documentatie van het hulpprogramma of de SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde verificatie en de prioriteit van de verificatiemethode.

Stel de volgende omgevingsvariabelen in:

  • DATABRICKS_HOST ingesteld op de Azure Databricks per-werkruimte URL, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, stel de tekenreeks van het token in.

Profiel

Maak of identificeer een Azure Databricks configuratieprofiel met de volgende velden in uw bestand .databrickscfg. Als u het profiel maakt, vervangt u de tijdelijke aanduidingen door de juiste waarden. Zie Verificatietoegang tot Azure Databricks resources of de documentatie van het hulpprogramma of de SDK als u het profiel wilt gebruiken met een hulpprogramma of SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde verificatie en de prioriteit van de verificatiemethode.

Stel de volgende waarden in uw .databrickscfg-bestand in. In dit geval is de host de url Azure Databricks per-workspace, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net:

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

In plaats van de waarden handmatig in te stellen, kunt u de Databricks CLI gebruiken om deze waarden in te stellen:

Notitie

In de volgende procedure wordt de Databricks CLI gebruikt om een Azure Databricks configuratieprofiel te maken met de naam DEFAULT. Als u al een DEFAULT configuratieprofiel hebt, overschrijft deze procedure uw bestaande DEFAULT configuratieprofiel.

Als u wilt controleren of u al een DEFAULT configuratieprofiel hebt en de instellingen van dit profiel wilt weergeven als dit bestaat, gebruikt u de Databricks CLI om de opdracht databricks auth env --profile DEFAULTuit te voeren.

Als u een configuratieprofiel wilt maken met een andere naam dan DEFAULT, vervangt u het DEFAULT deel van --profile DEFAULT de volgende databricks configure opdracht door een andere naam voor het configuratieprofiel.

  1. Gebruik de Databricks CLI om een Azure Databricks configuratieprofiel te maken met de naam DEFAULT die gebruikmaakt van Azure Databricks persoonlijke toegangstokenverificatie. Voer hiervoor de volgende opdracht uit:

    databricks configure --profile DEFAULT
    
  2. Voer voor de prompt Databricks Host de URL van uw Azure Databricks perwerkruimte in, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.

  3. Voer voor de prompt Personal Access Token het Azure Databricks persoonlijke toegangstoken voor uw werkruimte in.

CLI (Command Line Interface)

Voer de databricks configure opdracht uit voor de Databricks CLI. Voer bij de prompts de volgende instellingen in:

  • De Azure Databricks host, opgegeven als de doel-URL Azure Databricks perwerkruimte, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.
  • Het Azure Databricks persoonlijke toegangstoken voor het Azure Databricks gebruikersaccount.

Zie Persoonlijke toegangstokenverificatie (verouderd) voor meer informatie.

Verbinden

Notitie

Azure Databricks verificatie van persoonlijke toegangstokens wordt ondersteund in de volgende Databricks Connect-versies:

  • Voor Python, Databricks Connect voor Databricks Runtime 13.3 LTS en hoger.
  • Voor Scala, Databricks Connect voor Databricks Runtime 13.3 LTS en hoger.

Voor Databricks Connect gebruikt u de Databricks CLI om de waarden in uw .databrickscfg-bestand in te stellen voor bewerkingen op Azure Databricks werkruimteniveau zoals opgegeven in de sectie Profile.

Met de volgende procedure maakt u een Azure Databricks configuratieprofiel met de naam DEFAULT, waarmee een bestaand DEFAULT-profiel wordt overschreven. Als u wilt controleren of er een DEFAULT profiel bestaat, voert u het volgende uit databricks auth env --profile DEFAULT. Als deze bestaat, gebruikt u een andere profielnaam.

  1. Voer de volgende opdracht uit om een Azure Databricks-configuratieprofiel met de naam DEFAULT te maken dat gebruikmaakt van persoonlijke toegangstokenverificatie.

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. Voer voor de prompt Databricks Host de URL van uw Azure Databricks perwerkruimte in, bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.net.

  3. Voer voor het prompt persoonlijke toegangstoken het persoonlijke toegangstoken voor uw werkruimte in.

  4. Selecteer in de lijst met beschikbare clusters het doelcluster Azure Databricks cluster in uw werkruimte. U kunt elk deel van de weergavenaam van het cluster typen om de lijst met beschikbare clusters te filteren.

De Azure Databricks REST API gebruiken om persoonlijke toegangstokens uit te geven

Azure Databricks biedt een REST-eindpunt /api/2.0/token/create om Persoonlijke toegangstokens (PATs) uit te geven. Zie Een gebruikerstoken maken voor API-details.

Stel in het volgende voorbeeld deze waarden in:

  • <databricks-instance>: de URL van uw Databricks-werkruimte. Bijvoorbeeld: dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: een bestaande geldige PAT (tekenreeks) die machtigingen heeft om nieuwe tokens te maken.
  • <lifetime-seconds>: De levensduur van het token in seconden.
  • <scopes>: Een lijst van scopes om aan het token toe te wijzen, of een lege array ([]) om aan het token toe te wijzen en volledige toegang tot de werkruimte (de all-apis scope) te verlenen. Zie Scoped personal access tokens.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>,
  "scopes": [
    "sql",
    "authentication"
  ],
  "autoscope_enabled": true
}'

Als dit lukt, resulteert dit in een antwoordinhoud die vergelijkbaar is met:

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

Zorg ervoor dat het nieuwe token uit het antwoord in de autorisatieheader wordt opgenomen bij volgende oproepen naar de Databricks REST-API's. Voorbeeld:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)

De toegangsrechten van een persoonlijk toegangstoken bijwerken

Als een scoped token ontbreekt in het vereiste bereik voor een API-aanroep, mislukt de aanvraag met een fout die het ontbrekende bereik aangeeft. Als u de bereiken van een token wilt bijwerken, gebruikt u het REST-eindpunt /api/2.0/token/<token_id>. Het aanroepende token moet het authentication bereik hebben, waardoor andere tokens kunnen worden beheerd. Gebruik het update_mask veld om op te geven welke tokenvelden moeten worden bijgewerkt.

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

Om een token volledige werkruimtetoegang (de all-apis scope) te geven, zet scopes op een lege array ("scopes": []). De letterlijke string all-apis is geen geaccepteerde scope-waarde.

Notitie

Azure Databricks raadt aan om specifieke scopes toe te wijzen in plaats van all-apis toegang te verlenen. Zie Automatische scopetoewijzing voor persoonlijke toegangstokens.

Het kan tien minuten duren voordat wijzigingen in het bereik zijn doorgevoerd.

Als u alle beschikbare bereiken wilt weergeven, gebruikt u GET /api/2.0/token-scopes.