Resource Access Management (RAM) memungkinkan Anda mendelegasikan izin melalui pengguna RAM. Anda dapat memberikan izin berbeda kepada pengguna RAM sesuai kebutuhan bisnis, sehingga membantu menghindari risiko keamanan akibat terpaparnya AccessKey akun Alibaba Cloud Anda.
Latar Belakang
Perusahaan A telah mengaktifkan layanan ApsaraMQ for RabbitMQ. Perusahaan tersebut memerlukan karyawannya untuk mengelola sumber daya layanan ApsaraMQ for RabbitMQ, seperti instans, Vhost, Queue, dan Exchange. Karena tanggung jawab pekerjaan karyawan berbeda-beda, mereka memerlukan izin yang berbeda pula. Persyaratan Perusahaan A adalah sebagai berikut:
Untuk alasan keamanan atau kepercayaan, perusahaan tidak ingin membagikan AccessKey akun Alibaba Cloud-nya secara langsung kepada karyawan. Sebagai gantinya, perusahaan ingin membuat akun pengguna terpisah untuk mereka.
Pengguna hanya dapat mengelola sumber daya dalam cakupan izin yang diberikan. Seluruh penggunaan sumber daya ditagihkan ke akun Alibaba Cloud perusahaan, bukan ke akun pengguna individual.
Perusahaan dapat mencabut izin pengguna atau menghapus akun pengguna kapan saja.
Langkah 1: Buat pengguna RAM
Untuk membuat pengguna RAM bagi karyawannya, login ke Konsol RAM menggunakan akun Alibaba Cloud Perusahaan A.
Prosedur
Konsol
-
Login ke Konsol RAM menggunakan akun Alibaba Cloud Anda atau sebagai pengguna RAM dengan izin administratif (pengguna yang telah ditetapkan kebijakan
AliyunRAMFullAccess). -
Di panel navigasi sebelah kiri, pilih .
-
Di halaman Users, klik Create User.
-
Di halaman Create User, pada bagian User Account Information, konfigurasikan informasi dasar pengguna.
-
Logon Name (wajib): Maksimal 64 karakter. Mengizinkan huruf, angka, titik (.), tanda hubung (-), dan garis bawah (_).
-
Display Name (opsional): Nama dapat memiliki panjang hingga 128 karakter.
-
Tag (opsional): Klik
, lalu masukkan kunci tag dan nilai tag untuk mengkategorikan serta mengelola pengguna.
CatatanKlik Add User untuk membuat beberapa pengguna RAM sekaligus.
-
-
Di bagian Access Mode, pilih mode akses berdasarkan jenis pengguna.
Penting-
Sebagai praktik keamanan terbaik, pilih hanya satu mode akses per pengguna untuk memisahkan akses konsol manusia dari akses aplikasi programatik.
-
Pasangan AccessKey yang bocor akan mengompromikan akun Anda. Gunakan Token Layanan Keamanan (STS) (kredensial sementara) sebagai gantinya untuk mengurangi risiko. Praktik terbaik penggunaan kredensial akses untuk memanggil API Alibaba Cloud.
Akses konsol
Pilih Console Access.
-
Set Logon Password: Hasilkan otomatis atau atur password kustom. Password kustom harus memenuhi persyaratan kompleksitas yang dikonfigurasi. Atur kebijakan kata sandi untuk pengguna RAM.
-
Password Reset: Tentukan apakah pengguna harus mengatur ulang password saat login berikutnya.
-
Enable MFA: Autentikasi Multi-Faktor (MFA) diwajibkan untuk semua pengguna secara default. Untuk mengubah pengaturan ini, lihat Mengelola pengaturan keamanan Pengguna RAM. Pengguna harus menautkan perangkat MFA saat pertama kali masuk. Tautkan perangkat MFA.
Akses programatik
Pilih Using permanent AccessKey to access.
Sistem secara otomatis membuat AccessKey ID dan AccessKey secret untuk pengguna RAM.
PentingAccessKey secret hanya ditampilkan saat pembuatan dan tidak dapat diambil kembali nanti. Anda harus segera mengunduh atau menyalin dan menyimpan AccessKey secret tersebut. Pasangan AccessKey yang bocor akan mengompromikan seluruh sumber daya di bawah akun Anda. Buat pasangan AccessKey.
-
OpenAPI
Buat pengguna RAM untuk akses konsol
-
Panggil GetDefaultDomain untuk mendapatkan akhiran login default akun. Formatnya adalah
<AccountAlias>.onaliyun.com. -
Panggil operasi CreateUser untuk membuat pengguna RAM. Parameter berikut wajib diisi:
-
UserPrincipalName: Nama login untuk pengguna RAM. Formatnya adalah<username>@<AccountAlias>.onaliyun.com, di mana<username>adalah nama pengguna RAM dan<AccountAlias>.onaliyun.comadalah akhiran login default. -
DisplayName: Nama tampilan untuk pengguna RAM. Nilainya dapat berbeda dari<username>di atas.
-
-
Panggil operasi CreateLoginProfile untuk membuat profil login dan mengonfigurasi mode akses serta MFA. Pengaturan yang direkomendasikan:
-
UserPrincipalName: Informasi pengguna yang dibuat pada langkah sebelumnya. -
Password: Atur sesuai persyaratan kekuatan password akun. Panggil operasi GetPasswordPolicy untuk menanyakan kebijakan password saat ini. -
MFABindRequired: Atur ketrueuntuk mewajibkan MFA bagi pengguna RAM. -
Status: Mengaktifkan atau menonaktifkan login password konsol. Default:Active.
-
Buat pengguna RAM untuk akses programatik
-
Panggil GetDefaultDomain untuk mendapatkan akhiran login default akun. Akhiran tersebut dalam format
<AccountAlias>.onaliyun.com. -
Panggil operasi CreateUser untuk membuat pengguna RAM. Parameter berikut wajib diisi:
-
UserPrincipalName: Nama login pengguna RAM dalam format<username>@<AccountAlias>.onaliyun.com, di mana<username>adalah nama pengguna RAM dan<AccountAlias>.onaliyun.comadalah akhiran login default. -
DisplayName: Nama tampilan untuk pengguna RAM, yang dapat berbeda dari<username>di atas.
-
-
Untuk membuat pasangan AccessKey (AccessKey), panggil operasi CreateAccessKey dan cukup berikan
UserPrincipalNameuntuk pengguna yang telah Anda buat pada langkah sebelumnya.PentingTanggapan
CreateAccessKeyberisi AccessKeyId dan AccessKeySecret. AccessKeySecret hanya muncul sekali dan tidak dapat diambil kembali — simpan segera. AccessKey yang bocor akan mengompromikan seluruh sumber daya di akun Anda. Untuk informasi lebih lanjut, lihat Buat AccessKey.
Langkah 2: Berikan izin kepada pengguna RAM
Berikan izin berbeda kepada pengguna RAM yang berbeda.
Login ke Konsol RAM sebagai administrator RAM.
Di panel navigasi sebelah kiri, pilih .
Temukan pengguna RAM yang diperlukan, lalu klik Attach Policy di kolom Actions.
Di panel Attach Policy, berikan izin kepada pengguna RAM.
Pilih Resource Scope.
Account: Izin berlaku untuk akun Alibaba Cloud saat ini.
Resource Group: Izin berlaku untuk kelompok sumber daya tertentu.
CatatanOtorisasi untuk kelompok sumber daya hanya berlaku jika layanan cloud mendukung kelompok sumber daya. Untuk informasi lebih lanjut, lihat Layanan cloud yang mendukung kelompok sumber daya.
Tentukan Principal.
Principal adalah pengguna RAM yang Anda berikan izin.
Pilih Policy.
Kebijakan adalah kumpulan izin. Terdapat dua jenis kebijakan:
System Policy: Dibuat dan dikelola oleh Alibaba Cloud. Anda dapat menggunakan kebijakan ini tetapi tidak dapat mengubahnya. Untuk informasi lebih lanjut, lihat Layanan yang bekerja dengan RAM.
Custom Policy: Anda dapat membuat, memperbarui, dan menghapus kebijakan ini. Untuk informasi lebih lanjut, lihat Buat kebijakan kustom.
Untuk mengonfigurasi izin detail halus untuk sumber daya ApsaraMQ for RabbitMQ seperti instans, Vhost, dan queue, buat kebijakan kustom. Contoh berikut menunjukkan JSON kebijakan kustom:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "amqp:*", "Resource": "acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>" } ] }Ganti
<InstanceID>dengan ID instans aktual dan<VhostName>dengan nama Vhost aktual. BidangResourcemendukung tingkat granularitas berikut:Tingkat instans:
acs:amqp:*:*:instance/<InstanceID>Tingkat Vhost:
acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>Tingkat Queue:
acs:amqp:*:*:instance/<InstanceID>/vhost/<VhostName>/queue/<QueueName>
CatatanSistem secara otomatis mengidentifikasi kebijakan sistem berisiko tinggi, seperti AdministratorAccess dan AliyunRAMFullAccess. Saat memberikan izin, hindari memberikan kebijakan berisiko tinggi yang tidak diperlukan.
Pemecahan Masalah: Izin RAM Tidak Cukup
Jika Anda mengalami error terkait izin saat menghubungkan atau mengonsumsi pesan dari ApsaraMQ for RabbitMQ, periksa hal berikut:
BrokerUnreachableException atau InstanceNotServing (.NET SDK): Jika client .NET SDK Anda melaporkan
BrokerUnreachableExceptionatauInstanceNotServingdan koneksi jaringan telah diverifikasi normal, periksa apakah pengguna RAM memiliki izin operasi untuk instans dan Vhost target. Perbarui kebijakan kustom untuk memberikan izinamqp:*pada sumber daya terkait.AccessDeniedByRamPolicy (konsumsi queue tertunda): Jika konsumsi queue tertunda terganggu atau pesan menumpuk dan error
AccessDeniedByRamPolicydilaporkan, periksa apakah pengguna RAM memiliki izin operasi untuk instans, Vhost, dan queue tertentu (misalnya,event_task_result_querydanevent_task_status). Perbarui bidangResourcedalam kebijakan kustom Anda untuk menyertakan queue yang terpengaruh.
Klik Grant permissions.
Klik Close.
Langkah selanjutnya
Pengguna RAM dapat mengakses ApsaraMQ for RabbitMQ dengan cara berikut.
Konsol
Buka halaman RAM User Logon di browser Anda.
Di halaman RAM User Logon, masukkan username RAM, klik Next, masukkan password, lalu klik Log On.
CatatanUsername RAM harus dalam format <$username>@<$AccountAlias> atau <$username>@<$AccountAlias>.onaliyun.com. <$AccountAlias> adalah alias akun. Jika tidak ada alias akun yang diatur, ID akun Alibaba Cloud digunakan secara default.
API
Gunakan AccessKey ID dan AccessKey Secret pengguna RAM dalam kode Anda untuk memanggil API dan mengakses ApsaraMQ for RabbitMQ.