Ověřování přístupu k Azure Databricks pomocí instančního objektu pomocí OAuth (OAuth M2M)

Tento článek vysvětluje, jak vytvořit instanční objekt Azure Databricks a použít ho nebo spravovaný instanční objekt Microsoft Entra ID k ověření v cílové entitě.

Poznámka:

Abyste mohli spravovat přihlašovací údaje Azure Databricks OAuth pro instanční objekty, musíte být správcem účtu Azure Databricks.

Krok 1: Vytvoření instančního objektu Microsoft Entra ID ve vašem účtu Azure

Tento krok proveďte, pokud chcete propojit instanční objekt Microsoft Entra ID s vaším účtem, pracovním prostorem nebo oběma účty Azure Databricks. V opačném případě přeskočte k kroku 2.

  1. Přihlaste se k portálu Azure.

    Poznámka:

    Portál, který se má použít, se liší v závislosti na tom, jestli vaše aplikace Microsoft Entra ID běží ve veřejném cloudu Azure nebo v národním nebo suverénním cloudu. Další informace najdete v tématu Národní cloudy.

  2. Pokud máte přístup k více tenantům, předplatným nebo adresářům, klikněte v horní nabídce na ikonu Adresáře a předplatná (adresář s filtrem) a přepněte do adresáře, ve kterém chcete zřídit instanční objekt.

  3. Ve vyhledávacích prostředcích, službách a dokumentech vyhledejte a vyberte MICROSOFT Entra ID.

  4. Klikněte na + Přidat a vyberte Registrace aplikace.

  5. Jako Název zadejte název aplikace.

  6. V části Podporované typy účtů vyberte Účty pouze v tomto organizačním adresáři (jeden tenant).

  7. Klikněte na Zaregistrovat.

  8. Na stránce Přehled stránky aplikace zkopírujte v části Základy následující hodnoty:

    • ID aplikace (klienta)
    • ID adresáře (tenanta)

    Přehled zaregistrovaných aplikací Azure

  9. Pokud chcete vygenerovat tajný klíč klienta, klikněte v části Spravovat na Certifikáty a tajné kódy.

    Poznámka:

    Tento tajný klíč klienta použijete ke generování tokenů ID Microsoft Entra pro ověřování instančních objektů služby Microsoft Entra ID pomocí Azure Databricks. Pokud chcete zjistit, jestli nástroj Azure Databricks nebo sada SDK můžou používat tokeny ID Microsoft Entra, přečtěte si dokumentaci k nástroji nebo sadě SDK.

  10. Na kartě Tajné kódy klienta klikněte na Nový tajný klíč klienta.

    Nový tajný klíč klienta

  11. V podokně Přidat tajný klíč klienta zadejte popis tajného klíče klienta.

  12. V případě vypršení platnosti vyberte časové období vypršení platnosti tajného klíče klienta a klikněte na tlačítko Přidat.

  13. Zkopírujte a uložte hodnotu tajného klíče klienta na bezpečném místě, protože tento tajný klíč klienta je heslo pro vaši aplikaci.

Krok 2: Přidání instančního objektu do účtu Azure Databricks

Tento krok funguje jenom v případě, že je pro federaci identit povolený váš cílový pracovní prostor Azure Databricks. Pokud váš pracovní prostor není povolený pro federaci identit, přeskočte k kroku 3.

  1. V pracovním prostoru Azure Databricks klikněte na své uživatelské jméno v horním panelu a klikněte na Spravovat účet.

    Případně přejděte přímo do konzoly účtu Azure Databricks na adrese https://accounts.azuredatabricks.net.

  2. Pokud se zobrazí výzva, přihlaste se ke svému účtu Azure Databricks.

  3. Na bočním panelu klikněte na Správa uživatelů.

  4. Klikněte na kartu Instanční objekty .

  5. Klikněte na Přidat instanční objekt.

  6. V části Správa zvolte Spravovaná databricks nebo Spravované ID Microsoft Entra.

  7. Pokud jste zvolili spravované ID Microsoft Entra, vložte v části ID aplikace Microsoft Entra hodnotu ID aplikace (klienta) z kroku 1.

  8. Zadejte název instančního objektu.

  9. Klikněte na tlačítko Přidat.

  10. (Volitelné) Přiřaďte instančnímu objektu oprávnění na úrovni účtu:

    1. Na kartě Instanční objekty klikněte na název instančního objektu.
    2. Na kartě Role přepněte nebo zakažte každou cílovou roli, kterou má mít tento instanční objekt.
    3. Na kartě Oprávnění udělte přístup všem uživatelům Azure Databricks, instančním objektům a rolím skupiny účtů, které chcete spravovat a používat. Viz Správa rolí v instančním objektu.

