All Products
Search
Document Center

E-MapReduce:Mengonfigurasi penyedia kredensial OSS/OSS-HDFS

Last Updated:May 13, 2026

Topik ini menjelaskan cara mengonfigurasi penyedia kredensial OSS/OSS-HDFS.

Konfigurasi dasar

Anda dapat mengonfigurasi ID AccessKey, Rahasia AccessKey, dan Titik akhir untuk OSS atau OSS-HDFS terlebih dahulu dalam file core-site.xml Hadoop. Untuk mengonfigurasi parameter tersebut pada kluster EMR, ikuti langkah-langkah berikut:

  1. Pada halaman konfigurasi layanan Hadoop-Common, klik tab core-site.xml.

  2. Klik Add Configuration Item, lalu tambahkan item konfigurasi fs.oss.accessKeyId dan fs.oss.accessKeySecret.

  3. Klik OK, masukkan alasan eksekusi, lalu klik OK.

  4. Klik Save di bagian bawah.

Menyimpan AccessKey dengan penyedia kredensial Hadoop

Pada metode konfigurasi dasar, fs.oss.accessKeyId dan fs.oss.accessKeySecret disimpan dalam teks biasa di core-site.xml. Anda dapat menyimpannya sebagai pasangan terenkripsi dalam file Penyedia Kredensial Hadoop.

Simpan ID AccessKey, Rahasia AccessKey, dan token keamanan dalam file kredensial menggunakan perintah Hadoop berikut:

hadoop credential <subcommand> [options]

Selain izin file, Anda juga dapat menentukan kata sandi untuk mengenkripsi kredensial. Jika tidak menentukan kata sandi, sistem akan menggunakan string default untuk enkripsi.

hadoop credential create fs.oss.accessKeyId -value AAA -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.accessKeySecret -value BBB -provider jceks://file/root/oss.jceks
hadoop credential create fs.oss.securityToken -value CCC -provider jceks://file/root/oss.jceks

Setelah menghasilkan file kredensial, konfigurasikan properti berikut untuk menentukan jenis dan lokasi penyedia:

<configuration>
    <property>
        <name>fs.oss.security.credential.provider.path</name>
        <value>jceks://file/root/oss.jceks</value>
        <description>Menentukan file kredensial yang menyimpan kunci akses Anda. Misalnya, jceks://file/${user.home}/oss.jceks mengarah ke file oss.jceks di direktori home Anda.</description>
    </property>
</configuration>

Menggunakan penyedia kredensial JindoSDK

Secara default, JindoSDK dikonfigurasi dengan SimpleCredentialsProvider, EnvironmentVariableCredentialsProvider, dan CommonCredentialsProvider. Sistem memeriksa setiap penyedia secara berurutan hingga mendapatkan kredensial yang valid.

<configuration>
    <property>
        <name>fs.oss.credentials.provider</name>
        <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider,com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider,com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        <description>Menentukan com.aliyun.jindodata.oss.auth.JindoCredentialsProvider. Untuk menggunakan beberapa penyedia, pisahkan nama kelas dengan koma (,). Sistem mencoba mengambil kredensial dari setiap penyedia secara berurutan. Untuk informasi lebih lanjut tentang penyedia, lihat Jenis penyedia kredensial.</description>
    </property>
</configuration>

Pilih penyedia kredensial dari opsi berikut:

Jenis penyedia kredensial

Deskripsi

TemporaryCredentialsProvider

Gunakan penyedia ini untuk mengakses OSS atau OSS-HDFS dengan ID AccessKey, Rahasia AccessKey, dan token keamanan yang berlaku sementara.

SimpleCredentialsProvider

Gunakan penyedia ini untuk mengakses OSS atau OSS-HDFS dengan ID AccessKey dan Rahasia AccessKey jangka panjang.

EnvironmentVariableCredentialsProvider

Mengambil kredensial dari variabel lingkungan.

CommonCredentialsProvider

Penyedia yang mengambil kredensial dari parameter konfigurasi Jindo umum.

CustomCredentialsProvider

Terintegrasi dengan layanan bebas password kustom.

