Hitelesítés Azure Databricks személyes hozzáférési tokenekkel (hagyományos)

Azure Databricks személyes hozzáférési jogkivonatok (PAT-k) lehetővé teszik az erőforrások és API-k számára való hitelesítést a munkaterület szintjén. Ezeket környezeti változókban vagy Azure Databricks konfigurációs profilokban tárolhatja. Minden PAT csak egy munkaterületre érvényes, és egy felhasználó munkaterületenként legfeljebb 600 PAT-ot hozhat létre. Azure Databricks automatikusan visszavonja a 90 napja nem használt paT-okat.

Fontos

Ahol lehetséges, a Databricks az OAuth használatát javasolja PAT-k helyett a felhasználói fiókok hitelesítéséhez, mivel az OAuth nagyobb biztonságot nyújt. A Databricks felhasználói fiókkal való hitelesítés módjáról OAuth használatával a Felhasználói hozzáférés engedélyezése az Azure Databrickshez OAuth segítségével című részben talál további információt.

Nem használhat személyes hozzáférési jogkivonatokat a Azure Databricks account-level funkciók automatizálásához. Ehelyett használja Azure Databricks fiókadminisztrátorai Microsoft Entra ID jogkivonatait. Azure Databricks fiókadminisztrátor lehet felhasználó vagy szolgáltatási főnév. További információk:

Személyes hozzáférési jogkivonatok létrehozása munkaterület-felhasználók számára

Ha személyes hozzáférési jogkivonatot szeretne létrehozni Azure Databricks munkaterület-felhasználó számára, tegye a következőket:

  1. A Azure Databricks munkaterületen kattintson a felhasználónevére a felső sávon, és válassza a Settings lehetőséget.
  2. Kattintson a Fejlesztőeszközök elemre.
  3. Az Access-jogkivonatok mellett kattintson a Kezelés gombra.
  4. Kattintson az Új token generálása gombra.
  5. Adjon meg egy nevet, amely segít a jogkivonat későbbi azonosításában.
  6. A token élettartamát napokban állítsa be. Lásd : Az új személyes hozzáférési jogkivonatok maximális élettartamának beállítása.
  7. Válasszon ki egy hatókörtípust, és adjon hozzá API-hatóköröket. Válassza a BI-eszközök lehetőséget a Databricks SQL-raktárakhoz( például Tableauhoz vagy Power BI) csatlakozó eszközökhöz, vagy válassza a Egyéb API-k lehetőséget a hatókörök manuális kiválasztásához. Lásd: Hatókörön belüli személyes hozzáférési jogkivonatok.
  8. Az automatikus scoping engedélyezéséhez kapcsold be az Auto-scope tokeneket. Az automatikus scoping automatikusan szűkíti a token hatókörét az általa használt API-kra, ideiglenesen alkalmazva a all-apis scope-ot a megfigyelési időszak alatt. Ez az opció csak akkor jelenik meg, ha egy adminisztrátor engedélyezte az automatikus scoping előnézetet a munkaterületeden, és az automatikus scoping csak azokra a tokenekre vonatkozik, amelyek élettartama hosszabb 30 napnál. A személyes hozzáférési jogkivonatok automatikus hatókörkezelését lásd.
  9. Kattintson a Létrehozás gombra.
  10. Másolja a megjelenített jogkivonatot egy biztonságos helyre, majd kattintson a Kész gombra. Mentse biztonságosan a jogkivonatot, és ne ossza meg. Ha elveszíti, új tokent kell létrehoznia.

Ha nem tud jogkivonatokat létrehozni vagy használni, előfordulhat, hogy a munkaterület rendszergazdája letiltotta a jogkivonatokat, vagy nem adott Önnek engedélyt. Tekintse meg a munkaterület rendszergazdáját vagy a következőket:

Hatókörrel rendelkező személyes hozzáférési jogkivonatok

A korlátozott hatókörű személyes hozzáférési tokenek meghatározott API-műveletekre korlátozzák a tokenek engedélyeit. Ahelyett, hogy teljes munkaterület-hozzáférést biztosítanának, egy vagy több API-hatókört rendelhet hozzá, például sqlunity-catalog, vagy scimazt, amely korlátozza, hogy a jogkivonat mely REST API-műveleteket hívhatja meg.

Figyelmeztetés

Az authentication hatókörrel rendelkező jogkivonatok bármilyen hatókörrel képesek új jogkivonatokat létrehozni. Ezt a hatókört csak azoknak a tokeneknek adja meg, amelyeknek más tokeneket kell kezelniük.

Ha hatókörrel rendelkező jogkivonatot szeretne létrehozni a munkaterület felhasználói felületén, válasszon ki egy hatókörtípust, és adjon hozzá API-hatóköröket új jogkivonat létrehozásakor. Válassza a BI-eszközök lehetőséget a Databricks SQL-raktárakhoz( például Tableauhoz vagy Power BI) csatlakozó eszközökhöz, vagy válassza a Egyéb API-k lehetőséget a hatókörök manuális kiválasztásához.

A hatókörök és a hozzájuk tartozó API-műveletek teljes listáját az API-hatókörökben találja.

Személyes hozzáférési jogkivonatok automatikus hatókörkezelése

Az automatikus hatókör-meghatározás automatikusan csak azokra az API-kra korlátozza a token engedélyeit, amelyeket ténylegesen használ. Az Azure Databricks 30 napos időszakon át megfigyeli a token API használatát, majd alkalmazza a kikövetkeztetett hatóköröket. Az Auto-scoping tokenenként egyszer fut le. A megfigyelési időszak alatt a token teljes munkaterületi hozzáféréssel rendelkezik (a all-apis hatókör). Az Azure Databricks 7 nappal a végrehajtás előtt küld emlékeztető e-mailt, majd végrehajtási e-mailt, amikor a következtetett hatóköröket alkalmazzák.

Automatikus hatókörű vezérlés

  • Munkaterület előnézet (admin által vezérelt): Egy admin engedélyezi vagy letiltja az automatikus scoping előnézetet az egész munkaterületen a fiókkonzolról vagy a munkaterület előnézetek oldaláról. Lásd: Az Azure Databricks előzetes verziójának kezelése.
  • Tokenenkénti beállítás (autoscope_enabled): Amikor az előnézet engedélyezett, minden token egyénileg dönt a részvételről vagy a kimaradásról a létrehozáskor.

Az Auto-scoping csak azokra a tokenekre vonatkozik, amelyek élettartama hosszabb 30 napnál. Ez magában foglalja az automatikus hatókör-beállítással létrehozott új tokeneket és a meglévő, hosszú élettartamú tokeneket. Egy meglévő jogosult token esetén a 30 napos megfigyelési időszak akkor kezdődik, amikor egy admin engedélyezi az előnézetet. Az Azure Databricks az időszak végén alkalmazza a következtetett scope-okat, és 7 nappal a végrehajtás előtt küld emlékeztető e-mailt, ugyanazon ütemezés szerint, mint egy újonnan létrehozott automatikus scoped token.

Kilépés az automatikus hatókörbe vonásból

  • Egy token, a kényszerítés érvénybe lépése előtt: állítsd be a tokent adott hatókörökre a munkaterület UI-jában (Beállítások>Fejlesztői>Hozzáférési tokenek>Kezelés, majd kattints a Token frissítése lehetőségre) vagy a Token API-val (lásd Személyes hozzáférési token hatóköreinek frissítése). A konkrét hatókörök beállítása végleg leállítja az automatikus hatókörkezelést az adott token esetében. A token visszaállítása a all-apis scope értékére (egy üres scopes tömb) no-op, és nem állítja meg az automatikus skópinálást. Ha teljes all-apis hozzáférésű, olyan tokent szeretnél megtartani, amely soha nem scope-olódik automatikusan, hozz létre egy új tokent, amelynél ki van kapcsolva az automatikus scoping.
  • Az egész munkaterület: Kérj meg egy rendszergazdát, hogy kapcsolja ki az automatikus hatókör-meghatározási előnézetet a Previews lapon. Lásd: Az Azure Databricks előzetes verziójának kezelése.

A végrehajtás befejezése után az automatikus hatókör-meghatározás nem fut újra az adott jogkivonathoz, így szabadon állíthatod a hatóköreit, akár vissza erre: all-apis.

Feljegyzés

A munkaterület UI opt-out csak egy tokenre működik, ami a te tulajdonodban van. Ha egy szolgáltatásnév tokenjét szeretnéd letiltani, állítsd be a hatókörét a PATCH /api/2.0/token/{token_id_sha256} kéréssel.

A tokenek automatikus hatókör-meghatározási állapotának és kikövetkeztetett hatóköreinek áttekintéséhez lásd: A tokenek automatikus hatókör-meghatározási állapotának áttekintése.

Személyes hozzáférési jogkivonatok létrehozása szolgáltatási fő adatfelhasználók számára

A szolgáltatás főnév önmaga számára hozhat létre személyes hozzáférési tokeneket.

  1. A hozzáférési jogkivonat létrehozásához futtassa a következő parancsot:

    databricks tokens create \
      --lifetime-seconds <lifetime-seconds> \
      -p <profile-name>
    

    Cserélje le a következő értékeket:

    • <lifetime-seconds>: A token élettartama másodpercben, például 86400 1 napig. Alapértelmezés szerint a munkaterület maximális értékére van beállítva (általában 730 nap).
    • <profile-name>: Konfigurációs profil hitelesítési adatokkal. Alapértelmezett érték: DEFAULT.
  2. Másolja ki a token_value a válaszból, amely az Ön szolgáltatási főszereplőjének hozzáférési tokenje. Mentse biztonságosan a jogkivonatot, és ne ossza meg. Ha elveszíti, új tokent kell létrehoznia.

Ha nem tud jogkivonatokat létrehozni vagy használni, előfordulhat, hogy a munkaterület rendszergazdája letiltotta a jogkivonatokat, vagy nem adott Önnek engedélyt. Tekintse meg a munkaterület rendszergazdáját vagy a következőket:

Személyes hozzáférési jogkivonat hitelesítése

Az Azure Databricks személyes hozzáférési token hitelesítés konfigurálásához állítsa be a következő környezeti változókat, .databrickscfg mezőket, Terraform-mezőket vagy Config mezőket:

  • Az Azure Databricks állomás, amelyet célként megjelöltek, az Azure Databricks munkaterület URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net.
  • Az Azure Databricks felhasználói fiókhoz tartozó személyes hozzáférési jogkivonat.

A Azure Databricks személyes hozzáférési jogkivonat hitelesítéséhez integrálja a következőket a kódba a résztvevő eszköz vagy az SDK alapján:

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 A hozzáférés engedélyezése Azure Databricks erőforrásokhoz vagy az eszköz vagy az SDK dokumentációjában. Lásd még az egységes hitelesítés környezeti változóit és mezőit , valamint a hitelesítési módszer prioritását.

Állítsa be a következő környezeti változókat:

  • DATABRICKS_HOST, állítsa be az Azure Databricks munkaterületenkénti URL-címét, például https://adb-1234567890123456.7.azuredatabricks.net.
  • DATABRICKS_TOKEN, állítsa be a token sztringet.

Profil

Hozzon létre vagy azonosítsa a Azure Databricks konfigurációs profilt a .databrickscfg fájl alábbi mezőivel. Amikor létrehozza a profilt, cserélje le a helyőrzőket a megfelelő értékekre. A profil eszközrel vagy SDK-val való használatához lásd: A Azure Databricks erőforrásokhoz való hozzáférés engedélyezése vagy az eszköz vagy az SDK dokumentációja. Lásd még az egységes hitelesítés környezeti változóit és mezőit , valamint a hitelesítési módszer prioritását.

Állítsa be a következő értékeket a .databrickscfg fájlban. Ebben az esetben a gazdagép az Azure Databricks -munkaterület URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net:

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

Az értékek manuális beállítása helyett a Databricks parancssori felületével állíthatja be ezeket az értékeket:

Feljegyzés

Az alábbi eljárás a Databricks CLI használatával hoz létre egy Azure Databricks konfigurációs profiltDEFAULT néven. Ha már rendelkezik konfigurációs profillal DEFAULT , ez az eljárás felülírja a meglévő DEFAULT konfigurációs profilt.

Annak ellenőrzéséhez, hogy már rendelkezik-e DEFAULT konfigurációs profillal, és a profil beállításainak megtekintéséhez, ha létezik, használja a Databricks parancssori felületet a databricks auth env --profile DEFAULT parancs futtatásához.

Ha olyan konfigurációs profilt szeretne létrehozni, amely nem DEFAULT névvel rendelkezik, cserélje le a DEFAULT részt a következő --profile DEFAULT parancsban egy másik névre a konfigurációs profilhoz.

  1. A Databricks CLI használatával hozzon létre egy Azure Databricks konfigurációs profiltDEFAULT nevű, Azure Databricks személyes hozzáférési jogkivonat-hitelesítést használó profilt. Ehhez futtassa az alábbi parancsot:

    databricks configure --profile DEFAULT
    
  2. A prompt Databricks Host mezőbe írja be a Azure Databricks per-munkaterület URL-címét, például https://adb-1234567890123456.7.azuredatabricks.net.

  3. A Személyes hozzáférési jogkivonat kéréshez adja meg a munkaterület Azure Databricks személyes hozzáférési jogkivonatát.

parancssori felület

A Databricks parancssori felületéhez futtassa a databricks configure parancsot. A parancssorban adja meg a következő beállításokat:

  • Az Azure Databricks állomás, amelyet célként megjelöltek, az Azure Databricks munkaterület URL-címe, például https://adb-1234567890123456.7.azuredatabricks.net.
  • Az Azure Databricks felhasználói fiókhoz tartozó személyes hozzáférési jogkivonat.

További információ: Személyes hozzáférési jogkivonat-hitelesítés (örökölt).

Kapcsolódás

Feljegyzés

Azure Databricks személyes hozzáférési jogkivonat hitelesítése a következő Databricks Connect-verziókban támogatott:

  • A Python esetében a Databricks Connect for Databricks Runtime 13.3 LTS és ú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 használja a Databricks parancssori felületét a .databrickscfg fájl értékeinek beállításához az Azure Databricks munkatér szintű működéséhez, ahogy azt a Profil szakasz meghatározza.

Az alábbi eljárás létrehoz egy Azure Databricks konfigurációs profilt DEFAULT néven, amely felülírja a meglévő DEFAULT profilokat. Ha ellenőrizni szeretné, hogy létezik-e DEFAULT profil, futtassa a parancsot databricks auth env --profile DEFAULT. Ha létezik, használjon másik profilnevet.

  1. Futtassa a következő parancsot egy Azure Databricks DEFAULT nevű konfigurációs profil létrehozásához, amely személyes hozzáférési jogkivonat-hitelesítést használ.

    databricks configure \
      --configure-cluster \
      --profile DEFAULT
    
  2. A prompt Databricks Host mezőbe írja be a Azure Databricks per-munkaterület URL-címét, például https://adb-1234567890123456.7.azuredatabricks.net.

  3. A(z) személyes hozzáférési token mezőhöz adja meg a munkaterülethez tartozó személyes hozzáférési tokent.

  4. Az elérhető fürtök listájában válassza ki a munkaterületen található cél Azure Databricks fürtöt. A fürt megjelenítendő nevének bármely részét begépelheti az elérhető fürtök listájának szűréséhez.

A Azure Databricks REST API használata személyes hozzáférési jogkivonatok kiállításához

Azure Databricks EGY REST-végpontot biztosít /api/2.0/token/create PAT-k kiállításához. Az API részleteiért lásd : Felhasználói jogkivonat létrehozása .

A következő példában állítsa be az alábbi értékeket:

  • <databricks-instance>: A Databricks-munkaterület URL-címe. Például: dbc-abcd1234-5678.cloud.databricks.com.
  • <your-existing-access-token>: Egy meglévő érvényes PAT (karakterlánc), amely rendelkezik az új tokenek létrehozására vonatkozó engedélyekkel.
  • <lifetime-seconds>: A token élettartama másodpercben.
  • <scopes>: Egy lista a tokenhez rendelendő scope-okról, vagy egy üres tömb ([]) a teljes munkaterületi hozzáférés biztosítására (scope all-apis ). Lásd: Hatókörön belüli személyes hozzáférési jogkivonatok.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "lifetime_seconds": <lifetime-seconds>,
  "scopes": [
    "sql",
    "authentication"
  ],
  "autoscope_enabled": true
}'

Ha sikeres, egy a következőhöz hasonló válasz-adatcsomag jelenik meg:

{
  "token_value": "<your-newly-issued-pat>",
  "token_info": {
    "token_id": "<token-id>",
    "creation_time": <creation-timestamp>,
    "expiry_time": <expiry-timestamp>,
    "comment": "<comment>",
    "scopes": ["authentication", "sql"],
    "last_accessed_time": 0
  }
}

Használja az válaszból kapott új jogkivonatot a Databricks REST API-k következő hívásainak engedélyezési fejlécében. Példa:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)

Személyes hozzáférési jogkivonat hatóköreinek frissítése

Ha egy hatókörrel rendelkező jogkivonat hiányzik egy API-híváshoz szükséges hatókörből, a kérés a hiányzó hatókört jelző hibával meghiúsul. A jogkivonat hatóköreinek frissítéséhez használja a REST-végpontot /api/2.0/token/<token_id>. A hívó jogkivonatnak rendelkeznie kell a authentication hatókörrel, amely lehetővé teszi más jogkivonatok kezelését. A update_mask mezőt használja annak megadására, hogy melyik token mezőket kívánja frissíteni.

curl -X PATCH https://<databricks-instance>/api/2.0/token/<token_id> \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "token": {
    "scopes": ["sql", "unity-catalog"]
  },
  "update_mask": "scopes"
}'

Ha a tokennek teljes munkatér-hozzáférést szeretne adni (a all-apis hatókört), állítsa a scopes értékét üres tömbre ("scopes": []). A literális string all-apis nem elfogadott scope-érték.

Feljegyzés

Az Azure Databricks azt javasolja, hogy a all-apis hozzáférés megadása helyett inkább meghatározott hatóköröket rendeljenek hozzá. A személyes hozzáférési jogkivonatok automatikus hatókörkezelését lásd.

A hatókör módosításainak propagálása akár tíz percet is igénybe vehet.

Az összes elérhető hatókör megtekintéséhez használja a GET /api/2.0/token-scopes parancsot.