Krok 3: Přidání instančního objektu do pracovního prostoru Azure Databricks

Pokud je váš pracovní prostor povolený pro federaci identit:

  1. V pracovním prostoru Azure Databricks klikněte na své uživatelské jméno v horním panelu a klikněte na Nastavení.
  2. Klikněte na kartu Identita a přístup .
  3. Vedle instančních objektů klikněte na Spravovat.
  4. Klikněte na Přidat instanční objekt.
  5. V kroku 2 vyberte instanční objekt a klikněte na Přidat.

Přeskočte k kroku 4.

Pokud váš pracovní prostor není povolený pro federaci identit:

  1. V pracovním prostoru Azure Databricks klikněte na své uživatelské jméno v horním panelu a klikněte na Nastavení.
  2. Klikněte na kartu Identita a přístup .
  3. Vedle instančních objektů klikněte na Spravovat.
  4. Klikněte na Přidat instanční objekt.
  5. Klikněte na Přidat nový.
  6. V části Správa zvolte Spravovaná databricks nebo Spravované ID Microsoft Entra.
  7. Pokud jste zvolili spravované ID Microsoft Entra, vložte v části ID aplikace Microsoft Entra hodnotu ID aplikace (klienta) z kroku 1.
  8. Zadejte zobrazovaný název nového instančního objektu a klikněte na Přidat.

Krok 4: Přiřazení oprávnění na úrovni pracovního prostoru k instančnímu objektu

  1. Pokud konzola pro správu vašeho pracovního prostoru ještě není otevřena, klikněte na své uživatelské jméno v horním panelu a klikněte na Nastavení.
  2. Klikněte na kartu Identita a přístup .
  3. Vedle instančních objektů klikněte na Spravovat.
  4. Kliknutím na název instančního objektu otevřete stránku nastavení.
  5. Na kartě Konfigurace zaškrtněte políčko vedle každého nároku, který má mít instanční objekt pro tento pracovní prostor, a klikněte na tlačítko Aktualizovat.
  6. Na kartě Oprávnění udělte přístup všem uživatelům, instančním objektům a skupinám Azure Databricks, které chcete spravovat a používat. Viz Správa rolí v instančním objektu.

Krok 5: Vytvoření tajného klíče Azure Databricks OAuth pro instanční objekt

Než budete moct použít OAuth k ověření v Azure Databricks, musíte nejdřív vytvořit tajný klíč OAuth, který se dá použít k vygenerování přístupových tokenů OAuth. Instanční objekt může mít až pět tajných kódů OAuth.

Vytvoření tajného kódu OAuth pro instanční objekt z konzoly účtu:

  1. Přihlaste se ke konzole účtu Azure Databricks na adrese https://accounts.azuredatabricks.net.
  2. Pokud se zobrazí výzva, přihlaste se ke svému účtu Azure Databricks.
  3. Na bočním panelu klikněte na Správa uživatelů.
  4. Klikněte na kartu Instanční objekty .
  5. Klikněte na název instančního objektu.
  6. V části Tajné kódy OAuth na kartě Hlavní informace klikněte na Vygenerovat tajný klíč.
  7. V dialogovém okně Generovat tajný kód zkopírujte a uložte hodnotu Tajné na bezpečném místě, protože tento tajný klíč OAuth je heslo pro instanční objekt.
  8. Klikněte na tlačítko Hotovo.

