Megosztás a következőn keresztül:


Azure Databricks-hozzáférés hitelesítése felhasználói fiókkal az OAuth (OAuth U2M) használatával

Az Azure Databricks OAuth felhasználó–gép (U2M) hitelesítést használ az Azure Databricks-fiókhoz és a munkaterület erőforrásaihoz való CLI- és API-hozzáférés engedélyezéséhez egy felhasználó nevében. Miután egy felhasználó először bejelentkezett, és hozzájárult az OAuth hitelesítési kérelemhez, a rendszer egy OAuth-jogkivonatot ad a résztvevő eszköznek vagy SDK-nak, hogy jogkivonatalapú hitelesítést hajtson végre a felhasználó nevében az adott időponttól kezdve. Az OAuth-jogkivonat élettartama egy óra, amelyet követően az érintett eszköz vagy SDK automatikusan megkísérli beszerezni az egy órán át érvényes új jogkivonatot.

Az Azure Databricks két módszert támogat egy felhasználói fiók hozzáférésének hitelesítésére az OAuth használatával:

  • Többnyire automatikusan, a Databricks egyesített ügyfélhitelesítési támogatásának használatával. Ezt az egyszerűsített módszert akkor használja, ha adott Azure Databricks SDK-kat (például a Databricks Terraform SDK-t) és eszközöket használ. A támogatott eszközök és SDK-k a Databricks egyesített ügyfélhitelesítésében szerepelnek.
  • Manuálisan, közvetlenül létrehozva egy OAuth-kód ellenőrző/kihívás párját és egy engedélyezési kódot, és ezekkel hozza létre a konfigurációban megadott kezdeti OAuth-jogkivonatot. Ezt a módszert akkor használja, ha nem a Databricks egyesített ügyfélhitelesítés által támogatott API-t használ. További részletekért lásd: Hozzáférési jogkivonatok manuális létrehozása és használata az OAuth felhasználó–gép (U2M) hitelesítéshez.

U2M-hitelesítés a Databricks egységes ügyfél-hitelesítésével

Feljegyzés

Mielőtt elkezdené konfigurálni a hitelesítést, tekintse át a munkaterület-objektumok adott műveletkategóriájának ACL-engedélyeit, és állapítsa meg, hogy a fiókja rendelkezik-e a szükséges hozzáférési szinttel. További részletekért lásd : Hozzáférés-vezérlési listák.

Ha OAuth U2M-hitelesítést szeretne végrehajtani az Azure Databricks SDK-kkal és az egyesített ügyfélhitelesítést támogató eszközökkel, integrálja a következőt a kódba:

Környezet

Ha környezeti változókat szeretne használni egy adott Azure Databricks-hitelesítési típushoz egy eszközzel vagy SDK-val, tekintse meg az Azure Databricks-erőforrásokhoz való hozzáférés hitelesítését, illetve az eszköz vagy az SDK dokumentációját. Lásd még az ügyfél egyesített hitelesítésének környezeti változóit és mezőit, valamint az ügyfél egyesített hitelesítésének alapértelmezett módszereit.

Fiókszintű műveletek esetén állítsa be a következő környezeti változókat:

  • DATABRICKS_HOSTelemet, állítsa be az Azure Databricks-fiók konzolJÁNAK URL-címét. https://accounts.azuredatabricks.net
  • DATABRICKS_ACCOUNT_ID

Munkaterületszintű műveletek esetén állítsa be a következő környezeti változókat:

Profil

Hozzon létre vagy azonosítsa az Azure Databricks konfigurációs profilját a fájl alábbi .databrickscfg mezőivel. Ha létrehozza a profilt, cserélje le a helyőrzőket a megfelelő értékekre. Ha a profilt egy eszközzel vagy SDK-val szeretné használni, tekintse meg az Azure Databricks-erőforrásokhoz való hozzáférés hitelesítését, illetve az eszköz vagy az SDK dokumentációját. Lásd még az ügyfél egyesített hitelesítésének környezeti változóit és mezőit, valamint az ügyfél egyesített hitelesítésének alapértelmezett módszereit.

