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.
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.
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:
- Importálja az osztályt
DefaultAzureCredential
a@azure/identity
modulból. - Hozzon létre egy objektumot
DefaultAzureCredential
. - 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.