Felügyelt identitások használata az App Service-hez és az Azure Functionshez

Ez a cikk bemutatja, hogyan hozhat létre felügyelt identitást az App Service-hez és az Azure Functions-alkalmazásokhoz, és hogyan használhatja azt más erőforrások eléréséhez.

Fontos

Mivel a felügyelt identitások nem támogatják a címtárközi forgatókönyveket, nem fognak a várt módon viselkedni, ha az alkalmazást előfizetések vagy bérlők között migrálják. A felügyelt identitások ilyen áthelyezés utáni újbóli létrehozásához lásd : Automatikusan létrejönnek-e a felügyelt identitások, ha egy előfizetést áthelyezek egy másik könyvtárba?. Az alsóbb rétegbeli erőforrásoknak is frissíteniük kell a hozzáférési szabályzatokat az új identitás használatához.

Feljegyzés

A felügyelt identitások nem érhetők el az Azure Arcban üzembe helyezett alkalmazásokhoz.

A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi az alkalmazás számára, hogy könnyen hozzáférjen más, Microsoft Entra által védett erőforrásokhoz, például az Azure Key Vaulthoz. Az identitás kezelését az Azure-platform végzi, és nem szükséges hozzá semmilyen titkos kulcs kiosztása vagy rotálása. A Microsoft Entra ID-ban található felügyelt identitásokról további információt az Azure-erőforrások felügyelt identitásai című témakörben talál.

Az alkalmazás számára kétféle identitástípust lehet megadni:

  • A rendszer által hozzárendelt identitás az alkalmazáshoz kötött, és adott esetben azzal együtt törlődik. Egy alkalmazás csak egy rendszer által hozzárendelt identitással rendelkezhet.
  • A felhasználó által hozzárendelt identitás különálló Azure-erőforrás, amely hozzárendelhető az alkalmazáshoz. Egy alkalmazás több felhasználó által hozzárendelt identitással is rendelkezhet.

A felügyelt identitás konfigurációja a ponthoz tartozik. Ha egy felügyelt identitást szeretne konfigurálni egy üzembehelyezési ponthoz a portálon, először keresse meg a pontot. Ha meg szeretné keresni a webalkalmazás vagy üzembehelyezési pont felügyelt identitását a Microsoft Entra-bérlőben az Azure Portalon, keresse meg közvetlenül a bérlő Áttekintés lapján. A pont neve általában a következőhöz <app-name>/slots/<slot-name>hasonló.

Ez a videó bemutatja, hogyan használhat felügyelt identitásokat az App Service-ben.

A videó lépéseit a következő szakaszokban is ismertetjük.

Rendszer által hozzárendelt identitás hozzáadása

  1. Az alkalmazás oldalának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.

  2. Válassza az Identitás lehetőséget.

  3. A rendszer által hozzárendelt lapon kapcsolja be az Állapot beállítást. Kattintson a Mentés gombra.

    Képernyőkép arról, hogy hol lehet bekapcsolt állapotra váltani, majd válassza a Mentés lehetőséget.

Felhasználó által hozzárendelt identitás hozzáadása

Felhasználó által hozzárendelt identitással rendelkező alkalmazás létrehozásához létre kell hoznia az identitást, majd hozzá kell adnia annak erőforrás-azonosítóját az alkalmazáskonfigurációhoz.

Először létre kell hoznia egy felhasználó által hozzárendelt identitáserőforrást.

  1. Hozzon létre egy felhasználó által hozzárendelt felügyelt identitáserőforrást az utasításoknak megfelelően.

  2. Az alkalmazás lapjának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.

  3. Válassza az Identitás lehetőséget.

  4. Válassza a Felhasználó által hozzárendelt>Hozzáadás lehetőséget.

  5. Keresse meg a korábban létrehozott identitást, jelölje ki, és válassza a Hozzáadás lehetőséget.

    Felügyelt identitás az App Service-ben

    Miután a Hozzáadás lehetőséget választja, az alkalmazás újraindul.

Célerőforrás konfigurálása

Előfordulhat, hogy konfigurálnia kell a célerőforrást az alkalmazásból vagy függvényből való hozzáférés engedélyezéséhez. Ha például jogkivonatot kér a Key Vault eléréséhez, hozzá kell adnia egy hozzáférési szabályzatot is, amely tartalmazza az alkalmazás vagy függvény felügyelt identitását. Ellenkező esetben a Rendszer elutasítja a Key Vaultba irányuló hívásokat, még akkor is, ha érvényes jogkivonatot használ. Ugyanez igaz az Azure SQL Database-hez is. Ha többet szeretne megtudni arról, hogy mely erőforrások támogatják a Microsoft Entra-jogkivonatokat, tekintse meg a Microsoft Entra-hitelesítést támogató Azure-szolgáltatásokat.

Fontos

A felügyelt identitások háttérszolgáltatásai erőforrás-URI-nként körülbelül 24 órán át gyorsítótárat tartanak fenn. Ha frissíti egy adott célerőforrás hozzáférési szabályzatát, és azonnal lekéri az adott erőforráshoz tartozó jogkivonatot, a jogkivonat lejáratáig továbbra is beszerezhet egy elavult engedélyekkel rendelkező gyorsítótárazott jogkivonatot. Jogkivonat frissítésének kényszerítésére jelenleg nincs mód.

Csatlakozás azure-szolgáltatásokhoz alkalmazáskódban

A felügyelt identitással az alkalmazások jogkivonatokat szerezhetnek be a Microsoft Entra ID által védett Azure-erőforrásokhoz, például az Azure SQL Database-hez, az Azure Key Vaulthoz és az Azure Storage-hoz. Ezek a jogkivonatok az erőforráshoz hozzáférő alkalmazást jelölik, nem pedig az alkalmazás egy adott felhasználóját.

Az App Service és az Azure Functions egy belsőleg elérhető REST-végpontot biztosít a jogkivonatok lekéréséhez. A REST-végpont egy szabványos HTTP GET-lel érhető el az alkalmazáson belül, amely minden nyelven implementálható egy általános HTTP-ügyféllel. A .NET, a JavaScript, a Java és a Python esetében az Azure Identity-ügyfélkódtár absztrakciót biztosít ezen REST-végponton, és leegyszerűsíti a fejlesztési élményt. Csatlakozás más Azure-szolgáltatásokhoz való csatlakozás olyan egyszerű, mintha hitelesítő objektumot ad hozzá a szolgáltatásspecifikus ügyfélhez.

A nyers HTTP GET-kérések a következő példához hasonlóan néznek ki:

GET /MSI/token?resource=https://vault.azure.net&api-version=2019-08-01 HTTP/1.1
Host: localhost:4141
X-IDENTITY-HEADER: 853b9a84-5bfa-4b22-a3f3-0b9a43d9ad8a

A mintaválaszok pedig az alábbihoz hasonlóan nézhetnek ki:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "access_token": "eyJ0eXAi…",
    "expires_on": "1586984735",
    "resource": "https://vault.azure.net",
    "token_type": "Bearer",
    "client_id": "5E29463D-71DA-4FE0-8E69-999B57DB23B0"
}

Ez a válasz ugyanaz, mint a Microsoft Entra szolgáltatás–szolgáltatás hozzáférési jogkivonat-kérésre adott válasz. A Key Vault eléréséhez ezután hozzáadja a tárolóval létesített ügyfélkapcsolat értékét access_token .

A REST-végpontról további információt a REST-végpont hivatkozásában talál.

Identitás eltávolítása

