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


Azure-beli JavaScript-alkalmazások hitelesítése Azure-erőforrásokon rendszer által hozzárendelt felügyelt identitással

Az Azure által üzemeltetett alkalmazások más Azure-erőforrásokra való hitelesítésének ajánlott módszere a felügyelt identitás használata. Ez a megközelítés a legtöbb Azure-szolgáltatás esetében támogatott, beleértve az Azure App Service-ben, az Azure Container Appsben és az Azure-beli virtuális gépeken üzemeltetett alkalmazásokat is. A hitelesítés áttekintési oldalán további információkat talál a különböző hitelesítési technikákról és módszerekről. Az alábbi szakaszokban a következő ismereteket fogja elsajátítani:

  • Alapvető felügyelt identitásfogalmak
  • Rendszer által hozzárendelt felügyelt identitás létrehozása az alkalmazáshoz
  • Szerepkörök hozzárendelése a rendszer által hozzárendelt felügyelt identitáshoz
  • Hitelesítés a rendszer által hozzárendelt felügyelt identitással az alkalmazáskódból

Alapvető felügyelt identitásfogalmak

A felügyelt identitással az alkalmazás biztonságosan csatlakozhat más Azure-erőforrásokhoz titkos kulcsok vagy más alkalmazáskulcsok használata nélkül. Az Azure belsőleg nyomon követi az identitást, és hogy mely 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 csatlakozzon.

A felügyelt identitások kétféleképpen konfigurálhatók a üzemeltetett alkalmazás konfigurálásakor:

  • A rendszer által hozzárendelt felügyelt identitások közvetlenül egy Azure-erőforráson vannak engedélyezve, és az életciklusukhoz vannak kötve. Az erőforrás törlésekor az Azure automatikusan törli az Identitást. A rendszer által hozzárendelt identitások minimalista megközelítést biztosítanak a felügyelt identitások használatához.
  • A felhasználó által hozzárendelt felügyelt identitások önálló Azure-erőforrásokként jönnek létre, és nagyobb rugalmasságot és képességeket biztosítanak. Olyan megoldásokhoz ideálisak, amelyek több Olyan Azure-erőforrást tartalmaznak, amelyeknek azonos identitással és engedélyekkel kell rendelkezniük. Ha például több virtuális gépnek kell elérnie ugyanazt az Azure-erőforráskészletet, a felhasználó által hozzárendelt felügyelt identitás újrahasználhatóságot és optimalizált felügyeletet biztosít.

Jótanács

További információ a rendszer által hozzárendelt és a felhasználó által hozzárendelt felügyelt identitások kiválasztásáról és kezeléséről a felügyelt identitásokkal kapcsolatos ajánlott eljárásokra vonatkozó javaslatokkal foglalkozó cikkben.

A következő szakaszok ismertetik a rendszer által hozzárendelt felügyelt identitás azure-beli alkalmazásokhoz való engedélyezésének és használatának lépéseit. Ha felhasználó által hozzárendelt felügyelt identitást kell használnia, további információt a felhasználó által hozzárendelt felügyelt identitásokról szóló cikkben talál.

Rendszer által hozzárendelt felügyelt identitás engedélyezése az Azure-beli üzemeltetési erőforráson

Ha rendszer által hozzárendelt felügyelt identitást szeretne használni az alkalmazással, engedélyezze az identitást az alkalmazást üzemeltető Azure-erőforráson, például az Azure App Service-en, az Azure Container App-on vagy az Azure Virtual Machine-on.

Az Azure-erőforrásokhoz rendszer által hozzárendelt felügyelt identitást az Azure Portal vagy az Azure CLI használatával engedélyezheti.

  1. Az Azure Portalon keresse meg az alkalmazáskódot tároló erőforrást, például egy Azure App Service-t vagy egy Azure Container App-példányt.

  2. Az erőforrás Áttekintés lapján bontsa ki a Beállítások elemet, és válassza az Identitás lehetőséget a navigációs sávon.

  3. Az Identitás lapon állítsa be az Állapot csúszkát Be állásba.

  4. Válassza a Mentés lehetőséget a módosítások alkalmazásához.

    Képernyőkép a rendszer által hozzárendelt felügyelt identitások tárolóalkalmazásokon való engedélyezéséről.

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

