Uwierzytelnianie typu usługa-usługa z Azure Data Lake Storage Gen2 przy użyciu języka Java
W tym artykule dowiesz się, jak używać zestawu JAVA SDK do uwierzytelniania typu usługa-usługa przy użyciu Azure Data Lake Storage Gen2. Uwierzytelnianie użytkowników końcowych przy użyciu Data Lake Storage Gen2 przy użyciu zestawu JAVA SDK nie jest obsługiwane.
Wymagania wstępne
Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
Utwórz aplikację Tożsamość Microsoft Entra "Internet". Należy wykonać kroki opisane w temacie Service-to-service authentication with Data Lake Storage Gen2 using Tożsamość Microsoft Entra (Uwierzytelnianie typu usługa-usługa przy użyciu Data Lake Storage Gen2).
Maven. Ten samouczek używa programu Maven na potrzeby zależności między kompilacją i projektem. Chociaż istnieje możliwość kompilowania bez korzystania z systemu kompilacji, takiego jak Maven lub Gradle, te systemy znacznie ułatwiają zarządzanie zależnościami.
(Opcjonalnie) Środowisko IDE, takie jak IntelliJ IDEA lub Eclipse , lub podobne.
Uwierzytelnianie między usługami
Utwórz projekt Maven za pomocą polecenia mvn archetype w wierszu polecenia lub w środowisku IDE. Aby uzyskać instrukcje dotyczące sposobu tworzenia projektu Java przy użyciu wtyczki IntelliJ, zobacz tutaj. Aby uzyskać instrukcje dotyczące sposobu tworzenia projektu Java przy użyciu wtyczki Eclipse, zobacz tutaj.
Dodaj poniższe zależności do Twojego pliku pom.xml programu Maven. Dodaj następujący fragment kodu przed tagiem< /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>
Pierwsza zależność polega na użyciu zestawu SDK Data Lake Storage Gen2 (
azure-storage-file-datalake
) z repozytorium Maven. Druga zależność polega na określeniu struktury rejestrowania (slf4j-nop
), która ma być używana dla tej aplikacji. Zestaw SDK Data Lake Storage Gen2 korzysta z fasady rejestrowania slf4j, która umożliwia wybór spośród wielu popularnych struktur rejestrowania, takich jak log4j, rejestrowanie języka Java, logback lub brak rejestrowania. W tym przykładzie wyłączyliśmy rejestrowanie, dlatego używamy powiązania slf4j-nop. Aby użyć innych opcji rejestrowania w aplikacji, zobacz Deklarowanie zależności projektu na potrzeby rejestrowania.Dodaj do swojej aplikacji następujące instrukcje importowania.
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;
Użyj poniższego fragmentu kodu w aplikacji Java, aby uzyskać token dla utworzonej wcześniej aplikacji internetowej usługi Active Directory przy użyciu jednej z klas
StorageSharedKeyCredential
(w poniższym przykładzie użyto metodycredential
). Dostawca tokenu buforuje poświadczenia używane do uzyskania tokenu w pamięci i automatycznie odnawia token, jeśli wkrótce wygaśnie. Istnieje możliwość utworzenia własnych podklasStorageSharedKeyCredential
, dzięki czemu tokeny są uzyskiwane przez kod klienta. Na razie po prostu użyjemy wartości podanej w zestawie SDK.Zastąp ciąg FILL-IN-HERE rzeczywistymi wartościami aplikacji internetowej 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();
Zestaw SDK Data Lake Storage Gen2 udostępnia wygodne metody umożliwiające zarządzanie tokenami zabezpieczającymi wymaganymi do komunikacji z kontem Data Lake Storage Gen2. Jednak zestaw SDK nie nakazuje użycia tylko tych metod. Możesz również użyć dowolnego innego sposobu uzyskiwania tokenu, na przykład przy użyciu biblioteki klienta tożsamości platformy Azure lub własnego kodu niestandardowego.
Następne kroki
W tym artykule przedstawiono sposób używania uwierzytelniania użytkowników końcowych do uwierzytelniania przy użyciu Data Lake Storage Gen2 przy użyciu zestawu Java SDK. Teraz możesz zapoznać się z następującymi artykułami, które mówią o sposobie pracy z zestawem JAVA SDK do pracy z Data Lake Storage Gen2.