Megosztás:


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 Azure App Service-hez és az Azure Functions-alkalmazásokhoz, és hogyan használhatja azt más erőforrások eléréséhez.

A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi, hogy az alkalmazás egyszerűen hozzáférjen más, Microsoft Entra által védett erőforrásokhoz, például az Azure Key Vaulthoz. Az Azure-platform kezeli az identitást, így nem kell titkos kulcsokat kiépítenie vagy elforgatnia. 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.

Kétféle identitást adhat az alkalmazásnak:

  • A rendszer által hozzárendelt identitás az alkalmazáshoz van kötve, és az alkalmazás törlésekor 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. Egy felhasználó által hozzárendelt identitás több Azure-erőforráshoz, például két App Service-alkalmazáshoz is hozzárendelhető.

A felügyelt identitás konfigurációja a helyhez tartozik. Ha egy felügyelt identitást szeretne konfigurálni egy üzembehelyezési réshez a portálon, először nyissa meg a rést. 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.

Megjegyzés:

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

Mivel a felügyelt identitások nem támogatják a címtárközi forgatókönyveket, nem a várt módon viselkednek, 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.

Előfeltételek

A cikkben ismertetett lépések végrehajtásához rendelkeznie kell az Azure-erőforrásokra vonatkozó minimális engedélykészlettel. A szükséges engedélyek a forgatókönyvtől függően változnak. Az alábbi táblázat a leggyakoribb forgatókönyveket foglalja össze:

Forgatókönyv Szükséges engedély Példa beépített szerepkörökre
Rendszer által hozzárendelt identitás létrehozása Microsoft.Web/sites/write az alkalmazás felett vagy Microsoft.Web/sites/slots/write a slot felett Webhely közreműködője
Felhasználó által hozzárendelt identitás létrehozása Microsoft.ManagedIdentity/userAssignedIdentities/write azon erőforráscsoport felett, amelyben az identitást létre szeretné hozni Felügyelt identitások közreműködője
Felhasználó által hozzárendelt identitás hozzárendelése az alkalmazáshoz Microsoft.Web/sites/write az alkalmazáson keresztül, Microsoft.Web/sites/slots/write a nyílás fölött, vagy
Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action az identitás felett
Webhely közreműködője és felügyelt identitáskezelője
Azure-szerepkör-hozzárendelések létrehozása Microsoft.Authorization/roleAssignments/write a célerőforrás hatókörén kívül Szerepköralapú hozzáférés-vezérlési rendszergazda vagy felhasználói hozzáférés-rendszergazda

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

A rendszer által hozzárendelt felügyelt identitás engedélyezéséhez kövesse az alábbi utasításokat.

  1. Az Azure Portalon nyissa meg az alkalmazás lapját.

  2. A bal oldali menüben válassza a Beállítások>identitása lehetőséget.

  3. A Rendszer által hozzárendelt lapon állítsa az ÁllapototBekapcsolt állapotra. Ezután válassza a Mentés lehetőséget.

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

Ha felhasználó által hozzárendelt identitással rendelkező alkalmazást szeretne létrehozni, hozza létre az identitást, majd adja hozzá az erőforrás-azonosítóját az alkalmazás konfigurációjához.

  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 menüjében válassza a Beállítások>.

  3. Válassza ki a hozzárendelt felhasználót, majd válassza a Hozzáadás lehetőséget.

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

A lépések elvégzése után az alkalmazás újraindul.

A célerőforrás konfigurálása

Konfigurálnia kell a célerőforrást az alkalmazásból való hozzáférés engedélyezéséhez. A legtöbb Azure-szolgáltatás esetében egy szerepkör-hozzárendelés létrehozásával konfigurálja a célerőforrást.

Egyes szolgáltatások az Azure-beli szerepköralapú hozzáférés-vezérlésen kívül más mechanizmusokat is használnak. Ha szeretné megtudni, hogyan konfigurálhatja a hozzáférést identitás használatával, tekintse meg az egyes célerőforrásokkal kapcsolatos dokumentációt. 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.

Ha például jogkivonatot kér egy titok eléréséhez az Azure Key Vaultban, létre kell hoznia egy szerepkör-hozzárendelést is, amely lehetővé teszi, hogy a felügyelt identitás a céltárolóban a titkokkal működjön. Ellenkező esetben a Key Vault akkor is elutasítja a hívásokat, ha érvényes jogkivonatot használ. Ugyanez igaz az Azure SQL Database-hez és más szolgáltatásokhoz is.

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 tartanak gyorsítótárat, és akár ennyi időt is igénybe vehet a felügyelt identitás csoport- vagy szerepkör-tagságának módosítása. Jelenleg nem lehetséges a felügyelt identitás jogkivonatának frissítését a lejárat előtt kikényszeríteni. Ha módosítja egy felügyelt identitás csoport- vagy szerepkör-tagságát az engedélyek hozzáadásához vagy eltávolításához, előfordulhat, hogy körülbelül 24 órát kell várnia arra az Azure-erőforrásra, amely az identitást használja a megfelelő hozzáféréshez.

A csoportok vagy szerepkör-tagságok alternatíváit a felügyelt identitások hitelesítéshez való használatának korlátozásával kapcsolatos cikkben találhatja meg.

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 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égpontot egy szabványos HTTP-kéréssel GET érheti el az alkalmazásban. A kérést minden nyelven implementálhatja 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. A 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-kérések GET a két megadott környezeti változót használják , és az alábbi 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: <ip-address-:-port-in-IDENTITY_ENDPOINT>
X-IDENTITY-HEADER: <value-of-IDENTITY_HEADER>

A mintaválasz a következő példához hasonlóan nézhet 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": "00001111-aaaa-2222-bbbb-3333cccc4444"
}

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 adja hozzá a access_token értékét a tárolóval létesített ügyfélkapcsolathoz.

A REST-végpontról további információt a jelen cikk későbbi, REST-végpontra vonatkozó 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 lapjának bal oldali menüjében válassza a Beállítások>.

  2. Kövesse a lépéseket az identitástípus alapján:

    • Rendszer által hozzárendelt identitás esetén: A Rendszer által hozzárendelt lapon állítsa az ÁllapototKi értékre. Ezután válassza a Mentés lehetőséget.
    • Felhasználó által hozzárendelt identitás esetén: Válassza a Felhasználó által hozzárendelt lapot, jelölje be az identitás jelölőnégyzetét, majd válassza az Eltávolítás lehetőséget. Válassza az Igen lehetőséget a megerősítéshez.

Megjegyzés:

Olyan alkalmazásbeállítást is beállíthat, amely csak a helyi jogkivonat-szolgáltatást tiltja le: WEBSITE_DISABLE_MSI. Az identitást azonban a helyén hagyja. Az eszköztár továbbra is bekapcsolt vagy engedélyezett állapotban jeleníti meg a felügyelt identitást. Ezért nem javasoljuk, hogy ezt a beállítást használja.

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 token szolgáltatás URL-címe.
  • IDENTITY_HEADER: Olyan fejléc, amely segíthet a kiszolgálóoldali kéréshamisítási (SSRF-) támadások csökkentésében. A platform elforgatja az értéket.

A IDENTITY_ENDPOINT változó egy helyi URL-cím, amelyből az alkalmazás tokeneket kérhet. Egy erőforrás jogkivonatának lekéréséhez http-kérést GET kell küldenie ehhez a végponthoz. Adja meg a következő paramétereket:

Paraméter neve Ben/Ne Leírás
resource Lekérdezés Annak az erőforrásnak a Microsoft Entra-erőforrás URI-ja, amelyhez token-t kell beszerezni. Ez az erőforrás 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-version 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 környezeti változó értéke IDENTITY_HEADER . Ez a fejléc az SSRF-támadások enyhítésére szolgál.
client_id 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érések esetén, amelyek tartalmazzák principal_idaz , mi_res_idvagy object_id. 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 felhasználóhoz rendelt identitás fő azonosítója, amelyet használni kell. A object_id paraméter egy alias, amely használható helyette. Nem használható olyan kérések esetén, amelyek tartalmazzák client_idaz , mi_res_idvagy object_id. 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 felhasználó által hozzárendelt identitáshoz tartozó Azure-erőforrás-azonosító, amit használni kell. Nem használható olyan kérések esetén, amelyek tartalmazzák principal_idaz , client_idvagy object_id. 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 szeretne jogkivonatokat lekérni a felhasználói identitásokhoz, adja meg az egyik választható tulajdonságot. Ellenkező esetben a jogkivonat-szolgáltatás megpróbál jogkivonatot lekérni egy olyan rendszer által kijelölt identitáshoz, amely lehet, hogy létezik, vagy lehet, hogy nem.

Tekintse át az alábbi oktatóanyagokat: