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.
A Azure kívül üzemeltetett alkalmazásoknak, például a helyszínen vagy egy külső adatközpontban, Microsoft Entra ID kell használniuk egy alkalmazásszolgáltatásnevet a Azure szolgáltatások hitelesítéséhez. A következő szakaszokban a következőket ismerheti meg:
- Egy alkalmazás regisztrálása a Microsoft Entra szolgáltatásazonosító létrehozásához.
- Szerepkörök hozzárendelése hatókörengedélyekhez.
- Hogyan lehet hitelesíteni egy szolgáltatási főazonosító használatával az alkalmazáskódon keresztül.
Dedikált alkalmazásszolgáltatás-tagok használatával a minimális jogosultság elvét követheti Azure erőforrások elérésekor. Korlátozza az alkalmazás adott követelményeire vonatkozó engedélyeket a fejlesztés során, hogy megakadályozza a más alkalmazásokhoz vagy szolgáltatásokhoz szánt Azure erőforrások véletlen elérését. Ez a megközelítés segít elkerülni az alkalmazás éles környezetbe való áthelyezésekor felmerülő problémákat is, mert így biztosíthatja, hogy az alkalmazás ne legyen túljogosított a fejlesztői környezetben.
Hozzon létre egy másik alkalmazásregisztrációt minden olyan környezethez, ahol az alkalmazást üzemelteti. Konfigurálhat környezetspecifikus erőforrás-engedélyeket minden egyes szolgáltatásnévhez, és biztosíthatja, hogy az egyik környezetben üzembe helyezett alkalmazás ne férhessen hozzá Azure erőforrásokhoz egy másik környezetben.
Az alkalmazás regisztrálása a Azure
Az alkalmazásszolgáltatási szolgáltatásfő objektumai az Azure-ban egy alkalmazásregisztráción keresztül jönnek létre, az Azure portál vagy az Azure CLI használatával.
A Azure portál keresősávján lépjen a App registrations lapra.
A App registrations lapon válassza a + Új regisztráció lehetőséget.
Az alkalmazás regisztrálása oldalon:
- 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 csak ebben a szervezeti címtárban lévő fiókokat (csak Microsoft Ügyfél által vezetett – Egyetlen bérlő), vagy amelyik a legjobban megfelel a követelményeknek.
Az alkalmazás regisztrálásához és a szolgáltatásfőfelhasználó 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élkód hozzáadása legördülő panelen:
- A Leírásmezőben adja meg az Aktuális értéket.
- A Lejárat értéknél hagyja meg az alapértelmezett 180 napos ajánlott értéket.
- Válassza az Hozzáadás lehetőséget a titkos kód 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.
Megjegyzés:
Az ügyfél titkos kódjának értéke csak egyszer jelenik meg az alkalmazásregisztráció létrehozása után. Több ügyféltitkot is hozzáadhat anélkül, hogy érvénytelenítené ezt az ügyféltitkot, de ennek az értékét többé nem lehet 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.
A Azure portálon keresse meg az alkalmazást tartalmazó erőforráscsoport Overview lapját.
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, 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 lap számos lapot biztosít a szerepkörök konfigurálásához és hozzárendeléséhez.
A Szerepkör lapon a keresőmezővel keresse meg a hozzárendelni kívánt szerepkört. Jelölje ki a szerepkört, majd kattintson a Tovább gombra.
A Tagok lapon:
- Az értékhez való hozzáférés hozzárendeléséhez válassza a Felhasználó, csoport vagy szolgáltatásnév lehetőséget.
- A Tagok értéknél válassza a + Tagok kijelölése lehetőséget a Tagok kijelölése úszó 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 , majd a lehetőséget a csoport kijelöléséhez és a lebegő panel bezárásához.
- Válassza a Véleményezés + hozzárendelés lehetőséget 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
Futtatási időben az Azure Identity könyvtár bizonyos hitelesítő adatai, mint például a DefaultAzureCredential, EnvironmentCredential és ClientSecretCredential, konvenció szerint keresik a szolgáltatás főgazda információkat a környezeti változókban. A Java használatakor többféleképpen konfigurálhatja a környezeti változókat az eszközhasználattó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: A regisztrált alkalmazás azonosítására szolgál a Azure. -
AZURE_TENANT_ID: A Microsoft Entra bérlő azonosítója. -
AZURE_CLIENT_SECRET: Az alkalmazáshoz létrehozott titkos hitelesítő adatok.
Állítsa be a következő környezeti változókat. Cserélje le a helyőrző értékeket az alkalmazásregisztráció tényleges értékeire:
export AZURE_CLIENT_ID="<your-client-id>"
export AZURE_TENANT_ID="<your-tenant-id>"
export AZURE_CLIENT_SECRET="<your-client-secret>"
Egy éles kiszolgálón rendszerezett szolgáltatásként futó Java-alkalmazások esetében adja meg a környezeti változókat egy fájlban, és hivatkozzon rá a szolgáltatásegység-fájl EnvironmentFile irányelvével:
[Unit]
Description=Java application service
After=network.target
[Service]
User=app-user
WorkingDirectory=/path/to/java-app
EnvironmentFile=/path/to/java-app/app-environment-variables
ExecStart=/usr/bin/java -jar app.jar
[Install]
WantedBy=multi-user.target
A környezeti fájlnak tartalmaznia kell a környezeti változók listáját az értékükkel:
AZURE_CLIENT_ID=<your-client-id>
AZURE_TENANT_ID=<your-tenant-id>
AZURE_CLIENT_SECRET=<your-client-secret>
Hitelesítés Azure szolgáltatásokhoz az alkalmazásból
Az Azure Identitástár különböző hitelesítő adatokat - a különböző forgatókönyveket és Microsoft Entra hitelesítési folyamatokat támogató TokenCredential implementációit biztosítja. Az alábbi lépések bemutatják, hogyan használhatja a ClientSecretCredential-t, amikor helyi és éles környezetben dolgozik a szolgáltatásnevekkel.
A kód implementálása
Adja hozzá a azure-identity függőséget a pom.xml fájlhoz:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
A Azure szolgáltatásokat a különböző Azure SDK ügyfélkódtárak speciális ügyfélosztályainak használatával érheti el. Minden olyan Java kód esetében, amely Azure SDK ügyfélobjektumot hoz létre az alkalmazásban, kövesse az alábbi lépéseket:
- Importálja az osztályt
ClientSecretCredentialBuilderacom.azure.identitycsomagból. - Hozzon létre egy
ClientSecretCredentialobjektumotClientSecretCredentialBuilderatenantId,clientIdésclientSecrethasználatával. - Adja át a
ClientSecretCredentialpéldányt az Azure SDK ügyfélobjektum-készítőcredentialmetódusának.
Erre a megközelítésre a következő kódszegmensben látható példa:
import com.azure.identity.ClientSecretCredential;
import com.azure.identity.ClientSecretCredentialBuilder;
import com.azure.storage.blob.BlobServiceClient;
import com.azure.storage.blob.BlobServiceClientBuilder;
String tenantId = System.getenv("AZURE_TENANT_ID");
String clientId = System.getenv("AZURE_CLIENT_ID");
String clientSecret = System.getenv("AZURE_CLIENT_SECRET");
ClientSecretCredential credential = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
BlobServiceClient blobServiceClient = new BlobServiceClientBuilder()
.endpoint("https://<account-name>.blob.core.windows.net")
.credential(credential)
.buildClient();