TemporaryCredentialsProvider

  • Konfigurasikan jenis penyedia

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.TemporaryCredentialsProvider</value>
        </property>
    </configuration>
  • Konfigurasikan kredensial OSS atau OSS-HDFS

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
        <property>
            <name>fs.oss.securityToken</name>
            <value>YOUR_SECURITY_TOKEN</value>
        </property>
    </configuration>

SimpleCredentialsProvider

  • Konfigurasikan jenis penyedia

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.SimpleCredentialsProvider</value>
        </property>
    </configuration>
  • Konfigurasikan kredensial OSS atau OSS-HDFS

    <configuration>
        <property>
            <name>fs.oss.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>fs.oss.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
    </configuration>

EnvironmentVariableCredentialsProvider

  • Konfigurasikan jenis penyedia

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.EnvironmentVariableCredentialsProvider</value>
        </property>
    </configuration>
  • Konfigurasikan kredensial OSS atau OSS-HDFS

    Tetapkan variabel lingkungan berikut:

    Parameter

    Deskripsi

    OSS_ACCESS_KEY_ID

    ID AccessKey untuk OSS atau OSS-HDFS.

    OSS_ACCESS_KEY_SECRET

    Rahasia AccessKey untuk OSS atau OSS-HDFS.

    OSS_SECURITY_TOKEN

    Token keamanan untuk OSS atau OSS-HDFS.

    Catatan

    Diperlukan hanya saat menggunakan token yang dibatasi waktu.

CommonCredentialsProvider

  • Konfigurasikan jenis penyedia

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CommonCredentialsProvider</value>
        </property>
    </configuration>
  • Konfigurasikan kredensial OSS atau OSS-HDFS

    <configuration>
        <property>
            <name>jindo.common.accessKeyId</name>
            <value>YOUR_ACCESS_KEY_ID</value>
        </property>
        <property>
            <name>jindo.common.accessKeySecret</name>
            <value>YOUR_ACCESS_KEY_SECRET</value>
        </property>
        <property>
            <name>jindo.common.securityToken</name>
            <value>YOUR_SECURITY_TOKEN. (Diperlukan untuk token berlaku sementara)</value>
        </property>
    </configuration>

CustomCredentialsProvider

  • Konfigurasikan jenis penyedia

    <configuration>
        <property>
            <name>fs.oss.credentials.provider</name>
            <value>com.aliyun.jindodata.oss.auth.CustomCredentialsProvider</value>
        </property>
    </configuration>
  • Konfigurasikan URL layanan bebas kata sandi

    <configuration>
        <property>
            <name>aliyun.oss.provider.url</name>
            <value>The URL of the password-free service.</value>
        </property>
    </configuration>

    aliyun.oss.provider.url mendukung protokol http(s) dan Secrets:

    • Protokol HTTP(S)

      Format URL untuk layanan bebas kata sandi HTTP(S) adalah http://localhost:1234/sts. Protokol HTTP bebas kata sandi memerlukan respons dalam format JSON.

      {
      "AccessKeyId" : "XXXXXXXXX",
      "AccessKeySecret" : "XXXXXXXXX",
      "Expiration" : "2020-11-01T05:20:01Z",
      "SecurityToken" : "XXXXXXXXX",
      "LastUpdated" : "2020-10-31T23:20:01Z",
      "Code" : "Success"
      }
    • Protokol Secrets

      Format alamat untuk layanan bebas kata sandi Secrets adalah secrets:///local_path_prefix, yang umum digunakan dalam skenario Kubernetes. Di sini, local_path_prefix adalah awalan path:

      • Jika local_path_prefix adalah secrets:///secret/JindoOss, file seperti /secret/JindoOssAccessKeyId, /secret/JindoOssAccessKeySecret, dan /secret/JindoOssSecurityToken akan dicari di node.

      • Jika local_path_prefix adalah secrets:///secret/JindoOss/, file seperti /secret/JindoOss/AccessKeyId, /secret/JindoOss/AccessKeySecret, dan /secret/JindoOss/SecurityToken akan dicari di node.