Simple Log Service memungkinkan Anda membuat pekerjaan transformasi data menggunakan role default atau role kustom. Topik ini menjelaskan cara memberikan izin yang diperlukan kepada role kustom agar dapat mengakses data di Logstore.
Prasyarat
Peran RAM telah dibuat. Untuk informasi selengkapnya, lihat Buat peran RAM untuk layanan Alibaba Cloud tepercaya.
Saat membuat peran RAM, atur Principal Type ke Cloud Service, dan Principal Name ke Simple Log Service.
Periksa kebijakan kepercayaan peran RAM tersebut. Pastikan elemen
Serviceberisi setidaknya"log.aliyuncs.com".{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
Berikan akses read-only ke Logstore sumber untuk peran RAM
Setelah Anda memberikan izin read-only pada Logstore sumber kepada peran RAM, role tersebut dapat membaca data dari Logstore sumber. Anda kemudian dapat menggunakan peran RAM ini saat membuat pekerjaan transformasi data. Untuk informasi selengkapnya, lihat Buat pekerjaan transformasi data.
Login ke RAM console menggunakan Akun Alibaba Cloud Anda atau RAM user yang memiliki hak administratif.
Buat kebijakan kustom. Dalam contoh ini, kebijakan
log-etl-source-reader-policydibuat. Kebijakan ini memberikan izin read-only pada logstore sumber. Untuk informasi selengkapnya, lihat Buat kebijakan kustom di tab JSON.Pada tab JSON halaman Create Policy, Anda dapat menggunakan isi kebijakan yang menggunakan exact match atau fuzzy match untuk otorisasi guna menggantikan skrip yang ada di editor kode.
Exact match untuk otorisasi
Dalam contoh ini, nama proyek sumber adalah log-project-prod, dan nama logstore sumber adalah access_log. Ganti nama proyek dan logstore sesuai dengan kebutuhan bisnis Anda.
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": [ "acs:log:*:*:project/log-project-prod/logstore/access_log", "acs:log:*:*:project/log-project-prod/logstore/access_log/*" ], "Effect": "Allow" } ] }Fuzzy match untuk otorisasi
Dalam contoh ini, nama proyek sumber adalah log-project-dev-a, log-project-dev-b, dan log-project-dev-c, serta nama logstore sumber adalah app_a_log, app_b_log, dan app_c_log. Ganti nama proyek dan logstore sesuai dengan kebutuhan bisnis Anda.
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": [ "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log", "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*" ], "Effect": "Allow" } ] }Lampirkan kebijakan kustom yang telah dibuat ke peran RAM. Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.
Berikan akses tulis ke Logstore tujuan untuk peran RAM (akun yang sama)
Jika Logstore sumber dan tujuan berada dalam akun Alibaba Cloud yang sama, Anda harus memberikan izin tulis kepada peran RAM agar dapat menulis hasil transformasi ke Logstore tujuan. Anda dapat menggunakan peran RAM ini saat membuat pekerjaan transformasi data. Untuk informasi selengkapnya, lihat Buat pekerjaan transformasi data.
Buat kebijakan kustom. Dalam contoh ini, kebijakan
log-etl-target-writer-policydibuat. Kebijakan ini memberikan izin untuk menulis hasil transformasi ke logstore tujuan. Untuk informasi selengkapnya, lihat Buat kebijakan kustom di tab JSON.Pada tab JSON halaman Create Policy, Anda dapat menggunakan isi kebijakan yang menggunakan exact match atau fuzzy match untuk otorisasi guna menggantikan skrip yang ada di editor kode.
Exact match untuk otorisasi
Dalam contoh ini, nama proyek tujuan adalah log-project-prod, dan nama logstore tujuan adalah access_log_output. Ganti nama proyek dan logstore sesuai dengan kebutuhan bisnis Anda.
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*" ], "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output", "Effect": "Allow" } ] }Fuzzy match untuk otorisasi
Dalam contoh ini, nama proyek tujuan adalah log-project-dev-a, log-project-dev-b, dan log-project-dev-c, serta nama logstore tujuan adalah app_a_log_output, app_b_log_output, dan app_c_log_output. Ganti nama proyek dan logstore sesuai dengan kebutuhan bisnis Anda.
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output", "Effect": "Allow" } ] }Lampirkan kebijakan kustom yang telah dibuat ke peran RAM. Untuk informasi selengkapnya, lihat Berikan izin kepada peran RAM.
Berikan akses tulis ke Logstore tujuan untuk peran RAM (cross-account)
Jika Logstore sumber dan tujuan berada di akun Alibaba Cloud yang berbeda, Anda harus memberikan otorisasi RAM cross-account. Misalnya, jika pekerjaan transformasi data membaca data dari Logstore sumber di Akun Alibaba Cloud A dan menulis data hasil transformasi ke Logstore tujuan di Akun Alibaba Cloud B, Anda harus login ke Akun Alibaba Cloud B untuk memberikan izin yang diperlukan.
Sebelum memulai, pastikan Anda telah menyelesaikan langkah-langkah untuk Akun Alibaba Cloud B sebagaimana dijelaskan dalam Berikan akses tulis ke Logstore tujuan untuk peran RAM (akun yang sama).
Login ke RAM console menggunakan Akun Alibaba Cloud Anda atau RAM user yang memiliki hak administratif.
Di panel navigasi sebelah kiri, pilih .
Pada daftar role, klik nama peran RAM tujuan.
Pada tab Trust Policy, klik Edit Trust Policy.
Pada item konfigurasi
Service, tambahkanID akun Alibaba Cloud A tempat Logstore sumber berada. GantiID akun Alibaba Cloud A tempat Logstore sumber beradadengan ID akun Alibaba Cloud yang sebenarnya. Anda dapat menemukan ID akun Alibaba Cloud Anda di Account Center. Kebijakan ini memungkinkan Akun A memperoleh token temporary melalui Simple Log Service untuk mengoperasikan resource milik Akun B.{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ID of Alibaba Cloud Account A where the source Logstore resides@log.aliyuncs.com" ] } } ], "Version": "1" }Dapatkan Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM tersebut. Untuk informasi selengkapnya, lihat Lihat informasi tentang peran RAM.
Langkah selanjutnya
Konfigurasikan ARN peran RAM dalam pekerjaan transformasi data. Untuk informasi selengkapnya, lihat Buat pekerjaan transformasi data.