Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Во время локальной разработки приложениям необходимо пройти аутентификацию для доступа к различным службам Azure. Вы можете выполнить локальную проверку подлинности с помощью одного из следующих подходов:
- Используйте учетную запись разработчика с одним из инструментов разработчика, поддерживаемых библиотекой удостоверений Azure.
- Используйте принципал службы. Дополнительные сведения см. в разделе Аутентификация Java приложений к службам Azure с помощью субъектов-служб во время локальной разработки.
В этой статье объясняется, как пройти проверку подлинности с помощью учетной записи разработчика с инструментами, поддерживаемыми библиотекой удостоверений Azure. В этой статье рассматриваются следующие вопросы:
- Как использовать группы Microsoft Entra для эффективного управления разрешениями для нескольких учетных записей разработчиков.
- Назначение ролей учетным записям разработчиков для определения области действия разрешений.
- Как войти в поддерживаемые локальные средства разработки.
- Как пройти проверку подлинности с помощью учетной записи разработчика из кода приложения.
Поддерживаемые средства разработчика для проверки подлинности
Во время локальной разработки приложение может пройти проверку подлинности в Azure с помощью учетных данных Azure. Для работы этой проверки подлинности необходимо войти в Azure из средства разработчика, например одного из следующих:
- Azure CLI
- CLI разработчика Azure
- Azure PowerShell
- Visual Studio Code
- IntelliJ IDEA
Библиотека удостоверений Azure может обнаружить, что разработчик вошел в систему из одного из этих средств. Затем библиотека может получить токен доступа Microsoft Entra с помощью инструмента, чтобы применять его для аутентификации приложения в Azure, от имени пользователя, вошедшего в систему.
Этот подход использует существующие учетные записи разработчика Azure для упрощения процесса проверки подлинности. Однако учетная запись разработчика, скорее всего, имеет больше разрешений, чем требуется для работы приложения, и превышает разрешения, с которыми приложение работает в промышленной среде. В качестве альтернативы можно создать субъекты-службы приложений для использования во время локальной разработки, которые могут быть ограничены только доступом, необходимым для приложения.
Создание группы Microsoft Entra для локальной разработки
Создайте группу Microsoft Entra, чтобы инкапсулировать роли (разрешения) в локальной разработке, а не назначать роли отдельным объектам субъекта-службы. Этот подход обеспечивает следующие преимущества:
- Каждый разработчик имеет одинаковые роли, назначенные на уровне группы.
- Если для приложения требуется новая роль, ее необходимо только добавить в группу для приложения.
- Если новый разработчик присоединяется к команде, для разработчика создается новая учетная запись службы приложений и добавляется в группу, гарантируя, что разработчик имеет необходимые разрешения на работу с приложением.
Перейдите на страницу обзора Microsoft Entra ID на портале Azure.
Выберите все группы в меню слева.
На странице Группы выберите Создать группу.
На странице "Создать группу" заполните следующие поля формы:
- Тип группы: выберите Безопасность.
- Имя группы: введите имя группы, которая содержит ссылку на имя приложения или среды.
- Описание группы: введите описание, объясняющее назначение группы.
Выберите ссылку "Нет участников" в разделе "Участники", чтобы добавить участников в группу.
На открывшейся всплывающей панели найдите созданную ранее основную служебную учетную запись и выберите её из результатов фильтрации. Нажмите кнопку "Выбрать " в нижней части панели, чтобы подтвердить выбор.
Нажмите кнопку "Создать " в нижней части страницы "Создать группу ", чтобы создать группу и вернуться на страницу "Все группы ". Если вы не видите новую группу, подождите минуту и обновите страницу.
Назначьте роли группе
Затем определите, какие роли (разрешения) приложению требуются для каких ресурсов, и назначьте эти роли созданной группе Microsoft Entra. Группы можно назначить роль в ресурсе, группе ресурсов или области подписки. В этом примере показано, как назначать роли в области группы ресурсов, так как большинство приложений группируют все свои Azure ресурсы в единую группу ресурсов.
На портале Azure перейдите на страницу Overview группы ресурсов, содержащей приложение.
Выберите управление доступом (IAM) в левой панели навигации.
На странице управления доступом (IAM) выберите +Добавить , а затем выберите "Добавить назначение ролей " в раскрывающемся меню. Страница "Добавление назначения ролей " предоставляет несколько вкладок для настройки и назначения ролей.
На вкладке "Роль" используйте поле поиска, чтобы найти роль, которую вы хотите назначить. Выберите роль и нажмите кнопку "Далее".
На вкладке "Члены" :
- Чтобы назначить доступ к значению , выберите "Пользователь", "Группа" или "Субъект-служба ".
- Для значения "Члены" нажмите кнопку "Выбрать участников ", чтобы открыть панель всплывающего меню "Выбор участников ".
- Найдите созданную ранее группу Microsoft Entra и выберите ее из отфильтрованных результатов. Выберите команду "Выбрать ", чтобы выбрать группу и закрыть панель всплывающего меню.
- Выберите Обзор + Назначение внизу вкладки Члены.
Снимок экрана, показывающий как назначить роль группе Microsoft Entra. На вкладке "Обзор и назначение" выберите "Обзор и назначение" в нижней части страницы.
Войдите в Azure с помощью средств разработчика
Затем войдите в Azure с помощью одного из средств разработчика, которые можно использовать для проверки подлинности в среде разработки. Учетная запись, по которой вы выполняете проверку подлинности, также должна существовать в созданной и настроенной ранее группе Microsoft Entra.
- Visual Studio Code
- IntelliJ IDEA
- Azure CLI
- CLI разработчика Azure
- Azure PowerShell
Разработчики, использующие Visual Studio Code, могут аутентифицироваться с помощью учётной записи разработчика прямо в редакторе через брокер. Приложения, которые используют DefaultAzureCredential или VisualStudioCodeCredential затем могут использовать эту учетную запись для проверки подлинности запросов приложений с помощью простого единого входа.
В Visual Studio Code перейдите на панель Extensions и установите расширение Azure Resources. Это расширение позволяет просматривать ресурсы Azure и управлять ими непосредственно из Visual Studio Code. Он также использует встроенный в Visual Studio Code поставщик проверки подлинности от Microsoft для аутентификации с Azure.
Откройте палитру команд в Visual Studio Code, а затем найдите и выберите Azure: войдите.
Подсказка
Откройте палитру команд с помощью
Ctrl+Shift+Pв Windows/Linux илиCmd+Shift+Pв macOS.
Аутентификация для подключения к службам Azure из вашего приложения
Библиотека удостоверений Azure предоставляет реализации TokenCredential, поддерживающих различные сценарии и потоки аутентификации Microsoft Entra. В последующих шагах описано, как использовать DefaultAzureCredential или учетные данные определенного инструмента разработки при локальной работе с учетными записями пользователей.
Реализация кода
Добавьте зависимость
azure-identityв вашpom.xmlфайл:<dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> </dependency>Выберите одну из реализаций данных для аутентификации в зависимости от вашего сценария.
- Используйте учетные данные, относящиеся к средству разработки: этот вариант лучше всего подходит для отдельных пользователей или отдельных сценариев инструментов.
- Используйте учетные данные, доступные для использования в любом средстве разработки: этот вариант лучше всего подходит для проектов с открытым кодом и различных команд инструментов.
Используйте учетные данные, относящиеся к вашему средству разработки
Передайте экземпляр TokenCredential, соответствующий конкретному средству разработки, конструктору клиента службы Azure, например AzureCliCredential.
import com.azure.identity.AzureCliCredential;
import com.azure.identity.AzureCliCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
AzureCliCredential credential = new AzureCliCredentialBuilder().build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Учетные данные каждого инструмента следуют одному шаблону. Замените тип учетных данных и его соответствующий построитель по мере необходимости.
AzureCliCredential/AzureCliCredentialBuilderAzureDeveloperCliCredential/AzureDeveloperCliCredentialBuilderAzurePowerShellCredential/AzurePowerShellCredentialBuilderIntelliJCredential/IntelliJCredentialBuilderVisualStudioCodeCredential/VisualStudioCodeCredentialBuilder
Использование учетных данных, доступных для использования в любом средстве разработки
Используйте экземпляр DefaultAzureCredential, оптимизированный для всех локальных средств разработки. В этом примере требуется, чтобы для переменной AZURE_TOKEN_CREDENTIALS среды задано значение dev. Дополнительные сведения см. в разделе "Исключить категорию типов учетных данных".
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.security.keyvault.secrets.SecretClient;
import com.azure.security.keyvault.secrets.SecretClientBuilder;
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
.requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)
.build();
SecretClient client = new SecretClientBuilder()
.vaultUrl("https://<your-key-vault-name>.vault.azure.net")
.credential(credential)
.buildClient();
Дальнейшие действия
В этой статье описана проверка подлинности во время разработки с помощью учетных данных, доступных на компьютере. Эта форма проверки подлинности является одним из нескольких способов проверки подлинности в Azure SDK для Java. В следующих статьях описаны другие способы.
- Аутентификация приложений Java для служб Azure при локальной разработке с помощью учетных записей служб.
- Аутентифицируйте размещенные в Azure приложения Java по отношению к ресурсам Azure, используя управляемую удостоверенность, назначенную системой
- Аутентификация размещаемых в Azure Java приложений с Azure ресурсами посредством назначенного пользователем управляемого удостоверения
Если возникают проблемы, связанные с проверкой подлинности среды разработки, см. статью "Устранение неполадок с проверкой подлинности среды разработки".
После освоения аутентификации ознакомьтесь со статьей Настройка ведения журнала в Azure SDK для Java, чтобы получить информацию о предоставляемой SDK функциональности ведения журнала.