Megosztás a következőn keresztül:


Java-alkalmazások hitelesítése az Azure szolgáltatásokhoz a helyi fejlesztés során szolgáltatásnév használatával

A helyi fejlesztés során az alkalmazásoknak hitelesítést kell végeznie a különböző Azure szolgáltatások eléréséhez Azure. A helyi hitelesítést az alábbi módszerek egyikével végezheti el:

Ez a cikk az alkalmazás-szolgáltatásnév használatát ismerteti. További információ a szolgáltatási főkulcsokról: Alkalmazás- és szolgáltatási főkulcs-objektumok a Microsoft Entra ID-ban. Ebben a cikkben a következőt ismerheti meg:

  • Egy alkalmazás regisztrálása a Microsoft Entra szolgáltatásazonosító létrehozásához.
  • Microsoft Entra csoportok használata az engedélyek hatékony kezeléséhez.
  • 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.

A dedikált alkalmazásszolgáltatás-tagok használata lehetővé teszi a minimális jogosultság elvét Azure erőforrások elérésekor. A fejlesztés során korlátozhatja az alkalmazás adott követelményeire vonatkozó engedélyeket, 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 a problémákat, amikor az alkalmazás éles környezetbe kerül át, és biztosítja, hogy a fejlesztési környezetben ne rendelkezzen túlzott jogosultságokkal.

Egy diagram, amely bemutatja, hogy egy helyi Java-alkalmazás szolgáltatási főazonosító használatával hogyan csatlakozik Azure-erőforrásokhoz.

Amikor regisztrálja az alkalmazást az Azure-ben, létrejön egy alkalmazási szolgáltatás főazonosító. A helyi fejlesztéshez a következőt kell tenni:

  • Hozzon létre egy külön alkalmazásregisztrációt az alkalmazáson dolgozó minden fejlesztő számára, hogy minden fejlesztő saját alkalmazásszolgáltatás-tagot használjon, és ne kelljen hitelesítő adatokat megosztania.
  • Hozzon létre egy külön alkalmazásregisztrációt minden alkalmazáshoz, hogy az alkalmazás engedélyeit csak a szükségesre korlátozza.

A helyi fejlesztés során állítsa be a környezeti változókat az application service principal identitásával. Az Azure Identitástár beolvassa ezeket a környezeti változókat az alkalmazás hitelesítéséhez a szükséges Azure erőforrásokhoz.

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.

  1. A Azure portál keresősávján lépjen a App registrations lapra.

  2. A App registrations lapon válassza a + Új regisztráció lehetőséget.

  3. 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.
  4. 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 Azure portálon egy alkalmazásregisztráció létrehozását bemutató képernyőkép.

  5. 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.

  6. 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.

  7. A Tanúsítványok > titkos kódok lapon válassza az + Új ügyfélkód lehetőséget.

  8. 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.
  9. 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.

Microsoft Entra csoport létrehozása helyi fejlesztéshez

Hozzon létre egy Microsoft Entra csoportot, amely az alkalmazás által igényelt szerepköröket (engedélyeket) foglalja magában a helyi fejlesztés során ahelyett, hogy a szerepköröket az egyes szolgáltatásnév-objektumokhoz rendelné. Ez a megközelítés a következő előnyöket kínálja:

  • Minden fejlesztőhöz ugyanazok a szerepkörök vannak hozzárendelve a csoport szintjén.
  • Ha új szerepkörre van szükség az alkalmazáshoz, azt csak az alkalmazás csoportához kell hozzáadni.
  • Ha egy új fejlesztő csatlakozik a csapathoz, egy új alkalmazásszolgáltatás-tag jön létre a fejlesztő számára, és hozzáadódik a csoporthoz, biztosítva, hogy a fejlesztő megfelelő engedélyekkel rendelkezik az alkalmazás használatához.
  1. Lépjen a Microsoft Entra ID áttekintési lapjára a Azure portálon.

  2. Válassza az Összes csoportot a bal oldali menüből.

  3. A Csoportok lapon válassza Új csoportlehetőséget.

  4. Az Új csoport lapon töltse ki az alábbi űrlapmezőket:

    • Csoport típusa: Válassza a Biztonság lehetőséget.
    • Csoportnév: Adja meg annak a csoportnak a nevét, amely az alkalmazás vagy a környezet nevére mutató hivatkozást tartalmaz.
    • Csoport leírása: Adjon meg egy leírást, amely ismerteti a csoport célját.

    Az Azure portál képernyőképe, amely bemutatja, hogyan lehet létrehozni egy csoportot.

  5. A Tagok alatt válassza a Nincsenek tagok kiválasztva hivatkozást, hogy tagokat adjon a csoporthoz.

  6. A megnyíló legördülő panelen keresse meg a korábban létrehozott szolgáltatási objektumot, és válassza ki a szűrt eredmények közül. A kijelölés megerősítéséhez kattintson a panel alján található Kiválasztás gombra.

  7. Az Új csoport lap alján válassza a Létrehozás lehetőséget a csoport létrehozásához és a Minden csoport laphoz való visszatéréshez. Ha nem látja az új csoportot a listában, várjon egy kis időt, és frissítse a lapot.

Szerepkörök hozzárendelése a csoporthoz

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 Microsoft Entra csoporthoz. A csoportok szerepkörhöz rendelhetők az erőforrás, az erőforráscsoport vagy az 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.

  1. A Azure portálon keresse meg az alkalmazást tartalmazó erőforráscsoport Overview lapját.

  2. A bal oldali navigációs sávon válassza a Hozzáférés-vezérlés (IAM) lehetőséget.

  3. 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.

  4. 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.

  5. 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 Microsoft Entra csoportot, é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.

    Egy képernyőkép, amely megmutatja, hogyan lehet szerepkört hozzárendelni a Microsoft Entra csoporthoz.

  6. 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 az eszköztől és a környezettől függően különböző módokon konfigurálhatja a környezeti változókat.

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.

Adja hozzá a következő sorokat a ~/.bashrc vagy ~/.zshrc fájlhoz. 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>"

A fájl szerkesztése után futtassa a source ~/.bashrc vagy a source ~/.zshrc parancsot, hogy alkalmazza a módosításokat az aktuális munkamenetre.

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:

  1. Importálja az osztályt ClientSecretCredentialBuilder a com.azure.identity csomagból.
  2. Hozzon létre egy ClientSecretCredential objektumot ClientSecretCredentialBuilder a tenantId, clientId és clientSecret használatával.
  3. Adja át a ClientSecretCredential példányt az Azure SDK ügyfélobjektum-készítő credential metó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();

Következő lépések

Az a cikk a szolgáltatási megbízottal történő hitelesítést tárgyalta. Ez a hitelesítési mód a Java Azure SDK történő hitelesítés egyik módja. A következő cikkek a hitelesítés egyéb módjait ismertetik:

Ha problémákba ütközik a szolgáltatásnév-hitelesítéssel kapcsolatban, tekintse meg a szolgáltatásnév-hitelesítés hibaelhárítását.

A hitelesítés elsajátítása után tekintse meg a A naplózás konfigurálása az Azure SDK-ban Java-hoz az SDK által biztosított naplózási funkciókról.