Delen via


Toegang tot Azure Databricks-resources autoriseren

In dit onderwerp worden de basismethoden besproken voor het maken van beveiligde Azure Databricks CLI- of REST API-aanroepen met behulp van Azure Databricks-accountreferenties, zoals gebruikersaccounts of service-principals.

Autorisatie voor de Azure Databricks CLI en API's

Om toegang te krijgen tot een Azure Databricks-resource met de Databricks CLI of REST API's, moeten clients autoriseren met behulp van een Azure Databricks-account. Dit account moet machtigingen hebben voor toegang tot de resource, die kan worden geconfigureerd door uw Azure Databricks-beheerder of een gebruikersaccount met beheerdersbevoegdheden.

Er zijn twee soorten accounts die u kunt gebruiken, afhankelijk van hoe u toegang wilt krijgen tot uw Azure Databricks-resources:

  • gebruikersaccount: Gebruik dit om interactief Azure Databricks CLI-opdrachten of REST API-aanroepen in te voeren.
  • Service-principal: Gebruik dit om Azure Databricks CLI-opdrachten of REST API-aanroepen zonder menselijke interactie te automatiseren.

Zodra u het Azure Databricks-accounttype hebt gekozen, moet u een toegangstoken verkrijgen dat de referenties van het account vertegenwoordigt. U gebruikt dit toegangstoken bij het openen van de bronnen van het account in uw scripts of code en in interactieve sessies.

  1. Als u Azure Databricks gebruikt, kunt u ook een MS Entra-service-principal gebruiken om toegang te verlenen tot uw Azure Databricks-account of -werkruimte. Databricks raadt u echter aan om een Databricks-service-principal te gebruiken met onze aangeleverde OAuth-autorisatie in plaats van de autorisatie van MS Entra-service-principals. Dit komt doordat de autorisatie van Databricks OAuth-toegangstokens gebruikt die robuuster zijn bij het autoriseren van alleen Azure Databricks.

Zie ms Entra-service-principalverificatie voor meer informatie over het gebruik van een MS Entra-service-principal voor toegang tot Databricks-resources.

Een toegangstoken verkrijgen

De referenties van uw account worden vertegenwoordigd door een beveiligd toegangstoken, dat u rechtstreeks of indirect aan de CLI-opdracht of API-aanroep verstrekt.

Als u een Databricks CLI-opdracht of API-aanvraag wilt uitvoeren waarvoor geautoriseerde toegang tot een account of werkruimte is vereist, moet u een toegangstoken opgeven op basis van geldige azure Databricks-accountreferenties.

In de volgende tabel ziet u de autorisatiemethoden die beschikbaar zijn voor uw Azure Databricks-account.

Azure Databricks-autorisatiemethoden

Omdat Azure Databricks-hulpprogramma's en SDK's werken met een of meer ondersteunde Azure Databricks-autorisatiemethoden, kunt u de beste autorisatiemethode voor uw use-case selecteren. Zie het hulpprogramma of de SDK-documentatie in Lokale ontwikkelhulpprogramma'svoor meer informatie.

Azure Databricks-gebruikers hebben mogelijk toegang nodig tot Azure-specifieke resources die niet rechtstreeks worden beheerd onder uw Databricks-account. De methoden voor toegang tot deze resources zijn ook opgenomen in deze tabel. Voor toegang tot Azure-resources gebruikt u een Azure Managed Service Identity (MSI) of een MS Entra-id (afhankelijk van uw scenario) en niet uw Azure Databricks-accountreferenties.

Wijze Description Gebruiksscenario
Databricks OAuth voor service-principals OAuth-tokens met korte levensduur voor service-principals. Autorisatiescenario's zonder toezicht, zoals volledig geautomatiseerde en CI/CD-werkstromen.
Databricks OAuth voor gebruikers OAuth-tokens met korte levensduur voor gebruikers. Bij autorisatiescenario's, waarbij u uw webbrowser of andere interactieve methode gebruikt om te autoriseren met Databricks, wanneer hierom wordt gevraagd.
Databricks persoonlijke toegangstokens (PATs) Kortlevende of langlevende tokens voor gebruikers of service-principals. Gebruik dit alleen in gevallen waarin uw doelhulpprogramma geen ondersteuning biedt voor OAuth.
Azure beheerde service-identiteitsautorisatie Microsoft Entra ID-tokens voor door Azure beheerde identiteiten. Gebruik alleen met Azure-resources die beheerde identiteiten ondersteunen, zoals virtuele Azure-machines.
autorisatie van de service-principal van Microsoft Entra ID Microsoft Entra ID-tokens voor Microsoft Entra ID-service-principals. Gebruik alleen met Azure-resources die Ondersteuning bieden voor Microsoft Entra ID-tokens en geen ondersteuning bieden voor beheerde identiteiten, zoals Azure DevOps.
Azure CLI-autorisatie Microsoft Entra ID-tokens voor gebruikers of Microsoft Entra ID-service-principals. Gebruik dit om toegang tot Azure-resources en Azure Databricks te autoriseren met behulp van de Azure CLI.
gebruikersautorisatie van Microsoft Entra ID Microsoft Entra ID-tokens voor gebruikers. Gebruik alleen met Azure-resources die alleen Ondersteuning bieden voor Microsoft Entra ID-tokens. Databricks raadt u niet aan om Handmatig Microsoft Entra ID-tokens te maken voor Azure Databricks-gebruikers.

Welke autorisatieoptie moet ik kiezen?

Azure Databricks biedt twee opties voor autorisatie of verificatie met een toegangstoken:

  • Op OAuth 2.0 gebaseerde toegangstokens.
  • Persoonlijke toegangstokens (PAT's).

Notitie

Azure Databricks raadt u ten zeerste aan OAuth te gebruiken voor autorisatie, omdat OAuth-tokens standaard automatisch worden vernieuwd en geen direct beheer van het toegangstoken vereisen, waardoor uw beveiliging tegen het kapen van tokens en ongewenste toegang wordt verbeterd.

Omdat OAuth het toegangstoken voor u maakt en beheert, geeft u een URL voor het OAuth-tokeneindpunt, een client-id en een geheim op dat u genereert vanuit uw Azure Databricks-werkruimte in plaats van rechtstreeks een tokentekenreeks op te geven. Kies ALLEEN PAT's wanneer u een hulpprogramma of service van derden integreert die niet wordt ondersteund door geïntegreerde Azure Databricks-clientverificatie of geen OAuth-ondersteuning heeft.

Hoe gebruik ik OAuth om toegang tot Azure Databricks-resources te autoriseren?

Azure Databricks biedt geïntegreerde clientverificatie om u te helpen bij autorisatie met behulp van een standaardset omgevingsvariabelen die u kunt instellen op specifieke referentiewaarden. Dit helpt u gemakkelijker en veilig te werken, omdat deze omgevingsvariabelen specifiek zijn voor de omgeving waarop de Azure Databricks CLI-opdrachten worden uitgevoerd of Azure Databricks-API's worden aangeroepen.

  • Voor autorisatie van gebruikersaccounts wordt het verificatiegedeelte van Azure Databricks OAuth, het maken en beheren van toegangstokens, voor u verwerkt met Geïntegreerde verificatie van databricks-clients, zolang de hulpprogramma's en SDK's de standaard implementeren. Als ze dat niet doen, kunt u handmatig een OAuth-codeverificator en uitdagingpaar genereren om rechtstreeks te gebruiken in uw Azure Databricks CLI-commando's en API-verzoeken. Zie stap 1: Een OAuth-codeverificator en codevraagpaar genereren.
  • Voor autorisatie van serviceprincipals vereist Azure Databricks OAuth dat de aanroeper clientreferenties opgeeft, samen met een token-eindpunt-URL waar de aanvraag kan worden geautoriseerd. (Dit wordt voor u afgehandeld als u Azure Databricks-hulpprogramma's en SDK's gebruikt die geïntegreerde Databricks-clientverificatie ondersteunen.) De referenties bevatten een unieke client-id en clientgeheim. De client, de Databricks-service-principal die uw code uitvoert, moet worden toegewezen aan Databricks-werkruimten. Nadat u de service-principal aan de werkruimten hebt toegewezen, krijgt u een client-id en een clientgeheim dat u met specifieke omgevingsvariabelen instelt.

Deze omgevingsvariabelen zijn:

Omgevingsvariabele Description
DATABRICKS_HOST Deze omgevingsvariabele is ingesteld op de URL van uw Azure Databricks-accountconsole (http://accounts.cloud.databricks.com) of de URL van uw Azure Databricks-werkruimte (https://{workspace-id}.cloud.databricks.com). Kies een host-URL-type op basis van het type bewerkingen dat u in uw code gaat uitvoeren. Als u Azure Databricks gebruikt CLI-opdrachten op accountniveau of REST API-aanvragen, stelt u deze variabele in op de URL van uw Azure Databricks-account. Als u CLI-opdrachten op werkruimteniveau van Azure Databricks of REST API-aanvragen gebruikt, gebruikt u de URL van uw Azure Databricks-werkruimte.
DATABRICKS_ACCOUNT_ID Wordt gebruikt voor bewerkingen van Azure Databricks-accounts. Dit is uw Azure Databricks-account-id. Om het te verkrijgen, zie Zoek uw account-id.
DATABRICKS_CLIENT_ID (Alleen OAuth voor service-principal) De client-id die u hebt toegewezen toen het maken van uw service-principal.
DATABRICKS_CLIENT_SECRET (Alleen OAuth voor service-principal) De clientsleutel die u hebt gegenereerd tijdens het aanmaken van uw service-principal.

U kunt deze rechtstreeks instellen of via het gebruik van een Databricks-configuratieprofiel (.databrickscfg) op uw clientcomputer.

Als u een OAuth-toegangstoken wilt gebruiken, moet uw Azure Databricks-werkruimte of accountbeheerder uw gebruikersaccount of service-principal de CAN USE bevoegdheid hebben verleend voor de account- en werkruimtefuncties die toegang hebben tot uw code.

Zie Unified-clientverificatie voor meer informatie over het configureren van OAuth-autorisatie voor uw client en voor het controleren van cloudproviderspecifieke autorisatieopties.

Verificatie voor services en hulpprogramma's van derden

Als u code schrijft die toegang heeft tot services, hulpprogramma's of SDK's van derden, moet u de verificatie- en autorisatiemechanismen van de derde partij gebruiken. Als u echter een hulpprogramma, SDK of service van derden toegang moet verlenen tot uw Azure Databricks-account of werkruimtebronnen, biedt Databricks de volgende ondersteuning:

Azure Databricks-configuratieprofielen

Een Azure Databricks-configuratieprofiel bevat instellingen en andere informatie die Azure Databricks nodig heeft om toegang te verlenen. Azure Databricks-configuratieprofielen worden opgeslagen in lokale clientbestanden voor uw hulpprogramma's, SDK's, scripts en apps die u kunt gebruiken. Het standaardconfiguratieprofielbestand heeft de naam .databrickscfg.

Zie Azure Databricks-configuratieprofielen voor meer informatie.