Microsoft Entra ID (korábbi nevén Azure Active Directory) jogkivonatok lekérése felhasználók számára az MSAL használatával

Fontos

Ez a cikk bemutatja, hogyan hozhat létre manuálisan Microsoft Entra-azonosítós (korábbi nevén Azure Active Directory-) jogkivonatokat a Microsoft Authentication Library (MSAL) használatával.

A Databricks nem javasolja, hogy manuálisan hozza létre a Microsoft Entra ID (korábbi nevén Azure Active Directory) jogkivonatokat az Azure Databricks felhasználói számára. Ennek az az oka, hogy minden Microsoft Entra-azonosító jogkivonat rövid élettartamú, általában egy órán belül lejár. Ezt követően manuálisan kell létrehoznia egy helyettesítő Microsoft Entra-azonosító jogkivonatot. Ehelyett használja az egyik részt vevő eszközt vagy SDK-t, amely a Databricks-ügyfél egységes hitelesítési szabványát implementálja. Ezek az eszközök és SDK-k automatikusan létrehoznak és lecserélnek lejárt Microsoft Entra-azonosító jogkivonatokat Az Azure CLI-hitelesítés használatával.

Az Azure Databricks által felügyelt szolgáltatásnevek kezelése közvetlenül az Azure Databricksben van. A Microsoft Entra ID által felügyelt szolgáltatásnevek kezelése a Microsoft Entra-azonosítóban van, amelyhez további engedélyek szükségesek. A Databricks azt javasolja, hogy a legtöbb használati esetben az Azure Databricks által felügyelt szolgáltatásneveket használja. A Databricks azonban a Microsoft Entra ID által felügyelt szolgáltatásnevek használatát javasolja olyan esetekben, amikor egyidejűleg hitelesítenie kell az Azure Databricks-et és más Azure-erőforrásokat.

Ha a Microsoft Entra ID által felügyelt szolgáltatásnév helyett Azure Databricks által felügyelt szolgáltatásnevet szeretne létrehozni, olvassa el a Szolgáltatásnevek kezelése című témakört.

A Microsoft Authentication Library (MSAL) használatával programozott módon szerezheti be a Microsoft Entra-azonosító hozzáférési jogkivonatokat. Ez a cikk az MSAL-kódtár alapszintű használatát és a szükséges felhasználói bemeneteket ismerteti Python-példákkal.

Feljegyzés

Az MSAL a Microsoft Entra ID Authentication Library (ADAL) helyére lép. Az ADAL összes Microsoft-támogatása és fejlesztése, beleértve a biztonsági javításokat is, 2022. június 30-án véget ért. Lásd: Alkalmazások migrálása a Microsoft Authentication Librarybe (MSAL).

Tipp.

Előfordulhat, hogy az MSAL helyett az Azure CLI használatával szeretné lekérni a Microsoft Entra ID-jogkivonatokat a felhasználók számára, mivel az Azure CLI használata kevesebb lépést igényel. Lásd: Microsoft Entra-azonosítók (korábbi nevén Azure Active Directory-) jogkivonatok lekérése a felhasználók számára az Azure CLI használatával.

A szolgáltatásnevet a Microsoft Entra ID-ban is definiálhatja, és a felhasználó helyett microsoft Entra-azonosító hozzáférési jogkivonatot is lekérhet a szolgáltatásnévhez. Lásd: Microsoft Entra ID (korábbi nevén Azure Active Directory) jogkivonatok lekérése szolgáltatásnevekhez.

Alkalmazás konfigurálása az Azure Portalon