Fiókszintű műveletek esetén állítsa be a következő értékeket a .databrickscfg fájlban. Ebben az esetben az Azure Databricks-fiók konzoljának URL-címe a következő https://accounts.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

Munkaterületszintű műveletek esetén állítsa be a következő értékeket a .databrickscfg fájlban. Ebben az esetben a gazdagép az Azure Databricks munkaterületenkénti URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host = <workspace-url>

CLI

A Databricks parancssori felületéhez futtassa a databricks auth login következő beállításokkal rendelkező parancsot:

A parancs futtatása után kövesse a webböngésző utasításait az Azure Databricks-fiókba vagy -munkaterületre való bejelentkezéshez.

További részletekért lásd : OAuth U2M-hitelesítés a Databricks parancssori felületével.

Kapcsolódás

Feljegyzés

Az OAuth U2M-hitelesítés a következő Databricks Connect-verziókban támogatott:

  • Python esetén a Databricks Connect for Databricks Runtime 13.1 vagy újabb verziója.
  • A Scala esetében a Databricks Connect for Databricks Runtime 13.3 LTS és újabb verziója.

A Databricks Connect esetében az alábbiak egyikét teheti meg:

A fájl értékei .databrickscfg mindig elsőbbséget élveznek a környezeti változókkal szemben.

Ha inicializálni szeretné a Databricks Connect-ügyfelet ezekkel a környezeti változókkal vagy értékekkel a .databrickscfg fájlban, tekintse meg az alábbiak egyikét:

  • Python esetén lásd a Python kapcsolati tulajdonságainak konfigurálását.
  • A Scala esetében lásd a Scala kapcsolati tulajdonságainak konfigurálását.

VS Code

A Visual Studio Code Databricks-bővítményéhez tegye a következőket:

  1. A Konfiguráció panelen kattintson a Databricks konfigurálása elemre.
  2. A Parancskatalógus Databricks-gazdagép esetében adja meg például https://adb-1234567890123456.7.azuredatabricks.neta munkaterületenkénti URL-címet, majd nyomja le a billentyűtEnter.
  3. Válassza az OAuth (felhasználó a géphez) lehetőséget.
  4. A webböngészőben végezze el a képernyőn megjelenő utasításokat az Azure Databricks-fiók hitelesítésének befejezéséhez és a teljes API-hozzáférés engedélyezéséhez.

További részletekért lásd : OAuth U2M-hitelesítés a Databricks parancssori felületével.

Terraform

Feljegyzés

Az OAuth U2M-hitelesítés még nem támogatott.

Python

Fiókszintű és munkaterületszintű műveletek esetén a Python-kód futtatása előtt a Databricks parancssori felülettel kell futtatnia a következő parancsot. Ez a parancs arra utasítja a Databricks parancssori felületét, hogy hozza létre és gyorsítótárazza a szükséges OAuth-jogkivonatot a .databricks/token-cache.json felhasználó otthoni mappájában a számítógépen:

A Databricks-fiókszintű műveletek konfigurálása

databricks auth login --host <account-console-url> --account-id <account-id>

Cserélje le a következő helyőrzőket:

  • Cserélje le <account-console-url> az értéket https://accounts.azuredatabricks.net. (Ezt ne állítsa be az Azure Databricks-munkaterület URL-címének értékére.)
  • Cserélje le <account-id> az Azure Databricks-fiók értékére. Lásd: A fiókazonosító megkeresése.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal, és account_id a host mezők már be vannak állítva, helyettesítheti --host <account-console-url> --account-id <account-id> a következővel--profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a fiók bejelentkezési URL-címét és fiókazonosítóját Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután használja az alábbi kódrészletekhez hasonló Python-kódot:

Alapértelmezett hitelesítés esetén:

from databricks.sdk import AccountClient