Ezután határozza meg, hogy az alkalmazásnak mely szerepkörökre van szüksége, és rendelje hozzá ezeket a szerepköröket a felügyelt identitáshoz. A szerepköröket a következő hatókörökben rendelheti hozzá egy felügyelt identitáshoz:

  • Erőforrás: A hozzárendelt szerepkörök csak az adott erőforrásra vonatkoznak.
  • Erőforráscsoport: A hozzárendelt szerepkörök az erőforráscsoportban található összes erőforrásra vonatkoznak.
  • Előfizetés: A hozzárendelt szerepkörök az előfizetésben található összes erőforrásra érvényesek.

Az alábbi példa bemutatja, hogyan rendelhet hozzá szerepköröket az erőforráscsoport hatóköréhez, mivel számos alkalmazás egyetlen erőforráscsoport használatával kezeli az összes kapcsolódó Azure-erőforrást.

  1. Lépjen a rendszer által hozzárendelt felügyelt identitással rendelkező alkalmazást tartalmazó erőforráscsoport Áttekintés lapjára.

  2. A bal oldali navigációs sávon válassza 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 a felső menüben, majd a Szerepkör-hozzárendelés hozzáadása lehetőséget választva lépjen a Szerepkör-hozzárendelés hozzáadása lapra.

    Képernyőkép az identitásszerepkör-hozzárendelési lap eléréséről.

  4. A Szerepkör-hozzárendelés hozzáadása lap egy többlépéses, többlépéses munkafolyamatot jelenít meg a szerepkörök identitásokhoz való hozzárendeléséhez. A kezdeti Szerepkör lapon a felső keresőmezővel keresse meg az identitáshoz hozzárendelni kívánt szerepkört.

  5. Válassza ki a szerepkört az eredmények közül, majd a Tovább gombra kattintva lépjen a Tagok lapra.

  6. A Hozzáférés hozzárendelése beállításhoz válassza a Felügyelt identitás lehetőséget.

  7. A Tagok beállításnál válassza a + Tagok kijelölése lehetőséget a Felügyelt identitások kiválasztása panel megnyitásához.

  8. A Felügyelt identitások kiválasztásapanelen az Előfizetés és a Felügyelt identitás legördülő listával szűrheti az identitások keresési eredményeit. A Kiválasztás keresőmezővel keresse meg az alkalmazást üzemeltető Azure-erőforráshoz engedélyezett rendszeridentitást.

    Képernyőkép a felügyelt identitás-hozzárendelési folyamatról.

  9. Válassza ki az identitást, és a folytatáshoz válassza a Panel alján található Kijelölés lehetőséget.

  10. Válassza a Véleményezés + hozzárendelés lehetőséget a lap alján.

  11. A végső Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a munkafolyamat befejezéséhez.

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

Az Azure Identity-kódtár különböző hitelesítő adatokat biztosít – a TokenCredential különböző forgatókönyvekhez és a Microsoft Entra hitelesítési folyamatokhoz igazított implementációkat. Mivel a felügyelt identitás helyi futtatáskor nem érhető el, az alábbi lépések bemutatják, hogy melyik hitelesítő adatot melyik forgatókönyvben érdemes használni:

  • Helyi fejlesztői környezet: Csak a helyi fejlesztés során használjon DefaultAzureCredential nevű osztályt a hitelesítő adatok véleményezett, előre konfigurált láncolatához. DefaultAzureCredential A felhasználói hitelesítő adatokat a helyi eszközkészletből vagy IDE-ből, például az Azure CLI-ből vagy a Visual Studio Code-ból észleli. Emellett rugalmasságot és kényelmet biztosít az újrapróbálkozáshoz, a válaszok várakozási idejéhez és a több hitelesítési lehetőség támogatásához is. További információért tekintse meg az Azure-szolgáltatások hitelesítését a helyi fejlesztési cikk során .
  • Azure-ban üzemeltetett alkalmazások: Ha az alkalmazás az Azure-ban fut, biztonságosan ManagedIdentityCredential felderítheti az alkalmazáshoz konfigurált felügyelt identitást. Ennek a hitelesítő adattípusnak a megadása megakadályozza, hogy más elérhető hitelesítő adatok váratlanul átvehetők legyenek.

A kód implementálása

JavaScript-projektben adja hozzá a @azure/identitáscsomagot . Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:

npm install @azure/identity

Az Azure-szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK-ügyfélkódtárakból. Ebben index.jsa lépésben hajtsa végre a következő lépéseket a jogkivonatalapú hitelesítés konfigurálásához:

  1. Importálja a @azure/identity csomagot.

  2. Adjon át egy megfelelő TokenCredential példányt az ügyfélnek:

    • Akkor használható DefaultAzureCredential , ha az alkalmazás helyileg fut
    • Akkor használható ManagedIdentityCredential , ha az alkalmazás az Azure-ban fut.
    import { BlobServiceClient } from '@azure/storage-blob';
    import { ManagedIdentityCredential, DefaultAzureCredential } from '@azure/identity';
    
    function createBlobServiceClient() {
        const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
        if (!accountName) throw Error('Azure Storage accountName not found');
    
        const url = `https://${accountName}.blob.core.windows.net`;
    
        if (process.env.NODE_ENV === "production") {
            return new BlobServiceClient(url, new ManagedIdentityCredential());
        } else {
            return new BlobServiceClient(url, new DefaultAzureCredential());
        }
    }
    
    async function main() {
        try {
            const blobServiceClient = createBlobServiceClient();
            const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME);
            const properties = await containerClient.getProperties();
    
            console.log(properties);
        } catch (err) {
            console.error("Error retrieving container properties:", err.message);
            throw err;
        }
    }
    
    main().catch((err) => {
        console.error("Error running sample:", err.message);
        process.exit(1);
    });
    

A kód implementálása

JavaScript-projektben adja hozzá a @azure/identitáscsomagot . Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:

npm install @azure/identity @types/node

Az Azure-szolgáltatások speciális ügyfélosztályokkal érhetők el a különböző Azure SDK-ügyfélkódtárakból. Ebben index.jsa lépésben hajtsa végre a következő lépéseket a jogkivonatalapú hitelesítés konfigurálásához:

  1. Importálja a @azure/identity csomagot.

  2. Adjon át egy megfelelő TokenCredential példányt az ügyfélnek:

    • Akkor használható DefaultAzureCredential , ha az alkalmazás helyileg fut
    • Akkor használható ManagedIdentityCredential , ha az alkalmazás az Azure-ban fut.
    import { BlobServiceClient } from '@azure/storage-blob';
    import { ManagedIdentityCredential, DefaultAzureCredential } from '@azure/identity';
    
    function createBlobServiceClient(): BlobServiceClient {
        const accountName = process.env.AZURE_STORAGE_ACCOUNT_NAME;
        if (!accountName) throw Error('Azure Storage accountName not found');
        const url = `https://${accountName}.blob.core.windows.net`;
    
        if (process.env.NODE_ENV === "production") {
            return new BlobServiceClient(url, new ManagedIdentityCredential());
        } else {
            return new BlobServiceClient(url, new DefaultAzureCredential());
        }
    }
    
    async function main(): Promise<void> {
        try {
            const blobServiceClient = createBlobServiceClient();
            const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME!);
            const properties = await containerClient.getProperties();
    
            console.log(properties);
        } catch (err: any) {
            console.error("Error retrieving container properties:", err.message);
            throw err;
        }
    }
    
    main().catch((err: Error) => {
        console.error("Error running sample:", err.message);
        process.exit(1);
    });
    

Az előző kód eltérően viselkedik attól függően, hogy melyik környezetben fut:

  • A helyi fejlesztői munkaállomáson DefaultAzureCredential keresse meg az alkalmazás-szolgáltatásnév környezeti változóit, vagy a helyileg telepített fejlesztői eszközök( például a Visual Studio Code) környezeti változóit a fejlesztői hitelesítő adatok készletéhez.
  • Az Azure-ban ManagedIdentityCredential való üzembe helyezéskor felderíti a felügyelt identitáskonfigurációkat, hogy automatikusan hitelesítse magát más szolgáltatásokban.