Regisztráljon egy alkalmazást a Microsoft Entra ID végpontján az Azure Portalon. Másik lehetőségként használhat egy már regisztrált Microsoft Entra ID-alkalmazást is. További információ: Alkalmazás regisztrálása az Azure Portal használatával.

  1. Jelentkezzen be az Azure Portalra.

    Feljegyzés

    A használni kívánt portál attól függően eltérő, hogy a Microsoft Entra ID-alkalmazása az Azure nyilvános felhőben vagy egy nemzeti vagy szuverén felhőben fut-e. További információ: Nemzeti felhők.

  2. Ha több bérlőhöz, előfizetéshez vagy címtárhoz is hozzáféréssel rendelkezik, a felső menüBen kattintson a Címtárak + előfizetések (szűrővel rendelkező címtár) ikonra, és váltson arra a könyvtárra, amelyben regisztrálni szeretné az alkalmazást.

  3. Keresse meg és válassza ki a Microsoft Entra ID-t.

  4. A Kezelés területen válassza Alkalmazásregisztrációk > Új regisztráció lehetőséget.

  5. A Név mezőbe írja be az alkalmazás nevét.

  6. A Támogatott fióktípusok szakaszban válassza a Csak ebben a szervezeti címtárban lévő fiókok (egyetlen bérlő) lehetőséget.

  7. Az Átirányítási URI (nem kötelező) szakaszban válassza a Nyilvános ügyfél/natív (asztali mobil) lehetőséget, és adjon meg egy átirányítási URI-t. Az alábbi példában az átirányítási URI értéke .http://localhost

    Register app

  8. Kattintson a Regisztrálás parancsra.

  9. Az alkalmazáslap Áttekintés lapján, az Alapvető beállítások szakaszban másolja ki a következő értékeket:

    • Alkalmazás (ügyfél) azonosítója
    • Címtár (bérlő) azonosítója
    • Az átirányítási URI-kban a nyilvános ügyfél átirányítja az eljárás korábbi szakaszában megadott URI-t.

    Azure registered app overview

  10. Adja hozzá az AzureDatabrickset a regisztrált alkalmazás szükséges engedélyeihez. A lépés végrehajtásához rendszergazdai felhasználónak kell lennie. Ha a művelet végrehajtása során engedélyekkel kapcsolatos problémába ütközik, kérjen segítséget a rendszergazdától.

    1. Az alkalmazáslap Áttekintés lapján, az Első lépések lapon kattintson az API-engedélyek megtekintése gombra.

      Azure registered app settings

    2. Kattintson az Engedély hozzáadása gombra.

      Add required permissions to app

    3. A Kérelem API engedélypaneljén kattintson a szervezetem által használt API-k fülre, keresse meg az AzureDatabrickset, majd jelölje ki.

      Add AzureDatabricks API permission

    4. Engedélyezze a user_impersonation jelölőnégyzetet, majd kattintson az Engedélyek hozzáadása gombra.

      Azure app delegated permissions

    5. Kattintson a ### rendszergazdai hozzájárulásának megadására, majd az Igen gombra. A művelet végrehajtásához rendszergazdai felhasználónak kell lennie, vagy jogosultsággal kell rendelkeznie ahhoz, hogy hozzájáruljon az alkalmazáshoz. Ha nem látja a rendszergazdai hozzájárulás megadását a ###-hoz, vagy ha kihagyja ezt a műveletet, az engedélyezési kódfolyamatot (interaktív) kell használnia, amikor először használja az alkalmazást a hozzájárulás megadásához. Ezután használhatja a Felhasználónév-jelszó folyamat (programozott) metódust.

      Add additional users and groups to app permissions

További felhasználókat is hozzáadhat az alkalmazáshoz. További információ: Felhasználói fiók hozzárendelése egy vállalati alkalmazáshoz az Azure Portal utasításaihoz, vagy felhasználók és csoportok hozzárendelése egy alkalmazáshoz a Microsoft Entra ID -ban (korábban Azure Active Directory) a PowerShell-utasításokhoz. A felhasználó nem fog tudni jogkivonatot beszerezni a szükséges engedélyek nélkül.

Microsoft Entra-azonosító hozzáférési jogkivonat beszerzése

Microsoft Entra-azonosító hozzáférési jogkivonat beszerzéséhez használhatja a következőt:

A Microsoft Entra-azonosító hozzáférési jogkivonatának lekéréséhez az engedélyezési kódfolyamatot (interaktív) kell használnia, ha:

  • Két tényezőhitelesítés engedélyezve van a Microsoft Entra-azonosítóban.
  • Az összevont hitelesítés engedélyezve van a Microsoft Entra-azonosítóban.
  • Az alkalmazásregisztráció során nem kap hozzájárulást a regisztrált alkalmazáshoz.

Ha rendelkezik a felhasználónévvel és jelszóval való bejelentkezésre vonatkozó jogosultsággal, a felhasználónév-jelszó folyamat (programozott) használatával beszerezhet egy Microsoft Entra-azonosító hozzáférési jogkivonatot.

Engedélyezési kódfolyamat (interaktív)

