Ověřování Azure s využitím Javy a identity Azure
Tento článek obsahuje přehled knihovny identit Azure pro Javu, 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:
- Ověřování Azure ve vývojových prostředích Java, které umožňuje:
- Ověřování IDEA IntelliJ s přihlašovacími informacemi načtenými ze sady Azure Toolkit for IntelliJ
- Ověřování Azure CLI s přihlašovacími informacemi uloženými v Azure CLI
- Ověřování Azure Developer CLI s přihlašovacími informacemi uloženými v Azure Developer CLI
- Ověřování Azure PowerShellu s přihlašovacími informacemi uloženými v Azure PowerShellu
- Ověřování aplikací hostovaných v Azure, které umožňuje:
- Ověřování
DefaultAzureCredential
- Ověřování spravované identity
- Ověřování
- Ověřování pomocí instančních objektů, které umožňují:
- Ověřování tajných kódů klienta
- Ověřování klientským certifikátem
- Ověřování pomocí přihlašovacích údajů uživatele, které umožňuje:
- Interaktivní ověřování v prohlížeči
- Ověřování kódu zařízení
- Ověřování pomocí uživatelského jména a hesla
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 DefaultAzureCredential 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
: