A Microsoft Entra-azonosítóból származó felügyelt identitás lehetővé teszi a tárolóalkalmazás számára, hogy hozzáférjen más Microsoft Entra által védett erőforrásokhoz. 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.
A tárolóalkalmazás kétféle identitástípust kaphat:
A rendszer által hozzárendelt identitás a tárolóalkalmazáshoz van kötve, és a tároló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 egy önálló Azure-erőforrás, amely hozzárendelhető a tárolóalkalmazáshoz és más erőforrásokhoz. A tárolóalkalmazások több felhasználó által hozzárendelt identitással is rendelkezhetnek. Az identitás mindaddig létezik, amíg ön nem törli őket.
Miért érdemes felügyelt identitást használni?
Felügyelt identitást használhat egy futó tárolóalkalmazásban a Microsoft Entra-hitelesítést támogató bármely szolgáltatásban való hitelesítéshez.
Felügyelt identitásokkal:
Az alkalmazás a felügyelt identitással rendelkező erőforrásokhoz csatlakozik. A tárolóalkalmazásban nem kell hitelesítő adatokat kezelnie.
Szerepköralapú hozzáférés-vezérléssel adott engedélyeket adhat egy felügyelt identitáshoz.
A rendszer automatikusan létrehozza és felügyeli a rendszer által hozzárendelt identitásokat. A tárolóalkalmazás törlésekor törlődnek.
Hozzáadhat és törölhet felhasználó által hozzárendelt identitásokat, és hozzárendelheti őket több erőforráshoz. Ezek függetlenek a tárolóalkalmazás életciklusától.
A rendszer által hozzárendelt identitások a legjobbak olyan számítási feladatokhoz, amelyek:
egyetlen erőforrásban vannak tárolva
független identitásra van szükség
A felhasználó által hozzárendelt identitások ideálisak olyan számítási feladatokhoz, amelyek:
több erőforráson futhat, és egyetlen identitást oszthat meg
előzetes engedélyezésre van szükség egy biztonságos erőforráshoz
Korlátozások
A felügyelt identitások méretezési szabályokban való használata nem támogatott. A skálázási szabályban továbbra is szerepelnie kell a kapcsolati sztring vagy a secretRef kulcsnak.
Az Init-tárolók nem férnek hozzá a felügyelt identitásokhoz.
Configure managed identities
A felügyelt identitásokat az alábbiak segítségével konfigurálhatja:
Azure Portal
az Azure CLI;
Az Azure Resource Manager-sablon (ARM)
Ha egy felügyelt identitást hozzáad, töröl vagy módosít egy futó tárolóalkalmazáson, az alkalmazás nem indul újra automatikusan, és nem jön létre új változat.
Megjegyzés:
Amikor 2022. április 11. előtt üzembe helyezett tárolóalkalmazáshoz hozzáad egy felügyelt identitást, létre kell hoznia egy új változatot.
A tárolóalkalmazás lapjának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.
Válassza az Identitás lehetőséget.
A rendszer által hozzárendelt lapon kapcsolja be az Állapot beállítást. Válassza a Mentés parancsot.
Futtassa a az containerapp identity assign parancsot egy rendszer által hozzárendelt identitás létrehozásához:
az containerapp identity assign --name myApp --resource-group myResourceGroup --system-assigned
Arm-sablon használatával automatizálhatja a tárolóalkalmazás és az erőforrások üzembe helyezését. Rendszer által hozzárendelt identitás hozzáadásához adjon hozzá egy szakaszt identity az ARM-sablonhoz.
"identity": {
"type": "SystemAssigned"
}
A rendszer által hozzárendelt típus hozzáadásával az Azure-nak létre kell hoznia és kezelnie kell az alkalmazás identitását. A teljes ARM-sablonért tekintse meg az ARM API specifikációját.
Egyes Azure CLI-parancsok, beleértve az containerapp create és az containerapp job createtámogatják a YAML-fájlokat a bemenethez. Rendszer által hozzárendelt identitás hozzáadásához adjon hozzá egy szakaszt identity a YAML-fájlhoz.
identity:
type: SystemAssigned
A rendszer által hozzárendelt típus hozzáadásával az Azure-nak létre kell hoznia és kezelnie kell az alkalmazás identitását. Egy teljes YAML-sablonért lásd az ARM API specifikációját.
Felhasználó által hozzárendelt identitás hozzáadása
A tárolóalkalmazás felhasználó által hozzárendelt identitással való konfigurálásához először létre kell hoznia az identitást, majd hozzá kell adnia annak erőforrás-azonosítóját a tárolóalkalmazás konfigurációjához. A felhasználó által hozzárendelt identitásokat az Azure Portalon vagy az Azure CLI-vel hozhatja létre. A felhasználó által hozzárendelt identitások létrehozásával és kezelésével kapcsolatos információkért lásd: Felhasználó által hozzárendelt felügyelt identitások kezelése.
Először létre kell hoznia egy felhasználó által hozzárendelt identitáserőforrást.
Hozzon létre egy felhasználó által hozzárendelt felügyelt identitás erőforrást a felhasználó által hozzárendelt felügyelt identitások kezelése című témakörben található lépéseknek megfelelően.
A tárolóalkalmazás lapjának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.
Válassza az Identitás lehetőséget.
A Felhasználó által hozzárendelt lapon válassza a Hozzáadás lehetőséget.
Keresse meg a korábban létrehozott identitást, és jelölje ki. Válassza a Hozzáadás lehetőséget.
Hozzon létre egy felhasználó által hozzárendelt identitást.
az identity create --resource-group <GROUP_NAME> --name <IDENTITY_NAME> --output json
Jegyezze fel az id új identitás tulajdonságát.
Futtassa a az containerapp identity assign parancsot az identitás alkalmazáshoz való hozzárendeléséhez. Az identitásparaméter egy szóközzel elválasztott lista.
Cserélje le <IDENTITY_RESOURCE_ID> az id identitás tulajdonságára. Ha egynél több felhasználó által hozzárendelt identitást szeretne hozzárendelni, adja meg az identitásazonosítók szóközzel elválasztott listáját a --user-assigned paraméterhez.
Egy vagy több felhasználó által hozzárendelt identitás hozzáadásához adjon hozzá egy szakaszt identity az ARM-sablonhoz. Cserélje le és <IDENTITY2_RESOURCE_ID> cserélje le <IDENTITY1_RESOURCE_ID> a hozzáadni kívánt identitások erőforrás-azonosítóit.
Adja meg az egyes felhasználó által hozzárendelt identitásokat úgy, hogy hozzáad egy elemet az userAssignedIdentities objektumhoz, kulcsként pedig az identitás erőforrás-azonosítóját. Használjon üres objektumot értékként.
Egy alkalmazás egyszerre rendelkezhet rendszer által hozzárendelt és felhasználó által hozzárendelt identitásokkal is. Ebben az esetben a típustulajdonság a következő lenne SystemAssigned,UserAssigned: .
Egy vagy több felhasználó által hozzárendelt identitás hozzáadásához adjon hozzá egy szakaszt identity a YAML konfigurációs fájljához. Cserélje le és <IDENTITY2_RESOURCE_ID> cserélje le <IDENTITY1_RESOURCE_ID> a hozzáadni kívánt identitások erőforrás-azonosítóit.
Adja meg az egyes felhasználó által hozzárendelt identitásokat úgy, hogy hozzáad egy elemet az userAssignedIdentities objektumhoz, kulcsként pedig az identitás erőforrás-azonosítóját. Használjon üres objektumot értékként.
Egy alkalmazás egyszerre rendelkezhet rendszer által hozzárendelt és felhasználó által hozzárendelt identitásokkal is. Ebben az esetben a típustulajdonság a következő lenne SystemAssigned,UserAssigned: .
Célerőforrás konfigurálása
Bizonyos erőforrásokhoz konfigurálnia kell az alkalmazás felügyelt identitásához tartozó szerepkör-hozzárendeléseket a hozzáférés biztosításához. Ellenkező esetben az alkalmazásból olyan szolgáltatásokba irányuló hívásokat, mint az Azure Key Vault és az Azure SQL Database, a rendszer akkor is elutasítja, ha érvényes jogkivonatot használ az adott identitáshoz. További információ az Azure szerepköralapú hozzáférés-vezérléséről (Azure RBAC), lásd: Mi az RBAC? 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 tartanak gyorsítótárat. 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.
Felügyelt identitásokkal az alkalmazások jogkivonatokat szerezhetnek be a Microsoft Entra ID-t használó Azure-erőforrások eléréséhez, 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.
A Container Apps 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, JavaScript, Java és Python esetében az Azure Identity-ügyfélkódtár absztrakciót biztosít ezen a REST-végponton. 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.
Megjegyzés:
Az Azure Identity-ügyfélkódtár használatakor meg kell adni a felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosítóját.
Ha Azure SQL-adatforrásokhoz csatlakozik az Entity Framework Core-nal, fontolja meg a Microsoft.Data.SqlClient használatát, amely speciális kapcsolati sztring biztosít a felügyelt identitáskapcsolatokhoz.
A .NET-alkalmazások esetében a felügyelt identitások használatának legegyszerűbb módja a .NET-hez készült Azure Identity ügyfélkódtár. További információért tekintse meg az ügyfélkódtár megfelelő dokumentációs fejléceit:
A csatolt példák a következőt használják DefaultAzureCredential: A legtöbb forgatókönyv esetében hasznos, mert ugyanaz a minta működik az Azure-ban (felügyelt identitásokkal) és a helyi gépen (felügyelt identitások nélkül).
A Node.js-alkalmazások esetében a felügyelt identitások használatának legegyszerűbb módja a JavaScripthez készült Azure Identity ügyfélkódtár. További információért tekintse meg az ügyfélkódtár megfelelő dokumentációs fejléceit:
A csatolt példák a következőt használják DefaultAzureCredential: A legtöbb forgatókönyv esetében hasznos, mert ugyanaz a minta működik az Azure-ban (felügyelt identitásokkal) és a helyi gépen (felügyelt identitások nélkül).
A JavaScripthez készült Azure Identity-ügyfélkódtár további kód példáiért tekintse meg az Azure Identity-példákat.
A Python-alkalmazások esetében a felügyelt identitások használatának legegyszerűbb módja a Pythonhoz készült Azure Identity ügyfélkódtár. További információért tekintse meg az ügyfélkódtár megfelelő dokumentációs fejléceit:
A csatolt példák a következőt használják DefaultAzureCredential: A legtöbb forgatókönyv esetében hasznos, mert ugyanaz a minta működik az Azure-ban (felügyelt identitásokkal) és a helyi gépen (felügyelt identitások nélkül).
Java-alkalmazások és -függvények esetén a felügyelt identitások használatának legegyszerűbb módja a Java Azure Identity ügyfélkódtára. További információért tekintse meg az ügyfélkódtár megfelelő dokumentációs fejléceit:
A csatolt példák a következőt használják DefaultAzureCredential: A legtöbb forgatókönyv esetében hasznos, mert ugyanaz a minta működik az Azure-ban (felügyelt identitásokkal) és a helyi gépen (felügyelt identitások nélkül).
A következő szkripttel lekérhet egy jogkivonatot a helyi végpontról egy Azure-szolgáltatás erőforrás-URI-jának megadásával. Cserélje le a helyőrzőt az erőforrás URI-jára a jogkivonat beszerzéséhez.
A nyers HTTP GET-kérés az alábbi példához hasonlóan néz ki.
Szerezze be a jogkivonat végpontjának URL-címét a IDENTITY_ENDPOINT környezeti változóból. x-identity-header A környezeti változóban tárolt GUID azonosítót IDENTITY_HEADER tartalmazza.
GET http://localhost:42356/msi/token?resource=https://vault.azure.net&api-version=2019-08-01 HTTP/1.1
x-identity-header: 853b9a84-5bfa-4b22-a3f3-0b9a43d9ad8a
Egy felügyelt identitással rendelkező tárolóalkalmazás két környezeti változó definiálásával teszi elérhetővé az identitásvégpontot:
IDENTITY_ENDPOINT - helyi URL- cím, amelyből a tárolóalkalmazás jogkivonatokat kérhet.
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.
Egy erőforrás jogkivonatának lekéréséhez http GET kérést kell küldenie a végpontnak, beleértve a következő paramétereket:
Paraméter neve
Ennyi idő múlva:
Leírás
erőforrás
Query
Annak az erőforrásnak a Microsoft Entra erőforrás-URI-ja, amelyhez jogkivonatot kell beszerezni. 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-verzió
Query
A használni kívánt token API verziója. Használja a "2019-08-01" vagy újabb verziót.
X-IDENTITY-HEADER
Fejléc
A környezeti változó értéke IDENTITY_HEADER . Ez a fejléc csökkenti a kiszolgálóoldali kéréshamisítási (SSRF-) támadásokat.
client_id
Query
(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
Query
(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érelem esetén. 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
Query
(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é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 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.
Felügyelt identitások megtekintése
A rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitásokat az alábbi Azure CLI-paranccsal jelenítheti meg. A kimenet a tárolóalkalmazáshoz rendelt összes felügyelt identitás felügyelt identitástípusát, bérlőazonosítóit és egyszerű azonosítóit jeleníti meg.
az containerapp identity show --name <APP_NAME> --resource-group <GROUP_NAME>
Felügyelt 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 a tárolóalkalmazás-erőforrást. A felhasználó által hozzárendelt felügyelt identitások eltávolítása a tárolóalkalmazásból nem távolítja el őket a Microsoft Entra-azonosítóból.
Az alkalmazás oldalának bal oldali navigációs sávján görgessen le a Gépház csoporthoz.
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. Válassza a Mentés parancsot.
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.
A rendszer által hozzárendelt identitás eltávolítása:
az containerapp identity remove --name <APP_NAME> --resource-group <GROUP_NAME> --system-assigned
Egy vagy több felhasználó által hozzárendelt identitás eltávolítása: