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

A helyi fejlesztés során az alkalmazásoknak hitelesíteni kell magukat az Azure-ban a különböző Azure-szolgáltatások eléréséhez. A helyi hitelesítés két gyakori módszere egy szolgáltatásnév vagy egy fejlesztői fiók használata. Ez a cikk bemutatja, hogyan használható fejlesztői fiók. Az alábbi szakaszokban a következő ismereteket ismerheti meg:

  • Microsoft Entra-csoportok használata több fejlesztői fiók engedélyeinek hatékony kezeléséhez
  • Hogyan lehet szerepköröket hozzárendelni fejlesztői fiókokhoz az engedélyek hatókörének beállításához
  • Bejelentkezés támogatott helyi fejlesztési eszközökre
  • Hitelesítés fejlesztői fiókkal az alkalmazáskódból

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 az alábbi fejlesztői eszközök egyikéből:

  • Azure CLI (Az Azure parancssori felülete)
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio Code

Az Azure Identity-kódtár képes észlelni, hogy a fejlesztő bejelentkezett az egyik ilyen eszközről. A könyvtár ezután egy eszközzel beszerezheti a Microsoft Entra hozzáférési jogkivonatot, hogy az alkalmazást bejelentkezett felhasználóként hitelesítse az Azure-ban.

Ez a megközelítés kihasználja a fejlesztő meglévő Azure-fiókjait a hitelesítési folyamat egyszerűsítése érdekében. 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.

Microsoft Entra-csoport létrehozása helyi fejlesztéshez

Hozzon létre egy Microsoft Entra-csoportot, amely az alkalmazás által igényelt szerepköröket (engedélyeket) foglalja magában a helyi fejlesztés során, és nem rendeli hozzá a szerepköröket az egyes szolgáltatásnév-objektumokhoz. Ez a megközelítés a következő előnyöket kínálja:

  • Minden fejlesztőhöz ugyanazok a szerepkörök vannak hozzárendelve a csoport szintjén.
  • Ha új szerepkörre van szükség az alkalmazáshoz, azt csak az alkalmazás csoportához kell hozzáadni.
  • Ha egy új fejlesztő csatlakozik a csapathoz, egy új alkalmazásszolgáltatás-tag jön létre a fejlesztő számára, és hozzáadódik a csoporthoz, biztosítva, hogy a fejlesztő megfelelő engedélyekkel rendelkezik az alkalmazás használatához.
  1. Lépjen a Microsoft Entra ID áttekintési oldalára az Azure Portalon.

  2. Válassza az Összes csoportot a bal oldali menüből.

  3. A Csoportok lapon válassza az Új csoportot.

  4. Az Új csoport lapon töltse ki az alábbi űrlapmezőket:

    • Csoport típusa: Válassza a Biztonság lehetőséget.
    • Csoportnév: Adja meg annak a csoportnak a nevét, amely az alkalmazás vagy a környezet nevére mutató hivatkozást tartalmaz.
    • Csoport leírása: Adjon meg egy leírást, amely ismerteti a csoport célját.

    Képernyőkép arról, hogyan hozhat létre csoportot az Azure Portalon.

  5. A Tagok csoportban válassza a Nem kijelölt tagok hivatkozást, ha tagokat szeretne hozzáadni a csoporthoz.

  6. A megnyíló úszó panelen keresse meg a korábban létrehozott szolgáltatásnevet, és válassza ki a szűrt eredmények közül. A kijelölés megerősítéséhez kattintson a panel alján található Kiválasztás gombra.

  7. Az Új csoport lap alján válassza a Létrehozás lehetőséget a csoport létrehozásához és a Minden csoport laphoz való visszatéréshez. Ha nem látja az új csoportot a listában, várjon egy kis időt, és frissítse a lapot.

Szerepkörök hozzárendelése a csoporthoz

