Secara tradisional, node DataWorks mengandalkan konfigurasi AccessKey dalam teks biasa untuk mengakses layanan eksternal seperti OSS. Pendekatan ini menimbulkan risiko keamanan dan tantangan manajemen. Menyematkan AccessKey permanen secara langsung dalam kode menciptakan risiko eksposur, yang berpotensi membahayakan seluruh aset data Anda jika kunci tersebut bocor. Selain itu, karena pengelolaan kunci untuk setiap task bersifat kompleks, izin yang diberikan sering kali kasar (coarse-grained). Praktik ini menyulitkan penerapan kontrol akses detail halus berdasarkan prinsip least-privilege. Untuk mengatasi masalah ini, gunakan otorisasi RAM role. Pendekatan ini memanfaatkan Security Token Service (STS) untuk memperoleh kredensial temporary secara dinamis, sehingga menghilangkan risiko kebocoran kunci dan memungkinkan pengelolaan izin detail halus yang spesifik per task sesuai kebutuhan.
Ikhtisar solusi
Proses konfigurasi terdiri dari tiga langkah utama: Create a RAM role, Create a permissions policy, dan Grant permissions to a RAM user.
Prasyarat
Anda memiliki Akun Alibaba Cloud atau administrator RAM dengan izin AliyunRAMFullAccess.
Langkah 1: Create a RAM role
Role ini merupakan kredensial identitas yang diasumsikan oleh DataWorks saat mengakses sumber daya cloud lainnya.
Create a RAM role: Login ke halaman Roles di Konsol RAM dan klik Create Role. Pertahankan pilihan default, klik Confirm, lalu masukkan nama role yang deskriptif, misalnya
DataWorksRAMROLEforDataStudio.Modify the trust policy: Setelah role dibuat, buka halaman detailnya. Pada tab Trust Policy, edit kebijakan agar hanya layanan
dataworks.aliyuncs.comdanengine.dataworks.aliyuncs.comyang dapat mengasumsikan role ini. Kebijakan tersebut adalah sebagai berikut:Untuk informasi selengkapnya, lihat Memodifikasi kebijakan kepercayaan Peran RAM.
{ "Version": "1", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com", "engine.dataworks.aliyuncs.com" ] } } ] }Grant permissions to the RAM role: Di halaman detail role, buka tab Manage Permissions dan klik Add Permissions. Berikan izin yang diperlukan kepada role
DataWorksRAMROLEforDataStudio.Sebagai contoh, untuk mengakses OSS, Anda dapat memberikan izin
AliyunOSSReadOnlyAccess(read-only) atauAliyunOSSFullAccess(full access).Untuk informasi lebih lanjut, lihat Manage RAM role permissions.
Pada panel Add Permissions, atur resource scope ke account level, cari dan pilih kebijakan yang diperlukan, lalu klik OK.
Langkah 2: Buat Kebijakan izin
Kebijakan ini memungkinkan Pengguna RAM untuk pass RAM role yang dibuat pada Langkah 1 ke layanan DataWorks.
Login ke halaman Policies di Konsol RAM, klik Create Policy, lalu beralih ke tab JSON untuk mengedit konten kebijakan.
Ganti
<role-name>dengan nama RAM role untuk DataWorks, misalnyaDataWorksRAMROLEforDataStudio.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:ListRoles" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "acs:ram::<account-id>:role/<role-name>" } ] }
Action | Description |
| Mengizinkan pengguna melihat daftar role dalam akun. Izin ini diperlukan untuk memilih role di antarmuka pengguna. |
| Mengizinkan pengguna meneruskan role tertentu ke layanan cloud. Ganti placeholder
|
Untuk informasi lebih lanjut, lihat Create a custom policy.
Klik Determine dan simpan Permission Policy sebagai
DataWorksRAMPolicyforDataStudio.
Langkah 3: Memberi otorisasi Pengguna RAM
Pada langkah terakhir ini, Anda memberikan izin kepada end user untuk meneruskan role tersebut.
Login ke halaman Users di Konsol RAM. Temukan Pengguna RAM yang ingin Anda otorisasi, misalnya
new_ram_user@.... Pada kolom Operation, klik Add Permissions.Pada panel Add Authorization, cari dan pilih kebijakan izin yang dibuat pada Langkah 2 (
DataWorksRAMPolicyforDataStudio), lalu konfirmasi otorisasi tersebut.
Untuk mengotorisasi beberapa Pengguna RAM, ulangi langkah ini untuk setiap pengguna yang memerlukan izin tersebut.
Langkah berikutnya
Setelah otorisasi selesai, login dengan akun new_ram_user@... dan buka halaman Data Studio. Anda kemudian dapat menggunakan associated role untuk menjalankan task pada node yang didukung. Untuk informasi lebih lanjut, lihat Configure an associated role for a node in scheduling.
Untuk daftar node yang didukung, lihat antarmuka pengguna.