Azure-hitelesítés Java és Azure Identity használatával
Ez a cikk áttekintést nyújt a Java-hoz készült Azure Identity-kódtárról, amely a Microsoft Entra-jogkivonat-hitelesítést támogatja a Javá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:
-
Azure-hitelesítés Java fejlesztői környezetekben, amely a következőket teszi lehetővé:
- IDEA IntelliJ-hitelesítés az IntelliJ-hez készült Azure Toolkit eszközkészletből lekért bejelentkezési adatokkal.
- Azure CLI-hitelesítés az Azure CLI-ben mentett bejelentkezési adatokkal
- Azure Developer CLI-hitelesítés az Azure Developer CLI-ben mentett bejelentkezési adatokkal
- Azure PowerShell-hitelesítés az Azure PowerShellben mentett bejelentkezési adatokkal
-
Az Azure-ban üzemeltetett alkalmazások hitelesítése, amely a következőket teszi lehetővé:
-
DefaultAzureCredential
hitelesítés - Felügyelt identitás hitelesítése
-
-
Hitelesítés szolgáltatásnévvel, amely a következőket teszi lehetővé:
- Titkos ügyfélkód hitelesítése
- Ügyféltanúsítvány-hitelesítés
-
Hitelesítés felhasználói hitelesítő adatokkal, amely a következőket teszi lehetővé:
- Interaktív böngészőhitelesítés
- Eszközkód-hitelesítés
- Felhasználónév/jelszó hitelesítése
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 projekt pom.xml fájljába a következő XML-t. 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 DefaultAzureCredential szakaszát.
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 olyan kódtárak az Azure-szolgáltatások használatához, amelyeket ügyfélkódtáraknak, valamint az Azure-szolgáltatások felügyeletére szolgáló kódtárakat, úgynevezett felügyeleti kódtárakat. 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 DefaultAzureCredential
tö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.
Következő 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
: