Ověřování Azure pomocí instančního objektu

Tento článek popisuje, jak knihovna Identit Azure podporuje ověřování pomocí tokenu Microsoft Entra prostřednictvím instančního objektu. Tento článek se zabývá následujícími tématy:

Další informace naleznete v tématu Aplikace a instanční objekty v Microsoft Entra ID. Řešení potíží s ověřováním instančního objektu najdete v tématu Řešení potíží s ověřováním instančního objektu.

Vytvoření instančního objektu pomocí Azure CLI

K vytvoření nebo získání přihlašovacích údajů tajného klíče klienta použijte následující příklady Azure CLI .

Pomocí následujícího příkazu vytvořte instanční objekt a nakonfigurujte jeho přístup k prostředkům Azure:

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

Tento příkaz vrátí hodnotu podobnou následujícímu výstupu:

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

Pomocí následujícího příkazu vytvořte instanční objekt spolu s certifikátem. Poznamenejte si cestu nebo umístění tohoto certifikátu.

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

Zkontrolujte vrácené přihlašovací údaje a poznamenejte si následující informace:

  • AZURE\_CLIENT\_ID pro appId.
  • AZURE\_CLIENT\_SECRET pro heslo.
  • AZURE\_TENANT\_ID pro tenanta.

Přihlašovací údaje tajného klíče klienta

Tento přihlašovací údaj ověřuje vytvořený instanční objekt prostřednictvím tajného klíče klienta (hesla). Tento příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí ClientSecretCredentialknihovny .

/**
 *  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();

Přihlašovací údaje klientského certifikátu

Tento přihlašovací údaj ověřuje vytvořený instanční objekt prostřednictvím svého klientského certifikátu. Tento příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí ClientCertificateCredentialknihovny .

/**
 *  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();

Další kroky

Tento článek se zabýval ověřováním prostřednictvím instančního objektu. Tato forma ověřování je jedním z několika způsobů, jak se můžete ověřit v sadě Azure SDK pro Javu. Následující články popisují další způsoby:

Pokud narazíte na problémy související s ověřováním instančního objektu, přečtěte si téma Řešení potíží s ověřováním instančního objektu.

Jakmile zvládnete ověřování, přečtěte si téma Konfigurace protokolování v sadě Azure SDK pro Javu , kde najdete informace o funkcích protokolování poskytovaných sadou SDK.