Anda dapat mengotorisasi pengguna Resource Access Management (RAM) atau peran RAM untuk menggunakan Service Mesh (ASM) sesuai kebutuhan dengan memberikan izin yang diperlukan. Hanya pengguna RAM dan peran RAM yang berwenang yang dapat melakukan operasi seperti membuat instance ASM dan memperbarui konfigurasi di konsol ASM. Ini menghilangkan risiko keamanan akibat kebocoran pasangan AccessKey akun Alibaba Cloud. Topik ini menjelaskan cara memberikan izin kepada pengguna RAM dan peran RAM.
Prasyarat
Pengguna RAM dan peran RAM telah dibuat. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM dan Buat Peran RAM untuk Akun Alibaba Cloud yang Tepercaya.
Anda memiliki pengetahuan dasar tentang elemen, struktur, dan sintaksis kebijakan. Untuk informasi lebih lanjut, lihat Struktur dan Sintaksis Kebijakan.
Informasi latar belakang
Izin yang diperlukan oleh pengguna RAM dan peran RAM bervariasi tergantung pada skenario yang berbeda.
Jika pengguna RAM atau peran RAM hanya perlu mengelola instance ASM tanpa mengelola kluster Container Service for Kubernetes (ACK), Anda cukup memberikan izin pada instance ASM kepada pengguna RAM atau peran RAM. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Sistem ke Pengguna RAM dan Peran RAM dan Lampirkan Kebijakan Kustom ke Pengguna RAM dan Peran RAM.
Jika pengguna RAM atau peran RAM perlu mengelola baik instance ASM maupun kluster ACK, Anda harus memberikan izin pada instance ASM dan kluster ACK kepada pengguna RAM atau peran RAM. Sebagai contoh, pengguna RAM atau peran RAM perlu menambahkan kluster ACK ke instance ASM dan menghapus kluster ACK dari instance ASM. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Sistem ke Pengguna RAM dan Peran RAM, Lampirkan Kebijakan Kustom ke Pengguna RAM dan Peran RAM, dan Gunakan RAM untuk Mengotorisasi Akses ke Kluster dan Sumber Daya Cloud.
Lampirkan kebijakan sistem ke pengguna RAM dan peran RAM
Secara default, ASM menyediakan dua kebijakan sistem: AliyunASMReadOnlyAccess dan AliyunASMFullAccess. Anda dapat melampirkan kebijakan tersebut ke pengguna RAM dan peran RAM. Berikut adalah deskripsi kedua kebijakan:
AliyunASMReadOnlyAccess
Kebijakan ini hanya memberikan izin baca saja pada instance ASM. Setelah melampirkan kebijakan ini, pengguna RAM hanya dapat melihat informasi tentang instance ASM tetapi tidak dapat memodifikasi konfigurasinya.
AliyunASMFullAccess
Kebijakan ini memberikan semua izin pada instance ASM. Setelah melampirkan kebijakan ini, pengguna RAM memiliki izin penuh pada instance ASM seperti akun Alibaba Cloud dan dapat melakukan semua operasi terkait.
Berikut adalah langkah-langkah untuk melampirkan kebijakan sistem ke pengguna RAM atau peran RAM. Dalam contoh ini, kebijakan AliyunASMReadOnlyAccess dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM dan Berikan Izin kepada Peran RAM.
Masuk ke Konsol RAM sebagai administrator RAM.
Di panel navigasi sebelah kiri, pilih .
Di halaman Users, temukan pengguna RAM yang diperlukan, dan klik Add Permissions di kolom Actions.

