Tambahkan tag ke instans ECS dan gunakan kebijakan kustom RAM untuk membatasi pengguna RAM tertentu agar hanya dapat melihat dan mengelola instans yang telah diberi tag tersebut.
Latar Belakang
Kebijakan kustom menentukan tag yang diizinkan dalam blok condition. Kunci kondisi berikut berlaku untuk tag:
-
acs:RequestTag/<tag-key>: Tag yang harus disertakan dalam permintaan API. -
acs:ResourceTag/<tag-key>: Tag yang harus dilampirkan pada resource yang diakses.
Prosedur
Contoh ini mengizinkan pengguna RAM bernama Alice untuk melihat dan mengelola hanya instans ECS yang memiliki kedua tag owner:alice dan environment:production.
Proses otorisasi tidak memengaruhi instans ECS yang sedang berjalan.
Lakukan langkah-langkah berikut menggunakan Akun Alibaba Cloud Anda atau pengguna RAM yang memiliki izin administratif.
-
Buat pengguna RAM bernama Alice di RAM console.
-
Tambahkan tag ke instans ECS target.
Lampirkan tag
owner:alicedanenvironment:productionke instans ECS target.Gunakan salah satu metode berikut untuk melampirkan tag:
-
Buat dan lampirkan tag di Tag console. Buat tag, Tambahkan tag.
-
Buat dan lampirkan tag langsung ke instans Anda di ECS console. Buat dan lampirkan tag.
-
-
Buat kebijakan kustom bernama UseTagAccessRes di RAM console.
Buat kebijakan dengan konten berikut. Buat kebijakan kustom.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/owner": [ "alice" ], "acs:RequestTag/environment": [ "production" ] } } }, { "Effect": "Allow", "Action": [ "ecs:List*", "ecs:DescribeInstanceStatus", "ecs:DescribeInstanceVncUrl", "ecs:DescribeInstanceAutoRenewAttribute", "ecs:DescribeInstanceRamRole", "ecs:DescribeInstanceTypeFamilies", "ecs:DescribeInstanceTypes", "ecs:DescribeInstanceAttachmentAttributes", "ecs:DescribeInstancesFullStatus", "ecs:DescribeInstanceHistoryEvents", "ecs:DescribeInstanceMonitorData", "ecs:DescribeInstanceMaintenanceAttributes", "ecs:DescribeInstanceModificationPrice", "ecs:DescribeA*", "ecs:DescribeC*", "ecs:DescribeD*", "ecs:DescribeE*", "ecs:DescribeH*", "ecs:DescribeIm*", "ecs:DescribeInv*", "ecs:DescribeK*", "ecs:DescribeL*", "ecs:DescribeM*", "ecs:DescribeN*", "ecs:DescribeP*", "ecs:DescribeR*", "ecs:DescribeS*", "ecs:DescribeT*", "ecs:DescribeZ*", "vpc:DescribeVpcs", "vpc:DescribeVSwitches" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }Deskripsi kebijakan:
Kebijakan
Deskripsi
{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/owner": "alice", "acs:RequestTag/environment": "production" } } }Mengizinkan aksi, seperti membuat instans, hanya jika permintaan mencakup kedua tag
owner:alicedanenvironment:production.{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } }Mengizinkan operasi pengelolaan pada instans ECS yang memiliki kedua tag
owner:alicedanenvironment:production.{ "Effect": "Allow", "Action": [ "ecs:List*", "ecs:DescribeInstanceStatus", "ecs:DescribeInstanceVncUrl", "ecs:DescribeInstanceAutoRenewAttribute", "ecs:DescribeInstanceRamRole", "ecs:DescribeInstanceTypeFamilies", "ecs:DescribeInstanceTypes", "ecs:DescribeInstanceAttachmentAttributes", "ecs:DescribeInstancesFullStatus", "ecs:DescribeInstanceHistoryEvents", "ecs:DescribeInstanceMonitorData", "ecs:DescribeInstanceMaintenanceAttributes", "ecs:DescribeInstanceModificationPrice", "ecs:DescribeA*", "ecs:DescribeC*", "ecs:DescribeD*", "ecs:DescribeE*", "ecs:DescribeH*", "ecs:DescribeIm*", "ecs:DescribeInv*", "ecs:DescribeK*", "ecs:DescribeL*", "ecs:DescribeM*", "ecs:DescribeN*", "ecs:DescribeP*", "ecs:DescribeR*", "ecs:DescribeS*", "ecs:DescribeT*", "ecs:DescribeZ*", "vpc:DescribeVpcs", "vpc:DescribeVSwitches" ], "Resource": "*" }Memberikan izin untuk mendaftar dan mendeskripsikan instans ECS. Konsol memerlukan izin ini untuk menampilkan informasi instans sebelum menerapkan filter berbasis tag.
{ "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }Menolak izin untuk membuat, melampirkan, melepas, atau menghapus tag.
Mencegah pengguna RAM menghindari batasan akses dengan memodifikasi tag.
-
Lampirkan kebijakan UseTagAccessRes ke pengguna RAM Alice di RAM console.
Saat memberikan izin, atur Account ke Account, pilih pengguna RAM Alice sebagai Principal, dan pilih kebijakan kustom UseTagAccessRes. Berikan izin kepada pengguna RAM.
Verifikasi hasil
-
Login ke ECS console sebagai pengguna RAM Alice.
-
Di panel navigasi kiri, pilih .
-
Di pojok kiri atas bilah navigasi atas, pilih wilayah.
-
Pada halaman Instance, klik Filter by Tag di samping bilah pencarian dan pilih tag
owner:alicedanenvironment:production.PentingPengguna RAM harus memfilter berdasarkan tag yang benar untuk melihat instans ECS yang diberi tag. Jika tidak, tidak ada instans yang ditampilkan.
-
Verifikasi bahwa Anda hanya dapat melihat dan mengelola instans ECS yang memiliki kedua tag
owner:alicedanenvironment:production.
Referensi
Otorisasi RAM mendokumentasikan aturan autentikasi RAM untuk ECS.