Megosztás a következőn keresztül:


Felügyelt identitások az Azure Container Appsben

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 különálló Azure-erőforrás, amelyet 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. A felhasználó által hozzárendelt identitások mindaddig léteznek, 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.
  • Felügyelt identitással hitelesítést végezhet egy privát Azure Container Registryben felhasználónév és jelszó nélkül a tárolóalkalmazás tárolóinak lekéréséhez.
  • Felügyelt identitással kapcsolatokat hozhat létre a Dapr-kompatibilis alkalmazásokhoz a Dapr-összetevőkkel

Gyakori alkalmazási helyzetek

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

Az Init-tárolók nem férnek hozzá a felügyelt identitásokhoz csak használatalapú környezetekben és dedikált számítási feladatprofil-környezetekben

Felügyelt identitások konfigurálása

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.

Feljegyzé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.

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

  1. Nyissa meg a tárolóalkalmazást az Azure Portalon.

  2. A Beállítások csoportban válassza az Identitás lehetőséget.

  3. A rendszer által hozzárendelt lapon kapcsolja be az Állapot beállítást.

  4. Válassza a Mentés lehetőséget.

Képernyőkép a rendszer által hozzárendelt identitásokról.

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.

  1. 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.

  2. Nyissa meg a tárolóalkalmazást az Azure Portalon.

  3. A Beállítások csoportban válassza az Identitás lehetőséget.

  4. A Felhasználó által hozzárendelt lapon válassza a Hozzáadás lehetőséget.

  5. Keresse meg és válassza ki a korábban létrehozott identitást.

  6. Válassza a Hozzáadás lehetőséget.

Képernyőkép a felhasználó által hozzárendelt identitásokról.

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

Egyes 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 a rendszer akkor is elutasítja a hívásokat az alkalmazásból az olyan szolgáltatásokba, mint az Azure Key Vault és az Azure SQL Database, még akkor is, 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 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. A jogkivonatok frissítésének kényszerítése nem támogatott.

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

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-kéréssel GET érhető el az alkalmazásban, amelyet egy általános HTTP-ügyféllel küldhet az Ön által előnyben részesített nyelven. A .NET, JavaScript, Java és Python esetében az Azure Identity-ügyfélkódtár absztrakciót biztosít ezen a REST-végponton. Más Azure-szolgáltatásokhoz úgy csatlakozhat, ha egy hitelesítő objektumot ad hozzá a szolgáltatásspecifikus ügyfélhez.

Feljegyzés

Az Azure Identity ügyfélkódtár használatakor explicit módon meg kell adnia a felhasználó által hozzárendelt felügyelt identitás ügyfél-azonosítóját.

Feljegyzés

Ha Azure SQL-adatforrásokhoz csatlakozik az Entity Framework Core használatával, 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 tudnivalókért lásd a következő forrásokat:

A csatolt példák a következőt használják DefaultAzureCredential: Ez az objektum a legtöbb forgatókönyvben hatékony, mivel 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).

Felügyelt identitás használata skálázási szabályokhoz

A skálázási szabályokban felügyelt identitásokat használhat a felügyelt identitásokat támogató Azure-szolgáltatásokkal való hitelesítéshez. Ha felügyelt identitást szeretne használni a méretezési szabályban, használja a identity tulajdonságot a auth méretezési szabály tulajdonsága helyett. A tulajdonság elfogadható identity értékei a felhasználó által hozzárendelt identitás Azure-erőforrás-azonosítója, vagy system rendszer által hozzárendelt identitás használata.

Feljegyzés

A skálázási szabályok felügyelt identitás-hitelesítése nyilvános előzetes verzióban érhető el. Az API-verzióban 2024-02-02-previewérhető el.

Az alábbi ARM-sablon példája bemutatja, hogyan használható felügyelt identitás egy Azure Queue Storage-méretezési szabálysal:

A várólista-tárfiók a tulajdonságot használja a accountName tárfiók azonosítására, a tulajdonság pedig identity a használni kívánt felügyelt identitást határozza meg. A tulajdonságot nem kell használnia auth .

"scale": {
    "minReplicas": 1,
    "maxReplicas": 10,
    "rules": [{
        "name": "myQueueRule",
        "azureQueue": {
            "accountName": "mystorageaccount",
            "queueName": "myqueue",
            "queueLength": 2,
            "identity": "<IDENTITY1_RESOURCE_ID>"
        }
    }]
}

A felügyelt identitás méretezési szabályokkal való használatáról további információt az Azure Container Apps skálázási szabályainak beállítása című témakörben talál.

Felügyelt identitás rendelkezésre állásának szabályozása

