Ověřování pomocí principálů služeb Microsoft Entra

Ověřování instančního objektu Microsoft Entra používá k ověření přihlašovací údaje instančního objektu Microsoft Entra. Chcete-li vytvořit a spravovat hlavní služby pro Azure Databricks, podívejte se na:

Poznámka

Databricks doporučuje ve většině scénářů používat autentizaci machine-to-machine (M2M) pomocí OAuth. OAuth M2M používá přístupové tokeny OAuth, které jsou robustnější při ověřování pouze v Azure Databricks. Ověřování pomocí Microsoft Entra service principal používejte jen tehdy, když se musíte ověřit na Azure Databricks a dalších prostředcích Azure současně.

Další informace najdete v tématu Použití spravovaných identit Azure s Azure Databricks a ověřování pomocí Azure DevOps v Azure Databricks.

Pokud chcete konfigurovat ověřování služebního účtu Microsoft Entra pomocí Azure Databricks, musíte nastavit následující přidružené proměnné prostředí, .databrickscfg pole, pole Terraformu nebo Config pole:

  • Hostitel Azure Databricks.

    • Proveďte operace s účtem, specifikujte https://accounts.azuredatabricks.net.
    • Pro operace pracovního prostoru doporučuje Databricks zadat adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net a explicitně přiřadit instanční objekt Microsoft Entra k pracovnímu prostoru. Případně zadejte ID 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.
  • Pro provádění operací s účtem je vyžadován account ID Azure Databricks.

  • ID prostředku Azure.

  • ID tenanta servisního principála Microsoft Entra.

  • ID klienta služebního principálu Microsoft Entra.

  • Tajný klíč klienta služby Microsoft Entra.

Pokud chcete provést ověřování instančního objektu Microsoft Entra pomocí Azure Databricks, integrujte do svého kódu na základě zúčastněného nástroje nebo sady SDK následující:

Proměnné 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 účtu nastavte následující proměnné prostředí:

  • DATABRICKS_HOST, nastavte na hodnotu URL konzole vašeho účtu Azure Databricks, https://accounts.azuredatabricks.net.
  • DATABRICKS_ACCOUNT_ID
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Pro operace na úrovni prostoru, nastavte následující proměnné prostředí:

  • DATABRICKS_HOST, nastaveno na hodnotu vašeho Azure Databricks URL jednotlivého pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net.
  • ARM_TENANT_ID
  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET

Databricks doporučuje použít DATABRICKS_HOST a explicitně přiřadit instanční objekt Microsoft Entra 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.

Konfigurační profily

Vytvořte nebo identifikujte konfigurační profil Azure Databricks s následujícími poli ve vašem .databrickscfg souboru. Pokud vytvoříte profil, nahraďte zástupné symboly vhodný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 účtu nastavte následující hodnoty ve svém .databrickscfg souboru. 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_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Pro operace na úrovni pracovního prostoru nastavte následující hodnoty ve vašem souboru . V tomto případě je hostitelem Azure Databricks URL podle pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net:

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

Databricks doporučuje použít host a explicitně přiřadit instanční objekt Microsoft Entra 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.

Příkazové rozhraní Databricks

Pro Databricks CLI udělejte jednu z následujících věcí:

  • 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 ve vašem souboru .databrickscfg.

Viz také Microsoft Entra ID service principal authentication.

Databricks Connect

Poznámka

Ověřování instančního objektu Microsoft Entra je podporováno v následujících verzích Databricks Connect:

  • pro Python Databricks Connect pro Databricks Runtime 13.1 a novější.
  • Pro Scala, Databricks Connect pro Databricks Runtime 13.3 LTS a výše.

Pro Databricks Connect můžete:

  • Použijte konfigurační profil: Nastavte hodnoty na úrovni pracovního prostoru v .databrickscfg souboru, jak je popsáno na kartě Profil . Nastavte cluster_id také adresu URL instance pracovního prostoru.
  • Použijte proměnné prostředí: Nastavte stejné hodnoty jako na kartě Prostředí . Nastavte DATABRICKS_CLUSTER_ID také adresu URL instance pracovního prostoru.

Hodnoty mají .databrickscfg přednost před proměnnými prostředí.

Informace o inicializaci databricks Connect pomocí těchto nastavení najdete v tématu Konfigurace výpočetních prostředků pro Databricks Connect.

Rozšíření editoru Visual Studio Code

Pro rozšíření Databricks pro Visual Studio Code proveďte následující:

  1. Nastavte hodnoty v .databrickscfg souboru pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno na kartě Profil .
  2. V podokně Konfigurace rozšíření Databricks pro Visual Studio Code klikněte na Konfigurovat Databricks.
  3. V Command Palette pro Databricks Host zadejte svůj URL pro konkrétní pracovní prostor, například https://adb-1234567890123456.7.azuredatabricks.net, a poté stiskněte Enter.
  4. V paletě příkazů vyberte v seznamu pro svoji adresu URL název cílového profilu.

Další podrobnosti najdete v tématu Nastavení autorizace pro rozšíření Databricks pro Visual Studio Code.

Terraform

Pro operace na úrovni účtu, pro výchozí autentizaci:

provider "databricks" {
  alias = "accounts"
}

V případě přímé konfigurace nahraďte zástupné symboly hodnotami z konzoly nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také zprostředkovatel trezoru. V tomto případě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

provider "databricks" {
  alias               = "accounts"
  host                = <your-account-console-url>
  account_id          = <your-account-id>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Pro operace na úrovni pracovního prostoru, pro výchozí autentizaci:

provider "databricks" {
  alias = "workspace"
}

V případě přímé konfigurace nahraďte zástupné symboly hodnotami z konzoly nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také zprostředkovatel trezoru. V tomto případě je hostitelem Azure Databricks URL podle pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net:

provider "databricks" {
  alias               = "workspace"
  host                = <your-workspace-url>
  azure_tenant_id     = <your-azure-tenant-id>
  azure_client_id     = <your-azure-client-id>
  azure_client_secret = <your-azure-client-secret>
}

Databricks doporučuje použít host a explicitně přiřadit instanční objekt Microsoft Entra 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.

Pro více informací o ověřování s poskytovatelem Databricks Terraform si přečtěte Autentizace.

Databricks SDK pro Python

Pro operace na úrovni účtu, pro výchozí autentizaci:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty 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:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = get_account_console_url(),
  account_id          = get_account_id(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Pro operace na úrovni pracovního prostoru, pro výchozí autentizaci:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault. V tomto případě je hostitelem Azure Databricks URL podle pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = get_workspace_url(),
  azure_tenant_id     = get_azure_tenant_id(),
  azure_client_id     = get_azure_client_id(),
  azure_client_secret = get_azure_client_secret()
)
# ...

Databricks doporučuje použít host a explicitně přiřadit instanční objekt Microsoft Entra 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í nástrojů a sad SDK Databricks, které používají Python a které implementují jednotné ověřování Databricks, najdete tady:

Databricks SDK pro Javu

Pro operace na úrovni účtu, pro výchozí autentizaci:

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty 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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getAccountConsoleUrl())
  .setAccountId(getAccountId())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

Pro operace na úrovni pracovního prostoru, pro výchozí autentizaci:

import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault. V tomto případě je hostitelem Azure Databricks URL podle pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(getWorkspaceUrl())
  .setAzureTenantId(getAzureTenantId())
  .setAzureClientId(getAzureClientId())
  .setAzureClientSecret(getAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Databricks doporučuje použít setHost a explicitně přiřadit instanční objekt Microsoft Entra k pracovnímu prostoru. Alternativně použijte setAzureWorkspaceResourceId 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ů a sad SDK Databricks, které používají Javu a které implementují jednotné ověřování Databricks, najdete v tématu:

Databricks SDK pro Go

Pro operace na úrovni účtu, pro výchozí autentizaci:

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

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty 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:              getAccountConsoleUrl(),
  AccountId:         getAccountId(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Pro operace na úrovni pracovního prostoru, pro výchozí autentizaci:

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

V případě přímé konfigurace nahraďte volání funkce kódem, který získává hodnoty z konzoly nebo jiného úložiště konfigurace, například Azure KeyVault. V tomto případě je hostitelem Azure Databricks URL podle pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:              getWorkspaceUrl(),
  AzureTenantId:     getAzureTenantId(),
  AzureClientId:     getAzureClientId(),
  AzureClientSecret: getAzureClientSecret(),
}))
// ...

Databricks doporučuje použít Host a explicitně přiřadit instanční objekt Microsoft Entra k pracovnímu prostoru. Alternativně použijte AzureWorkspaceResourceId 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.

Dodatečné zdroje