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 met Azure Databricks. Programmatische aanroepen naar Azure Databricks-account- en werkruimtebewerkingen gebruiken deze beheerde identiteit bij het werken met Azure-resources die beheerde identiteiten ondersteunen, zoals Virtuele Azure-machines.
- Zie Wat zijn beheerde identiteiten voor Azure-resources? voor informatie over beheerde identiteiten.
- Zie Verificatie van beheerde identiteiten voor Azure Databricks-automatisering instellen en gebruiken voor meer informatie over het maken van een beheerde identiteit en het verlenen van toegang tot Azure Databricks-accounts en -werkruimten.
Notitie
Beheerde identiteiten voor Azure-resources verschillen van De service-principals van Microsoft Entra ID, die azure Databricks ook ondersteunt voor verificatie. Zie voor meer informatie over het gebruik van service-principals voor Microsoft Entra ID voor Azure Databricks-verificatie in plaats van beheerde identiteiten voor Azure-resources:
- Verificatie van MS Entra-service-principal
- Azure CLI-verificatie
- Service-principals beheren
- Een service-principal inrichten met behulp van Terraform
- Microsoft Entra ID-tokens ophalen voor service-principals
- Azure CLI-aanmelding met een Microsoft Entra ID-service-principal
- PowerShell-aanmelding met een Microsoft Entra ID-service-principal
Verificatie van door Azure beheerde identiteiten wordt alleen ondersteund tussen goed geconfigureerde resources die beheerde identiteiten ondersteunen, zoals virtuele Azure-machines (Azure-VM's) en Azure Databricks-accounts en -werkruimten.
Als u verificatie van beheerde Identiteiten met Azure Databricks wilt configureren, moet u de volgende gekoppelde omgevingsvariabelen, .databrickscfg
velden, Terraform-velden of Config
-velden instellen op een correct ondersteunde Azure-VM:
- De Azure Databricks-host.
- Geef voor accountbewerkingen op
https://accounts.azuredatabricks.net
. - Geef voor
https://adb-1234567890123456.7.azuredatabricks.net
werkruimtebewerkingen bijvoorbeeld de URL per werkruimte op.
- Geef voor accountbewerkingen op
- Voor accountbewerkingen wordt de account-id van Azure Databricks gebruikt.
- De tenant-id van de beheerde identiteit.
- De client-id van de beheerde identiteit.
- De Azure-resource-id.
- Stel Azure beheerde identiteiten in op true.
Als u verificatie van beheerde Identiteiten met Azure Databricks 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 verificatietype van Azure Databricks met een hulpprogramma of SDK, raadpleegt u Verificatietoegang tot Azure Databricks-resources of de documentatie van het hulpprogramma of de SDK. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardmethoden voor geïntegreerde clientverificatie.
Stel voor bewerkingen op accountniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, ingesteld op de waarde van de URL van uw Azure Databricks-accountconsole,https://accounts.azuredatabricks.net
.DATABRICKS_ACCOUNT_ID
ARM_CLIENT_ID
ARM_USE_MSI
, ingesteld optrue
.
Stel voor bewerkingen op werkruimteniveau de volgende omgevingsvariabelen in:
DATABRICKS_HOST
, bijvoorbeeld ingesteld op de waarde van uw AZURE Databricks-URLhttps://adb-1234567890123456.7.azuredatabricks.net
per werkruimte.ARM_CLIENT_ID
ARM_USE_MSI
, ingesteld optrue
.
Als de doelidentiteit nog niet is toegevoegd aan de werkruimte, geeft DATABRICKS_AZURE_RESOURCE_ID
u voor bewerkingen op werkruimteniveau samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van DATABRICKS_HOST
samen met de werkruimte-URL. In dit geval moet de doelidentiteit ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Profiel
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. Als u het profiel wilt gebruiken met een hulpprogramma of SDK, raadpleegt u Toegang tot Azure Databricks-resources of de documentatie van het hulpprogramma of de SDK verifiëren. Zie ook Omgevingsvariabelen en -velden voor geïntegreerde clientverificatie en de standaardmethoden voor geïntegreerde clientverificatie.
Stel voor bewerkingen op accountniveau de volgende waarden in uw .databrickscfg
bestand in. In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
[<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 bewerkingen op werkruimteniveau de volgende waarden in het .databrickscfg
bestand in. In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_client_id = <azure-managed-identity-application-id>
azure_use_msi = true
Als de doelidentiteit nog niet is toegevoegd aan de werkruimte, geeft azure_workspace_resource_id
u voor bewerkingen op werkruimteniveau samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van host
samen met de werkruimte-URL. In dit geval moet de doelidentiteit ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
CLI
Ga op een van de volgende manieren te werk voor de Databricks CLI:
- Stel de omgevingsvariabelen in zoals opgegeven in de sectie 'Omgeving' van dit artikel.
- Stel de waarden in het
.databrickscfg
bestand in zoals opgegeven in de sectie Profiel van dit artikel.
Omgevingsvariabelen hebben altijd voorrang op waarden in uw .databrickscfg
bestand.
Zie ook verificatie van door Azure beheerde identiteiten.
Verbinden
Notitie
Databricks Connect is afhankelijk van de Databricks SDK voor Python voor verificatie. De Databricks SDK voor Python heeft nog geen verificatie van door Azure beheerde identiteiten geïmplementeerd.
VS Code
Notitie
De Databricks-extensie voor Visual Studio Code biedt nog geen ondersteuning voor verificatie van door Azure beheerde identiteiten.
Terraform
Voor bewerkingen op accountniveau voor standaardverificatie:
provider "databricks" {
alias = "accounts"
}
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals HashiCorp Vault. Zie ook Kluisprovider). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
provider "databricks" {
alias = "workspace"
}
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals HashiCorp Vault. Zie ook Kluisprovider). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_client_id = <retrieve-azure-client-id>
azure_use_msi = true
}
Als de doelidentiteit nog niet is toegevoegd aan de werkruimte, geeft azure_workspace_resource_id
u voor bewerkingen op werkruimteniveau samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van host
samen met de werkruimte-URL. In dit geval moet de doelidentiteit ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie Verificatie voor meer informatie over verificatie met de Databricks Terraform-provider.
Python
Notitie
De Databricks SDK voor Python heeft nog geen verificatie van door Azure beheerde identiteiten geïmplementeerd.
Java
Notitie
De Databricks SDK voor Java heeft nog geen verificatie van door Azure beheerde identiteiten geïmplementeerd.
Go
Voor bewerkingen op accountniveau voor standaardverificatie:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is https://accounts.azuredatabricks.net
de URL van de Azure Databricks-accountconsole:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Voor bewerkingen op werkruimteniveau voor standaardverificatie:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
Voor directe configuratie (vervang de retrieve
tijdelijke aanduidingen door uw eigen implementatie om de waarden op te halen uit de console of een ander configuratiearchief, zoals Azure KeyVault). In dit geval is de host de URL van Azure Databricks per werkruimte, bijvoorbeeldhttps://adb-1234567890123456.7.azuredatabricks.net
:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
AzureClientId: retrieveAzureClientId(),
AzureUseMSI: true,
}))
// ...
Als de doelidentiteit nog niet is toegevoegd aan de werkruimte, geeft AzureResourceID
u voor bewerkingen op werkruimteniveau samen met de Azure-resource-id voor de Azure Databricks-werkruimte op in plaats van Host
samen met de werkruimte-URL. In dit geval moet de doelidentiteit ten minste machtigingen voor inzender of eigenaar hebben voor de Azure-resource voor de Azure Databricks-werkruimte.
Zie De Databricks-SDK voor Go verifiëren met uw Azure Databricks-account of -werkruimte voor meer informatie over verificatie met Databricks-hulpprogramma's en SDK's die gebruikmaken van Go en die geïntegreerde Verificatie van de Databricks-client implementeren.