Udostępnij za pośrednictwem


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

Uwierzytelnianie między usługami

  1. 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.

  2. 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.

  3. 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;
    
  4. 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 metody credential). 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 podklas StorageSharedKeyCredential , 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.