A Microsoft Entra-azonosító hozzáférési jogkivonatának beszerzésének két lépése van az engedélyezési kód folyamatával.

  1. Kérjen egy engedélyezési kódot, amely elindít egy böngészőablakot, és azure-beli felhasználói bejelentkezést kér. Az engedélyezési kód a felhasználó sikeres bejelentkezése után lesz visszaadva.
  2. A Microsoft Entra ID hozzáférési jogkivonatának beszerzéséhez használja az engedélyezési kódot. A használt módszertől függően a frissítési jogkivonat egyszerre is visszaadható, és a Microsoft Entra ID hozzáférési jogkivonat frissítésére is használható.

A két lépés végrehajtásának egyik módszere a webböngésző és a curl használata. Ehhez a webböngészőben lekérheti az engedélyezési kódot, majd az engedélyezési kódot, és curl lekérheti a Microsoft Entra-azonosító hozzáférési jogkivonatát. Ez a módszer nem biztosít frissítési jogkivonatot.

Egy másik megközelítés az MSAL Python-kódtár használata. Ehhez egyetlen szkriptet kell futtatnia, amely a webböngésző használatával lekéri az engedélyezési kódot, majd az engedélyezési kóddal lekér egy hozzáférési és frissítési jogkivonatot is.

Mindkét módszer feltételezi, hogy már bejelentkezett az Azure-ba. Ha nincs bejelentkezve, a webböngésző erre kéri.

Microsoft Entra ID-jogkivonatok lekérése webböngésző és curl használatával

  1. Gyűjtse be a következő adatokat:

    Paraméter Leírás
    Bérlőazonosító A Microsoft Entra ID-ban regisztrált kapcsolódó alkalmazás címtár- (bérlői) azonosítója az Alkalmazás konfigurálása az Azure Portalon.
    Ügyfél azonosítója A Microsoft Entra ID-ban regisztrált kapcsolódó alkalmazás (ügyfél) azonosítója .
    Átirányítási URI A Microsoft Entra-azonosítóban regisztrált kapcsolódó alkalmazás megfelelő átirányítási URI-jait (például http://localhost). A hitelesítési válaszokat a rendszer elküldi ennek az URI-nak az engedélyezési kóddal együtt.
  2. Kérje le az engedélyezési kódot a webböngészőben a következő URL-címre való tallózáshoz. A következő URL-példában szereplő mezőket ennek megfelelően cserélje le. Vegye figyelembe, hogy az URL-címet egyetlen sorként kell elküldeni; az olvashatóság érdekében sortörések lettek hozzáadva az alábbi URL-címhez. További információ: Engedélyezési kód kérése.

    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>
    &response_type=code
    &redirect_uri=<redirect-uri>
    &response_mode=query
    &scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default
    &state=<state>
    

    Csere:

    • <tenant-id> a regisztrált alkalmazás bérlőazonosítójával.
    • <client-id> a regisztrált alkalmazás ügyfél-azonosítójával.
    • <redirect-uri> a regisztrált alkalmazás átirányítási URI-jával. Ennek az URI-nak URL-kódolású (százalékban kódolt) formátumban kell lennie. Például: http://localhosthttp%3A%2F%2Flocalhost.
    • <state> véletlenszerű számmal vagy valamilyen kódolt információval. Az információcsere integritásának ellenőrzéséhez ennek az állapotértéknek meg kell egyeznie a visszaadott URL-címben található értékkel az eljárás későbbi részében.

    Ne módosítsa a paraméter értékét scope . Ez az Azure Databricks programozott azonosítóját (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) és az alapértelmezett hatókört (/.defaultURL-kódoltként %2f.default) jelöli.

    Példa:

    https://login.microsoftonline.com/a1bc2d34-5e67-8f89-01ab-c2345d6c78de/oauth2/v2.0/authorize?client_id=12a34b56-789c-0d12-e3fa-b456789c0123
    &response_type=code
    &redirect_uri=http%3A%2F%2Flocalhost
    &response_mode=query
    &scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default
    &state=12345
    
  3. Illessze be az URL-címet egyetlen sorként a webböngészőbe, és ha a rendszer kéri, jelentkezzen be az Azure-ba.

    HTTP request URL

  4. Az engedélyezési kód a code visszaadott URL-cím mezőjében található. Mentse az engedélyezési kódot biztonságos helyre. Ellenőrizze azt is, hogy a state mező értéke megegyezik-e az eljárás korábbi részében megadott értékkel.

    Authorization code URL

    A teljes visszaadott URL-cím így fog kinézni (a rövidítés érdekében 0.ASkAIj...RxgFhSAA a teljes code mező értéke itt rövidül):

    http://localhost/?code=0.ASkAIj...RxgFhSAA&state=12345&session_state=c44574d5-38ba-4f93-b2a3-a830db8e8cdf
    
  5. Használja az engedélyezési kódot és curl a Microsoft Entra-azonosító hozzáférési jogkivonatát.

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token \
    -d 'client_id=<client-id>' \
    -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default' \
    -d 'code=<authorization-code>' \
    -d 'redirect_uri=<redirect-uri>' \
    -d 'grant_type=authorization_code' \
    -d 'state=<state>'
    

    Csere:

    • <tenant-id> a regisztrált alkalmazás bérlőazonosítójával.
    • <client-id> a regisztrált alkalmazás ügyfél-azonosítójával.
    • <authorization-code> az engedélyezési kóddal.
    • <redirect-uri> a regisztrált alkalmazás átirányítási URI-jával. Ennek az URI-nak URL-kódolású (százalékalapú) formátumban kell lennie. Például: http://localhosthttp%3A%2F%2Flocalhost.
    • <state> véletlenszerű számmal vagy valamilyen kódolt információval. Az információcsere integritásának ellenőrzéséhez ennek az állapotértéknek meg kell egyeznie azzal, amelyik az eljárás későbbi részében a válasz hasznos adatai között szerepel.

    Ne módosítsa a paraméter értékét scope . Ez az Azure Databricks programozott azonosítóját (2ff814a6-3304-4ab8-85cb-cd0e6f879c1d) és az alapértelmezett hatókört (/.defaultURL-kódoltként %2f.default) jelöli.

    Példa:

    curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \
    https://login.microsoftonline.com/a1bc2d34-5e67-8f89-01ab-c2345d6c78de/oauth2/v2.0/token \
    -d 'client_id=12a34b56-789c-0d12-e3fa-b456789c0123' \
    -d 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d%2F.default' \
    -d 'code=0.ASkAIj...RxgFhSAA' \
    -d 'redirect_uri=http%3A%2F%2Flocalhost' \
    -d 'grant_type=authorization_code' \
    -d 'state=12345'
    

    A Microsoft Entra ID-jogkivonat a access_token hívás eredményében található értékben van. Ellenőrizze, hogy az state érték megegyezik-e az eljárás korábbi részében megadott értékkel.

Microsoft Entra-azonosító jogkivonatok lekérése az MSAL Python-kódtár használatával

  1. Gyűjtse be a következő adatokat:

    Paraméter Leírás
    Bérlőazonosító A Microsoft Entra ID-ban regisztrált kapcsolódó alkalmazás címtár- (bérlői) azonosítója az Alkalmazás konfigurálása az Azure Portalon.
    Ügyfél azonosítója A Microsoft Entra ID-ban regisztrált kapcsolódó alkalmazás (ügyfél) azonosítója .

    Ez az eljárás feltételezi, hogy a Microsoft Entra-azonosítóban regisztrált kapcsolódó alkalmazás átirányítási URI-jaként van beállítvahttp://localhost.

  2. Telepítse az MSAL Python SDK-t a helyi gépen a futtatással pip install msal.

  3. Mentse a következő kódot a helyi géphez hasonlóan get-tokens.py .

    # Given the client ID and tenant ID for an app registered in Azure,
    # provide a <ms-entra-id> access token and a refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID and tenant ID here,
    # or you can provide them as command-line arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<tenant-id>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '/.default'.
    scopes = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 3):
      print("Usage: get-tokens.py <client ID> <tenant ID>")
      exit(1)
    
    # If the registered app's client ID and tenant ID are provided as
    # command-line variables, set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_interactive(
      scopes = scopes
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("Access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nRefresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  4. Hajtsa végre a megfelelő műveletet:

    • Az előző kódban cserélje le <client-id> a regisztrált alkalmazás ügyfélazonosítójára és <tenant-id> a regisztrált alkalmazás bérlőazonosítójára, majd futtassa például python get-tokens.pya szkriptet.
    • Adja meg például a regisztrált alkalmazás ügyfél-azonosítóját és a regisztrált alkalmazás bérlőazonosítóját a szkript futtatásakor.python get-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de
  5. Ha a webböngésző kéri, jelentkezzen be az Azure-ba.

  6. A Microsoft Entra ID hozzáférési és frissítési jogkivonatai a kimenetben lesznek kinyomtatva.

Felhasználónév-jelszó folyamat (programozott)

  1. Ha rendelkezik a felhasználónévvel és jelszóval való bejelentkezéshez szükséges jogosultsággal, gyűjtse össze a következő információkat:

    Paraméter Leírás
    Bérlőazonosító A Microsoft Entra ID-ban regisztrált kapcsolódó alkalmazás címtár- (bérlői) azonosítója az Alkalmazás konfigurálása az Azure Portalon.
    Ügyfél azonosítója A Microsoft Entra ID-ban regisztrált igazított alkalmazás (ügyfél) azonosítója .
    Felhasználónév és jelszó A bérlő felhasználónevét (azaz az Azure Portalra való bejelentkezéskor megadott e-mail-címet) és a felhasználó jelszavát.

    Ez az eljárás feltételezi, hogy a Microsoft Entra-azonosítóban regisztrált kapcsolódó alkalmazás átirányítási URI-jaként van beállítvahttp://localhost.

  2. Telepítse az MSAL Python SDK-t a helyi gépen a futtatással pip install msal.

  3. Mentse a következő kódot a helyi géphez hasonlóan get-tokens-for-user.py .

    # Given the client ID and tenant ID for an app registered in Azure,
    # along with an Azure username and password,
    # provide a <ms-entra-id> access token and a refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID and tenant ID here,
    # along with the Azure username and password,
    # or you can provide them as command-line arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<tenant-id>'
    username = '<username>'
    password = '<password>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '/.default'.
    scope = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 5):
      print("Usage: get-tokens-for-user.py <client ID> <tenant ID> <username> <password>")
      exit(1)
    
    # If the registered app's client ID and tenant ID along with the
    # Azure username and password are provided as command-line variables,
    # set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
      username = sys.argv[3]
      password = sys.argv[4]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_by_username_password(
      username = username,
      password = password,
      scopes = scope
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("Access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nRefresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  4. Hajtsa végre a megfelelő műveletet:

    • Az előző kódban cserélje le <client-id> a regisztrált alkalmazás ügyfél-azonosítójára, <tenant-id> a regisztrált alkalmazás bérlőazonosítójára, <username> a felhasználónévre és <password> a jelszóra, majd futtassa például python get-tokens-for-user.pya szkriptet.
    • Adja meg például a regisztrált alkalmazás ügyfél-azonosítóját, a regisztrált alkalmazás bérlőazonosítóját, a felhasználónevet és a jelszót a szkript python get-tokens-for-user.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de someone@example.com "MyPa55w&rd!"futtatásakor. Ha egy parancssori argumentum speciális karaktereket tartalmaz, akkor idézőjelekkel kell körülvenni.
  5. A Microsoft Entra id hozzáférési és frissítési jogkivonatai a terminálra lesznek nyomtatva.

Microsoft Entra ID hozzáférési jogkivonat használata a Databricks REST API eléréséhez

Ez a szakasz azt ismerteti, hogyan hívhatja meg a Databricks REST API-t Egy Microsoft Entra ID hozzáférési jogkivonat használatával. Az alábbi példákban cserélje le <access-token> a Microsoft Entra-azonosító hozzáférési jogkivonatát és <databricks-instance> az Azure Databricks-üzemelő példány munkaterületenkénti URL-címét .

Python-példa

Ez a példa bemutatja, hogyan listázhatja a fürtöket egy Azure Databricks-munkaterületen.

import requests
import json

databricks_instance = '<databricks-instance>'
api_version = '/api/2.0'
api_command = '/clusters/list'
url = f"https://{databricks_instance}{api_version}{api_command}"
access_token = '<access-token>'

response = requests.get(
  url = url,
  headers = { 'Authorization': "Bearer " + access_token}
)

print(json.dumps(json.loads(response.text), indent = 2))

Feljegyzés

Ha Ön nem rendszergazdai felhasználó, és rendszergazdai felhasználóként szeretne bejelentkezni, a fejléc mellett meg kell adnia a X-Databricks-Azure-Workspace-Resource-Id'Authorization' : 'Bearer ' fejlécet, és közreműködői vagy tulajdonosi szerepkörrel kell rendelkeznie az Azure-beli munkaterület-erőforráson. Az értéket az X-Databricks-Azure-Workspace-Resource-Id alábbiak szerint hozhatja létre:

# ...

subscription = '<azure-subscription-id>'
resource_group = '<azure-resource-group-name>'
workspace = '<databricks-workspace-name-in-azure>'

db_resource_id = '/subscriptions/%s/resourcegroups/%s/providers/microsoft.databricks/workspaces/%s' % (
  subscription,
  resource_group,
  workspace
)

# ...

  headers = {
    'Authorization': "Bearer " + access_token,
    'X-Databricks-Azure-Workspace-Resource-Id': db_resource_id
  }

# ...

Az előfizetés, az erőforrás és a munkaterület adatainak lekéréséhez tekintse meg az Erőforrások megnyitása című témakört. A célerőforrás megnyitásához kereshet az Azure Databricks szolgáltatástípusban, valamint az Azure-ban minden olyan információt, amelyet a cél Azure Databricks-munkaterületről tud.

curl Példa

curl -X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <access-token>' \
https://<databricks-instance>/api/2.0/clusters/list

Microsoft Entra ID hozzáférési jogkivonat frissítése

Ha a Microsoft Entra ID hozzáférési jogkivonatával együtt egy frissítési jogkivonatot is kap, a frissítési jogkivonattal új jogkivonatot szerezhet be. Alapértelmezés szerint a Microsoft Entra ID hozzáférési jogkivonatok élettartama véletlenszerű, 60 és 90 perc közötti időtartam (átlagosan 75 perc). A Microsoft Entra ID hozzáférési jogkivonatok élettartamát a Microsoft Entra ID (korábbi nevén Azure Active Directory) konfigurálható jogkivonatok élettartamának konfigurálható módszereivel konfigurálhatja.

Az alábbi példa bemutatja, hogyan használhatja az MSAL Python-kódtárat egy frissítési jogkivonattal együtt egy új jogkivonat beszerzéséhez.

  1. Mentse a következő kódot a helyi géphez hasonlóan refresh-tokens.py .

    # Given the client ID and tenant ID for an app registered in Azure,
    # along with a refresh token, provide a new <ms-entra-id> access token and
    # refresh token.
    
    # If the caller is not already signed in to Azure, the caller's
    # web browser will prompt the caller to sign in first.
    
    # pip install msal
    from msal import PublicClientApplication
    import sys
    
    # You can hard-code the registered app's client ID, tenant ID,
    # and refresh token here, or you can provide them as command-line
    # arguments to this script.
    client_id = '<client-id>'
    tenant_id = '<refresh-token'
    refresh_token = '<refresh-token>'
    
    # Do not modify this variable. It represents the programmatic ID for
    # Azure Databricks along with the default scope of '.default'.
    scope = [ '2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' ]
    
    # Check for too few or too many command-line arguments.
    if (len(sys.argv) > 1) and (len(sys.argv) != 4):
      print("Usage: refresh-tokens.py <client ID> <tenant ID> <refresh token>")
      exit(1)
    
    # If the registered app's client ID, tenant ID, and refresh token are
    # provided as command-line variables, set them here.
    if len(sys.argv) > 1:
      client_id = sys.argv[1]
      tenant_id = sys.argv[2]
      refresh_token = sys.argv[3]
    
    app = PublicClientApplication(
      client_id = client_id,
      authority = "https://login.microsoftonline.com/" + tenant_id
    )
    
    acquire_tokens_result = app.acquire_token_by_refresh_token(
      refresh_token = refresh_token,
      scopes = scope
    )
    
    if 'error' in acquire_tokens_result:
      print("Error: " + acquire_tokens_result['error'])
      print("Description: " + acquire_tokens_result['error_description'])
    else:
      print("\nNew access token:\n")
      print(acquire_tokens_result['access_token'])
      print("\nNew refresh token:\n")
      print(acquire_tokens_result['refresh_token'])
    
  2. Hajtsa végre a megfelelő műveletet:

    • Az előző kódban cserélje le <client-id> a regisztrált alkalmazás ügyfél-azonosítójára, <tenant-id> a regisztrált alkalmazás bérlőazonosítójára és <refresh-token> a frissítési jogkivonatra, majd futtassa például python get-tokens-for-user.pya szkriptet.
    • Adja meg például a regisztrált alkalmazás ügyfél-azonosítóját, a regisztrált alkalmazás bérlőazonosítóját és a frissítési jogkivonatot a szkript python refresh-tokens.py 12a34b56-789c-0d12-e3fa-b456789c0123 a1bc2d34-5e67-8f89-01ab-c2345d6c78de "0.ASkAIj...huE84ALg"futtatásakor. Ha egy parancssori argumentum speciális karaktereket tartalmaz, akkor idézőjelek között kell körülvenni.
  3. Az új Microsoft Entra id hozzáférési és frissítési jogkivonatok a terminálra lesznek nyomtatva.