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


Az Azure által üzemeltetett Java-alkalmazások hitelesítése

Ez a cikk azt vizsgálja, hogy az Azure Identity-kódtár hogyan támogatja a Microsoft Entra-jogkivonat-hitelesítést az Azure-ban üzemeltetett alkalmazásokhoz. Ez a támogatás a jelen cikkben tárgyalt implementációkon TokenCredential keresztül érhető el.

Ez a cikk a következő témaköröket ismerteti:

Az Azure által üzemeltetett alkalmazásokkal kapcsolatos hitelesítési problémák elhárításához tekintse meg az Azure által üzemeltetett alkalmazáshitelesítés hibaelhárítását.

DefaultAzureCredential

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ót a DefaultAzureCredential áttekintésében talál.

DefaultAzureCredential konfigurálása

DefaultAzureCredential a konfigurációk egy készletét támogatja a környezeti vagy a DefaultAzureCredentialBuilder környezeti változók beállítóin keresztül.

  • A környezeti változók AZURE_CLIENT_IDbeállítása és AZURE_CLIENT_SECRETAZURE_TENANT_ID a környezeti változókban meghatározottak úgy konfigurálhatókDefaultAzureCredential, hogy az értékek által megadott szolgáltatásnévként hitelesítsék magukat.
  • A szerkesztő vagy a környezeti változó AZURE_CLIENT_ID beállítása .managedIdentityClientId(String) úgy konfigurálja DefaultAzureCredential a hitelesítést, mint felhasználó által hozzárendelt felügyelt identitást, miközben üresen hagyja őket, rendszer által hozzárendelt felügyelt identitásként konfigurálja a hitelesítést.
  • A szerkesztő vagy a környezeti változó AZURE_TENANT_ID beállítása .tenantId(String) konfigurálja DefaultAzureCredential a hitelesítést egy adott bérlőn a megosztott jogkivonat-gyorsítótár vagy az IntelliJ IDEA számára.
  • A környezeti változó AZURE_USERNAME beállítása úgy konfigurálható DefaultAzureCredential , hogy a megfelelő gyorsítótárazott jogkivonatot válassza ki a megosztott jogkivonat-gyorsítótárból.

Hitelesítés DefaultAzureCredential használatával

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

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

Felhasználó által hozzárendelt felügyelt identitás hitelesítése DefaultAzureCredential használatával

Az alábbi példa az Azure-security-keyvault-secrets ügyfélkódtárból DefaultAzureCredential való hitelesítést SecretClient mutatja be egy Azure-erőforrásban üzembe helyezett, felhasználó által hozzárendelt felügyelt identitás konfigurálásával.

/**
 * DefaultAzureCredential uses the user-assigned managed identity with the specified client ID.
 */
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
  .managedIdentityClientId("<CLIENT_ID>")
  .build();

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

ManagedIdentityCredential

A ManagedIdentityCredential hitelesíti egy Azure-erőforrás felügyelt identitását (rendszer által hozzárendelt vagy felhasználó által hozzárendelt). Ha tehát az alkalmazás olyan Azure-erőforráson belül fut, amely támogatja a felügyelt identitást a IMDS végpontokon vagy mindkettőn keresztülIDENTITY/MSI, akkor ez a hitelesítő adat hitelesíti az alkalmazást, és titkos hitelesítési élményt nyújt.

További információ: Mik az Azure-erőforrások felügyelt identitásai?.

Hitelesítés az Azure-ban felügyelt identitással

Az alábbi példa az Azure-security-keyvault-secrets ügyfélkódtárból ManagedIdentityCredential származó hitelesítést SecretClient mutatja be egy Virtuális gép, App Service, Functions alkalmazás, Cloud Shell, Service Fabric, Arc vagy AKS-környezet használatával az Azure-ban, és engedélyezve van a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás.

/**
 * Authenticate with a user-assigned managed identity.
 */
ManagedIdentityCredential credential = new ManagedIdentityCredentialBuilder()
  .clientId("<CLIENT_ID>") // required only for user-assigned
  .build();

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

Környezeti változók

Konfigurálhatja és EnvironmentCredential használhat DefaultAzureCredential környezeti változókat. A hitelesítés minden típusához szükség van bizonyos változók értékeire:

Szolgáltatásnév titkos kóddal

Változó neve Érték
AZURE_CLIENT_ID Egy Microsoft Entra-alkalmazás azonosítója.
AZURE_TENANT_ID Az alkalmazás Microsoft Entra-bérlőjének azonosítója.
AZURE_CLIENT_SECRET Az alkalmazás egyik titkos ügyfélkulcsa.

Szolgáltatásnév tanúsítvánnyal

Változó neve Érték
AZURE_CLIENT_ID Egy Microsoft Entra-alkalmazás azonosítója.
AZURE_TENANT_ID Az alkalmazás Microsoft Entra-bérlőjének azonosítója.
AZURE_CLIENT_CERTIFICATE_PATH PEM-kódolt tanúsítványfájl elérési útja, beleértve a titkos kulcsot is (jelszóvédelem nélkül).
AZURE_CLIENT_CERTIFICATE_PASSWORD (nem kötelező) Ha van ilyen, a tanúsítványfájl jelszava.
AZURE_CLIENT_SEND_CERTIFICATE_CHAIN (nem kötelező) Tanúsítványlánc küldése x5c fejlécben a tulajdonosnév/kiállítóalapú hitelesítés támogatásához.

Felhasználónév és jelszó

Változó neve Érték
AZURE_CLIENT_ID Egy Microsoft Entra-alkalmazás azonosítója.
AZURE_TENANT_ID Az alkalmazás Microsoft Entra-bérlőjének azonosítója.
AZURE_USERNAME Felhasználónév (általában e-mail-cím).
AZURE_PASSWORD A megadott felhasználónévhez tartozó jelszó.

A rendszer ebben a sorrendben próbálja meg a konfigurációt. Ha például az ügyfélkulcs és a tanúsítvány értékei is jelen vannak, a rendszer az ügyfélkulcsot használja.

Következő lépések

Ez a cikk az Azure-ban üzemeltetett alkalmazások hitelesítését ismerteti. Ez a hitelesítési mód a Java Azure SDK-ban történő hitelesítés egyik módja. A következő cikkek a következő módszereket ismertetik:

Ha problémákba ütközik az Azure által üzemeltetett alkalmazáshitelesítéssel kapcsolatban, tekintse meg az Azure által üzemeltetett alkalmazáshitelesítés hibaelhárítását.

A hitelesítés elsajátítása után az SDK által biztosított naplózási funkciókkal kapcsolatos információkért tekintse meg a Java Azure SDK naplózásának konfigurálása című témakört.