Azure-beli alkalmazások hitelesítése Azure-erőforrásokhoz a JavaScripthez készült Azure SDK-val

Ha egy alkalmazást az Azure-ban üzemeltetnek (például Azure-alkalmazás szolgáltatás, Azure Virtual Machines vagy Azure Container Instances használatával), az alkalmazás 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 identitást biztosít az alkalmazás számára, így az alkalmazás titkos kulcs (például kulcs kapcsolati sztring) használata nélkül csatlakozik más Azure-erőforrásokhoz. 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 beszerezze az alkalmazásHoz tartozó Microsoft Entra-jogkivonatokat, hogy más Azure-erőforrásokhoz csatlakozzon, mindezt anélkül, hogy a hitelesítési titkos kulcsokat kezelnie kellene (vagy elforgatnia kellene).

Felügyelt identitástípusok

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

  • Rendszer által hozzárendelt felügyelt identitások – egyetlen Azure-erőforrás
  • Felhasználó által hozzárendelt felügyelt identitások – több Azure-erőforrás

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.

Rendszer által hozzárendelt felügyelt identitások egyetlen erőforráshoz

A rendszer által hozzárendelt felügyelt identitásokat egy Azure-erőforrás biztosítja, és közvetlenül egy Azure-erőforráshoz köti. 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. Ez az 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 több erőforráshoz

Ez az identitás elméletileg önálló Azure-erőforrás. 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.

1 – Rendszer által hozzárendelt: Engedélyezés üzemeltetett alkalmazá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 Django-alkalmazást üzemeltet a Azure-alkalmazás Service használatával, engedélyeznie kell a felügyelt identitást az 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. Válassza a Mentés lehetőséget.
A megerősítést kérő párbeszédpanel ellenőrzi, hogy engedélyezni szeretné-e a felügyelt identitást a szolgáltatáshoz. Igen válasz az Azure-erőforrás felügyelt identitásának engedélyezéséhez.
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.
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 a Hozzáférés-vezérlés (I A M) menüelem helyéről egy Azure-erőforráscsoport bal oldali menüjében.
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 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 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

Az DefaultAzureCredential osztály automatikusan észleli, hogy egy felügyelt identitás van használatban, és a felügyelt identitás használatával hitelesíti magát más Azure-erőforrásokban. Amint azt az Azure SDK for JavaScript-hitelesítés áttekintési cikk ismerteti, több hitelesítési módszert is támogat, DefaultAzureCredential é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.

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

// connect-with-default-azure-credential.js
import { BlobServiceClient } from '@azure/storage-blob';
import { DefaultAzureCredential } from '@azure/identity';
import 'dotenv/config'

const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
if (!accountName) throw Error('Azure Storage accountName not found');

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

Ha a fenti kódot a helyi fejlesztés során futtatja a helyi munkaállomáson, az SDK metódus ( DefaultAzureCredential()) az alkalmazás-szolgáltatásnév környezeti változóiban, illetve a VS Code-ban, az Azure CLI-ben vagy az Azure PowerShellben keres egy fejlesztői hitelesítő adatokat, amelyek bármelyikével hitelesítheti az alkalmazást az Azure-erőforrásokban a helyi fejlesztés során. Ily módon ugyanezzel a kóddal hitelesítheti az alkalmazást az Azure-erőforrásokon a helyi fejlesztés és az Azure-ban való üzembe helyezés során.