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


Azure-beli .NET-alkalmazások hitelesítése Azure-erőforrásokhoz rendszer által hozzárendelt felügyelt identitással

Az Azure által üzemeltetett alkalmazások más Azure-erőforrásokhoz való hitelesítésének ajánlott módszere egy felügyelt identitáshasználata. Ez a megközelítés támogatott a legtöbb Azure-szolgáltatás, beleértve az Azure App Service-en, az Azure Container Apps-en és az Azure-beli virtuális gépeken üzemeltetett alkalmazásokat is. A hitelesítés áttekintési oldalán talál további információkat a különböző hitelesítési technikákról és módszerekről. Az alábbi szakaszokban a következő ismereteket fogja elsajátítani:

  • Alapvető felügyelt identitásfogalmak
  • Rendszer által hozzárendelt felügyelt identitás létrehozása az alkalmazáshoz
  • Szerepkörök hozzárendelése a rendszer által hozzárendelt felügyelt identitáshoz
  • Hitelesítés a rendszer által hozzárendelt felügyelt identitással az alkalmazáskódból

Alapvető felügyelt identitásfogalmak

A felügyelt identitással az alkalmazás biztonságosan csatlakozhat más Azure-erőforrásokhoz titkos kulcsok vagy más alkalmazáskulcsok használata nélkül. Az Azure belsőleg nyomon követi az identitást, és hogy mely erőforrásokhoz csatlakozhat. Az Azure ezeket az információkat arra használja, hogy automatikusan lekérjük a Microsoft Entra-jogkivonatokat az alkalmazáshoz, hogy más Azure-erőforrásokhoz csatlakozzon.

A felügyelt identitások kétféleképpen konfigurálhatók a üzemeltetett alkalmazás konfigurálásakor:

  • rendszer által hozzárendelt felügyelt identitások közvetlenül egy Azure-erőforráson vannak engedélyezve, és az életciklusukhoz vannak kötve. Amikor az erőforrást törlik, az Azure automatikusan törli az identitást is. A rendszer által hozzárendelt identitások minimalista megközelítést biztosítanak a felügyelt identitások használatához.
  • felhasználó által hozzárendelt felügyelt identitások különálló Azure-erőforrásokként jönnek létre, és nagyobb rugalmasságot és képességeket biztosítanak. Olyan megoldásokhoz ideálisak, amelyek több Olyan Azure-erőforrást tartalmaznak, amelyeknek azonos identitással és engedélyekkel kell rendelkezniük. Ha például több virtuális gépnek kell elérnie ugyanazt az Azure-erőforráskészletet, a felhasználó által hozzárendelt felügyelt identitás újrahasználhatóságot és optimalizált felügyeletet biztosít.

Borravaló

A rendszer által hozzárendelt felügyelt identitások és a felhasználó által hozzárendelt felügyelt identitások kiválasztásáról és kezeléséről a Felügyelt identitás ajánlott eljárása című cikkben cikkben talál további információt.

Az alábbi szakaszok ismertetik a rendszer által hozzárendelt felügyelt identitás azure-beli alkalmazásokhoz való engedélyezésének és használatának lépéseit. Ha felhasználó által hozzárendelt felügyelt identitást kell használnia, további információért tekintse meg a felhasználó által hozzárendelt felügyelt identitásokat cikket.

Rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure-beli üzemeltetési erőforráson

Ha rendszer által hozzárendelt felügyelt identitást szeretne használni az alkalmazással, engedélyezze az identitást az alkalmazást üzemeltető Azure-erőforráson, például az Azure App Service-en, az Azure Container App-on vagy az Azure Virtual Machine-on.

Az Azure-erőforrásokhoz rendszer által hozzárendelt felügyelt identitást az Azure Portal vagy az Azure CLI használatával engedélyezheti.

  1. Az Azure Portalon keresse meg az alkalmazáskódot tároló erőforrást, például egy Azure App Service-t vagy egy Azure Container App-példányt.

  2. Az erőforrás Áttekintés lapján bontsa ki a Beállítások elemet, és válassza Identitás a navigációs sávon.

  3. Az Identitás lapon állítsa a Állapot csúszkát Be állásba.

  4. A módosítások alkalmazásához válassza a Mentés lehetőséget.

    Képernyőkép a rendszer által hozzárendelt felügyelt identitás tárolóalkalmazáson való engedélyezéséről.

Szerepkörök hozzárendelése a felügyelt identitáshoz

Ezután határozza meg, hogy az alkalmazásnak mely szerepkörökre van szüksége, és rendelje hozzá ezeket a szerepköröket a felügyelt identitáshoz. A szerepköröket a következő hatókörökben rendelheti hozzá egy felügyelt identitáshoz:

  • erőforrás-: A hozzárendelt szerepkörök csak az adott erőforrásra vonatkoznak.
  • erőforráscsoport: A hozzárendelt szerepkörök az erőforráscsoportban található összes erőforrásra vonatkoznak.
  • Előfizetési: A hozzárendelt szerepkörök az előfizetésben található összes erőforrásra vonatkoznak.

Az alábbi példa bemutatja, hogyan rendelhet hozzá szerepköröket az erőforráscsoport hatóköréhez, mivel számos alkalmazás egyetlen erőforráscsoport használatával kezeli az összes kapcsolódó Azure-erőforrást.

  1. Lépjen a Áttekintés lapjára annak az erőforráscsoportnak, amely a rendszer által hozzárendelt felügyelt identitással rendelkező alkalmazást tartalmazza.

  2. Válassza Hozzáférés-vezérlés (IAM) a bal oldali navigációs sávon.

  3. A Hozzáférés-vezérlés (IAM) lapon válassza a + hozzáadása lehetőséget a felső menüben, majd válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget a Szerepkör-hozzárendelés hozzáadása lapra való navigáláshoz.

    Egy képernyőkép, amely bemutatja, hogyan lehet elérni az azonosító szerepkör hozzárendelési lapját.

  4. A Szerepkör-hozzárendelés hozzáadása oldal egy füles, többlépéses munkafolyamatot jelenít meg a szerepkörök identitásokhoz való hozzárendeléséhez. A kezdeti Szerepkör lapon a felső keresőmezővel keresse meg az identitáshoz hozzárendelni kívánt szerepkört.

  5. Válassza ki a szerepkört az eredmények közül, majd a Következő lehetőséget választva lépjen a Tagok lapra.

  6. A Hozzáférés hozzárendeléséhez a beállításnál válassza ki a Felügyelt identitáslehetőséget.

  7. A Tagok beállításnál válassza a + Tagok kijelölése lehetőséget a Felügyelt identitások kiválasztása panel megnyitásához.

  8. A Felügyelt identitások kiválasztása panelen az Előfizetés és Felügyelt identitás legördülő menükből szűrheti az identitások keresési eredményeit. A Select keresőmezővel keresse meg az alkalmazást üzemeltető Azure-erőforráshoz engedélyezett rendszeridentitást.

    Képernyőkép a felügyelt identitás-hozzárendelési folyamatról.

  9. Válassza ki az azonosságot, és válassza a Kijelölés lehetőséget a panel alján a folytatáshoz.

  10. Válassza a Véleményezés és a Hozzárendelés lehetőséget az oldal alján.

  11. Az utolsó Véleményezés és hozzárendelés lapon válassza az Véleményezés és hozzárendelés lehetőséget a munkafolyamat befejezéséhez.

Hitelesítés az Azure-szolgáltatásokban az alkalmazásból

A Azure Identity-kódtár különböző hitelesítő adatokat biztosít– a különböző forgatókönyvekhez és a Microsoft Entra-hitelesítési folyamatokhoz igazított TokenCredential implementációit. Mivel a felügyelt identitás helyi futtatáskor nem érhető el, az alábbi lépések bemutatják, hogy melyik hitelesítő adatot melyik forgatókönyvben érdemes használni:

  • Helyi fejlesztési környezet: helyi fejlesztés során csakhasználjon egy DefaultAzureCredential nevű osztályt a hitelesítő adatok véleményezett, előre konfigurált láncolatához. DefaultAzureCredential felderíti a felhasználói hitelesítő adatokat a helyi eszközkészletből vagy ide-ből, például az Azure CLI-ből vagy a Visual Studióból. Emellett rugalmasságot és kényelmet biztosít az újrapróbálkozáshoz, a válaszok várakozási idejéhez és a több hitelesítési lehetőség támogatásához is. További információt a Azure-szolgáltatások hitelesítése helyi fejlesztési című cikkben talál.
  • Azure által üzemeltetett alkalmazások: Ha az alkalmazás az Azure-ban fut, használja ManagedIdentityCredential az alkalmazáshoz konfigurált felügyelt identitás biztonságos felderítéséhez. Ennek a hitelesítő adattípusnak a megadása megakadályozza, hogy más elérhető hitelesítő adatok váratlanul átvehetők legyenek.

A kód implementálása

Adja hozzá a Azure.Identity csomagot. Egy ASP.NET Core-projektben telepítse a Microsoft.Extensions.Azure csomagot is:

Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:

dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure

Az Azure-szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK-ügyfélkódtárakból. Ezeket az osztályokat és a saját egyéni szolgáltatásokat regisztrálni kell a függőséginjektáláshoz, hogy azok az alkalmazás teljes területén használhatók legyenek. A Program.cselemen hajtsa végre az alábbi lépéseket egy ügyfélosztály konfigurálásához, amely a függőséginjektálást és a jogkivonatalapú hitelesítést használja.

  1. Adja meg a Azure.Identity és Microsoft.Extensions.Azure névtereket using irányelveken keresztül.
  2. Regisztrálja az Azure szolgáltatásklienst a megfelelő Addelőtaggal rendelkező kiterjesztési metódussal.
  3. Használjon egy megfelelő TokenCredential példányt ahhoz a környezethez, amelyben az alkalmazás fut. Amikor az alkalmazás fut:
    • Az Azure-ban adja át a ManagedIdentityCredential példányát a UseCredential metódusnak. ManagedIdentityCredential felderíti a felügyelt identitáskonfigurációkat, hogy automatikusan hitelesítse magát más szolgáltatásokban.
    • A helyi fejlesztőgépen létrejön egy példány az DefaultAzureCredential Ön nevében. Csak akkor hívja meg UseCredential, ha testre szeretné szabni DefaultAzureCredential, vagy más hitelesítő adatot szeretne használni. DefaultAzureCredential A környezeti változókban egy alkalmazás-szolgáltatásnévhez vagy a helyileg telepített fejlesztői eszközökhöz (például Visual Studióhoz) keres fejlesztői hitelesítő adatokat.
builder.Services.AddAzureClients(clientBuilder =>
{
    clientBuilder.AddBlobServiceClient(
        new Uri("https://<account-name>.blob.core.windows.net"));

    if (builder.Environment.IsProduction() || builder.Environment.IsStaging())
    {
        // Managed identity token credential discovered when running in Azure environments
        ManagedIdentityCredential credential = new(ManagedIdentityId.SystemAssigned);
        clientBuilder.UseCredential(credential);
    }
});