Rövid útmutató: Jogkivonat beszerzése és a Microsoft Graph meghívása Python-démonalkalmazásból

Ebben a rövid útmutatóban letölthet és futtathat egy kódmintát, amely bemutatja, hogy egy Python-alkalmazás hogyan szerezhet be hozzáférési jogkivonatot az alkalmazás identitásával a Microsoft Graph API meghívásához és a címtárban lévő felhasználók listájának megjelenítéséhez. A kódminta bemutatja, hogy egy felügyelet nélküli feladat vagy Windows-szolgáltatás hogyan futtatható alkalmazásidentitással a felhasználó identitása helyett.

Diagram showing how the sample app generated by this quickstart works.

Előfeltételek

A minta futtatásához a következőkre van szükség:

A rövid útmutató mintaalkalmazásának regisztrálása és letöltése

1. lépés: Az alkalmazás regisztrálása

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

Az alkalmazás regisztrálásához és az alkalmazás regisztrációs információinak a megoldáshoz való kézi hozzáadásához kövesse az alábbi lépéseket:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központjába.
  2. Ha több bérlőhöz is hozzáfér, a felső menü Gépház ikonjávalválthat arra a bérlőre, amelyben regisztrálni szeretné az alkalmazást a Könyvtárak + előfizetések menüből.
  3. Keresse meg az Identitásalkalmazások>> Alkalmazásregisztrációk lehetőséget, és válassza az Új regisztráció lehetőséget.
  4. Adja meg például Daemon-consoleaz alkalmazás nevét. Előfordulhat, hogy az alkalmazás felhasználói látják ezt a nevet, és később módosíthatja.
  5. Válassza ki a pénztárgépet.
  6. A Kezelés területen válassza a Tanúsítványok és titkos kódok lehetőséget.
  7. Az Ügyfél titkos kulcsai területen válassza az Új ügyfélkulcs lehetőséget, adjon meg egy nevet, majd válassza a Hozzáadás lehetőséget. Jegyezze fel a titkos kód értékét egy biztonságos helyen egy későbbi lépésben való használatra.
  8. A Kezelés területen válassza az API-engedélyek>Hozzáadása engedélyt. Válassza a Microsoft Graphot.
  9. Válassza ki az alkalmazásengedélyeket.
  10. A Felhasználói csomópont területen válassza a User.Read.All elemet, majd az Engedélyek hozzáadása lehetőséget.

2. lépés: A Python-projekt letöltése

A Python démonprojekt letöltése

3. lépés: A Python-projekt konfigurálása

  1. Csomagolja ki a zip-fájlt egy helyi mappába a lemez gyökerének közelében (például: C:\Azure-Samples).

  2. Lépjen az 1-Call-MsGraph-WithSecret almappába.

  3. Szerkessze parameters.json , és cserélje le a mezők authorityértékeit, client_idmajd secret a következő kódrészletre:

    "authority": "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
    "client_id": "Enter_the_Application_Id_Here",
    "secret": "Enter_the_Client_Secret_Here"
    

    Ahol:

    • Enter_the_Application_Id_Here – ez a regisztrált alkalmazáshoz tartozó Alkalmazás (ügyfél) azonosítója érték.
    • Enter_the_Tenant_Id_Here- cserélje le ezt az értéket a bérlőazonosítóra vagy a bérlő nevére (például contoso.microsoft.com)
    • Enter_the_Client_Secret_Here - cserélje le ezt az értéket az 1. lépésben létrehozott ügyfélkódra.

Tipp.

Ha meg szeretné keresni az alkalmazás(ügyfél) azonosítójának (címtár- (bérlői) azonosítójának értékeit, nyissa meg az alkalmazás Áttekintés lapját a Microsoft Entra Felügyeleti központban. Új kulcs létrehozásához lépjen a Tanúsítványok > titkos kódok lapra.

Ha ezen a ponton próbálja futtatni az alkalmazást, HTTP 403 – Tiltott hiba jelenik meg: Insufficient privileges to complete the operation. Ez a hiba azért fordul elő, mert minden csak alkalmazásra vonatkozó engedélyhez Rendszergazda hozzájárulás szükséges: a címtár globális Rendszergazda istratorának hozzájárulást kell adnia az alkalmazáshoz. Szerepkörétől függően válasszon az alábbi lehetőségek közül:

Globális bérlői rendszergazda

Ha Ön globális bérlői rendszergazda, nyissa meg a Microsoft Entra felügyeleti központban található Alkalmazásregisztrációk API-engedélyek lapját, és válassza a rendszergazdai hozzájárulás megadása a(z) {Tenant Name} számára (ahol a(z) {Tenant Name} a címtár neve).

Standard felhasználó

Ha Ön a bérlő szokásos felhasználója, kérje meg a globális rendszergazdát, hogy adjon rendszergazdai hozzájárulást az alkalmazáshoz. Ehhez adja meg a következő URL-címet a rendszergazdának:

https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here

Ahol:

  • Enter_the_Tenant_Id_Here- cserélje le ezt az értéket a bérlőazonosítóra vagy a bérlő nevére (például contoso.microsoft.com)
  • Enter_the_Application_Id_Here - a korábban regisztrált alkalmazás (ügyfél) azonosítója .

5. lépés: Az alkalmazás futtatása

A minta függőségeit egyszer kell telepítenie.

pip install -r requirements.txt

Ezután futtassa az alkalmazást parancssorban vagy konzolon:

python confidential_client_secret_sample.py parameters.json

A konzol kimenetén látnia kell néhány JSON-töredéket, amely a Microsoft Entra könyvtár felhasználóinak listáját jelöli.

Fontos

Ez a rövid útmutató alkalmazás egy ügyfél titkos kódjával azonosítja magát bizalmas ügyfélként. Mivel az ügyfélkulcs egyszerű szövegként van hozzáadva a projektfájlokhoz, biztonsági okokból javasoljuk, hogy az alkalmazás éles alkalmazásként való használata előtt az ügyfélkulcs helyett tanúsítványt használjon. A tanúsítvány használatával kapcsolatos további információkért tekintse meg ezeket az utasításokat ugyanabban a GitHub-adattárban ebben a mintában, de a második mappában , a 2-Call-MsGraph-WithCertificate mappában.

További információ

MSAL Python

Az MSAL Python az a kódtár, amellyel bejelentkezhet a felhasználókba, és jogkivonatokat kérhet a Microsoft Identitásplatform által védett API-k eléréséhez. A leírás szerint ez a rövid útmutató a jogkivonatokat delegált engedélyek helyett az alkalmazás saját identitásával kéri le. Az ebben az esetben használt hitelesítési folyamatot ügyfél-hitelesítő adatok oauth folyamatának nevezzük. Az MSAL Python démonalkalmazásokkal való használatáról ebben a cikkben olvashat bővebben.

Az MSAL Pythont az alábbi pip parancs futtatásával telepítheti.

pip install msal

Az MSAL inicializálása

Az MSAL-re mutató hivatkozás hozzáadásához adja hozzá az alábbi kódot:

import msal

Ezután inicializálja az MSAL-t az alábbi kóddal:

app = msal.ConfidentialClientApplication(
    config["client_id"], authority=config["authority"],
    client_credential=config["secret"])
Ahol: Leírás
config["secret"] Az alkalmazáshoz létrehozott ügyfélkód a Microsoft Entra felügyeleti központban.
config["client_id"] A Microsoft Entra felügyeleti központban regisztrált alkalmazás (ügyfél) azonosítója. Ezt az értéket az alkalmazás Áttekintés lapján találja a Microsoft Entra Felügyeleti központban.
config["authority"] A felhasználó által hitelesítendő STS-végpont. Általában https://login.microsoftonline.com/{tenant} nyilvános felhő esetén, ahol a(z) {tenant} a bérlő vagy a bérlőazonosító neve.

További információkért tekintse meg a referenciadokumentációt ConfidentialClientApplication.

Jogkivonatok lekérése

Ha jogkivonatot szeretne lekérni az alkalmazás identitásával, használja a következő AcquireTokenForClient módszert:

result = None
result = app.acquire_token_silent(config["scope"], account=None)

if not result:
    logging.info("No suitable token exists in cache. Let's get a new one from AAD.")
    result = app.acquire_token_for_client(scopes=config["scope"])
Ahol: Leírás
config["scope"] A kért hatóköröket tartalmazza. Bizalmas ügyfelek esetén ennek a formátumnak hasonlónak {Application ID URI}/.default kell lennie, hogy jelezze, hogy a kért hatókörök statikusan vannak definiálva a Microsoft Entra felügyeleti központban beállított alkalmazásobjektumban (a Microsoft Graph {Application ID URI} esetében erre mutat).https://graph.microsoft.com Egyéni webes API-k {Application ID URI} esetén a Microsoft Entra Felügyeleti központ Alkalmazásregisztrációk API-jának elérhetővé tétele szakasza határozza meg.

További információkért tekintse meg a referenciadokumentációt AcquireTokenForClient.

Súgó és támogatás

Ha segítségre van szüksége, szeretne jelentést készíteni egy problémáról, vagy szeretne többet megtudni a támogatási lehetőségekről, olvassa el a súgót és a fejlesztők támogatását.

Következő lépések

A démonalkalmazásokkal kapcsolatos további információkért tekintse meg a forgatókönyv kezdőlapján.