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

Diagram egy helyi fejlesztői alkalmazásról, amely egy .env fájlból szerez be egy szolgáltatásnevet, és ezt az identitást használja az Azure-erőforrásokhoz való csatlakozáshoz.

Ahhoz, hogy egy alkalmazás helyi fejlesztés során hitelesíthesse magát az Azure-ban a fejlesztő Azure-beli hitelesítő adataival, a fejlesztőnek be kell jelentkeznie az Azure-ba a Visual Studio Code Azure Tools bővítményből, az Azure CLI-ből vagy az Azure PowerShellből. Az Azure SDK for JavaScript 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 az alkalmazás éles környezetben futtatott engedélyeit. Alternatív megoldásként létrehozhat 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 – Microsoft Entra-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 Microsoft Entra-csoportot, amely magában foglalja az alkalmazáshoz szükséges szerepköröket (engedélyeket) 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 Microsoft Entra csoportjához kell hozzáadni.
  • Ha egy új fejlesztő csatlakozik a csapathoz, egyszerűen hozzá kell adni őket a megfelelő Microsoft Entra-csoporthoz, hogy megkapják a megfelelő engedélyeket az alkalmazás használatához.

Ha már rendelkezik Microsoft Entra-csoporttal a fejlesztői csapathoz, használhatja ezt a csoportot. Ellenkező esetben végezze el a következő lépéseket egy Microsoft Entra-csoport létrehozásához.

Utasítások Képernyőkép
Lépjen a Microsoft Entra ID lapjára az Azure Portalon. Ehhez írja be a Microsoft Entra-azonosítót a lap tetején található keresőmezőbe, majd válassza ki a Microsoft Entra-azonosítót a szolgáltatások alatt. Képernyőkép arról, hogyan kereshet és navigálhat a Microsoft Entra ID oldalára az Azure Portal felső keresősávjával.
A Microsoft Entra ID lapján válassza a Csoportok lehetőséget a bal oldali menüben. Képernyőkép a Csoportok menüelem helyéről a Microsoft Entra ID Alapértelmezett könyvtá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ípusBiztonság.
  2. A csoport neve → A biztonsági csoport neve, amely általában az alkalmazás nevéből jön létre. Hasznos lehet egy olyan sztringet is befoglalni a csoport nevében, mint a local-dev , hogy jelezze a csoport célját.
  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 egy új Microsoft Entra-csoport létrehozásáról. A csoporttagok hozzáadásához kijelölendő hivatkozás helye ki van emelve.
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álasszon ki egy vagy több felhasználót az alkalmazás helyi fejlesztéséhez. Amikor kiválaszt egy objektumot, az objektum a párbeszédpanel alján található Kijelölt elemek listára kerül.
  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 a Microsoft Entra-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 Microsoft Entra-csoporthoz vannak 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 arról a választógombról, amellyel szerepkört rendelhet egy Microsoft Entra-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 Microsoft Entra-csoport első néhány karakterét.
  2. Válassza ki az alkalmazáshoz társított helyi fejlesztési Microsoft Entra-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 Microsoft Entra-csoportjának szűréséről és kiválasztásáról a Tagok kiválasztása párbeszédpanelen.
A Microsoft Entra csoport 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 VS Code, az Azure CLI vagy az Azure PowerShell használatával

Nyisson meg egy terminált a fejlesztői munkaállomáson, és jelentkezzen be az Azure-ba az Azure PowerShellből.

Connect-AzAccount

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

Az Azure SDK-ügyfélobjektumok Azure-beli hitelesítéséhez az alkalmazásnak a DefaultAzureCredential csomagból származó @azure/identity osztályt kell használnia. Ebben a forgatókönyvben egymás után ellenőrzi, DefaultAzureCredential hogy a fejlesztő bejelentkezett-e az Azure-ba a VS Code Azure-eszközök bővítményével, az Azure CLI-vel vagy az Azure PowerShell-lel. Ha a fejlesztő ezen eszközök bármelyikével jelentkezik be az Azure-ba, akkor az alkalmazás az eszközre való bejelentkezéshez használt hitelesítő adatokat fogja használni az Azure-ba való hitelesítéshez.

Először adja hozzá a @azure/identitáscsomagot az alkalmazáshoz.

npm install @azure/identity

Ezután az azure SDK-ügyfélobjektumot létrehozó JavaScript-kódok esetében a következőket kell elvégeznie:

  1. Importálja az osztályt DefaultAzureCredential a @azure/identity modulból.
  2. Hozzon létre egy objektumot DefaultAzureCredential .
  3. Adja át az DefaultAzureCredential objektumot az Azure SDK ügyfélobjektum-konstruktorának.

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

import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';

// Acquire a credential object
const tokenCredential = DefaultAzureCredential();

const blobServiceClient = BlobServiceClient(
        `https://${accountName}.blob.core.windows.net`,
        tokenCredential
);

DefaultAzureCredential automatikusan észleli az alkalmazáshoz konfigurált hitelesítési mechanizmust, és beszerezi az alkalmazás Azure-beli hitelesítéséhez szükséges jogkivonatokat. Ha egy alkalmazás több SDK-ügyfelet használ, ugyanazt a hitelesítő objektumot használhatja minden egyes SDK-ügyfélobjektumhoz.