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


.NET-alkalmazások hitelesítése Azure-szolgáltatásokba a helyi fejlesztés során fejlesztői fiókok használatával

Felhőalkalmazások létrehozásakor a fejlesztőknek hibakeresést és tesztelést kell végezniük az alkalmazások helyi munkaállomásán. Ha egy alkalmazás egy fejlesztői munkaállomáson fut a helyi fejlesztés során, akkor is hitelesítenie kell az alkalmazás által használt Azure-szolgáltatásokban. Ez a cikk bemutatja, hogyan használhatja egy fejlesztő Azure-beli hitelesítő adatait az alkalmazás azure-beli hitelesítésére a helyi fejlesztés során.

Egy diagram, amely azt mutatja be, hogy egy helyi fejlesztőben futó alkalmazás hogyan szerzi be az alkalmazásszolgáltatásnevet egy .env fájlból, majd hogyan csatlakozhat az Azure-erőforrásokhoz.

Ahhoz, hogy egy alkalmazás helyi fejlesztés során hitelesítse magát az Azure-ban a fejlesztő Azure-beli hitelesítő adataival, a fejlesztőnek be kell jelentkeznie az Azure-ba a VS Code Azure Tools bővítményből, az Azure CLI-ből vagy az Azure PowerShellből. A .NET-hez készült Azure SDK képes észlelni, hogy a fejlesztő bejelentkezett az egyik ilyen eszközről, majd lekérte a szükséges hitelesítő adatokat a hitelesítő adatok gyorsítótárából, hogy bejelentkezett felhasználóként hitelesítse az alkalmazást az Azure-ban.

Ez a módszer a legegyszerűbben beállítható egy fejlesztői csapat számára, mivel kihasználja a fejlesztők meglévő Azure-fiókjait. A fejlesztői fiók azonban valószínűleg több engedéllyel rendelkezik, mint amennyit az alkalmazás igényel, ezért túllépi azokat az engedélyeket, amelyeket az alkalmazás éles környezetben fog futtatni. Alternatív megoldásként létrehozhat olyan alkalmazásszolgáltatás-tagokat, amelyeket a helyi fejlesztés során használhat, amelyek hatóköre csak az alkalmazás által igényelt hozzáférésre terjedhet ki.

1 – Azure AD-csoport létrehozása helyi fejlesztéshez

Mivel szinte mindig több fejlesztő dolgozik egy alkalmazáson, javasoljuk, hogy először hozzon létre egy Azure AD-csoportot az alkalmazáshoz szükséges szerepkörök (engedélyek) beágyazásához a helyi fejlesztés során. Ez a következő előnyöket nyújtja.

  • Minden fejlesztőnek ugyanazok a szerepkörök lesznek hozzárendelve, mivel a szerepkörök csoportszinten vannak hozzárendelve.
  • Ha új szerepkörre van szükség az alkalmazáshoz, azt csak az alkalmazás Azure AD-csoportjához kell hozzáadni.
  • Ha egy új fejlesztő csatlakozik a csapathoz, egyszerűen hozzá kell adni őket a megfelelő Azure AD-csoporthoz, hogy megkapják a megfelelő engedélyeket az alkalmazás használatához.

Ha már rendelkezik Azure AD-csoporttal a fejlesztői csapathoz, használhatja ezt a csoportot. Ellenkező esetben hajtsa végre az alábbi lépéseket egy Azure AD-csoport létrehozásához.

Utasítások Képernyőkép
Lépjen az Azure PortalOn az Azure Active Directory lapjára az Azure Active Directory beírásával a lap tetején lévő keresőmezőbe, majd válassza ki az Azure Active Directoryt a szolgáltatások alatt. Képernyőkép arról, hogyan kereshet és navigálhat az Azure Active Directory oldalára az Azure Portal felső keresősávján.
Az Azure Active Directory lapon válassza a Csoportok lehetőséget a bal oldali menüben. Képernyőkép a Csoportok menüelem helyéről az Azure Active Directory alapértelmezett címtár lapjának bal oldali menüjében.
A Minden csoport lapon válassza az Új csoportot. Képernyőkép az Új csoport gomb helyéről a Minden csoport lapon.
Az Új csoport lapon:
  1. CsoporttípusSecurity
  2. A csoport neve → A biztonsági csoport neve, amely általában az alkalmazás nevéből jön létre. Az is hasznos, ha a csoport nevében egy helyi fejlesztéshez hasonló sztringet is felveszünk a csoport céljának jelzésére.
  3. A csoport leírása → A csoport céljának leírása.
  4. A Tagok csoportban válassza a Nem kijelölt tagok hivatkozást, ha tagokat szeretne hozzáadni a csoporthoz.