A Container Apps lehetővé teszi az init-tárolók és a fő tárolók megadását. Alapértelmezés szerint a használatalapú számítási feladatprofil-környezet fő és init tárolói is használhatnak felügyelt identitást más Azure-szolgáltatások eléréséhez. Csak használatalapú környezetekben és dedikált számításiprofil-környezetekben csak a fő tárolók használhatják a felügyelt identitást. A felügyelt identitás-hozzáférési jogkivonatok a tárolóalkalmazásban konfigurált összes felügyelt identitáshoz elérhetők. Bizonyos esetekben azonban csak az init-tároló vagy a fő tároló igényel hozzáférési jogkivonatokat egy felügyelt identitáshoz. Más esetekben csak felügyelt identitással érheti el az Azure Container Registryt a tárolólemezkép lekéréséhez, és magának az alkalmazásnak nem kell hozzáférnie az Azure Container Registryhez.

Az API-verziótól 2024-02-02-previewkezdve szabályozhatja, hogy mely felügyelt identitások érhetők el a tárolóalkalmazás számára az init és a fő fázisok során, hogy betartsa a minimális jogosultság biztonsági elvét. Ehhez a következő lehetőségek állnak rendelkezésre:

  • Init: Csak init-tárolók számára érhető el. Ezt akkor használja, ha olyan inicializálási munkát szeretne végezni, amely felügyelt identitást igényel, de a fő tárolóban már nincs szüksége a felügyelt identitásra. Ez a beállítás jelenleg csak a számítási feladatprofil-használati környezetekben támogatott
  • Main: Csak a fő tárolók számára érhető el. Ezt akkor használja, ha az init-tárolónak nincs szüksége felügyelt identitásra.
  • All: Minden tároló számára elérhető. Ez az érték az alapértelmezett beállítás.
  • None: Nem érhető el tárolók számára. Ezt akkor használja, ha olyan felügyelt identitással rendelkezik, amelyet csak az ACR-rendszerképek lekéréséhez, a skálázási szabályokhoz vagy a Key Vault titkos kulcsaihoz használ, és nem szükséges, hogy elérhető legyen a tárolókban futó kód számára.

Az alábbi ARM-sablon példája bemutatja, hogyan konfigurálhat egy tárolóalkalmazást egy olyan számítási feladatprofil-használati környezetben, amely:

  • A tárolóalkalmazás rendszer által hozzárendelt identitását csak a fő tárolókra korlátozza.
  • Egy adott felhasználó által hozzárendelt identitást csak init-tárolókra korlátozza.
  • Egy adott felhasználó által hozzárendelt identitást használ az Azure Container Registry rendszerkép-lekéréséhez anélkül, hogy a tárolókban lévő kód ezt a felügyelt identitást használva hozzáfér a beállításjegyzékhez. Ebben a példában maguknak a tárolóknak nem kell hozzáférniük a beállításjegyzékhez.

Ez a megközelítés korlátozza azokat az erőforrásokat, amelyek akkor érhetők el, ha egy rosszindulatú szereplő jogosulatlan hozzáférést kap a tárolókhoz.

{
    "location": "eastus2",
    "identity":{
    "type": "SystemAssigned, UserAssigned",
        "userAssignedIdentities": {
            "<IDENTITY1_RESOURCE_ID>":{},
            "<ACR_IMAGEPULL_IDENTITY_RESOURCE_ID>":{}
         }
     },
    "properties": {
        "workloadProfileName":"Consumption",
        "environmentId": "<CONTAINER_APPS_ENVIRONMENT_ID>",
        "configuration": {
            "registries": [
            {
                "server": "myregistry.azurecr.io",
                "identity": "ACR_IMAGEPULL_IDENTITY_RESOURCE_ID"
            }],
            "identitySettings":[
            {
                "identity": "ACR_IMAGEPULL_IDENTITY_RESOURCE_ID",
                "lifecycle": "None"
            },
            {
                "identity": "<IDENTITY1_RESOURCE_ID>",
                "lifecycle": "Init"
            },
            {
                "identity": "system",
                "lifecycle": "Main"
            }]
        },
        "template": {
            "containers":[
                {
                    "image":"myregistry.azurecr.io/main:1.0",
                    "name":"app-main"
                }
            ],
            "initContainers":[
                {
                    "image":"myregistry.azurecr.io/init:1.0",
                    "name":"app-init",
                }
            ]
        }
    }
}

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.

  1. Az alkalmazás oldalának bal oldali navigációs sávján görgessen le a Beállítások csoporthoz.

  2. Válassza ki az Identitás elemet. 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 lehetőséget.
    • 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.

Következő lépések