Vytvoření tajného kódu OAuth pro instanční objekt z pracovního prostoru:

  1. Jako správce pracovního prostoru klikněte na své uživatelské jméno v horním panelu a klikněte na Nastavení.

  2. Klikněte na kartu Identita a přístup .

  3. Vedle instančních objektů klikněte na Spravovat.

  4. Kliknutím na název instančního objektu otevřete stránku nastavení.

  5. Klikněte na kartu Tajné kódy .

  6. V části Tajné kódy OAuth klikněte na Generovat tajný kód.

  7. Zkopírujte zobrazený tajný kód a ID klienta a klikněte na Tlačítko Hotovo.

    Tajný kód bude odhalen pouze jednou během vytváření. ID klienta je stejné jako ID aplikace instančního objektu.

Poznámka:

Pokud chcete instančnímu objektu povolit používání clusterů nebo SQL Warehouse, musíte k nim instančnímu objektu udělit přístup. Přečtěte si informace o výpočetních oprávněních nebo správě SLUŽBY SQL Warehouse.

Dokončení konfigurace ověřování OAuth M2M

Pokud chcete dokončit konfiguraci ověřování OAuth M2M, musíte nastavit následující přidružené proměnné prostředí, .databrickscfg pole, pole Terraformu nebo Config pole:

  • Hostitel Azure Databricks určený pro https://accounts.azuredatabricks.net operace účtu nebo cílovou adresu URL pracovního prostoru, například https://adb-1234567890123456.7.azuredatabricks.net pro operace pracovního prostoru.
  • ID účtu Azure Databricks pro operace účtu Azure Databricks
  • ID klienta instančního objektu.
  • Tajný klíč instančního objektu.

Pokud chcete provést ověřování OAuth M2M, integrujte následující kód na základě zúčastněného nástroje nebo sady SDK:

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 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 adresu URL https://accounts.azuredatabricks.netkonzoly účtu Azure Databricks.
  • DATABRICKS_ACCOUNT_ID
  • DATABRICKS_CLIENT_ID
  • DATABRICKS_CLIENT_SECRET

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

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 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>
client_id     = <service-principal-client-id>
client_secret = <service-principal-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>
client_id     = <service-principal-client-id>
client_secret = <service-principal-secret>

Rozhraní příkazového řádku

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í OAuth typu počítač-počítač (M2M).

Propojit

Poznámka:

Ověřování OAuth M2M se podporuje v následujících verzích Databricks Connect:

  • Pro Python databricks Connect pro Databricks Runtime 14.0 a novější.
  • Pro Scala, Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší. Sada Databricks SDK pro Javu, která je součástí Databricks Connect pro Databricks Runtime 13.3 LTS a vyšší, musí být upgradována na Sadu Databricks SDK pro Javu 0.17.0 nebo 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í:

VS Code

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.

Terraform

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>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-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>
  client_id     = <retrieve-client-id>
  client_secret = <retrieve-client-secret>
}

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

Python

Pro operace na úrovni účtu použijte pro výchozí ověřování následující:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Pro přímou konfiguraci použijte následující retrieve nahrazení zástupných symbolů vlastní implementací a načtení hodnot z konzoly nebo jiného úložiště konfigurace, jako je 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(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

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

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

V případě přímé konfigurace nahraďte retrieve zástupné symboly vlastní implementací pro načtení hodnot z konzoly nebo jiného úložiště konfigurace, jako je 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(),
  client_id     = retrieve_client_id(),
  client_secret = retrieve_client_secret()
)
# ...

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

Poznámka:

Rozšíření Databricks pro Visual Studio Code používá Python, ale ještě neimplementovalo ověřování OAuth M2M.

Java

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())
  .setClientId(retrieveClientId())
  .setClientSecret(retrieveClientSecret());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

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

Go

Pro operace na úrovni účtu 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ě adresa URL konzoly účtu Azure Databricks je https://accounts.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host:         retrieveAccountConsoleUrl(),
  AccountId:    retrieveAccountId(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

Pro operace na úrovni pracovního prostoru 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ě je hostitelem adresa URL azure Databricks pro jednotlivé pracovní prostory, napříkladhttps://adb-1234567890123456.7.azuredatabricks.net:

import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
  Host:         retrieveWorkspaceUrl(),
  ClientId:     retrieveClientId(),
  ClientSecret: retrieveClientSecret(),
}))
// ...

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.

Ruční generování a používání přístupových tokenů pro ověřování OAuth M2M

Nástroje a sady SDK Azure Databricks, které implementují standard sjednoceného ověřování klienta Databricks, automaticky vygenerují, aktualizují a použijí přístupové tokeny Azure Databricks OAuth vaším jménem podle potřeby pro ověřování OAuth M2M.

Pokud musíte ručně generovat, aktualizovat nebo používat přístupové tokeny Azure Databricks OAuth pro ověřování OAuth M2M, postupujte podle pokynů v této části.

Krok 1: Vytvoření instančního objektu a tajného kódu OAuth

Pokud ještě nemáte spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID a odpovídající tajný klíč Azure Databricks OAuth, vytvořte ho provedením kroků 1 až 5 na začátku tohoto článku.

Krok 2: Ruční vygenerování přístupového tokenu

Pomocí id klienta spravovaného instančního objektu Azure Databricks nebo spravovaného instančního objektu Microsoft Entra ID a tajného klíče Azure Databricks OAuth požádejte o přístupový token Azure Databricks OAuth k ověření rozhraní REST API na úrovni účtu i rozhraní REST API na úrovni pracovního prostoru. Platnost tokenu vyprší za jednu hodinu. Po vypršení platnosti musíte požádat o nový přístupový token Azure Databricks OAuth. Rozsah přístupového tokenu OAuth závisí na úrovni, ze které token vytvoříte. Token můžete vytvořit na úrovni účtu nebo na úrovni pracovního prostoru následujícím způsobem:

  • Pokud chcete volat rozhraní REST API na úrovni účtu a pracovního prostoru v rámci účtů a pracovních prostorů, ke kterým má instanční objekt spravované služby Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID přístup, ručně vygenerujte přístupový token na úrovni účtu.
    • Pokud chcete volat rozhraní REST API pouze v jednom pracovním prostoru, ke kterému má spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID přístup, můžete ručně vygenerovat přístupový token na úrovni pracovního prostoru pouze pro tento pracovní prostor.

Ruční vygenerování přístupového tokenu na úrovni účtu

Přístupový token Azure Databricks OAuth vytvořený z úrovně účtu se dá použít pro rozhraní Databricks REST API v účtu a v jakémkoli pracovním prostoru, ke kterému je přiřazený spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.

  1. Jako správce účtu se přihlaste ke konzole účtu.

  2. Klikněte na šipku dolů vedle svého uživatelského jména v pravém horním rohu.

  3. Zkopírujte ID účtu.

  4. Vytvořte adresu URL koncového bodu tokenu tak <my-account-id> , že nahradíte následující adresu URL ID účtu, které jste zkopírovali.

    https://accounts.azuredatabricks.net/oidc/accounts/<my-account-id>/v1/token
    
  5. Použijte klienta, například curl k vyžádání přístupového tokenu Azure Databricks OAuth s adresou URL koncového bodu tokenu, ID klienta (označovaného také jako ID aplikace) instančního objektu spravované služby Azure Databricks nebo spravovaného instančního objektu Microsoft Entra ID a tajného klíče Azure Databricks OAuth, který jste vytvořili pro instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID. Obor all-apis požaduje přístupový token Azure Databricks OAuth, který lze použít pro přístup ke všem rozhraním REST API Databricks, ke kterým byl udělen přístup spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.

    • Nahraďte <token-endpoint-URL> výše uvedenou adresou URL koncového bodu tokenu.
    • Nahraďte <client-id> ID klienta spravovaného instančního objektu Azure Databricks nebo ID spravovaného instančního objektu Microsoft Entra ID, které se označuje také jako ID aplikace.
    • Nahraďte <client-secret> tajným kódem Azure Databricks OAuth, který jste vytvořili pro instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.
    export CLIENT_ID=<client-id>
    export CLIENT_SECRET=<client-secret>
    
    curl --request POST \
    --url <token-endpoint-URL> \
    --user "$CLIENT_ID:$CLIENT_SECRET" \
    --data 'grant_type=client_credentials&scope=all-apis'
    

    Tím se vygeneruje podobná odpověď:

    {
      "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
      "scope": "all-apis",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    access_token Zkopírujte odpověď.

    Platnost přístupového tokenu Azure Databricks OAuth vyprší za hodinu. Po vypršení platnosti musíte ručně vygenerovat nový přístupový token Azure Databricks OAuth.

  6. Přeskočte k kroku 3: Volání rozhraní REST API Databricks.

Ruční vygenerování přístupového tokenu na úrovni pracovního prostoru

Přístupový token Azure Databricks OAuth vytvořený z úrovně pracovního prostoru může přistupovat pouze k rozhraním REST API v daném pracovním prostoru, i když je instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID správcem účtu nebo je členem jiných pracovních prostorů.

  1. Vytvořte adresu URL koncového bodu tokenu nahrazením https://<databricks-instance> adresy URL pracovního prostoru vašeho nasazení Azure Databricks:

    https://<databricks-instance>/oidc/v1/token
    
  2. Použijte klienta, například curl k vyžádání přístupového tokenu Azure Databricks OAuth s adresou URL koncového bodu tokenu, ID klienta (označovaného také jako ID aplikace) spravovaného instančního objektu Azure Databricks nebo spravovaného instančního objektu Microsoft Entra ID Microsoftu a tajného klíče Azure Databricks OAuth, který jste vytvořili pro spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID. Rozsah all-apis požaduje přístupový token Azure Databricks OAuth, který lze použít pro přístup ke všem rozhraním DATAbricks REST API, ke kterým má instanční objekt spravované služby Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID udělený přístup v rámci pracovního prostoru, ze kterého token požadujete.

    • Nahraďte <token-endpoint-URL> výše uvedenou adresou URL koncového bodu tokenu.

    • Nahraďte <client-id> ID klienta spravovaného instančního objektu Azure Databricks nebo ID spravovaného instančního objektu Microsoft Entra ID, které se označuje také jako ID aplikace.

    • Nahraďte <client-secret> tajným kódem Azure Databricks OAuth, který jste vytvořili pro instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.

      export CLIENT_ID=<client-id>
      export CLIENT_SECRET=<client-secret>
      
      curl --request POST \
      --url <token-endpoint-URL> \
      --user "$CLIENT_ID:$CLIENT_SECRET" \
      --data 'grant_type=client_credentials&scope=all-apis'
      

      Tím se vygeneruje podobná odpověď:

      {
        "access_token": "eyJraWQiOiJkYTA4ZTVjZ…",
        "scope": "all-apis",
        "token_type": "Bearer",
        "expires_in": 3600
      }
      

      access_token Zkopírujte odpověď.

Krok 3: Volání rozhraní REST API služby Databricks

Teď můžete použít přístupový token Azure Databricks OAuth k ověření v rozhraních REST API na úrovni účtu Azure Databricks a rozhraní REST API na úrovni pracovního prostoru. Spravovaný instanční objekt Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID musí být správcem účtu, který volá rozhraní REST API na úrovni účtu.

Token můžete zahrnout do hlavičky pomocí Bearer ověřování. Tento přístup můžete použít s libovolným klientem curl , kterého sestavíte.

Příklad požadavku rozhraní REST API na úrovni účtu

Tento příklad používá Bearer ověřování k získání seznamu všech pracovních prostorů přidružených k účtu.

  • Nahraďte <oauth-access-token> přístupovým tokenem Azure Databricks OAuth pro instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.
  • Nahraďte <account-id> ID účtu.
export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
'https://accounts.azuredatabricks.net/api/2.0/accounts/<account-id>/workspaces'

Příklad požadavku rozhraní REST API na úrovni pracovního prostoru

Tento příklad používá Bearer ověřování k výpisu všech dostupných clusterů v zadaném pracovním prostoru.

  • Nahraďte <oauth-access-token> přístupovým tokenem Azure Databricks OAuth pro instanční objekt spravované službou Azure Databricks nebo spravovaný instanční objekt Microsoft Entra ID.

  • Nahraďte <workspace-URL> adresou URL základního pracovního prostoru, která má formulář podobný adb-1111111111111111.1.azuredatabricks.net.

    export OAUTH_TOKEN=<oauth-access-token>
    
    curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
    'https://<workspace-URL>/api/2.0/clusters/list'
    

Další materiály