Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье представлен обзор библиотеки удостоверений Azure для Java, которая обеспечивает поддержку проверки подлинности маркера Microsoft Entra в пакете SDK Azure для Java. Эта библиотека предоставляет набор реализаций TokenCredential , которые можно использовать для создания клиентов пакета SDK Azure, поддерживающих проверку подлинности маркера Microsoft Entra.
Библиотека удостоверений Azure сейчас поддерживает следующие возможности:
-
Проверка подлинности Azure в средах разработки Java, которые позволяют:
- Проверка подлинности IDEA IntelliJ с информацией о входе, полученной из набора средств Azure для IntelliJ.
- Проверка подлинности Azure CLI с информацией о входе, сохраненной в Azure CLI
- Аутентификация в Azure Developer CLI с сохраненной информацией о входе в Azure Developer CLI
- Проверка подлинности Azure PowerShell с информацией о входе, сохраненной в Azure PowerShell
-
Проверка подлинности приложений, размещенных в Azure, что позволяет:
-
DefaultAzureCredentialаутентификация - Проверка подлинности управляемой идентификации
-
-
Аутентификация с учетными записями служб, что позволяет:
- Проверка подлинности секрета клиента
- Проверка подлинности на основе сертификата клиента
-
Проверка подлинности с учетными данными пользователя, которая включает:
- интерактивная аутентификация через браузер;
- аутентификация с помощью кода устройства;
- Аутентификация по имени пользователя и паролю
Следуйте этим ссылкам, чтобы узнать больше о специфике каждого из этих подходов проверки подлинности. В остальной части этой статьи мы представляем часто используемые DefaultAzureCredential и связанные темы.
Добавление зависимостей Maven
azure-sdk-bom Включите в проект зависимость от стабильной версии библиотеки. В следующем фрагменте замените заполнитель {bom_version_to_target} номером версии. Дополнительные сведения о BOM см. в разделе "Добавление Azure SDK для Java в существующий проект" из "Начало работы с Azure SDK и Apache Maven".
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Затем включите прямую зависимость в dependencies раздел без тега версии:
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</dependency>
</dependencies>
Основные понятия
Существует два ключевых понятия в понимании библиотеки удостоверений Azure: концепция учетных данных и наиболее распространенная реализация этих учетных данных DefaultAzureCredential.
Учетные данные — это класс, который содержит или может получать данные, необходимые клиенту службы для аутентификации запросов. Клиенты служб в Azure SDK принимают учетные данные при их создании, а затем используют их для аутентификации запросов к службе.
Библиотека удостоверений Azure фокусируется на проверке подлинности OAuth с помощью идентификатора Microsoft Entra ID и предлагает различные классы учетных данных, которые могут получить маркер Microsoft Entra для проверки подлинности запросов на обслуживание. Все классы учетных данных в этой библиотеке являются реализациями абстрактного класса TokenCredential в azure-core. Вы можете использовать любой из таких классов для создания клиентов служб, которые могут выполнять аутентификацию с помощью TokenCredential.
DefaultAzureCredential подходит для большинства сценариев, когда приложение предназначено для конечного запуска в облаке Azure.
DefaultAzureCredential объединяет учетные данные, которые обычно используются для аутентификации при развертывании, с учетными данными, используемыми для аутентификации в среде разработки. Дополнительные сведения, включая примеры использования DefaultAzureCredential, см. в разделе Аутентификация приложений Java, размещенных в Azure, в подразделе DefaultAzureCredential.
Примеры
Как описано в статье Использование пакета Azure SDK для Java, между библиотеками управления есть некоторые различия. Одним из способов их отличия является то, что существуют библиотеки для использования служб Azure, называемых клиентскими библиотеками, и библиотеки для управления службами Azure, называемыми библиотеками управления. В следующих разделах представлен краткий обзор аутентификации в клиентских библиотеках и библиотеках управления.
Аутентификация в клиентских библиотеках Azure
В следующем примере демонстрируется проверка подлинности SecretClient в клиентской библиотеке azure-security-keyvault-secrets с помощью 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();
Аутентификация в библиотеках управления Azure
Библиотеки управления Azure используют те же AP-интерфейсы учетных данных, что и клиентские библиотеки Azure, но для управления ресурсами Azure в такой подписке также требуют указать идентификатор подписки Azure.
Идентификаторы подписки можно найти на странице Подписки на портале Azure. Для получения идентификаторов вы также можете выполнить следующую команду Azure CLI:
az account list --output table
Вы можете задать идентификатор подписки в переменной среды AZURE_SUBSCRIPTION_ID.
AzureProfile Возвращает этот идентификатор в качестве идентификатора подписки по умолчанию во время создания экземпляра Manager в следующем примере:
AzureResourceManager azureResourceManager = AzureResourceManager.authenticate(
new DefaultAzureCredentialBuilder().build(),
new AzureProfile(AzureEnvironment.AZURE))
.withDefaultSubscription();
DefaultAzureCredential используется в этом примере для проверки подлинности экземпляра AzureResourceManager с помощью DefaultAzureCredential. Кроме того, вы можете использовать другие реализации Token Credential, предлагаемые в библиотеке удостоверений Azure, вместо класса DefaultAzureCredential.
Устранение неполадок
Инструкции см. в разделе "Устранение неполадок с проверкой подлинности удостоверений Azure".
Следующие шаги
В этой статье описана функциональность удостоверений Azure, реализованная в пакете Azure SDK для Java. Оно было описано DefaultAzureCredential как распространенное и подходящее во многих случаях. В следующих статьях описаны другие способы проверки подлинности с помощью библиотеки удостоверений Azure и дополнительные сведения о DefaultAzureCredential: