Azure-hitelesítés Java és Azure Identity használatával

Ez a cikk áttekintést nyújt a Java Azure Identity-kódtárról, amely Microsoft Entra-jogkivonat-hitelesítést biztosít a Java-hoz készült Azure SDK-ban. Ez a kódtár számos olyan implementációt biztosít TokenCredential , amelyekkel Olyan Azure SDK-ügyfeleket hozhat létre, amelyek támogatják a Microsoft Entra-jogkivonat-hitelesítést.

Az Azure Identity-kódtár jelenleg a következőket támogatja:

Kövesse ezeket a hivatkozásokat, ha többet szeretne megtudni az egyes hitelesítési módszerek jellemzőiről. A cikk további részében bemutatjuk a gyakran használt DefaultAzureCredential és kapcsolódó témákat.

A Maven-függőségek hozzáadása

A Maven-függőség hozzáadásához vegye fel a következő XML-t a projekt pom.xml fájljába. Cserélje le {version_number} a legújabb stabil kiadás verziószámára az Azure Identity-kódtár oldalán látható módon.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{version_number}</version>
</dependency>

Fő fogalmak

Az Azure Identity-kódtár megértésének két fő fogalma van: a hitelesítő adatok fogalma és a hitelesítő adatok leggyakoribb implementálása. DefaultAzureCredential

A hitelesítő adatok olyan osztályok, amelyek tartalmazzák vagy lekérhetik a kérések hitelesítéséhez szükséges adatokat a szolgáltatásügyfél számára. Az Azure SDK szolgáltatás-ügyfelei a létrehozásakor elfogadják a hitelesítő adatokat, a szolgáltatás ügyfelei pedig ezeket a hitelesítő adatokat használják a szolgáltatáshoz érkező kérések hitelesítéséhez.

Az Azure Identity-kódtár a Microsoft Entra ID-val történő OAuth-hitelesítésre összpontosít, és különböző hitelesítő osztályokat kínál, amelyek a szolgáltatáskérések hitelesítéséhez microsoft Entra-jogkivonatot szerezhetnek be. A kódtárban található összes hitelesítő osztály az TokenCredential azure-core absztrakt osztályának implementációja, és bármelyikkel létrehozhat olyan szolgáltatásügyfeleket, amelyek hitelesíthetők egy TokenCredential.

DefaultAzureCredential a legtöbb olyan forgatókönyv esetében megfelelő, ahol az alkalmazás végső soron az Azure Cloudban fog futni. DefaultAzureCredential az üzembe helyezéskor gyakran használt hitelesítő adatokat kombinálja a fejlesztési környezetben történő hitelesítéshez használt hitelesítő adatokkal. További információkért, beleértve a példákat isDefaultAzureCredential, tekintse meg az Azure által üzemeltetett Java-alkalmazások hitelesítésének alapértelmezett Azure-hitelesítő adatait ismertető szakaszt.

Példák

Amint azt a Java-hoz készült Azure SDK használatában is említettük, a felügyeleti kódtárak kissé eltérnek egymástól. Az egyik különbség az, hogy vannak kódtárak az Azure-szolgáltatások, az úgynevezett ügyfélkódtárak és az Azure-szolgáltatások kezelésére szolgáló kódtárak, úgynevezett felügyeleti kódtárak használatához. A következő szakaszokban gyorsan áttekintheti az ügyfél- és felügyeleti kódtárak hitelesítését.

Azure-ügyfélkódtárak hitelesítése

Az alábbi példa az azure-security-keyvault-secrets ügyfélkódtárból való hitelesítést SecretClient mutatja be a használatávalDefaultAzureCredential.

// Azure SDK client builders accept the credential as a parameter.
SecretClient client = new SecretClientBuilder()
  .vaultUrl("https://<your Key Vault name>.vault.azure.net")
  .credential(new DefaultAzureCredentialBuilder().build())
  .buildClient();

Azure felügyeleti kódtárak hitelesítése

Az Azure felügyeleti kódtárai ugyanazokat a hitelesítő API-kat használják, mint az Azure-ügyfélkódtárak, de azure-előfizetés-azonosítót is igényelnek az adott előfizetés Azure-erőforrásainak kezeléséhez.

Az előfizetés azonosítóit az Azure Portal Előfizetések lapján találja. Másik lehetőségként használja az alábbi Azure CLI-parancsot az előfizetés azonosítóinak lekéréséhez:

az account list --output table

Az előfizetés azonosítóját a AZURE_SUBSCRIPTION_ID környezeti változóban állíthatja be. AzureProfile Ezt az azonosítót veszi fel alapértelmezett előfizetés-azonosítóként egy Manager példány létrehozása során az alábbi példában:

AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
        new DefaultAzureCredentialBuilder().build(),
        new AzureProfile(AzureEnvironment.AZURE))
    .withDefaultSubscription();

DefaultAzureCredential ebben a példában használt példány hitelesítése AzureResourceManager a következő használatával DefaultAzureCredentialtörténik: . Az Azure Identity-kódtárban kínált egyéb Token Credential implementációkat is használhatja a helyett.DefaultAzureCredential

Hibaelhárítás

Útmutatásért tekintse meg az Azure Identity hitelesítési problémáinak elhárítását ismertető témakört.

További lépések

Ez a cikk bemutatta a Java Azure SDK-ban elérhető Azure Identity-funkciókat. Ez sok esetben gyakorinak és megfelelőnek minősül DefaultAzureCredential . Az alábbi cikkek az Azure Identity-kódtár használatával történő hitelesítés egyéb módjait ismertetik, és további információt nyújtanak a következőkről DefaultAzureCredential: