Anda dapat menggunakan penyedia kredensial untuk menyimpan pasangan AccessKey terenkripsi dalam file, mencegah kebocoran pasangan AccessKey.
Informasi latar belakang
Penyedia kredensial Hadoop dapat digunakan untuk menyimpan pasangan AccessKey terenkripsi dalam file, menghindari transmisi pasangan AccessKey dalam teks biasa. Anda dapat memilih penyedia kredensial JindoOSS yang sesuai berdasarkan kebutuhan bisnis Anda.
Konfigurasikan penyedia kredensial JindoOSS
- Buka layanan SmartData.
- Masuk ke Konsol EMR Alibaba Cloud.
- Di bilah navigasi atas, pilih wilayah tempat kluster Anda berada. Pilih grup sumber daya sesuai kebutuhan. Secara default, semua sumber daya akun akan ditampilkan.
- Klik tab Cluster Management.
- Pada halaman Cluster Management, temukan kluster target dan klik Details di kolom Tindakan.
- Di panel navigasi sebelah kiri, klik Cluster Service, lalu pilih SmartData.
- Masuk ke Konsol EMR Alibaba Cloud.
- Buka tab smartdata-site.
- Klik tab Configure.
- Di bagian Service Configuration, klik tab smartdata-site.
- Tambahkan informasi konfigurasi.
- Di sudut kanan atas tab smartdata-site, klik Custom Configuration.
- Di kotak dialog Add Configuration Item, tambahkan parameter yang dijelaskan dalam tabel berikut.
- Konfigurasi global (untuk semua bucket)
Parameter Deskripsi fs.jfs.cache.oss.credentials.provider Menentukan kelas implementasi dari com.aliyun.emr.fs.auth.AliyunCredentialsProvider. Pisahkan beberapa kelas dengan koma (,). Sistem membaca nilai kredensial secara berurutan hingga ditemukan nilai kredensial yang valid. Contoh: com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider.Untuk informasi lebih lanjut tentang penyedia kredensial, lihat Jenis penyedia kredensial.
- Konfigurasi tingkat bucket
Parameter Deskripsi fs.jfs.cache.oss.bucket.XXX.credentials.provider Menentukan kelas implementasi dari com.aliyun.emr.fs.auth.AliyunCredentialsProvider. Pisahkan beberapa kelas dengan koma (,). Sistem membaca nilai kredensial secara berurutan hingga ditemukan nilai kredensial yang valid. Contoh: com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider,com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider,com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider.Untuk informasi lebih lanjut tentang penyedia kredensial, lihat Jenis penyedia kredensial.null XXX menunjukkan nama Bucket Object Storage Service (OSS).
- Konfigurasi global (untuk semua bucket)
Jenis penyedia kredensial
Anda dapat memilih penyedia kredensial yang sesuai dengan kebutuhan bisnis Anda. Berikut adalah penyedia yang didukung:
- Konfigurasi global
- TemporaryAliyunCredentialsProviderPenyedia ini cocok untuk skenario di mana pasangan AccessKey dan token keamanan dengan periode validitas digunakan untuk mengakses OSS.
Parameter Deskripsi fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider fs.jfs.cache.oss.accessKeyId ID AccessKey yang digunakan untuk mengakses OSS. fs.jfs.cache.oss.accessKeySecret Rahasia AccessKey yang digunakan untuk mengakses OSS. fs.jfs.cache.oss.securityToken Token keamanan sementara yang digunakan untuk mengakses OSS. - SimpleAliyunCredentialsProviderPenyedia ini cocok untuk skenario di mana pasangan AccessKey dengan periode validitas panjang digunakan untuk mengakses OSS.
Parameter Deskripsi fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider fs.jfs.cache.oss.accessKeyId ID AccessKey yang digunakan untuk mengakses OSS. fs.jfs.cache.oss.accessKeySecret Rahasia AccessKey yang digunakan untuk mengakses OSS. - EnvironmentVariableCredentialsProviderUntuk menggunakan penyedia ini, Anda harus mengonfigurasi parameter yang dijelaskan dalam tabel berikut.
Parameter Deskripsi fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider ALIYUN_ACCESS_KEY_ID ID AccessKey yang digunakan untuk mengakses OSS. ALIYUN_ACCESS_KEY_SECRET Rahasia AccessKey yang digunakan untuk mengakses OSS. ALIYUN_SECURITY_TOKEN Token keamanan sementara yang digunakan untuk mengakses OSS. null Parameter ini hanya diperlukan saat Anda mengonfigurasi token yang memiliki periode validitas. - InstanceProfileCredentialsProviderPenyedia ini tidak memerlukan pasangan AccessKey. Anda dapat mengakses OSS dalam mode tanpa kata sandi.
Parameter Deskripsi fs.jfs.cache.oss.credentials.provider com.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider
- TemporaryAliyunCredentialsProvider
- Konfigurasi tingkat bucket
- TemporaryAliyunCredentialsProviderPenyedia ini cocok untuk skenario di mana pasangan AccessKey dan token keamanan dengan periode validitas digunakan untuk mengakses OSS.
Parameter Deskripsi fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.TemporaryAliyunCredentialsProvider fs.jfs.cache.oss.bucket.XXX.accessKeyId ID AccessKey yang digunakan untuk mengakses bucket OSS. fs.jfs.cache.oss.bucket.XXX.accessKeySecret Rahasia AccessKey yang digunakan untuk mengakses bucket OSS. fs.jfs.cache.oss.bucket.XXX.securityToken Token keamanan sementara yang digunakan untuk mengakses bucket OSS. - SimpleAliyunCredentialsProviderPenyedia ini cocok untuk skenario di mana pasangan AccessKey dengan periode validitas panjang digunakan untuk mengakses OSS.
Parameter Deskripsi fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.SimpleAliyunCredentialsProvider fs.jfs.cache.oss.bucket.XXX.accessKeyId ID AccessKey yang digunakan untuk mengakses bucket OSS. fs.jfs.cache.oss.bucket.XXX.accessKeySecret Rahasia AccessKey yang digunakan untuk mengakses bucket OSS. - EnvironmentVariableCredentialsProviderUntuk menggunakan penyedia ini, Anda harus mengonfigurasi parameter yang dijelaskan dalam tabel berikut.
Parameter Deskripsi fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.EnvironmentVariableCredentialsProvider ALIYUN_ACCESS_KEY_ID ID AccessKey yang digunakan untuk mengakses bucket OSS. ALIYUN_ACCESS_KEY_SECRET Rahasia AccessKey yang digunakan untuk mengakses bucket OSS. ALIYUN_SECURITY_TOKEN Token keamanan sementara yang digunakan untuk mengakses bucket OSS. null Parameter ini hanya diperlukan saat Anda mengonfigurasi token yang memiliki periode validitas. - InstanceProfileCredentialsProviderPenyedia ini tidak memerlukan pasangan AccessKey. Anda dapat mengakses OSS dalam mode tanpa kata sandi.
Parameter Deskripsi fs.jfs.cache.oss.bucket.XXX.credentials.provider com.aliyun.emr.fs.auth.InstanceProfileCredentialsProvider
- TemporaryAliyunCredentialsProvider
Gunakan penyedia kredensial Hadoop untuk menyimpan informasi pasangan AccessKey
null Untuk informasi lebih lanjut tentang penyedia kredensial Hadoop, lihat Panduan API CredentialProvider.
Gunakan perintah yang disediakan oleh Hadoop untuk menyimpan informasi pasangan AccessKey dan token keamanan ke dalam file kredensial. Sintaks:
hadoop credential <subcommand> [options]Sebagai contoh, dalam mode konfigurasi global, simpan informasi pasangan AccessKey dan token ke dalam file JCEKS. Anda dapat melindungi file tersebut dengan izin file atau menentukan kata sandi untuk mengenkripsi informasi yang ingin disimpan. Jika tidak menentukan kata sandi, string default akan digunakan untuk enkripsi.
hadoop credential create fs.jfs.cache.oss.accessKeyId -value AAA -provider jceks://file/root/oss.jceks
hadoop credential create fs.jfs.cache.oss.accessKeySecret -value BBB -provider jceks://file/root/oss.jceks
hadoop credential create fs.jfs.cache.oss.securityToken -value CCC -provider jceks://file/root/oss.jceksSetelah file kredensial dibuat, Anda harus mengonfigurasi parameter yang dijelaskan dalam tabel berikut untuk menentukan jenis penyedia dan lokasinya.
| Parameter | Deskripsi |
| fs.jfs.cache.oss.security.credential.provider.path | Path yang digunakan untuk menyimpan file kredensial yang menyimpan informasi pasangan AccessKey. Sebagai contoh, Anda dapat mengatur parameter ini ke jceks://file/${user.home}/oss.jceks, yang menunjukkan bahwa file oss.jceks disimpan di direktori home. |