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-on kívül, például a helyszínen vagy egy harmadik fél adatközpontjában üzemeltetett alkalmazásoknak egy alkalmazásszolgáltatási főpéldányt kell használniuk a Microsoft Entra ID segítségével az Azure-szolgáltatásokhoz való hitelesítéshez. Az alábbi szakaszokban a következő ismereteket ismerheti meg:
- Alkalmazás regisztrálása a Microsoft Entra szolgáltatásnév létrehozásához
- Szerepkörök hozzárendelése hatókörengedélyekhez
- Hitelesítés szolgáltatásnévvel az alkalmazáskódból
A dedikált alkalmazásszolgáltatás-tagok használatával betarthatja a minimális jogosultság elvét az Azure-erőforrások elérésekor. Az engedélyek az alkalmazás adott követelményeire korlátozódnak a fejlesztés során, megakadályozva a más alkalmazásokhoz vagy szolgáltatásokhoz szánt Azure-erőforrásokhoz való véletlen hozzáférést. Ez a megközelítés abban is segít, hogy elkerüljük a problémákat, amikor az alkalmazást éles környezetbe helyezzük át, biztosítva, hogy a fejlesztési környezetben ne kapjon túlzott jogosultságokat.
Minden olyan környezethez létre kell hozni egy másik alkalmazásregisztrációt, amelyben az alkalmazás üzemel. Ez lehetővé teszi a környezetspecifikus erőforrás-engedélyek konfigurálását minden egyes szolgáltatásnévhez, és győződjön meg arról, hogy egy adott környezetben üzembe helyezett alkalmazás nem beszél egy másik környezet részét képező Azure-erőforrással.
Az alkalmazás regisztrálása az Azure-ban
Az alkalmazásszolgáltatás fő objektumai egy azure-beli alkalmazásregisztráción keresztül jönnek létre az Azure Portal vagy az Azure CLI használatával.
Az Azure Portalon a keresősávon lépjen az Alkalmazásregisztrációk lapra.
A Alkalmazásregisztrációk lapon válassza az + Új regisztráció lehetőséget.
Az Alkalmazás regisztrációs oldal lapon:
- A Név mezőben adjon meg egy leíró értéket, amely tartalmazza az alkalmazás nevét és a célkörnyezetet.
- A támogatott fióktípusokesetén válassza a fiókok közül csak az ebben a szervezeti címtárban lévő fiókokat (csak Microsoft által vezetett ügyfél – egyetlen bérlő), vagy válassza azt az opciót, amelyik a legjobban megfelel a követelményeknek.
Az alkalmazás regisztrálásához és a szolgáltatási főszereplő létrehozásához válassza a Regisztrálás lehetőséget.
Az alkalmazás alkalmazásregisztrációs lapján másolja ki a alkalmazás (ügyfél) azonosítóját és címtár (bérlő) azonosítóját, majd illessze be őket egy ideiglenes helyre, hogy később használhassa őket az alkalmazáskód-konfigurációkban.
Válassza Tanúsítvány vagy titkos hozzáadása lehetőséget az alkalmazás hitelesítő adatainak beállításához.
A Tanúsítványok > titkos kódok lapon válassza az + Új ügyfélkód lehetőséget.
A megnyíló Ügyféltitok hozzáadása lebegő panelen:
- A Leírásmezőben adja meg a Current értéket.
- A Lejárat értéknél hagyja meg az alapértelmezett 180 napos ajánlott értéket.
- Válassza a Hozzáadás lehetőséget a titkos hozzáadásához.
A Tanúsítványok & titkos kulcsok lapon másolja ki az ügyfél titkos kódjának Érték tulajdonságát egy későbbi lépésben való használatra.
Jegyzet
Az ügyfél titkos kódjának értéke csak egyszer jelenik meg az alkalmazásregisztráció létrehozása után. További ügyféltitkokat adhat hozzá anélkül, hogy érvénytelenítené ezt az ügyféltitkot, de ezt az értéket nem lehet újból megjeleníteni.
Szerepkörök hozzárendelése az application service principalhez
Ezután határozza meg, hogy az alkalmazásnak milyen szerepkörökre (engedélyekre) van szüksége az erőforrásokhoz, és rendelje hozzá ezeket a szerepköröket a létrehozott szolgáltatásnévhez. A szerepkörök az erőforrás, az erőforráscsoport vagy az előfizetés hatókörében rendelhetők hozzá. 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.
Az Azure Portalon keresse meg az alkalmazást tartalmazó erőforráscsoport Áttekintés lapját.
Válassza a bal oldali navigációs sávon 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ása lehetőséget, majd a legördülő menüben válassza a Szerepkör-hozzárendelés hozzáadása lehetőséget. A Szerepkör-hozzárendelés hozzáadása lapon számos lap található a szerepkörök konfigurálásához és hozzárendeléséhez.
A Szerepkör lapon keresse meg a hozzárendelni kívánt szerepkört a keresőmezővel. Jelölje ki a szerepkört, majd válassza a Következőlehetőséget.
A Tagok lapon:
- A Hozzáférés hozzárendelése a értékhez: válassza a(z) Felhasználó, csoport vagy szolgáltatási főszereplő lehetőséget.
- A Tagok értéknél válassza a + Tagok kiválasztása lehetőséget a Tagok kiválasztása előtűnő panel megnyitásához.
- Keresse meg a korábban létrehozott szolgáltatásnevet, és válassza ki a szűrt eredmények közül. Válassza a és lehetőséget a csoport kiválasztásához, majd zárja be az úszó panelt.
- Válassza Véleményezés + hozzárendelés a Tagok lap alján.
A Véleményezés + hozzárendelés lapon válassza a Véleményezés + hozzárendelés lehetőséget a lap alján.
Az alkalmazáskörnyezet változóinak beállítása
Futásidőben az Azure Identity Librarybizonyos hitelesítő adatai – például DefaultAzureCredential, EnvironmentCredentialés ClientSecretCredential– konvenció szerint keresnek szolgáltatásnév-információkat a környezeti változókban. A környezeti változók többféleképpen konfigurálhatók a .NET használata során az eszköztől és a környezettől függően.
A választott megközelítéstől függetlenül konfigurálja a következő környezeti változókat egy szolgáltatásnévhez:
-
AZURE_CLIENT_ID: Az Azure-ban regisztrált alkalmazás azonosítására szolgál. -
AZURE_TENANT_ID: A Microsoft Entra-bérlő azonosítója. -
AZURE_CLIENT_SECRET: Az alkalmazáshoz létrehozott titkos hitelesítő adatok.
A Visual Studióban a környezeti változók a projekt Properties mappájának launchsettings.json fájljában állíthatók be. Ezeket az értékeket a rendszer automatikusan beszedi az alkalmazás indításakor. Ezek a konfigurációk azonban nem utaznak az alkalmazással az üzembe helyezés során, ezért környezeti változókat kell beállítania a célüzemeltetési környezetben.
"profiles": {
"SampleProject": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"applicationUrl": "https://localhost:7177;http://localhost:5177",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"AZURE_CLIENT_ID": "<your-client-id>",
"AZURE_TENANT_ID":"<your-tenant-id>",
"AZURE_CLIENT_SECRET": "<your-client-secret>"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"AZURE_CLIENT_ID": "<your-client-id>",
"AZURE_TENANT_ID":"<your-tenant-id>",
"AZURE_CLIENT_SECRET": "<your-client-secret>"
}
}
}
Hitelesítés az Azure-szolgáltatásokban az alkalmazásból
A Azure Identity-kódtár különböző hitelesítő adatokat biztosít– a különböző forgatókönyvekhez és a Microsoft Entra-hitelesítési folyamatokhoz igazított TokenCredential implementációit. Az alábbi lépések bemutatják, hogyan használható ClientSecretCredential a szolgáltatásnevek helyi és éles környezetben történő használata során.
A kód implementálása
Adja hozzá a Azure.Identity csomagot. Egy ASP.NET Core-projektben telepítse a Microsoft.Extensions.Azure csomagot is:
Keresse meg az alkalmazásprojekt könyvtárát egy tetszőleges terminálon, és futtassa a következő parancsokat:
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
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. Ezeket az osztályokat és a saját egyéni szolgáltatásokat regisztrálni kell a függőséginjektáláshoz, hogy azok az alkalmazás teljes területén használhatók legyenek. A(z) Program.cscsoportban hajtsa végre a következő lépéseket egy kliensosztály függőséginjektálásának és token alapú hitelesítésének konfigurálásához:
- Tartalmazza a
Azure.Identityés aMicrosoft.Extensions.Azurenévtereketusingirányelvekkel. - Regisztrálja az Azure szolgáltatás kliensét a megfelelő
Add-előtagú kiterjesztési metódus használatával. - Konfigurálja az
ClientSecretCredential-t atenantId-gyel,clientId-vel ésclientSecret-mal. - Adja át a
ClientSecretCredentialpéldányt aUseCredentialmetódusnak.
builder.Services.AddAzureClients(clientBuilder =>
{
var tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");
var clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");
var clientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET");
clientBuilder.AddBlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"));
clientBuilder.UseCredential(new ClientSecretCredential(tenantId, clientId, clientSecret));
});
A UseCredential módszer alternatíva a hitelesítő adatok közvetlen biztosítása a szolgáltatásügyfél számára:
var tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");
var clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");
var clientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET");
builder.Services.AddSingleton<BlobServiceClient>(_ =>
new BlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"),
new ClientSecretCredential(tenantId, clientId, clientSecret)));