Anda juga dapat memilih beberapa pengguna RAM dan klik Add Permissions di bagian bawah halaman untuk memberikan izin secara bersamaan.
Di panel Grant Permission, berikan izin kepada pengguna RAM.
Konfigurasikan parameter Resource Scope.
Account: Otorisasi berlaku untuk akun Alibaba Cloud saat ini.
ResourceGroup: Otorisasi berlaku untuk grup sumber daya tertentu.
PentingJika Anda memilih Grup Sumber Daya untuk parameter Cakupan Sumber Daya, pastikan layanan cloud yang diperlukan mendukung grup sumber daya. Untuk informasi lebih lanjut, lihat Layanan yang Bekerja dengan Grup Sumber Daya. Untuk informasi lebih lanjut tentang cara memberikan izin pada grup sumber daya, lihat Gunakan Grup Sumber Daya untuk Memberikan Izin kepada Pengguna RAM untuk Mengelola Instance ECS Tertentu.
Konfigurasikan parameter Principal.
Principal adalah pengguna RAM yang ingin Anda beri izin. Pengguna RAM saat ini dipilih secara otomatis.
Pilih System Policy dari daftar drop-down All Types, masukkan AliyunASMReadOnlyAccess di kotak pencarian, dan pilih AliyunASMReadOnlyAccess.
CatatanAnda dapat melampirkan maksimal lima kebijakan ke pengguna RAM sekaligus. Jika Anda ingin melampirkan lebih dari lima kebijakan, ulangi operasinya.
Klik Grant permissions.
Klik Close.
Lampirkan kebijakan kustom ke pengguna RAM dan peran RAM
Untuk kontrol granular atas izin, Anda dapat membuat kebijakan kustom dan melampirkannya ke pengguna RAM dan peran RAM.
Buat kebijakan yang digunakan untuk memberikan izin pada instance ASM
Masuk ke Konsol RAM sebagai pengguna RAM dengan hak administratif.
Di panel navigasi sebelah kiri, pilih .
Di halaman Policies, klik Create Policy.

Di halaman Create Policy, klik tab JSON.

Masukkan kebijakan kustom, lalu klik OK.
Anda dapat memodifikasi bidang
Actiondalam blokStatementuntuk mengaktifkan autentikasi granular untuk operasi API. Dalam contoh ini, kebijakan dengan izin terbatas dibuat. Kebijakan ini memberikan semua izin RAM pada ASM kecuali izin otorisasi RBAC. Pengguna RAM yang kebijakan ini dilampirkan tidak dapat memberikan izin RBAC kepada pengguna lain tetapi memiliki semua izin lainnya. Untuk informasi lebih lanjut tentang sintaksis dan struktur kebijakan RAM, lihat Struktur dan Sintaksis Kebijakan.{ "Statement": [ { "Effect": "Allow", "Action": [ "servicemesh:Add*", "servicemesh:CRBatchDeletion", "servicemesh:Create*", "servicemesh:Delete*", "servicemesh:Describe*", "servicemesh:Enable*", "servicemesh:Disable*", "servicemesh:Get*", "servicemesh:InvokeApiServer", "servicemesh:List*", "servicemesh:Modify*", "servicemesh:Re*", "servicemesh:Run*", "servicemesh:Set*", "servicemesh:Sync*", "servicemesh:Update*", "servicemesh:Upgrade*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "log:ListLogStores", "log:ListDashboard", "log:GetDashboard", "log:ListSavedSearch", "log:ListProject" ], "Resource": "*" }, { "Effect": "Allow", "Action": "log:GetLogStoreLogs", "Resource": "acs:log:*:*:project/*/logstore/audit-*" }, { "Effect": "Allow", "Action": "log:GetLogStoreLogs", "Resource": "acs:log:*:*:project/*/logstore/istio-*" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "servicemesh.aliyuncs.com" } } } ], "Version": "1" }Di bagian Basic Information, masukkan nama kebijakan di bidang Nama. Dalam contoh ini, nama kebijakan adalah ASMPolicy1. Lalu, klik OK.
Lampirkan kebijakan kustom ke pengguna RAM atau peran RAM
Dalam contoh ini, kebijakan kustom dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut tentang cara melampirkan kebijakan kustom ke peran RAM, lihat Berikan Izin kepada Peran RAM.
Masuk ke Konsol RAM sebagai pengguna RAM dengan hak administratif.
Di panel navigasi sebelah kiri, pilih .
Di halaman Users, temukan pengguna RAM yang diperlukan, dan klik Add Permissions di kolom Actions.

Anda juga dapat memilih beberapa pengguna RAM dan klik Add Permissions di bagian bawah halaman untuk memberikan izin secara bersamaan.
Di panel Add Permissions, berikan izin kepada pengguna RAM.
Konfigurasikan parameter Resource Scope.
Account: Otorisasi berlaku untuk akun Alibaba Cloud saat ini.
ResourceGroup: Otorisasi berlaku untuk grup sumber daya tertentu.
PentingJika Anda memilih Grup Sumber Daya untuk parameter Cakupan Sumber Daya, pastikan layanan cloud yang diperlukan mendukung grup sumber daya. Untuk informasi lebih lanjut, lihat Layanan yang Bekerja dengan Grup Sumber Daya. Untuk informasi lebih lanjut tentang cara memberikan izin pada grup sumber daya, lihat Gunakan Grup Sumber Daya untuk Memberikan Izin kepada Pengguna RAM untuk Mengelola Instance ECS Tertentu.
Konfigurasikan parameter Principal.
Principal adalah pengguna RAM yang ingin Anda beri izin. Pengguna RAM saat ini dipilih secara otomatis.
Konfigurasikan parameter Policy.
Pilih Custom Policy dari dropdown All Types. Masukkan ASMPolicy1 di kotak teks dan pilih dari hasil pencarian.
Klik Grant permissions.
Klik Close.
Contoh skenario kebijakan kustom
Skenario 1: Berikan izin pada satu instance ASM
Anda dapat menggunakan skrip berikut untuk membuat kebijakan yang memberikan izin pada satu instance ASM. Setelah melampirkan kebijakan ini, pengguna RAM atau peran RAM hanya dapat mengelola instance ASM dengan ID tertentu.
Saat membuat kebijakan, ganti <ServicemeshId> di skrip dengan ID instance ASM tempat Anda ingin memberikan izin.
{
"Statement": [
{
"Effect": "Allow",
"Action": "servicemesh:*",
"Resource": "acs:servicemesh:*:*:servicemesh/<ServicemeshId>"
},
{
"Effect": "Allow",
"Action": "servicemesh:DescribeServiceMeshes",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "log:GetLogStoreLogs",
"Resource": "acs:log:*:*:project/*/logstore/audit-<ServicemeshId>"
},
{
"Effect": "Allow",
"Action": "log:GetLogStoreLogs",
"Resource": "acs:log:*:*:project/*/logstore/istio-<ServicemeshId>"
}
],
"Version": "1"
}Skenario 2: Berikan izin baca dan tulis pada sumber daya Istio di konsol ASM
Secara default, kebijakan sistem AliyunASMReadOnlyAccess yang disediakan oleh ASM hanya memberikan izin baca saja pada instance ASM kepada pengguna RAM atau peran RAM. Pengguna RAM atau peran RAM yang kebijakan ini dilampirkan tidak dapat mengelola sumber daya Istio di ASM.
Anda dapat menggunakan skrip berikut untuk membuat kebijakan yang memberikan izin baca dan tulis pada sumber daya Istio. Setelah melampirkan kebijakan ini, pengguna RAM atau peran RAM dapat menggunakan konsol ASM untuk mengelola sumber daya Istio pada instance ASM. Namun, mereka tidak dapat mengubah pengaturan lain dari instance ASM, seperti pengaturan fitur.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"servicemesh:List*",
"servicemesh:Describe*",
"servicemesh:Get*",
"servicemesh:InvokeApiServer"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"log:ListLogStores",
"log:ListDashboard",
"log:GetDashboard",
"log:ListSavedSearch"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "log:GetLogStoreLogs",
"Resource": "acs:log:*:*:project/*/logstore/audit-*"
}
],
"Version": "1"
}Skenario 3: Berikan izin otorisasi RBAC
Anda dapat menggunakan skrip berikut untuk membuat kebijakan yang memberikan izin otorisasi RBAC. Setelah melampirkan kebijakan ini, pengguna RAM atau peran RAM dapat menggunakan konsol ASM untuk mengelola izin RBAC dari peran RAM lain atau pengguna RAM. Namun, mereka tidak dapat mengelola instance ASM.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"servicemesh:DescribeUserPermissions",
"servicemesh:GrantUserPermissions",
"servicemesh:DescribeServiceMeshes",
"servicemesh:DescribeUsersWithPermissions"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "ims:ListUserBasicInfos",
"Resource": "*"
}
],
"Version": "1"
}