Ezután határozza meg, hogy az alkalmazásnak milyen szerepkörökre (engedélyekre) van szüksége az erőforrásokhoz, és rendelje hozzá ezeket a szerepköröket a létrehozott Microsoft Entra-csoporthoz. A csoportok szerepkörhöz rendelhetők az erőforrás, az erőforráscsoport vagy az 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.

  1. Az Azure Portalon lépjen az alkalmazást tartalmazó erőforráscsoport Áttekintés lapjára.

  2. Válassza a bal oldali navigációs sávból a Hozzáférés-vezérlés (IAM) lehetőséget.

  3. A Hozzáférés-vezérlés (IAM) lapon válassza a + Hozzáadás lehetőséget, majd a legördülő menüben válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget. A Szerepkör-hozzárendelés hozzáadása lap számos lapot biztosít a szerepkörök konfigurálásához és hozzárendeléséhez.

  4. A Szerepkör lapon a keresőmezővel keresse meg a hozzárendelni kívánt szerepkört. Jelölje ki a szerepkört, majd kattintson a Tovább gombra.

  5. A Tagok lapon:

    • Az értékhez való hozzáférés hozzárendeléséhez válassza a Felhasználó, csoport vagy szolgáltatásnév lehetőséget.
    • A Tagok értéknél válassza a + Tagok kijelölése lehetőséget a Tagok kijelölése úszó panel megnyitásához.
    • Keresse meg a korábban létrehozott Microsoft Entra-csoportot, és válassza ki a szűrt eredmények közül. Kattintson a Kijelölés gombra a csoport kijelöléséhez és az úszó panel bezárásához.
    • Válassza a Véleményezés + hozzárendelés lehetőséget a Tagok lap alján.

    Képernyőkép arról, hogyan rendelhet szerepkört a Microsoft Entra-csoporthoz.

  6. A Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a lap alján.

Bejelentkezés az Azure-ba fejlesztői eszközökkel

Ezután jelentkezzen be az Azure-ba a fejlesztési környezetben a hitelesítés végrehajtásához használható számos fejlesztői eszköz egyikével. A hitelesített fióknak a korábban létrehozott és konfigurált Microsoft Entra-csoportban is léteznie kell.

A fejlesztők az Azure CLI használatával végezhetnek hitelesítést. Azok az alkalmazások, amelyek a DefaultAzureCredential vagy AzureCLICredential szolgáltatásokat használják, ezt a fiókot alkalmazáskérések hitelesítésére használhatják.

Az Azure CLI-vel való hitelesítéshez futtassa a az login parancsot. Egy alapértelmezett webböngészővel rendelkező rendszeren az Azure CLI elindítja a böngészőt a felhasználó hitelesítéséhez.

az login

Az alapértelmezett webböngészővel nem rendelkező rendszerek esetében a az login parancs az eszközkód-hitelesítési folyamatot használja. Az argumentum megadásával --use-device-code arra is kényszerítheti az Azure CLI-t, hogy használja az eszköz kódfolyamatát ahelyett, hogy elindítanál egy böngészőt.

az login --use-device-code

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

Az Azure Identity-kódtár olyan TokenCredential implementációkat biztosít, amelyek különböző forgatókönyveket és Microsoft Entra hitelesítési folyamatokat támogatnak. Az alábbi lépések bemutatják, hogyan használható a DefaultAzureCredential vagy egy adott fejlesztői eszköz hitelesítő adatai a felhasználói fiókok helyi használatakor.

Jótanács

Ha a csapat több fejlesztőeszközt használ az Azure-ral való hitelesítéshez, előnyben részesítse DefaultAzureCredential a helyi fejlesztésre optimalizált példányt az eszközspecifikus hitelesítő adatokhoz.

A kód implementálása

  1. Adja hozzá a @azure/identitáscsomagot az alkalmazáshoz.

    npm install @azure/identity
    

    Megjegyzés:

    Ha VisualStudioCodeCredential-t szeretné használni, telepítenie kell az @azure/identity-vscode bővítménycsomagot is. Ezután explicit módon töltse be a hitelesítő adatokat. Például lásd a @azure/identity-vscode README.

  2. Válasszon egy hitelesítőadat-implementációt a forgatókönyve alapján.

Használjon a fejlesztési eszközhöz kifejezetten kapcsolódó hitelesítő adatokat.

Adjon át a(z) TokenCredential adott fejlesztési eszköznek megfelelő példányt az Azure szolgáltatás kliens konstruktorának, például AzureCliCredential.

import { AzureCliCredential } from "@azure/identity";
import { BlobServiceClient } from "@azure/storage-blob";

const credential = new AzureCliCredential();

const client = new BlobServiceClient(
    "https://<storage-account-name>.blob.core.windows.net",
    credential
);

Bármely fejlesztési eszközben használható hitelesítő adatok használata

Az DefaultAzureCredential példányt, amely minden helyi fejlesztési eszközhöz optimalizálva van, használja. Ebben a példában a környezeti változót AZURE_TOKEN_CREDENTIALS a következőre devkell beállítani: . További információ: Hitelesítő adatok kategóriáinak kizárása.

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

// Set environment variable AZURE_TOKEN_CREDENTIALS to "dev"
const credential = new DefaultAzureCredential({
    requiredEnvVars: ["AZURE_TOKEN_CREDENTIALS"]
});

const client = new BlobServiceClient(
    "https://<storage-account-name>.blob.core.windows.net",
    credential
);