a = AccountClient()
# ...

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben az Azure Databricks-fiók konzoljának URL-címe a következő https://accounts.azuredatabricks.net:

from databricks.sdk import AccountClient

a = AccountClient(
  host       = retrieveAccountConsoleUrl(),
  account_id = retrieveAccountId()
)
# ...

A Databricks-munkaterületszintű műveletek konfigurálása

databricks auth login --host <worskpace-url>

Cserélje le a helyőrzőt <workspace-url> például a munkaterületenkénti Cél Azure Databricks URL-címrehttps://adb-1234567890123456.7.azuredatabricks.net.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal , és a host mező már be van állítva, helyettesítheti --host <workspace-url> a következővel --profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a munkaterület URL-címét Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután használja az alábbi kódrészletekhez hasonló Python-kódot:

Alapértelmezett hitelesítés esetén:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
# ...

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben a gazdagép az Azure Databricks munkaterületenkénti URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net:

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieveWorkspaceUrl())
# ...

A Pythont használó és a Databricks-ügyfél egységes hitelesítését implementáló Databricks-eszközökkel és SDK-kkal való hitelesítésről a következő témakörben talál további információt:

Java

Fiókszintű és munkaterületszintű műveletekhez a Databricks parancssori felülettel kell futtatnia a következő parancsot a Java-kód futtatása előtt. Ez a parancs utasítja a Databricks parancssori felületét, hogy hozza létre és gyorsítótárazza a szükséges OAuth-jogkivonatot a .databricks/token-cache.json felhasználó otthoni mappájában a számítógépen:

A Databricks-fiókszintű műveletek konfigurálása

databricks auth login --host <account-console-url> --account-id <account-id>

Cserélje le a következő helyőrzőket:

  • Cserélje le <account-console-url> az értéket https://accounts.azuredatabricks.net. (Ezt ne állítsa be az Azure Databricks-munkaterület URL-címének értékére.)
  • Cserélje le <account-id> az Azure Databricks-fiók értékére. Lásd: A fiókazonosító megkeresése.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal, és account_id a host mezők már be vannak állítva, helyettesítheti --host <account-console-url> --account-id <account-id> a következővel--profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a fiók bejelentkezési URL-címét és fiókazonosítóját Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután az alábbi kódrészletekhez hasonló Java-kódot használjon:

Alapértelmezett hitelesítés esetén:

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

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben az Azure Databricks-fiók konzoljának URL-címe a következő https://accounts.azuredatabricks.net:

import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveAccountConsoleUrl())
  .setAccountId(retrieveAccountId());
AccountClient a = new AccountClient(cfg);
// ...

A Databricks-munkaterületszintű műveletek konfigurálása

Munkaterületszintű műveletek esetén először a Databricks parancssori felületével futtassa a következő parancsot a Java-kód futtatása előtt. Ez a parancs arra utasítja a Databricks parancssori felületét, hogy hozza létre és gyorsítótárazza a szükséges OAuth-jogkivonatot a .databricks/token-cache.json felhasználó otthoni mappájában a számítógépen:

databricks auth login --host <worskpace-url>

Cserélje le a helyőrzőt <workspace-url> például a munkaterületenkénti Cél Azure Databricks URL-címrehttps://adb-1234567890123456.7.azuredatabricks.net.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal , és a host mező már be van állítva, helyettesítheti --host <workspace-url> a következővel --profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a munkaterület URL-címét Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután az alábbi kódrészletekhez hasonló Java-kódot használjon:

Alapértelmezett hitelesítés esetén:

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

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben a gazdagép az Azure Databricks munkaterületenkénti URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net:

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
  .setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...

A Java-t használó és a Databricks-ügyfél egységes hitelesítését implementáló Databricks-eszközökkel és SDK-kkal való hitelesítésről a következő témakörben talál további információt:

Go

