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


Azure-beli alkalmazások hitelesítése Azure-erőforrásokba a .NET-hez készült Azure SDK-val

Ha egy alkalmazást egy olyan szolgáltatással üzemeltetnek az Azure-ban, mint a Azure-alkalmazás Szolgáltatás, az Azure Virtual Machines vagy az Azure Container Instances, az alkalmazások Azure-erőforrásokhoz való hitelesítésének ajánlott módszere egy felügyelt identitás használata.

A felügyelt identitás olyan identitást biztosít az alkalmazás számára, amely anélkül tud más Azure-erőforrásokhoz csatlakozni, hogy titkos kulcsot vagy más alkalmazáskulcsot kellene használnia. Az Azure belsőleg ismeri az alkalmazás identitását, és hogy milyen 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 kapcsolódhasson anélkül, hogy az alkalmazás titkos kulcsait kellene kezelnie.

Felügyelt identitástípusok

A felügyelt identitásoknak két típusa létezik:

  • Rendszer által hozzárendelt felügyelt identitások – Ezt a típusú felügyelt identitást közvetlenül egy Azure-erőforrás biztosítja és köti össze. Ha engedélyezi a felügyelt identitást egy Azure-erőforráson, egy rendszer által hozzárendelt felügyelt identitást kap az adott erőforráshoz. A rendszer által hozzárendelt felügyelt identitás a társított Azure-erőforrás életciklusához van kötve. Az erőforrás törlésekor az Azure automatikusan törli az Identitást. Mivel mindössze annyit kell tennie, hogy engedélyezi a felügyelt identitást a kódot üzemeltető Azure-erőforráshoz, ez a legegyszerűbben használható felügyelt identitástípus.
  • Felhasználó által hozzárendelt felügyelt identitások – Önálló Azure-erőforrásként is létrehozhat felügyelt identitást. Ezt a leggyakrabban akkor használják, ha a megoldás több olyan számítási feladatokkal rendelkezik, amelyek több Azure-erőforráson futnak, és amelyeknek azonos identitással és engedélyekkel kell rendelkeznie. Ha például a megoldás olyan összetevőkkel rendelkezik, amelyek több App Service- és virtuálisgép-példányon futottak, és mindegyiknek ugyanahhoz az Azure-erőforráskészlethez kellett hozzáférnie, akkor érdemes lehet egy felhasználó által hozzárendelt felügyelt identitást létrehozni és használni ezeken az erőforrásokon.

Ez a cikk a rendszer által hozzárendelt felügyelt identitás alkalmazáshoz való engedélyezésének és használatának lépéseit ismerteti. Ha felhasználó által hozzárendelt felügyelt identitást kell használnia, olvassa el a Felhasználó által hozzárendelt felügyelt identitások kezelése című cikket , amelyből megtudhatja , hogyan hozhat létre felhasználó által hozzárendelt felügyelt identitást.

1 – Felügyelt identitás engedélyezése az alkalmazást üzemeltető Azure-erőforrásban

Az első lépés a felügyelt identitás engedélyezése az alkalmazást üzemeltető Azure-erőforráson. Ha például egy .NET-alkalmazást üzemeltet a Azure-alkalmazás Service használatával, engedélyeznie kell a felügyelt identitást az alkalmazást üzemeltető App Service-webalkalmazáshoz. Ha egy virtuális gépet használna az alkalmazás üzemeltetéséhez, engedélyezheti a virtuális gép számára a felügyelt identitás használatát.

Engedélyezheti a felügyelt identitás azure-erőforrásokhoz való használatát az Azure Portal vagy az Azure CLI használatával.

Utasítások Képernyőkép
Keresse meg az alkalmazáskódot üzemeltető erőforrást az Azure Portalon.

Beírhatja például az erőforrás nevét a lap tetején található keresőmezőbe, és a párbeszédpanelen kiválasztva navigálhat hozzá.
Képernyőkép arról, hogyan használható az Azure Portal felső keresősávja egy Azure-beli erőforrás megkeresésére és megkeresésére.
Az erőforrás oldalán válassza az Identitás menüelemet a bal oldali menüből.

Minden felügyelt identitást támogató Azure-erőforrás rendelkezik identitás menüelemsel, bár a menü elrendezése kissé eltérő lehet.
Képernyőkép egy Azure-erőforrás bal oldali menüjében található Identitás menüelem helyéről.
Az Identitás lapon:
  1. Módosítsa az Állapot csúszkát Be állásra.
  2. Kattintson a Mentés gombra.
A megerősítést kérő párbeszédpanelen ellenőrizheti, hogy engedélyezni szeretné-e a felügyelt identitást a szolgáltatáshoz. Az Igen válasz és a felügyelt identitás engedélyezve lesz az Azure-erőforráshoz.
Képernyőkép egy Azure-erőforrás felügyelt identitásának engedélyezéséről az erőforrás Identitás lapján.

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

Ezután meg kell határoznia, hogy az alkalmazásnak milyen szerepkörökre (engedélyekre) van szüksége, és hozzá kell rendelnie a felügyelt identitást ezekhez a szerepkörökhöz az Azure-ban. A felügyelt identitások hozzárendelhetők szerepkörökhöz egy erőforrás, erőforráscsoport vagy előfizetés hatókörében. Ez a példa bemutatja, hogyan rendelhet hozzá szerepköröket az erőforráscsoport hatóköréhez, mivel a legtöbb alkalmazás egyetlen erőforráscsoportba csoportosítja az összes Azure-erőforrást.

Utasítások Képernyőkép
Keresse meg az alkalmazás erőforráscsoportját az erőforráscsoport nevére az Azure Portal tetején található keresőmező használatával.

Lépjen az erőforráscsoportra a párbeszédpanel Erőforráscsoportok fejléce alatt található erőforráscsoport nevére kattintva.
Képernyőkép arról, hogyan használható az Azure Portal felső keresősávja az Azure-beli erőforráscsoport megkeresésére és megkeresésére. Ez az az erőforráscsoport, amelyhez szerepköröket (engedélyeket) rendel.
Az erőforráscsoport oldalán válassza a Hozzáférés-vezérlés (IAM) lehetőséget a bal oldali menüben. Képernyőkép az Azure-erőforráscsoport bal oldali menüjében található Hozzáférés-vezérlés (IAM) menüelem helyéről.
A Hozzáférés-vezérlés (IAM) lapon:
  1. Válassza a Szerepkiosztások lapot.
  2. Válassza a +Hozzáadás lehetőséget a felső menüből, majd a szerepkör-hozzárendelés hozzáadása lehetőséget az eredményül kapott legördülő menüből.
Képernyőkép a szerepkör-hozzárendelések lapra való navigálásról, valamint a szerepkör-hozzárendelések erőforráscsoporthoz való hozzáadásához használt gomb helyéről.
A Szerepkör-hozzárendelés hozzáadása lap felsorolja az erőforráscsoporthoz hozzárendelhető összes szerepkört.
  1. A keresőmezővel kezelhetőbb méretre szűrheti a listát. Ez a példa bemutatja, hogyan szűrhet a Storage Blob-szerepkörökre.
  2. Válassza ki a hozzárendelni kívánt szerepkört.
A Tovább gombra kattintva lépjen a következő képernyőre.
Képernyőkép az erőforráscsoporthoz hozzáadni kívánt szerepkör-hozzárendelések szűréséről és kiválasztásáról.
A következő Szerepkör-hozzárendelés hozzáadása lapon megadhatja, hogy melyik felhasználóhoz rendelje hozzá a szerepkört.
  1. Válassza a Felügyelt identitás lehetőséget a Hozzáférés hozzárendelése területen.
  2. Select + Select members under Members
Megnyílik egy párbeszédpanel az Azure Portal jobb oldalán.
Képernyőkép arról, hogyan választhatja ki a felügyelt identitást a szerepkört (engedélyt) hozzárendelni kívánt felhasználó típusaként a szerepkör-hozzárendelések hozzáadása lapon.
A Felügyelt identitások kiválasztása párbeszédpanelen:
  1. A Felügyelt identitás legördülő menü és a Kijelölés szövegmező a felügyelt identitások listájának szűrésére használható az előfizetésben. Ebben a példában az App Service kiválasztásával csak az App Service-hez társított felügyelt identitások jelennek meg.
  2. Válassza ki az alkalmazást üzemeltető Azure-erőforrás felügyelt identitását.
A folytatáshoz válassza a Párbeszédpanel alján található Kijelölés lehetőséget.
Képernyőkép a felügyelt identitások kiválasztása párbeszédpanelről a szűréshez és a felügyelt identitás kiválasztásához a szerepkör hozzárendeléséhez.
A felügyelt identitás mostantól a Szerepkör-hozzárendelés hozzáadása képernyőn kijelöltként jelenik meg.

A folyamat befejezéséhez válassza a Véleményezés + hozzárendelés lehetőséget a végső lapra való ugráshoz, majd a Véleményezés + hozzárendelés lehetőséget.
Képernyőkép a szerepkör-hozzárendelés végleges hozzáadásának képernyőjéről, ahol a felhasználónak a Véleményezés + Hozzárendelés gombra kell kattintania a szerepkör-hozzárendelés véglegesítéséhez.

3 – DefaultAzureCredential implementálása az alkalmazásban

DefaultAzureCredential több hitelesítési módszert támogat, és meghatározza a futtatókörnyezetben használt hitelesítési módszert. Ily módon az alkalmazás különböző hitelesítési módszereket használhat különböző környezetekben, környezetspecifikus kód implementálása nélkül.

A hitelesítő adatokat kereső sorrend és helyek DefaultAzureCredential a DefaultAzureCredential helyen találhatók.

A megvalósításhoz DefaultAzureCredentialelőször adja hozzá a Azure.Identity csomagokat, és igény szerint adja hozzá az Microsoft.Extensions.Azure alkalmazáshoz. Ezt a parancssor vagy a NuGet Csomagkezelő használatával teheti meg.

Nyisson meg egy tetszőleges terminálkörnyezetet az alkalmazásprojekt könyvtárában, és írja be az alábbi parancsot.

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

Az Azure-szolgáltatásokat általában az SDK megfelelő ügyfélosztályai használják. Ezeket az osztályokat és a saját egyéni szolgáltatásokat regisztrálni kell a Program.cs fájlban, hogy az alkalmazás függőséginjektálásával elérhetőek legyenek. Program.csBelül kövesse az alábbi lépéseket a szolgáltatás és a .DefaultAzureCredential

  1. A névterek és Microsoft.Extensions.Azure a Azure.Identity névterek belefoglalása egy using irányelvbe.
  2. Regisztrálja az Azure-szolgáltatást a megfelelő segítő módszerek használatával.
  3. Adja át az objektum egy példányát DefaultAzureCredential a UseCredential metódusnak.

Erre példa a következő kódszakaszban látható.

using Microsoft.Extensions.Azure;
using Azure.Identity;

// Inside of Program.cs
builder.Services.AddAzureClients(x =>
{
    x.AddBlobServiceClient(new Uri("https://<account-name>.blob.core.windows.net"));
    x.UseCredential(new DefaultAzureCredential());
});

Azt is megteheti, hogy a szolgáltatásokban közvetlenül, további Azure-regisztrációs módszerek nélkül is használhatja DefaultAzureCredential az alábbiakban látható módon.

using Azure.Identity;

// Inside of Program.cs
builder.Services.AddSingleton<BlobServiceClient>(x =>
    new BlobServiceClient(
        new Uri("https://<account-name>.blob.core.windows.net"),
        new DefaultAzureCredential()));

Ha a fenti kód a helyi fejlesztés során fut a helyi munkaállomáson, az alkalmazás-szolgáltatásnév környezeti változóiban, illetve a Visual Studióban, a VS Code-ban, az Azure CLI-ben vagy az Azure PowerShellben fog keresni a fejlesztői hitelesítő adatok készletében, amelyek bármelyikével hitelesítheti az alkalmazást az Azure-erőforrásokban a helyi fejlesztés során.

Az Azure-ban való üzembe helyezéskor ugyanez a kód más Azure-erőforrásokon is hitelesítheti az alkalmazást. DefaultAzureCredential lekérheti a környezeti beállításokat és a felügyelt identitáskonfigurációkat a többi szolgáltatás automatikus hitelesítéséhez.