Ha eltávolít egy rendszer által hozzárendelt identitást, az törlődik a Microsoft Entra-azonosítóból. A rendszer által hozzárendelt identitások automatikusan törlődnek a Microsoft Entra-azonosítóból is, amikor törli magát az alkalmazáserőforrást.

  1. Az alkalmazás oldalának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.

  2. Válassza az Identitás lehetőséget. Ezután kövesse a lépéseket az identitástípus alapján:

    • Rendszer által hozzárendelt identitás: A rendszer által hozzárendelt lapon kapcsolja ki az állapotot. Kattintson a Mentés gombra.
    • Felhasználó által hozzárendelt identitás: Jelölje be a Felhasználó által hozzárendelt lapot, jelölje be az identitás jelölőnégyzetét, és válassza az Eltávolítás lehetőséget. Válassza az Igen lehetőséget a megerősítéshez.

Feljegyzés

Van egy alkalmazásbeállítás is, amely beállítható, WEBSITE_DISABLE_MSI, amely csak letiltja a helyi jogkivonat-szolgáltatást. Az identitást azonban a helyén hagyja, és az eszközkezelés továbbra is "bekapcsolva" vagy "engedélyezve" állapotban jeleníti meg a felügyelt identitást. Ennek eredményeképpen a beállítás használata nem ajánlott.

REST-végpont referenciája

Egy felügyelt identitással rendelkező alkalmazás két környezeti változó definiálásával teszi elérhetővé ezt a végpontot:

  • IDENTITY_ENDPOINT – a helyi jogkivonat-szolgáltatás URL-címe.
  • IDENTITY_HEADER – a kiszolgálóoldali hamisítási (SSRF) támadások enyhítésére szolgáló fejléc. Az értéket a platform elforgatja.

A IDENTITY_ENDPOINT egy helyi URL-cím, amelyről az alkalmazás jogkivonatokat kérhet. Ha jogkivonatot szeretne lekérni egy erőforráshoz, hozzon létre egy HTTP GET kérést erre a végpontra, beleértve a következő paramétereket:

Paraméter neve In Leírás
erőforrás Lekérdezés Annak az erőforrásnak a Microsoft Entra erőforrás-URI-ja, amelyhez jogkivonatot kell beszerezni. Ez lehet az egyik Olyan Azure-szolgáltatás, amely támogatja a Microsoft Entra-hitelesítést vagy bármely más erőforrás-URI-t.
api-verzió Lekérdezés A használni kívánt token API verziója. Használja az 2019-08-01 parancsot.
X-IDENTITY-HEADER Fejléc A IDENTITY_HEADER környezeti változó értéke. Ez a fejléc a kiszolgálóoldali hamisítási (SSRF-) támadások enyhítésére szolgál.
ügyfél azonosítója Lekérdezés (Nem kötelező) A használni kívánt felhasználó által hozzárendelt identitás ügyfélazonosítója. Nem használható olyan kérelem esetén, amely tartalmazza principal_ida ( mi_res_idvagy object_id) elemet. Ha az összes azonosítóparaméter (client_id, , principal_id, object_idés mi_res_id) hiányzik, a rendszer által hozzárendelt identitást használja.
principal_id Lekérdezés (Nem kötelező) A használandó felhasználó által hozzárendelt identitás egyszerű azonosítója. object_id egy alias, amelyet használhat helyette. Nem használható client_id, mi_res_id vagy object_id tartalmazó kérelemhez. Ha az összes azonosítóparaméter (client_id, , principal_id, object_idés mi_res_id) hiányzik, a rendszer által hozzárendelt identitást használja.
mi_res_id Lekérdezés (Nem kötelező) A használandó felhasználó által hozzárendelt identitás Azure-erőforrás-azonosítója. Nem használható olyan kérelem esetén, amely tartalmazza principal_ida ( client_idvagy object_id) elemet. Ha az összes azonosítóparaméter (client_id, , principal_id, object_idés mi_res_id) hiányzik, a rendszer által hozzárendelt identitást használja.

Fontos

Ha jogkivonatokat próbál beszerezni a felhasználó által hozzárendelt identitásokhoz, tartalmaznia kell az egyik választható tulajdonságot. Ellenkező esetben a jogkivonat-szolgáltatás megkísérli beszerezni a rendszer által hozzárendelt identitáshoz tartozó jogkivonatot, amely lehet, hogy létezik vagy nem létezik.

Következő lépések