Penyedia kredensial OSS JindoFS menyimpan kredensial AccessKey yang telah dienkripsi dalam file konfigurasi sehingga mencegahnya terekspos dalam bentuk teks biasa. Mulai dari SmartData 3.4.0, Anda dapat mengonfigurasi satu atau beberapa penyedia secara global (untuk semua bucket) atau per bucket OSS.
Persyaratan versi
| Provider | Versi SmartData minimum |
|---|---|
| TemporaryAliyunCredentialsProvider | 3.4.0 |
| SimpleAliyunCredentialsProvider | 3.4.0 |
| EnvironmentVariableCredentialsProvider | 3.4.0 |
| JindoCommonCredentialsProvider | 3.4.0 |
| EcsStsCredentialsProvider | 3.4.0 |
| JindoRangerCredentialsProvider | 3.8.0 |
| AssumeRoleStsCredentialsProvider | 3.8.0 |
Pilih penyedia kredensial
Pilih penyedia yang sesuai dengan metode autentikasi Anda:
| Provider | Kapan digunakan |
|---|---|
TemporaryAliyunCredentialsProvider | Pasangan AccessKey berumur pendek ditambah token keamanan |
SimpleAliyunCredentialsProvider | Pasangan AccessKey berumur panjang |
EnvironmentVariableCredentialsProvider | Kredensial yang disimpan sebagai variabel lingkungan |
JindoCommonCredentialsProvider | Kredensial bersama yang digunakan oleh JindoOSS dan JindoFS |
EcsStsCredentialsProvider | Akses tanpa password dari instance ECS (tidak memerlukan AccessKey) |
JindoRangerCredentialsProvider | Akses ke OSS yang dikontrol oleh Apache Ranger (SmartData 3.8.0+) |
AssumeRoleStsCredentialsProvider | Kredensial temporary melalui Security Token Service (STS) dengan mengasumsikan peran Resource Access Management (RAM) (SmartData 3.8.0+) |
Anda dapat menentukan beberapa penyedia sebagai daftar yang dipisahkan koma. Sistem akan mencoba setiap penyedia secara berurutan dan menggunakan penyedia pertama yang mengembalikan kredensial valid. Contohnya:
com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProviderKonfigurasi penyedia kredensial
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster EMR yang menjalankan SmartData 3.4.0 atau versi lebih baru
Akses ke Konsol Alibaba Cloud EMR
Langkah 1: Buka tab Konfigurasi SmartData
Masuk ke Konsol Alibaba Cloud EMR.
Pada bilah navigasi atas, pilih wilayah tempat kluster Anda berada dan pilih kelompok sumber daya.
Klik tab Cluster Management.
Temukan kluster Anda dan klik Details pada kolom Actions.
Pada panel navigasi kiri, pilih Cluster Service > SmartData.
Klik tab Configure.
Langkah 2: Tambahkan konfigurasi penyedia
Pilih cakupan konfigurasi:
Global (seluruh bucket): Pada bagian Configuration Filter di tab smartdata-site, temukan parameter
fs.jfs.cache.oss.credentials.providerdan tambahkan nama kelas provider ke dalam nilainya.Tingkat bucket: Di pojok kanan atas tab smartdata-site, klik Custom Configuration. Pada kotak dialog Add Configuration Item, atur Key menjadi
fs.jfs.cache.oss.bucket.<bucket-name>.credentials.providerdan Value menjadi nama kelas penyedia.CatatanGanti
<bucket-name>dengan nama bucket OSS.PentingJika Anda menggunakan
JindoRangerCredentialsProvider, tambahkan konfigurasi pada tab namespace alih-alih tab smartdata-site.
Kemudian tambahkan parameter yang diperlukan untuk penyedia tersebut. Lihat Referensi penyedia untuk daftar lengkap parameternya.
Langkah 3: Simpan konfigurasi
Di pojok kanan atas bagian Service Configuration, klik Save.
Pada kotak dialog Confirm Changes, masukkan deskripsi dan aktifkan Auto-update Configuration.
Klik OK.
Referensi penyedia
TemporaryAliyunCredentialsProvider
Gunakan untuk pasangan AccessKey berumur pendek dan token keamanan.
Nama kelas: com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider
Tambahkan parameter berikut pada tab smartdata-site:
Konfigurasi global
| Parameter | Deskripsi |
|---|---|
fs.jfs.cache.oss.accessKeyId | ID AccessKey |
fs.jfs.cache.oss.accessKeySecret | Rahasia AccessKey |
fs.jfs.cache.oss.securityToken | Token keamanan temporary |
Konfigurasi tingkat bucket
| Parameter | Deskripsi |
|---|---|
fs.jfs.cache.oss.bucket.<bucket-name>.accessKeyId | ID AccessKey |
fs.jfs.cache.oss.bucket.<bucket-name>.accessKeySecret | Rahasia AccessKey |
fs.jfs.cache.oss.bucket.<bucket-name>.securityToken | Token keamanan temporary |
SimpleAliyunCredentialsProvider
Gunakan untuk pasangan AccessKey berumur panjang.
Nama kelas: com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider
Tambahkan parameter berikut pada tab smartdata-site:
Konfigurasi global
| Parameter | Deskripsi |
|---|---|
fs.jfs.cache.oss.accessKeyId | ID AccessKey |
fs.jfs.cache.oss.accessKeySecret | Rahasia AccessKey |
Konfigurasi tingkat bucket
| Parameter | Deskripsi |
|---|---|
fs.jfs.cache.oss.bucket.<bucket-name>.accessKeyId | ID AccessKey |
fs.jfs.cache.oss.bucket.<bucket-name>.accessKeySecret | Rahasia AccessKey |
EnvironmentVariableCredentialsProvider
Gunakan ketika kredensial disimpan sebagai variabel lingkungan pada node kluster.
Nama kelas: com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider
Atur variabel lingkungan berikut:
| Variabel | Deskripsi |
|---|---|
ALIYUN_ACCESS_KEY_ID | ID AccessKey |
ALIYUN_ACCESS_KEY_SECRET | Rahasia AccessKey |
ALIYUN_SECURITY_TOKEN | Token keamanan temporary. Diperlukan hanya jika token memiliki periode validitas. |
JindoCommonCredentialsProvider
Penyedia serbaguna yang berfungsi di JindoOSS dan JindoFS.
Nama kelas: com.aliyun.emr.fs.auth.JindoCommonCredentialsProvider
Tambahkan parameter berikut pada tab smartdata-site. Parameter ini berlaku untuk cakupan konfigurasi global maupun tingkat bucket.
| Parameter | Deskripsi |
|---|---|
jindo.common.accessKeyId | ID AccessKey |
jindo.common.accessKeySecret | Rahasia AccessKey |
jindo.common.securityToken | Token keamanan temporary |
EcsStsCredentialsProvider
Gunakan untuk akses tanpa password dari instance ECS. Tidak diperlukan pasangan AccessKey.
Nama kelas: com.aliyun.emr.fs.auth.EcsStsCredentialsProvider
Tidak diperlukan parameter tambahan.
JindoRangerCredentialsProvider
Gunakan ketika Apache Ranger mengontrol akses ke OSS. Memerlukan SmartData 3.8.0 atau versi lebih baru.
Nama kelas: com.aliyun.emr.fs.auth.JindoRangerCredentialsProvider
Pada tab namespace, tambahkan parameter kustom berikut:
| Parameter | Nilai |
|---|---|
namespace.oss.permission.method | ranger |
Setelah menambahkan parameter, restart Jindo Namespace Service. Lihat Restart Jindo Namespace Service.
AssumeRoleStsCredentialsProvider
Gunakan untuk mengakses OSS dengan kredensial temporary yang diperoleh dengan mengasumsikan peran RAM melalui STS. Memerlukan SmartData 3.8.0 atau versi lebih baru.
Nama kelas: com.aliyun.emr.fs.auth.AssumeRoleStsCredentialsProvider
Tambahkan parameter berikut pada tab smartdata-site:
| Parameter | Deskripsi |
|---|---|
assume.role.sts.accessKeyId | ID AccessKey yang diperoleh dari STS |
assume.role.sts.accessKeySecret | Rahasia AccessKey yang diperoleh dari STS |
assume.role.sts.endpoint | Titik akhir STS. Lihat Endpoints. |
assume.role.roleArn | Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM, dalam format acs:ram::<accountID>:role/<roleName>. Untuk melihat ARN, lihat Bagaimana cara melihat ARN peran RAM? |
assume.role.roleSessionName | Nama sesi peran. Atur ke identifikasi apa pun, seperti username. |
Restart Jindo Namespace Service
Jika Anda menggunakan JindoRangerCredentialsProvider, restart Jindo Namespace Service setelah menambahkan konfigurasi.
Pada tab Configure halaman layanan SmartData, klik Actions di pojok kanan atas dan pilih Restart Jindo Namespace Service.
Pada kotak dialog Cluster Activities, masukkan deskripsi dan klik OK.
Pada pesan konfirmasi, klik OK.