Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
- Felhasználó által hozzárendelt felügyelt identitás létrehozása az alkalmazáshoz
- Szerepkörök hozzárendelése a felhasználó által hozzárendelt felügyelt identitáshoz
- Hitelesítés a felhasználó á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.
Az alábbi szakaszok ismertetik a felhasználó által hozzárendelt felügyelt identitás azure-beli alkalmazásokhoz való engedélyezésének és használatának lépéseit. Ha rendszer által hozzárendelt felügyelt identitást kell használnia, további információért tekintse meg a rendszer által hozzárendelt felügyelt identitásokról szóló cikket.
Felhasználó által hozzárendelt felügyelt identitás létrehozása
A felhasználó által hozzárendelt felügyelt identitások önálló erőforrásként jönnek létre az Azure-előfizetésben az Azure Portal vagy az Azure CLI használatával. Az Azure CLI-parancsok futtathatók az Azure Cloud Shellben vagy egy munkaállomáson, amelyen telepítve van az Azure CLI.
Az Azure Portalon adja meg a felügyelt identitásokat a fő keresősávon, és válassza ki a megfelelő eredményt a Szolgáltatások szakaszban.
A Felügyelt identitások lapon válassza a + Létrehozás lehetőséget.
A Felhasználó által hozzárendelt felügyelt identitás létrehozása lapon válassza ki a felhasználó által hozzárendelt felügyelt identitáshoz tartozó előfizetést, erőforráscsoportot és régiót, majd adjon meg egy nevet.
Válassza a Véleményezés + létrehozás lehetőséget a bemenetek áttekintéséhez és érvényesítéséhez.
Válassza a Létrehozás lehetőséget a felhasználó által hozzárendelt felügyelt identitás létrehozásához.
Az identitás létrehozása után válassza az Ugrás az erőforrásra lehetőséget.
Az új identitás Áttekintés lapján másolja ki az ügyfél-azonosító értékét, amelyet az alkalmazáskód konfigurálásakor később használhat.
Felügyelt identitás hozzárendelése az alkalmazáshoz
A felhasználó által hozzárendelt felügyelt identitás egy vagy több Azure-erőforráshoz társítható. Az identitást használó összes erőforrás az identitás szerepkörei által alkalmazott engedélyeket szerzi be.
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.
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.
Az Identitás lapon váltson a Felhasználó által hozzárendelt lapra.
Válassza a + Hozzáadás lehetőséget a felhasználó által hozzárendelt felügyelt identitás hozzáadása panel megnyitásához.
A Felhasználó által hozzárendelt felügyelt identitás hozzáadásapanelen az Előfizetés legördülő listával szűrheti az identitások keresési eredményeit. A Felhasználó által hozzárendelt felügyelt identitások keresőmezővel keresse meg az alkalmazást üzemeltető Azure-erőforráshoz engedélyezett felhasználó által hozzárendelt felügyelt identitást.
Válassza ki az identitást, és a folytatáshoz válassza a Panel alján található Hozzáadás lehetőséget.
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.
Lépjen a felhasználó által hozzárendelt felügyelt identitással rendelkező alkalmazást tartalmazó erőforráscsoport Áttekintés lapjára.
A bal oldali navigációs sávon válassza a Hozzáférés-vezérlés (IAM) lehetőséget.
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.
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.
Válassza ki a szerepkört az eredmények közül, majd a Tovább gombra kattintva lépjen a Tagok lapra.
A Hozzáférés hozzárendelése beállításhoz válassza a Felügyelt identitás lehetőséget.
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.
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 felhasználó által hozzárendelt felügyelt identitást.
Válassza ki az identitást, és a folytatáshoz válassza a Panel alján található Kijelölés lehetőséget.
Válassza a Véleményezés + hozzárendelés lehetőséget a lap alján.
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.
DefaultAzureCredentialA 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
ManagedIdentityCredentialfelderí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:
- Importálja a
@azure/identitycsomagot. - Adjon át egy megfelelő
TokenCredentialpéldányt az ügyfélnek:- Akkor használja
DefaultAzureCredential, ha az alkalmazás helyileg fut. - Akkor használható
ManagedIdentityCredential, ha az alkalmazás az Azure-ban fut, és konfigurálja az ügyfél-azonosítót, az erőforrás-azonosítót vagy az objektumazonosítót.
- Akkor használja
Az ügyfélazonosító egy felügyelt identitás azonosítására szolgál, amikor olyan alkalmazásokat vagy szolgáltatásokat konfigurál, amelyeknek hitelesíteni kell az adott identitással.
Kérje le a felhasználó által hozzárendelt felügyelt identitáshoz rendelt ügyfélazonosítót a következő paranccsal:
az identity show \ --resource-group <resource-group-name> \ --name <identity-name> \ --query 'clientId'Konfigurálás
ManagedIdentityCredentialaz ügyfélazonosítóval:import { BlobServiceClient } from '@azure/storage-blob'; import { ManagedIdentityCredential, DefaultAzureCredential } from '@azure/identity'; console.log(process.env); 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") { const clientId = process.env.AZURE_CLIENT_ID; if (!clientId) throw Error('AZURE_CLIENT_ID not found for Managed Identity'); return new BlobServiceClient(url, new ManagedIdentityCredential(clientId)); } else { return new BlobServiceClient(url, new DefaultAzureCredential()); } } async function main() { try { const blobServiceClient = createBlobServiceClient(); const containerClient = blobServiceClient.getContainerClient(process.env.AZURE_STORAGE_CONTAINER_NAME); // do something with client 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
TypeScript-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 typescript @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:
- Importálja a
@azure/identitycsomagot. - Adjon át egy megfelelő
TokenCredentialpé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, és konfigurálja az ügyfél-azonosítót, az erőforrás-azonosítót vagy az objektumazonosítót.
- Akkor használható
Az ügyfélazonosító egy felügyelt identitás azonosítására szolgál, amikor olyan alkalmazásokat vagy szolgáltatásokat konfigurál, amelyeknek hitelesíteni kell az adott identitással.
Kérje le a felhasználó által hozzárendelt felügyelt identitáshoz rendelt ügyfélazonosítót a következő paranccsal:
az identity show \ --resource-group <resource-group-name> \ --name <identity-name> \ --query 'clientId'Konfigurálás
ManagedIdentityCredentialaz ügyfélazonosítóval: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") { const clientId = process.env.AZURE_CLIENT_ID; if (!clientId) throw Error('AZURE_CLIENT_ID not found for Managed Identity'); return new BlobServiceClient(url, new ManagedIdentityCredential(clientId)); } 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
DefaultAzureCredentialkeresse 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
ManagedIdentityCredentialvaló üzembe helyezéskor felderíti a felügyelt identitáskonfigurációkat, hogy automatikusan hitelesítse magát más szolgáltatásokban.