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_ID
beállítása ésAZURE_CLIENT_SECRET
AZURE_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áljaDefaultAzureCredential
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áljaDefaultAzureCredential
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:
- Azure-hitelesítés fejlesztési környezetekben
- Hitelesítés szolgáltatásnevek használatával
- Hitelesítés felhasználói hitelesítő adatokkal
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.