Sdílet prostřednictvím


Ověřování instančního objektu MS Entra

Ověřování instančního objektu MS Entra používá k ověření přihlašovací údaje instančního objektu MS Entra. Informace o vytváření a správě instančních objektů pro Azure Databricks najdete tady:

Poznámka:

Databricks doporučuje používat ověřování M2M (machine-to-machine) OAuth ve většině scénářů místo ověřování instančního objektu MS Entra. Důvodem je to, že ověřování OAuth M2M používá přístupové tokeny Azure Databricks OAuth, které jsou robustnější při ověřování pouze s Azure Databricks.

Ověřování instančního objektu MS Entra byste měli používat jenom v případech, kdy se musíte ověřit pomocí Azure Databricks a dalších prostředků Azure najednou.

Pokud chcete místo ověřování instančního objektu MS Entra použít ověřování OAuth M2M, přeskočte tento článek a podívejte se na článek Ověřování k Azure Databricks pomocí instančního objektu pomocí OAuth (OAuth M2M).

Instanční objekty MS Entra se liší od spravovaných identit pro prostředky Azure, které Azure Databricks podporuje také pro ověřování. Informace o používání spravovaných identit pro prostředky Azure místo instančních objektů MS Entra pro ověřování Azure Databricks najdete v tématu Nastavení a použití ověřování spravovaných identit Azure pro automatizaci Azure Databricks.

Podrobnosti o ověřování Microsoft Entra pro Databricks pomocí Azure DevOps najdete v tématu Ověřování pomocí Azure DevOps v Databricks.

Pokud chcete nakonfigurovat ověřování instančního objektu MS 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.

    • 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.

      Pokud se instanční objekt MS Entra ještě nepřidá do pracovního prostoru, zadejte místo toho ID prostředku Azure. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure.

  • V případě operací s účtem je ID účtu Azure Databricks.

  • ID prostředku Azure.

  • ID tenanta instančního objektu MS Entra.

  • ID klienta instančního objektu MS Entra.

  • Tajný klíč klienta instančního objektu MS Entra.

Pokud chcete provést ověřování instančního objektu MS 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í:

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 Ověřování 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í klienta a výchozí metody pro jednotné ověřování klienta.

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

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

    • DATABRICKS_ACCOUNT_ID
    • ARM_TENANT_ID
    • ARM_CLIENT_ID
    • ARM_CLIENT_SECRET

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

    • DATABRICKS_HOST, nastavte hodnotu adresy URL služby Azure Databricks pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.
    • ARM_TENANT_ID
    • ARM_CLIENT_ID
    • ARM_CLIENT_SECRET

    Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte DATABRICKS_AZURE_RESOURCE_ID společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo HOST adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor Azure Databricks.

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 Ověřování 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í klienta a výchozí metody pro jednotné ověřování klienta.

V případě operací na úrovni účtu nastavte v .databrickscfg souboru 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_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

U operací na úrovni pracovního prostoru nastavte v .databrickscfg souboru 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_tenant_id     = <azure-service-principal-tenant-id>
azure_client_id     = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>

Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte azure_workspace_resource_id společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo host adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor Azure Databricks.

Pro rozhraní příkazového řádku Databricks proveďte jednu z následujících věcí:

  • Nastavte proměnné prostředí, jak je uvedeno v části Prostředí tohoto článku.
  • Nastavte hodnoty v .databrickscfg souboru, jak je uvedeno v části Profil tohoto článku.

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

Viz také ověřování instančního objektu Microsoft Entra ID.

Poznámka:

Ověřování instančního objektu MS 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 vyšší.

Pro Databricks Connect můžete udělat jednu z těchto věcí:

  • Nastavte hodnoty v .databrickscfg souboru pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno v části Profil tohoto článku. Nastavte také proměnnou cluster_id prostředí ve vašem profilu na adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.
  • Nastavte proměnné prostředí pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno v části Prostředí tohoto článku. Nastavte také proměnnou DATABRICKS_CLUSTER_ID prostředí na adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.net.

Hodnoty v .databrickscfg souboru mají vždy přednost před proměnnými prostředí.

Pokud chcete inicializovat klienta Databricks Connect pomocí těchto proměnných prostředí nebo hodnot v souboru, podívejte .databrickscfg se na jednu z těchto věcí:

Pro rozšíření Databricks pro Visual Studio Code postupujte takto:

  1. Nastavte hodnoty v .databrickscfg souboru pro operace na úrovni pracovního prostoru Azure Databricks, jak je uvedeno v části Profil tohoto článku.
  2. V podokně Konfigurace rozšíření Databricks pro Visual Studio Code klikněte na Konfigurovat Databricks.
  3. V paletě příkazů zadejte pro hostitele Databricks adresu URL pro jednotlivé pracovní prostory, například https://adb-1234567890123456.7.azuredatabricks.neta 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í ověřování pro rozšíření Databricks pro Visual Studio Code.

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

provider "databricks" {
  alias = "accounts"
}

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také poskytovatel trezoru). 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_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

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

provider "databricks" {
  alias = "workspace"
}

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, například HashiCorp Vault. Viz také poskytovatel trezoru). 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_tenant_id     = <retrieve-azure-tenant-id>
  azure_client_id     = <retrieve-azure-client-id>
  azure_client_secret = <retrieve-azure-client-secret>
}

Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte azure_workspace_resource_id společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo host adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor Azure Databricks.

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

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

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly 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:

from databricks.sdk import AccountClient

a = AccountClient(
  host                = retrieve_account_console_url(),
  account_id          = retrieve_account_id(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

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

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly 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:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(
  host                = retrieve_workspace_url(),
  azure_tenant_id     = retrieve_azure_tenant_id(),
  azure_client_id     = retrieve_azure_client_id(),
  azure_client_secret = retrieve_azure_client_secret()
)
# ...

Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte azure_workspace_resource_id společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo host adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor Azure Databricks.

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Python a které implementují jednotné ověřování klienta Databricks, najdete v tématu:

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

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

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly 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 com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...

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

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

Pro přímou retrieve konfiguraci (nahraďte zástupné symboly 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 com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
  .setAzureTenantId(retrieveAzureTenantId())
  .setAzureClientId(retrieveAzureClientId())
  .setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte setAzureWorkspaceResourceId společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo setHost adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor Azure Databricks.

Další informace o ověřování pomocí nástrojů Databricks a sad SDK, které používají Javu a které implementují jednotné ověřování klienta Databricks, najdete v tématu:

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 retrieve konfiguraci (nahraďte zástupné symboly 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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

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 retrieve konfiguraci (nahraďte zástupné symboly 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(),
  AzureTenantId:     retrieveAzureTenantId(),
  AzureClientId:     retrieveAzureClientId(),
  AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...

Pokud se pro operace na úrovni pracovního prostoru ještě nepřidá instanční objekt MS Entra do pracovního prostoru, zadejte AzureWorkspaceResourceId společně s ID prostředku Azure pro pracovní prostor Azure Databricks místo Host adresy URL pracovního prostoru. V tomto případě musí mít instanční objekt MS Entra alespoň oprávnění přispěvatele nebo vlastníka prostředku Azure pro pracovní prostor 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.