Azure-hitelesítés szolgáltatásnévvel

Ez a cikk azt vizsgálja, hogy az Azure Identity-kódtár hogyan támogatja a Microsoft Entra-jogkivonatok szolgáltatásnévvel történő hitelesítését. Ez a cikk a következő témaköröket ismerteti:

További információ: Alkalmazás- és szolgáltatásnév-objektumok a Microsoft Entra-azonosítóban. A szolgáltatásnév-hitelesítés hibáinak elhárításához tekintse meg a szolgáltatásnév-hitelesítés hibaelhárítását.

Szolgáltatásnév létrehozása az Azure CLI-vel

Az alábbi Azure CLI-példák segítségével hozhat létre vagy kérhet le titkos ügyfélkód-hitelesítő adatokat.

A következő paranccsal hozzon létre egy szolgáltatásnevet, és konfigurálja az Azure-erőforrásokhoz való hozzáférését:

az ad sp create-for-rbac \
    --name <your application name> \
    --role Contributor \
    --scopes /subscriptions/mySubscriptionID

Ez a parancs az alábbi kimenethez hasonló értéket ad vissza:

{
"appId": "generated-app-ID",
"displayName": "dummy-app-name",
"name": "http://dummy-app-name",
"password": "random-password",
"tenant": "tenant-ID"
}

A következő paranccsal hozzon létre egy egyszerű szolgáltatást egy tanúsítvánnyal együtt. Jegyezze fel a tanúsítvány elérési útját/helyét.

az ad sp create-for-rbac \
    --name <your application name> \
    --role Contributor \
    --cert <certificate name> \
    --create-cert

Ellenőrizze a visszaadott hitelesítő adatokat, és jegyezze fel a következő információkat:

  • AZURE\_CLIENT\_ID az appId azonosítóhoz.
  • AZURE\_CLIENT\_SECRET jelszót.
  • AZURE\_TENANT\_ID a bérlő számára.

Titkos ügyféladat-hitelesítő adatok

Ez a hitelesítő adat a létrehozott szolgáltatásnevet az ügyfél titkos kódjával (jelszavával) hitelesíti. Ez a példa az azure-security-keyvault-secrets ügyfélkódtárból való hitelesítést SecretClient mutatja be a ClientSecretCredential.

/**
 *  Authenticate with client secret.
 */
ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
  .clientId("<your client ID>")
  .clientSecret("<your client secret>")
  .tenantId("<your tenant ID>")
  .build();

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

Ügyféltanúsítvány hitelesítő adatai

Ez a hitelesítő adat hitelesíti a létrehozott szolgáltatásnevet az ügyféltanúsítványán keresztül. Ez a példa az azure-security-keyvault-secrets ügyfélkódtárból való hitelesítést SecretClient mutatja be a ClientCertificateCredential.

/**
 *  Authenticate with a client certificate.
 */
ClientCertificateCredential clientCertificateCredential = new ClientCertificateCredentialBuilder()
  .clientId("<your client ID>")
  .pemCertificate("<path to PEM certificate>")
  // Choose between either a PEM certificate or a PFX certificate.
  //.pfxCertificate("<path to PFX certificate>", "PFX CERTIFICATE PASSWORD")
  .tenantId("<your tenant ID>")
  .build();

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

További lépések

Ez a cikk a szolgáltatásnévvel történő hitelesítést 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 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 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.