Проверка подлинности между службами с помощью Azure Data Lake Storage 2-го поколения с помощью Java
Из этой статьи вы узнаете, как использовать пакет SDK для Java для проверки подлинности между службами с помощью Azure Data Lake Storage 2-го поколения. Проверка подлинности конечных пользователей с помощью Data Lake Storage 2-го поколения с помощью пакета SDK для Java не поддерживается.
Предварительные требования
Подписка Azure. См. страницу бесплатной пробной версии Azure.
Создайте веб-приложение Microsoft Entra ID. Необходимо выполнить действия, описанные в разделе Проверка подлинности между службами с помощью Data Lake Storage 2-го поколения с помощью Microsoft Entra ID.
Maven. В этом руководстве это средство используется для создания зависимостей проекта. Зависимости можно создать и без использования таких систем сборки, как Maven или Gradle, однако они существенно упрощают управление зависимостями.
Интегрированная среда разработки, например IntelliJ IDEA, Eclipse или аналогичная (необязательно).
Аутентификация между службами
Создайте проект Maven с использованием архетипа mvn с помощью командной строки или интегрированной среды разработки (IDE). Инструкции по созданию проекта Java с использованием IntelliJ см. здесь. Инструкции по созданию проекта с использованием Eclipse см. здесь.
Добавьте приведенные ниже зависимости в файл Maven pom.xml. Добавьте следующий фрагмент кода перед тегом </project> :
<dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-storage-file-datalake</artifactId> <version>12.6.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-nop</artifactId> <version>1.7.21</version> </dependency> </dependencies>
Первая зависимость — использовать пакет SDK для Data Lake Storage 2-го поколения (
azure-storage-file-datalake
) из репозитория Maven. Вторая зависимость — указать платформу ведения журнала (slf4j-nop
), используемую для этого приложения. Пакет SDK для Data Lake Storage 2-го поколения использует фасад ведения журнала slf4j, который позволяет выбрать один из популярных платформ ведения журнала, таких как log4j, ведение журнала Java, logback или отсутствие ведения журнала. В этом примере мы отключим ведение журнала, так как используем привязку slf4j-nop. Сведения об использовании других параметров ведения журнала в приложении см. в статье Объявление зависимостей проекта для ведения журнала.Добавьте следующие инструкции импорта в приложение.
import com.azure.identity.ClientSecretCredential; import com.azure.identity.ClientSecretCredentialBuilder; import com.azure.storage.file.datalake.DataLakeDirectoryClient; import com.azure.storage.file.datalake.DataLakeFileClient; import com.azure.storage.file.datalake.DataLakeServiceClient; import com.azure.storage.file.datalake.DataLakeServiceClientBuilder; import com.azure.storage.file.datalake.DataLakeFileSystemClient; import com.azure.storage.file.datalake.models.ListPathsOptions; import com.azure.storage.file.datalake.models.PathAccessControl; import com.azure.storage.file.datalake.models.PathPermissions;
Используйте следующий фрагмент кода в приложении Java, чтобы получить маркер для веб-приложения Active Directory, созданного ранее с помощью одного из классов
StorageSharedKeyCredential
(в следующем примере используетсяcredential
). Поставщик маркеров кэширует учетные данные, используемые для получения маркера, в памяти, и автоматически продлевает маркер, если срок его действия скоро истечет. Можно создать собственные подклассыStorageSharedKeyCredential
, чтобы маркеры получали в коде клиента. Здесь мы будем использовать подкласс из пакета SDK.Замените FILL-IN-HERE фактическими значениями веб-приложения Microsoft Entra.
private static String clientId = "FILL-IN-HERE"; private static String tenantId = "FILL-IN-HERE"; private static String clientSecret = "FILL-IN-HERE"; ClientSecretCredential credential = new ClientSecretCredentialBuilder().clientId(clientId).tenantId(tenantId).clientSecret(clientSecret).build();
Пакет SDK для Data Lake Storage 2-го поколения предоставляет удобные методы, позволяющие управлять маркерами безопасности, необходимыми для взаимодействия с учетной записью Data Lake Storage 2-го поколения. Однако пакет SDK не требует, чтобы использовались только эти методы. Вы также можете использовать любые другие способы получения маркера, например с помощью клиентской библиотеки удостоверений Azure или собственного пользовательского кода.
Дальнейшие действия
Из этой статьи вы узнали, как использовать проверку подлинности конечных пользователей для проверки подлинности с помощью Data Lake Storage 2-го поколения с помощью пакета SDK для Java. Теперь вы можете ознакомиться со следующими статьями о том, как использовать пакет SDK для Java для работы с Data Lake Storage 2-го поколения.