Fiókszintű és munkaterületszintű műveletek esetén a Következő parancs futtatásához a Databricks parancssori felületével kell futtatnia a következő parancsot a Go-kód futtatása előtt. Ez a parancs arra utasítja a Databricks parancssori felületét, hogy hozza létre és gyorsítótárazza a szükséges OAuth-jogkivonatot a .databricks/token-cache.json felhasználó otthoni mappájában a számítógépen:

A Databricks-fiókszintű műveletek konfigurálása

databricks auth login --host <account-login-url> --account-id <account-id>

Cserélje le a következő helyőrzőket:

  • Cserélje le <account-console-url> az értéket https://accounts.azuredatabricks.net. (Ezt ne állítsa be az Azure Databricks-munkaterület URL-címének értékére.)
  • Cserélje le <account-id> az Azure Databricks-fiók értékére. Lásd: A fiókazonosító megkeresése.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal, és account_id a host mezők már be vannak állítva, helyettesítheti --host <account-console-url> --account-id <account-id> a következővel--profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a fiók bejelentkezési URL-címét és fiókazonosítóját Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután használja a Következő kódrészletek egyikéhez hasonló Go-kódot:

Alapértelmezett hitelesítés esetén:

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

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben az Azure Databricks-fiók konzoljának URL-címe a következő https://accounts.azuredatabricks.net:

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

A Databricks-munkaterületszintű műveletek konfigurálása

Munkaterületszintű műveletek esetén először a Databricks parancssori felületével futtassa a következő parancsot, mielőtt futtatja a Go-kódot. Ez a parancs arra utasítja a Databricks parancssori felületét, hogy hozza létre és gyorsítótárazza a szükséges OAuth-jogkivonatot a .databricks/token-cache.json felhasználó otthoni mappájában a számítógépen:

databricks auth login --host <worskpace-url>

Cserélje le a helyőrzőt <workspace-url> például a munkaterületenkénti Cél Azure Databricks URL-címrehttps://adb-1234567890123456.7.azuredatabricks.net.

Feljegyzés

Ha rendelkezik egy meglévő Azure Databricks-konfigurációs profillal , és a host mező már be van állítva, helyettesítheti --host <workspace-url> a következővel --profile <profile-name>: .

A parancs futtatása után a auth login rendszer kérni fogja, hogy mentse a munkaterület URL-címét Azure Databricks-konfigurációs profilként. Amikor a rendszer kéri, adja meg egy új vagy meglévő profil nevét a .databrickscfg fájlban. A fájlban .databrickscfg szereplő azonos nevű meglévő profilok felülíródnak.

Ha a rendszer kéri, töltse ki a webböngésző képernyőn megjelenő utasításait a bejelentkezés befejezéséhez. Ezután használja a Következő kódrészletek egyikéhez hasonló Go-kódot:

Alapértelmezett hitelesítés esetén:

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

Közvetlen konfiguráció esetén (cserélje le a retrieve helyőrzőket a saját implementációjára, hogy lekérje az értékeket a konzolról vagy más konfigurációs tárból, például az Azure KeyVaultból). Ebben az esetben a gazdagép az Azure Databricks munkaterületenkénti URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net:

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
  Host: retrieveWorkspaceUrl(),
}))
// ...

A Go-t használó Databricks-eszközökkel és SDK-kkal való hitelesítésről és a Databricks-ügyfél egységes hitelesítésének implementálásáról további információt a Databricks SDK for Go hitelesítése az Azure Databricks-fiókkal vagy -munkaterülettel című témakörben talál.

Hozzáférési jogkivonatok manuális létrehozása és használata az OAuth felhasználó–gép (U2M) hitelesítéshez

A Databricks-ügyfél egységes hitelesítési szabványát megvalósító Azure Databricks-eszközök és SDK-k automatikusan létrehoznak, frissítenek és használnak Azure Databricks OAuth hozzáférési jogkivonatokat az Ön nevében az OAuth U2M-hitelesítéshez szükséges módon.

Ha valamilyen okból manuálisan kell létrehoznia, frissítenie vagy használnia az Azure Databricks OAuth hozzáférési jogkivonatait az OAuth U2M-hitelesítéshez, kövesse az ebben a szakaszban található utasításokat.

1. lépés: OAuth-kód ellenőrző és kódkontraszt-pár létrehozása

Az OAuth U2M-hitelesítéshez tartozó hozzáférési jogkivonatok manuális létrehozásához és használatához először rendelkeznie kell egy OAuth-kód hitelesítője és egy OAuth-kód ellenőrzője , amely a kód-ellenőrzőből származik. A 2. lépésben szereplő kódkérdés használatával hozhat létre OAuth-engedélyezési kódot. Az OAuth hozzáférési jogkivonat létrehozásához a 3. lépésben a kódhitelesítőt és az engedélyezési kódot kell használnia.

Feljegyzés

Bár technikailag lehetséges kódolatlan egyszerű szöveges sztringek használata a kódhitelesítőhöz és a kódkritikushoz, a Databricks határozottan ösztönzi az OAuth szabvány követését a kód hitelesítőjének és a kód kihívásának létrehozásához.

Pontosabban a kód hitelesítőjének egy kriptográfiailag véletlenszerű sztringnek kell lennie, amely a halmazok A-Zkaraktereit használja, a-z0-9és az írásjelek -._~ (kötőjel, pont, aláhúzás és tilde) 43 és 128 karakter közötti hosszúságúak. A kód kihívásának a kód ellenőrzőjének SHA256 kivonatának Base64-URL-kódolású sztringjének kell lennie. További információ: Engedélyezési kérelem.

A következő Python-szkript futtatásával gyorsan létrehozhat egy egyedi kód-ellenőrzőt és egy kódkontraszt-párt. Bár ezt a létrehozott kód-ellenőrzőt és kódkritikus párt többször is újra felhasználhatja, a Databricks azt javasolja, hogy minden alkalommal hozzon létre egy új kód-ellenőrzőt és kódkritikus párt, amikor manuálisan hoz létre hozzáférési jogkivonatokat az OAuth U2M-hitelesítéshez.

import uuid, hashlib, base64

# Generate a UUID.
uuid1 = uuid.uuid4()

# Convert the UUID to a string.
uuid_str1 = str(uuid1).upper()

# Create the code verifier.
code_verifier = uuid_str1 + "-" + uuid_str1

# Create the code challenge based on the code verifier.
code_challenge = base64.urlsafe_b64encode(hashlib.sha256(code_verifier.encode()).digest()).decode('utf-8')

# Remove all padding from the code challenge.
code_challenge = code_challenge.replace('=', '')

# Print the code verifier and the code challenge.
# Use these in your calls to manually generate
# access tokens for OAuth U2M authentication.
print(f"code_verifier:  {code_verifier}")
print(f"code_challenge: {code_challenge}")

2. lépés: Engedélyezési kód létrehozása

OAuth-engedélyezési kóddal hozhat létre Egy Azure Databricks OAuth hozzáférési jogkivonatot. Az engedélyezési kód azonnal lejár, miután a használatával létrehoz egy Azure Databricks OAuth hozzáférési jogkivonatot. Az engedélyezési kód hatóköre attól függ, hogy milyen szinten hozza létre. Az engedélyezési kódot az Azure Databricks-fiók szintjén vagy a munkaterület szintjén hozhatja létre az alábbiak szerint:

Fiókszintű engedélyezési kód létrehozása

  1. Fiókadminisztrátorként jelentkezzen be a fiókkonzolra.

  2. Kattintson a felhasználónév melletti lefelé mutató nyílra a jobb felső sarokban.

  3. Másolja ki a fiókazonosítót.

  4. A webböngésző címsorában keresse meg a következő URL-címet. Az olvashatóság érdekében sortörések lettek hozzáadva. Az URL-cím nem tartalmazhatja ezeket a sortöréseket.

    A következő URL-címben cserélje le a következőt:

    • Cserélje le <account-id> a másolt fiókazonosítóra .
    • Cserélje le <redirect-url> például a helyi gépre http://localhost:8020irányuló átirányítási URL-címet.
    • Cserélje le <state> egy egyszerű szöveges sztringre, amellyel ellenőrizheti az engedélyezési kód integritását.
    • Cserélje le <code-challenge> az 1. lépésben létrehozott kódkérdésre.
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  5. Amikor a rendszer kéri, kövesse a képernyőn megjelenő utasításokat az Azure Databricks-fiókba való bejelentkezéshez.

  6. A webböngésző címsorában másolja ki az engedélyezési kódot. Az engedélyezési kód az URL-címben code= & szereplő karakterek teljes sztringje. Az alábbi URL-cím engedélyezési kódja például a következő dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Ennek az engedélyezési kódnak az integritását úgy kell ellenőriznie, hogy a <state> válasz URL-címében szereplő érték megegyezik-e a state kérés URL-címében megadott értékkel. Ha az értékek eltérnek, ne használja ezt az engedélyezési kódot, mert az veszélybe kerülhet.

  7. Ugrás előre a fiókszintű hozzáférési jogkivonat létrehozásához.

Munkaterületszintű engedélyezési kód létrehozása

  1. A webböngésző címsorában keresse meg a következő URL-címet. Az olvashatóság érdekében sortörések lettek hozzáadva. Az URL-cím nem tartalmazhatja ezeket a sortöréseket.

    A következő URL-címben cserélje le a következőt:

    • Cserélje le <databricks-instance> például az Azure Databricks-munkaterület példányának nevétadb-1234567890123456.7.azuredatabricks.net.
    • Cserélje le <redirect-url> például a helyi gépre http://localhost:8020irányuló átirányítási URL-címet.
    • Cserélje le <state> egy egyszerű szöveges sztringre, amellyel ellenőrizheti az engedélyezési kód integritását.
    • Cserélje le <code-challenge> az 1. lépésben létrehozott kódkérdésre.
    https://<databricks-instance>/oidc/v1/authorize
    ?client_id=databricks-cli
    &redirect_uri=<redirect-url>
    &response_type=code
    &state=<state>
    &code_challenge=<code-challenge>
    &code_challenge_method=S256
    &scope=all-apis+offline_access
    
  2. Amikor a rendszer kéri, kövesse a képernyőn megjelenő utasításokat az Azure Databricks-munkaterületre való bejelentkezéshez.

  3. A webböngésző címsorában másolja ki az engedélyezési kódot. Az engedélyezési kód az URL-címben code= & szereplő karakterek teljes sztringje. Az alábbi URL-cím engedélyezési kódja például a következő dcod...7fe6:

    http://localhost:8020/?code=dcod...7fe6&state=<state>
    

    Ennek az engedélyezési kódnak az integritását úgy kell ellenőriznie, hogy a <state> válasz URL-címében szereplő érték megegyezik-e a state kérés URL-címében megadott értékkel. Ha az értékek eltérnek, ne használja ezt az engedélyezési kódot, mert az veszélybe kerülhet.

3. lépés: OAuth hozzáférési jogkivonat létrehozása az engedélyezési kód használatával

Az előző lépés OAuth engedélyezési kódját használva hozzon létre egy Azure Databricks OAuth hozzáférési jogkivonatot az alábbiak szerint:

Fiókszintű hozzáférési jogkivonat létrehozása

  1. A fiókszintű OAuth hozzáférési jogkivonat létrehozásához használjon egy ügyfelet, például curl a fiókszintű engedélyezési kóddal együtt. A következő curl hívásban cserélje le a következő helyőrzőket:

    • Cserélje le <account-id> a 2. lépésben szereplő fiókazonosítóra .
    • Cserélje le <redirect-url> a 2. lépés átirányítási URL-címére.
    • Cserélje le <code-verifier> az 1. lépésben létrehozott kód hitelesítőre.
    • Cserélje le <authorization-code> a 2. lépésben létrehozott fiókszintű engedélyezési kódra.
    curl --request POST \
    https://accounts.azuredatabricks.net/oidc/accounts/<account-id>/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. A válaszban másolja ki a fiókszintű OAuth hozzáférési jogkivonatot. A hozzáférési jogkivonat az objektum teljes karaktersorozata access_token . A következő válaszban például a hozzáférési jogkivonat a következő eyJr...Dkag:

    {
      "access_token": "eyJr...Dkag",
      "refresh_token": "doau...f26e",
      "scope": "all-apis offline_access",
      "token_type": "Bearer",
      "expires_in": 3600
    }
    

    Ez a hozzáférési jogkivonat egy óra múlva lejár. Új hozzáférési jogkivonat létrehozásához ismételje meg ezt az eljárást az 1. lépésben.

  3. Ugorjon tovább a 4. lépésre : A Databricks REST API meghívása.

Munkaterületszintű hozzáférési jogkivonat létrehozása

  1. Használjon egy ügyfelet, például curl a munkaterületszintű engedélyezési kóddal együtt a munkaterületszintű OAuth hozzáférési jogkivonat létrehozásához. A következő curl hívásban cserélje le a következő helyőrzőket:

    • Cserélje le <databricks-instance> például az Azure Databricks-munkaterület példányának nevétadb-1234567890123456.7.azuredatabricks.net.
    • Cserélje le <redirect-url> a 2. lépés átirányítási URL-címére.
    • Cserélje le <code-verifier> az 1. lépésben létrehozott kód hitelesítőre.
    • Cserélje le <authorization-code> a 2. lépésben létrehozott munkaterületszintű engedélyezési kódra.
    curl --request POST \
    https://<databricks-instance>/oidc/v1/token \
    --data "client_id=databricks-cli" \
    --data "grant_type=authorization_code" \
    --data "scope=all-apis offline_access" \
    --data "redirect_uri=<redirect-url>" \
    --data "code_verifier=<code-verifier>" \
    --data "code=<authorization-code>"
    
  2. A válaszban másolja ki a munkaterületszintű OAuth hozzáférési jogkivonatot. A hozzáférési jogkivonat az objektum teljes karaktersorozata access_token . A következő válaszban például a hozzáférési jogkivonat a következő eyJr...Dkag:

    {
     "access_token": "eyJr...Dkag",
     "refresh_token": "doau...f26e",
     "scope": "all-apis offline_access",
     "token_type": "Bearer",
     "expires_in": 3600
    }
    

    Ez a hozzáférési jogkivonat egy óra múlva lejár. Új hozzáférési jogkivonat létrehozásához ismételje meg ezt az eljárást az 1. lépésben.

4. lépés: Databricks REST API meghívása

A fiókszintű vagy munkaterületszintű OAuth hozzáférési jogkivonattal hitelesítheti az Azure Databricks fiókszintű REST API-jait és a munkaterületszintű REST API-kat a hozzáférési jogkivonat hatókörétől függően. Az Azure Databricks felhasználói fiókjának fiókadminisztrátornak kell lennie a fiókszintű REST API-k meghívásához.

Példa fiókszintű REST API-kérésre

Ez a példa curl a hitelesítéssel Bearer együtt lekéri a fiókhoz társított összes munkaterület listáját.

  • Cserélje le <oauth-access-token> a fiókszintű OAuth hozzáférési jogkivonatra.
  • Cserélje le <account-id> a fiókazonosítót.
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élda munkaterületszintű REST API-kérésre

Ez a példa a hitelesítéssel Bearer együtt a megadott munkaterület összes elérhető fürtjének listáját használjacurl.

export OAUTH_TOKEN=<oauth-access-token>

curl --request GET --header "Authorization: Bearer $OAUTH_TOKEN" \
"https://<databricks-instance>/api/2.0/clusters/list"