Képernyőkép arról, hogyan töltheti ki az űrlapot egy új Azure Active Directory-csoport létrehozásához az alkalmazáshoz. Ezen a képernyőképen a hivatkozás helye is látható, ahová tagokat szeretne felvenni a csoportba
A Tagok hozzáadása párbeszédpanelen:
  1. A keresőmezővel szűrheti a listában szereplő felhasználónevek listáját.
  2. Válassza ki az alkalmazás helyi fejlesztéséhez szükséges felhasználó(ka)t. Az objektumok kijelölésekor a párbeszédpanel alján található Kijelölt elemek listára kerülnek.
  3. Ha végzett, válassza a Kiválasztás gombot.
Képernyőkép a Tagok hozzáadása párbeszédpanelről, amely bemutatja, hogyan választhatja ki a csoportba felvenni kívánt fejlesztői fiókokat.
Az Új csoport lapon válassza a Létrehozás lehetőséget a csoport létrehozásához.

A rendszer létrehozza a csoportot, és visszavesz a Minden csoport lapra. A csoport megjelenése akár 30 másodpercet is igénybe vehet, és előfordulhat, hogy frissítenie kell az oldalt az Azure Portal gyorsítótárazása miatt.
Képernyőkép az Új csoport lapról, amely bemutatja, hogyan fejezheti be a folyamatot a Létrehozás gombra kattintva.

2 – Szerepkörök hozzárendelése az Azure AD-csoporthoz

Ezután meg kell határoznia, hogy az alkalmazásnak milyen szerepkörökre (engedélyekre) van szüksége az adott erőforrásokhoz, és ki kell osztania ezeket a szerepköröket az alkalmazáshoz. Ebben a példában a szerepkörök az 1. lépésben létrehozott Azure Active Directory-csoporthoz lesznek hozzárendelve. A szerepkörök 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őmezője arra az erőforráscsoportra, amelyhez szerepköröket (engedélyeket) szeretne hozzárendelni.
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 erőforráscsoport oldaláról, amelyen a Hozzáférés-vezérlés (IAM) menüelem helye látható.
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 Felhasználó, csoport vagy szolgáltatásnév 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 a választógombról, amellyel szerepkört rendelhet egy Azure AD-csoporthoz, valamint a szerepkör hozzárendeléséhez használt csoport kiválasztására szolgáló hivatkozás.
A Tagok kiválasztása párbeszédpanelen:
  1. A Kijelölés szövegmezővel szűrheti az előfizetésben lévő felhasználók és csoportok listáját. Szükség esetén írja be az alkalmazáshoz létrehozott helyi fejlesztési Azure AD-csoport első néhány karakterét.
  2. Válassza ki az alkalmazáshoz társított helyi fejlesztési Azure AD-csoportot.
A folytatáshoz válassza a Párbeszédpanel alján található Kijelölés lehetőséget.
Képernyőkép az alkalmazás Azure AD-csoportjának szűréséről és kiválasztásáról a Tagok kiválasztása párbeszédpanelen.
Az Azure AD-csoport mostantól a Szerepkör-hozzárendelés hozzáadása képernyőn kiválasztott módon 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 befejezett Szerepkör-hozzárendelés hozzáadása lapról, valamint a folyamat befejezéséhez használt Véleményezés + hozzárendelés gomb helyéről.

3 – Bejelentkezés az Azure-ba a .NET-eszközök használatával

Ezután több .NET-eszközbeállítás egyikével kell bejelentkeznie az Azure-ba. A bejelentkezett fióknak a korábban létrehozott és konfigurált Azure Active Directory-csoportban is léteznie kell.

A Visual Studio felső menüjében lépjen az Eszközök>beállításai elemre a beállítások párbeszédpanel megnyitásához. A beállítások szűréséhez írja be az Azure-t a bal felső keresősávba. Az Azure Service Authentication alatt válassza a Fiókválasztás lehetőséget.

Válassza a Fiók kiválasztása menü legördülő menüjét, és válassza a Microsoft-fiók hozzáadását. Ekkor megnyílik egy ablak, amely arra kéri, hogy válasszon egy fiókot. Adja meg a kívánt Azure-fiók hitelesítő adatait, majd válassza ki a megerősítést.

Képernyőkép az Azure-ba való bejelentkezésről a Visual Studióval.

4 – 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.