Bagikan melalui


Autentikasi layanan ke layanan Azure Data Lake Storage Gen2 menggunakan Java

Dalam artikel ini, Anda belajar cara menggunakan SDK Java untuk melakukan autentikasi layanan ke layanan dengan Azure Data Lake Storage Gen2. Autentikasi pengguna akhir dengan Azure Data Lake Storage Gen2 menggunakan SDK Java tidak didukung.

Prasyarat

Autentikasi layanan ke layanan

  1. Buat proyek Maven menggunakan mvn archetype dari baris perintah atau menggunakan IDE. Untuk petunjuk tentang cara membuat proyek Java menggunakan IntelliJ, lihat di sini. Untuk petunjuk tentang cara membuat proyek menggunakan Eclipse, lihat di sini.

  2. Tambahkan dependensi berikut ke file pom.xml Maven Anda. Tambahkan cuplikan berikut sebelum <tag /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>
    

    Dependensi pertama adalah menggunakan SDK Azure Data Lake Storage Gen2 (azure-storage-file-datalake) dari repositori maven. Dependensi kedua adalah menentukan kerangka kerja pengelogan (slf4j-nop) untuk digunakan untuk aplikasi ini. Azure Data Lake Storage Gen2 menggunakan fasad pengelogan slf4j, yang memungkinkan Anda memilih dari sejumlah kerangka kerja pengelogan populer, seperti log4j, pengelogan Java, logback, atau tanpa pengelogan. Dalam contoh ini, kita menonaktifkan pengelogan, maka kita menggunakan pengikatan slf4j-nop. Untuk menggunakan opsi pengelogan di aplikasi Anda, lihat Menyatakan dependensi proyek untuk pengelogan.

  3. Tambahkan pernyataan impor berikut ke aplikasi Anda.

    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. Gunakan cuplikan berikut di aplikasi Java Anda untuk mendapatkan token untuk aplikasi web Active Directory Domain Services yang Anda buat sebelumnya menggunakan salah satu subkelas StorageSharedKeyCredential (contoh berikut menggunakan credential). Penyedia token membuat cache info masuk yang digunakan untuk mendapatkan token dalam memori, dan secara otomatis memperbarui token jika token akan kedaluwarsa. Membuat subkelas Anda sendiri dari StorageSharedKeyCredential sehingga token diperoleh dengan kode pelanggan Anda mungkin dilakukan. Untuk saat ini, mari kita gunakan saja yang disediakan di SDK.

    Ganti FILL-IN-HERE dengan nilai aktual untuk aplikasi web 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 Azure Data Lake Storage Gen2 menyediakan metode mudah yang memungkinkan Anda mengelola token keamanan yang diperlukan untuk berbicara dengan akun Azure Data Lake Storage Gen2. Namun, SDK tidak memandatkan agar hanya metode ini yang dapat digunakan. Anda juga dapat menggunakan cara lain untuk mendapatkan token, seperti menggunakan pustaka klien Identitas Azure, atau kode kustom Anda sendiri.

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara menggunakan autentikasi pengguna akhir untuk melakukan autentikasi dengan Azure Data Lake Storage Gen2 menggunakan SDK Java. Sekarang Anda dapat melihat artikel berikut yang membahas cara menggunakan SDK Java untuk bekerja dengan Azure Data Lake Storage Gen2.