Ověřování pomocí spravovaných identit Azure

Ověřování spravovaných identit Azure používá spravované identity k ověřování prostředků Azure pomocí Azure Databricks. Při práci s prostředky Azure, které podporují spravované identity, jako jsou virtuální počítače Azure, používají programová volání do účtu Azure a operací pracovního prostoru tuto spravovanou identitu.

Poznámka:

Spravované identity pro prostředky Azure se odlišují od služebních principálů Microsoft Entra ID, které Azure Databricks podporuje a to pro ověřování. Informace o tom, jak používat hlavní služby Microsoft Entra ID pro ověřování Azure Databricks místo spravovaných identit pro zdroje Azure, naleznete zde:

Ověřování spravovaných identit Azure se podporuje jenom mezi správně nakonfigurovanými prostředky, které podporují spravované identity, jako jsou virtuální počítače Azure (Azure VMs) a účty Azure Databricks a pracovní prostory.

Pokud chcete nakonfigurovat ověřování spravovaných identit Azure pomocí Azure Databricks, musíte nastavit následující konfiguraci pomocí jedné z podporovaných metod na správně podporovaném virtuálním počítači Azure:

  • Hostitel Azure Databricks.
    • Pro operace účtu zadejte https://accounts.azuredatabricks.net.
    • Pro operace pracovního prostoru zadejte adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.
  • V případě operací s účtem je ID účtu Azure Databricks.
  • ID tenanta spravované identity.
  • ID klienta spravované identity.
  • ID prostředku Azure.
  • Nastavte Azure na použití spravovaných identit hodnotu pravda.

Pokud chcete provádět ověřování spravovaných identit Azure pomocí Azure Databricks, integrujte do svého kódu na základě zúčastněného nástroje nebo sady SDK následující:

Prostředí

Pokud chcete použít proměnné prostředí pro konkrétní typ ověřování Azure Databricks pomocí nástroje nebo sady SDK, přečtěte si téma Autorizace přístupu k prostředkům Azure Databricks nebo dokumentaci k nástroji nebo sadě SDK. Viz také proměnné prostředí a pole pro jednotné ověřování a prioritu metody ověřování.

Pro operace na úrovni účtunastavte následující proměnné prostředí:

  • DATABRICKS_HOST, nastavte na hodnotu adresy URL konzoly účtu Azure Databricks https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_CLIENT_ID
  • ARM_USE_MSI, nastavte na true.

Pro operace na úrovni pracovního prostorunastavte následující proměnné prostředí:

Databricks doporučuje používat DATABRICKS_HOST a explicitně přiřazovat identitu k pracovnímu prostoru. Alternativně použijte DATABRICKS_AZURE_RESOURCE_ID s identifikátorem prostředku Azure. Tento přístup vyžaduje oprávnění přispěvatele nebo vlastníka prostředku Azure nebo vlastní roli s konkrétními oprávněními Azure Databricks.

Profil

Vytvořte nebo identifikujte konfigurační profil Azure Databricks s následujícími poli v .databrickscfg souboru. Pokud vytvoříte profil, nahraďte zástupné symboly příslušnými hodnotami. Pokud chcete profil použít s nástrojem nebo sadou SDK, přečtěte si téma Autorizace přístupu k prostředkům Azure Databricks nebo dokumentaci k nástroji nebo sadě SDK. Viz také proměnné prostředí a pole pro jednotné ověřování a prioritu metody ověřování.

Pro operace na úrovni účtunastavte v souboru .databrickscfg následující hodnoty. V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

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

U operací na úrovni pracovního prostorunastavte v souboru .databrickscfg následující hodnoty. V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://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

Databricks doporučuje používat host a explicitně přiřazovat identitu k pracovnímu prostoru. Alternativně použijte azure_workspace_resource_id s identifikátorem prostředku Azure. Tento přístup vyžaduje oprávnění přispěvatele nebo vlastníka prostředku Azure nebo vlastní roli s konkrétními oprávněními Azure Databricks.

CLI

Pro příkazové rozhraní Databricks proveďte jednu z následujících akcí:

  • Nastavte proměnné prostředí, jak je uvedeno na kartě Prostředí .
  • Nastavte hodnoty v .databrickscfg souboru, jak je uvedeno na kartě Profil .

Proměnné prostředí mají vždy přednost před hodnotami v souboru .databrickscfg.

Viz také ověřování spravovaných identit Azure.

Připojit

Poznámka:

Databricks Connect využívá k ověřování sadu Databricks SDK pro Python. Sada Databricks SDK pro Python zatím neimplementovala ověřování spravovaných identit Azure.

VS Code

Poznámka:

Rozšíření Databricks pro Visual Studio Code zatím nepodporuje ověřování spravovaných identit Azure.

Terraformování

Pro operace na úrovni účtu, pro výchozí ověřování:

provider "databricks" {
  alias = "accounts"
}

Pro přímou konfiguraci (nahraďte zástupné symboly retrieve vlastní implementací pro načtení hodnot z konzole nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také Vault Provider). V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

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
}

Pro operace na úrovni pracovního prostoru pro výchozí ověřování:

provider "databricks" {
  alias = "workspace"
}

Pro přímou konfiguraci (nahraďte zástupné symboly retrieve vlastní implementací pro načtení hodnot z konzole nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také Vault Provider). V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias           = "workspace"
  host            = <retrieve-workspace-url>
  azure_client_id = <retrieve-azure-client-id>
  azure_use_msi   = true
}

Databricks doporučuje používat host a explicitně přiřazovat identitu k pracovnímu prostoru. Alternativně použijte azure_workspace_resource_id s identifikátorem prostředku Azure. Tento přístup vyžaduje oprávnění přispěvatele nebo vlastníka prostředku Azure nebo vlastní roli s konkrétními oprávněními Azure Databricks.

Další informace o ověřování pomocí zprostředkovatele Databricks Terraform najdete v tématu Ověřování.

Python

Poznámka:

Sada Databricks SDK pro Python zatím neimplementovala ověřování spravovaných identit Azure.

Java

Poznámka:

Sada Databricks SDK pro Javu zatím neimplementovala ověřování spravovaných identit Azure.

Go

Pro operace na úrovni účtu, pro výchozí ověřování:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

Pro přímou konfiguraci (nahraďte zástupné symboly retrieve vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například azure KeyVault). V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:          retrieveAccountConsoleUrl(),
  AccountId:     retrieveAccountId(),
  AzureClientId: retrieveAzureClientId(),
  AzureUseMSI:   true,
}))
// ...

Pro operace na úrovni pracovního prostoru pro výchozí ověřování:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...

Pro přímou konfiguraci (nahraďte zástupné symboly retrieve vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například azure KeyVault). V tomto případě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://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,
}))
// ...

Databricks doporučuje používat Host a explicitně přiřazovat identitu k pracovnímu prostoru. Alternativně použijte AzureResourceID s identifikátorem prostředku Azure. Tento přístup vyžaduje oprávnění přispěvatele nebo vlastníka prostředku Azure nebo vlastní roli s konkrétními oprávněními Azure Databricks.

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Go a které implementují jednotné ověřování klienta Databricks, najdete v tématu Ověření sady Databricks SDK for Go pomocí účtu nebo pracovního prostoru Azure Databricks.