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, kunci tersebut sering diberikan izin kasar (coarse-grained). Praktik ini menyulitkan penerapan kontrol akses detail halus berdasarkan prinsip least-privilege. Untuk mengatasi masalah ini, gunakan otorisasi peran RAM. 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: Buat Peran RAM
Peran 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 peran deskriptif, misalnya
DataWorksRAMROLEforDataStudio. -
Modify the trust policy: Setelah peran dibuat, buka halaman detailnya. Pada tab Trust Policy, edit kebijakan agar hanya layanan
dataworks.aliyuncs.comyang dapat mengasumsikan peran ini. Kebijakan tersebut adalah sebagai berikut:Untuk informasi lebih lanjut, lihat Modify the trust policy of a RAM role.
{ "Version": "1", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ] } -
Grant permissions to the RAM role: Di halaman detail peran, buka tab Manage Permissions dan klik Add Permissions. Berikan izin yang diperlukan kepada peran
DataWorksRAMROLEforDataStudiorole.Sebagai contoh, untuk mengakses OSS, Anda dapat memberikan izin
AliyunOSSReadOnlyAccess(read-only) atauAliyunOSSFullAccess(full access).Untuk informasi lebih lanjut, lihat Manage RAM role permissions.
Di panel Add Permissions, atur resource scope ke account level, cari dan pilih kebijakan yang diperlukan, lalu klik OK.
Langkah 2: Create a permissions policy
Kebijakan ini memungkinkan Pengguna RAM untuk pass peran RAM 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 peran RAM 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 |
|
|
Memungkinkan pengguna melihat daftar peran dalam akun. Izin ini diperlukan untuk memilih peran di antarmuka pengguna. |
|
|
Memungkinkan pengguna meneruskan peran 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 Wewenang Pengguna RAM
Pada langkah terakhir ini, Anda memberikan izin kepada end user untuk meneruskan peran tersebut.
-
Masuk ke halaman Pengguna Konsol RAM. Cari Pengguna RAM yang ingin Anda beri otorisasi, misalnya,
new_ram_user@.... Pada kolom Operation, klik Add Permissions. -
Di 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 ini.
Langkah selanjutnya
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.