Ověřování Azure s využitím Javy a identity Azure

Tento článek obsahuje přehled knihovny identit Azure v Javě, která poskytuje podporu ověřování tokenů Microsoft Entra napříč sadou Azure SDK pro Javu. Tato knihovna poskytuje sadu TokenCredential implementací, které můžete použít k vytvoření klientů sady Azure SDK podporujících ověřování tokenů Microsoft Entra.

Knihovna Identit Azure v současné době podporuje:

Další informace o specifikách jednotlivých přístupů k ověřování najdete na těchto odkazech. Ve zbytku tohoto článku představujeme běžně používané DefaultAzureCredential a související předměty.

Přidání závislostí Mavenu

Pokud chcete přidat závislost Mavenu, přidejte do souboru pom.xml projektu následující kód XML. Nahraďte {version_number} číslem verze nejnovější stabilní verze, jak je znázorněno na stránce knihovny identit Azure.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>{version_number}</version>
</dependency>

Klíčové koncepty

Při porozumění knihovně Identit Azure existují dva klíčové koncepty: koncept přihlašovacích údajů a nejběžnější implementace těchto přihlašovacích údajů DefaultAzureCredential.

Přihlašovací údaje jsou třída, která obsahuje nebo může získat data potřebná pro klienta služby k ověření požadavků. Klienti služeb napříč sadou Azure SDK přijímají přihlašovací údaje při jejich vytváření a klienti služby tyto přihlašovací údaje používají k ověřování požadavků na službu.

Knihovna identit Azure se zaměřuje na ověřování OAuth pomocí Microsoft Entra ID a nabízí různé třídy přihlašovacích údajů, které můžou získat token Microsoft Entra pro ověřování žádostí o služby. Všechny třídy přihlašovacích údajů v této knihovně jsou implementace TokenCredential abstraktní třídy v azure-core a můžete je použít k vytvoření klientů služby, kteří se můžou ověřit pomocí TokenCredential.

DefaultAzureCredential je vhodný pro většinu scénářů, ve kterých je aplikace určená ke konečnému spuštění v cloudu Azure. DefaultAzureCredential kombinuje přihlašovací údaje, které se běžně používají k ověřování při nasazení, s přihlašovacími údaji, které se používají k ověření ve vývojovém prostředí. Další informace, včetně příkladů použitíDefaultAzureCredential, najdete v části Výchozí přihlašovací údaje Azure ověřování aplikací Java hostovaných v Azure.

Příklady

Jak je uvedeno v tématu Použití sady Azure SDK pro Javu, knihovny pro správu se mírně liší. Jedním ze způsobů, jak se liší, je, že existují knihovny pro využívání služeb Azure, označovaných jako klientské knihovny a knihovny pro správu služeb Azure, označované jako knihovny pro správu. V následujících částech najdete rychlý přehled ověřování v knihovnách klientů i pro správu.

Ověřování klientských knihoven Azure

Následující příklad ukazuje ověření SecretClient z klientské knihovny azure-security-keyvault-secrets pomocí DefaultAzureCredential.

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

Ověřování knihoven pro správu Azure

Knihovny pro správu Azure používají stejná rozhraní API přihlašovacích údajů jako klientské knihovny Azure, ale také vyžadují ID předplatného Azure ke správě prostředků Azure v daném předplatném.

ID předplatného najdete na stránce Předplatná na webu Azure Portal. K získání ID předplatných použijte také následující příkaz Azure CLI :

az account list --output table

ID předplatného můžete nastavit v AZURE_SUBSCRIPTION_ID proměnné prostředí. AzureProfile toto ID vybere jako výchozí ID předplatného Manager při vytváření instance v následujícím příkladu:

AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
        new DefaultAzureCredentialBuilder().build(),
        new AzureProfile(AzureEnvironment.AZURE))
    .withDefaultSubscription();

DefaultAzureCredential použité v tomto příkladu AzureResourceManager ověřuje instanci pomocí DefaultAzureCredential. Můžete také použít jiné implementace přihlašovacích údajů tokenů nabízené v knihovně identit Azure místo DefaultAzureCredential.

Řešení problému

Pokyny najdete v tématu Řešení potíží s ověřováním identit Azure.

Další kroky

Tento článek představil funkce Azure Identity dostupné v sadě Azure SDK pro Javu. DefaultAzureCredential Popisuje se jako běžné a vhodné v mnoha případech. Následující články popisují další způsoby ověřování pomocí knihovny identit Azure a poskytují další informace o DefaultAzureCredential: