Azure-beli alkalmazások hitelesítése Azure-erőforrásokba a .NET-hez készült Azure SDK-val
Ha egy alkalmazást egy olyan szolgáltatással üzemeltetnek az Azure-ban, mint a Azure-alkalmazás Szolgáltatás, az Azure Virtual Machines vagy az Azure Container Instances, az alkalmazások 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 olyan identitást biztosít az alkalmazás számára, amely anélkül tud más Azure-erőforrásokhoz csatlakozni, hogy titkos kulcsot vagy más alkalmazáskulcsot kellene használnia. 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 lekérjük a Microsoft Entra-jogkivonatokat az alkalmazáshoz, hogy más Azure-erőforrásokhoz kapcsolódhasson anélkül, hogy az alkalmazás titkos kulcsait kellene kezelnie.
Felügyelt identitástípusok
A felügyelt identitásoknak két típusa létezik:
- Rendszer által hozzárendelt felügyelt identitások – Ezt a típusú felügyelt identitást közvetlenül egy Azure-erőforrás biztosítja és köti össze. 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. A rendszer által hozzárendelt felügyelt identitás a társított 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 – Önálló Azure-erőforrásként is létrehozhat felügyelt identitást. 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.
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.
1 – Felügyelt identitás engedélyezése az alkalmazást üzemeltető Azure-erőforrá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 .NET-alkalmazást üzemeltet a Azure-alkalmazás Service használatával, engedélyeznie kell a felügyelt identitást az alkalmazást üzemeltető 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
DefaultAzureCredential
több hitelesítési módszert támogat, é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.
A hitelesítő adatokat kereső sorrend és helyek DefaultAzureCredential
a DefaultAzureCredential helyen találhatók.
A megvalósításhoz DefaultAzureCredential
először adja hozzá a Azure.Identity
csomagokat, és igény szerint adja hozzá az Microsoft.Extensions.Azure
alkalmazáshoz. Ezt a parancssor vagy a NuGet Csomagkezelő használatával teheti meg.
Nyisson meg egy tetszőleges terminálkörnyezetet az alkalmazásprojekt könyvtárában, és írja be az alábbi parancsot.
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
Az Azure-szolgáltatásokat általában az SDK megfelelő ügyfélosztályai használják. Ezeket az osztályokat és a saját egyéni szolgáltatásokat regisztrálni kell a Program.cs
fájlban, hogy az alkalmazás függőséginjektálásával elérhetőek legyenek. Program.cs
Belül kövesse az alábbi lépéseket a szolgáltatás és a .DefaultAzureCredential
- A névterek és
Microsoft.Extensions.Azure
aAzure.Identity
névterek belefoglalása egyusing
irányelvbe. - Regisztrálja az Azure-szolgáltatást a megfelelő segítő módszerek használatával.
- Adja át az objektum egy példányát
DefaultAzureCredential
aUseCredential
metódusnak.
Erre példa a következő kódszakaszban látható.
using Microsoft.Extensions.Azure;
using Azure.Identity;
// Inside of Program.cs
builder.Services.AddAzureClients(x =>
{
x.AddBlobServiceClient(new Uri("https://<account-name>.blob.core.windows.net"));
x.UseCredential(new DefaultAzureCredential());
});
Azt is megteheti, hogy a szolgáltatásokban közvetlenül, további Azure-regisztrációs módszerek nélkül is használhatja DefaultAzureCredential
az alábbiakban látható módon.
using Azure.Identity;
// Inside of Program.cs
builder.Services.AddSingleton<BlobServiceClient>(x =>
new BlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"),
new DefaultAzureCredential()));
Ha a fenti kód a helyi fejlesztés során fut a helyi munkaállomáson, az alkalmazás-szolgáltatásnév környezeti változóiban, illetve a Visual Studióban, a VS Code-ban, az Azure CLI-ben vagy az Azure PowerShellben fog keresni a fejlesztői hitelesítő adatok készletében, amelyek bármelyikével hitelesítheti az alkalmazást az Azure-erőforrásokban a helyi fejlesztés során.
Az Azure-ban való üzembe helyezéskor ugyanez a kód más Azure-erőforrásokon is hitelesítheti az alkalmazást. DefaultAzureCredential
lekérheti a környezeti beállításokat és a felügyelt identitáskonfigurációkat a többi szolgáltatás automatikus hitelesítéséhez.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: