Anda dapat menggunakan akun Alibaba Cloud (Alibaba Cloud Account A) untuk membuat Peran RAM, menentukan akun Alibaba Cloud lainnya (Alibaba Cloud Account B) untuk mengambil alih peran tersebut, dan memberikan izin tertentu pada sumber daya Simple Log Service milik Alibaba Cloud Account A kepada peran RAM tersebut. Selanjutnya, Anda dapat memberikan izin AssumeRole kepada pengguna RAM dari Alibaba Cloud Account B. Setelah itu, Anda dapat menggunakan Alibaba Cloud Account B atau pengguna RAM yang ditentukan untuk memanggil operasi API Layanan Token Keamanan (STS) guna mendapatkan kredensial keamanan sementara. Kredensial ini mencakup ID AccessKey, Rahasia AccessKey, dan token keamanan. Dengan cara ini, Anda dapat menggunakan pengguna RAM untuk memanggil operasi API Simple Log Service dan mengakses sumber daya Simple Log Service.
Ikhtisar solusi
Perusahaan A memiliki akun Alibaba Cloud bernama Alibaba Cloud Account A, dan Perusahaan B memiliki akun Alibaba Cloud bernama Alibaba Cloud Account B. Untuk mengisolasi data bisnis atau proyek yang dikerjakan pihak ketiga, pengguna dari Alibaba Cloud Account A ingin memberikan izin tertentu pada sumber daya Simple Log Service milik Alibaba Cloud Account A kepada Alibaba Cloud Account B. Izin berikut diberikan:
Alibaba Cloud Account B diberi otorisasi untuk menulis data ke Simple Log Service milik Alibaba Cloud Account A. Selain itu, Alibaba Cloud Account B diberi otorisasi untuk menggunakan grup konsumen guna mengonsumsi data dari Simple Log Service milik Alibaba Cloud Account A.
Pengguna RAM dari Alibaba Cloud Account B diberi otorisasi untuk menulis data ke Simple Log Service milik Alibaba Cloud Account A. Selain itu, pengguna RAM tersebut diberi otorisasi untuk menggunakan grup konsumen guna mengonsumsi data dari Simple Log Service milik Alibaba Cloud Account A.
Alibaba Cloud Account B diberi otorisasi untuk memanggil operasi API STS guna mendapatkan kredensial keamanan sementara dan menggunakan kredensial tersebut untuk memanggil operasi API Simple Log Service. Untuk informasi lebih lanjut, lihat Apa itu STS?
Untuk memenuhi persyaratan di atas, lakukan langkah-langkah berikut:
Langkah 1: Pengguna dari Alibaba Cloud Account A membuat Peran RAM untuk Alibaba Cloud Account B dan memberikan izin kepada Alibaba Cloud Account B
Pengguna dari Alibaba Cloud Account A membuat Peran RAM, menentukan Alibaba Cloud Account B untuk mengambil alih peran tersebut, dan memberikan izin tertentu pada sumber daya Simple Log Service milik Alibaba Cloud Account A kepada peran RAM tersebut.
Anda dapat membuat Peran RAM di Konsol RAM. Untuk informasi lebih lanjut, lihat Buat pengguna RAM dan otorisasi pengguna RAM untuk mengakses Simple Log Service. Anda juga dapat memanggil operasi API CreateRole dari RAM untuk membuat Peran RAM. Untuk informasi lebih lanjut, lihat CreateRole. Contoh berikut menjelaskan cara membuat Peran RAM di konsol.
Masuk ke Konsol Resource Access Management (RAM) menggunakan akun Alibaba Cloud Anda.
Buat Peran RAM dan tentukan Alibaba Cloud Account B untuk mengambil alih peran tersebut. Untuk informasi lebih lanjut, lihat Buat Peran RAM untuk akun Alibaba Cloud tepercaya.
Buat kebijakan kustom. Pada tab JSON halaman Buat Kebijakan, ganti skrip yang ada di editor kode dengan dokumen kebijakan berikut. Untuk informasi lebih lanjut, lihat Buat kebijakan kustom pada tab JSON.
Berikan izin menulis pada Simple Log Service
{ "Version": "1", "Statement": [ { "Action": "log:PostLogStoreLogs", "Resource": "*", "Effect": "Allow" } ] }Berikan izin untuk menggunakan grup konsumen guna menarik data dari Simple Log Service
{ "Version": "1", "Statement": [ { "Action": [ "log:GetCursorOrData", "log:CreateConsumerGroup", "log:ListConsumerGroup", "log:ConsumerGroupUpdateCheckPoint", "log:ConsumerGroupHeartBeat", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup" ], "Resource": "*", "Effect": "Allow" } ] }PentingKebijakan di atas memberikan izin pada semua proyek dan penyimpanan log milik Alibaba Cloud Account A. Jika Anda ingin memberikan izin pada proyek dan penyimpanan log tertentu, sertakan kode berikut dalam elemen Resource kebijakan:
Untuk memberikan izin pada proyek, gunakan
acs:log::{projectOwnerAliUid}:project/.Untuk memberikan izin pada penyimpanan log, gunakan
acs:log::{projectOwnerAliUid}:project/{projectName}/logstore/{logstoreName}/.
Untuk informasi lebih lanjut, lihat Daftar Sumber Daya.
Lampirkan kebijakan kustom yang telah dibuat ke Peran RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Peran RAM.
Langkah 2: Pengguna dari Alibaba Cloud Account B membuat pengguna-b RAM dan memberikan izin kepada pengguna RAM tersebut
Pengguna dari Alibaba Cloud Account B membuat pengguna RAM bernama user-b dan melampirkan kebijakan sistem AliyunSTSAssumeRoleAccess ke pengguna RAM tersebut. Kebijakan AliyunSTSAssumeRoleAccess memberikan pengguna RAM izin untuk memanggil operasi API AssumeRole dari STS.
Gunakan Alibaba Cloud Account B untuk masuk ke Konsol RAM.
Buat pengguna RAM bernama
user-bdan pilih Console Access dan Using permanent AccessKey to access di bagian Access Mode. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM.PentingRahasia AccessKey untuk pengguna RAM hanya ditampilkan saat Anda membuat pasangan AccessKey. Anda tidak dapat menanyakan rahasia AccessKey dalam operasi selanjutnya. Oleh karena itu, Anda harus mencadangkan rahasia AccessKey Anda.
Pasangan AccessKey adalah kredensial permanen untuk akses aplikasi. Jika pasangan AccessKey dari akun Alibaba Cloud bocor, sumber daya yang dimiliki oleh akun tersebut terpapar pada risiko potensial. Untuk mencegah risiko kebocoran kredensial, kami sarankan Anda menggunakan token Layanan Token Keamanan (STS). Untuk informasi lebih lanjut, lihat Praktik Terbaik untuk Menggunakan Kredensial Akses guna Memanggil Operasi API.
Lampirkan kebijakan AliyunSTSAssumeRoleAccess ke pengguna RAM. Dengan cara ini, pengguna RAM dapat mengambil alih Peran RAM untuk mendapatkan token Layanan Token Keamanan (STS). Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.
Langkah 3: Pengguna RAM user-b mendapatkan token STS untuk mengakses sumber daya Simple Log Service
Panggil operasi API AssumeRole untuk mendapatkan pasangan AccessKey sementara dan token keamanan. Untuk informasi lebih lanjut, lihat AssumeRole.
Anda dapat memanggil operasi ini dengan menggunakan metode berikut:
Panggil operasi menggunakan SDK STS. Untuk informasi lebih lanjut, lihat Ikhtisar SDK STS.
Panggil operasi API Simple Log Service. Untuk informasi lebih lanjut, lihat Ikhtisar SDK Simple Log Service.