Gunakan tag untuk mengelompokkan instans ECS dan memberikan akses pengguna RAM hanya ke instans yang ditugaskan kepada mereka.
Kasus penggunaan
Akun Alibaba Cloud Anda memiliki 10 instans ECS. Anda ingin memberikan akses tim developer ke lima instans dan tim operator ke lima instans lainnya, dengan masing-masing tim dibatasi hanya untuk melihat dan mengelola instans yang ditugaskan kepadanya.
Solusi
-
Gunakan tag untuk mengidentifikasi instans ECS bagi tim yang berbeda.
Buat dua tag untuk mengidentifikasi instans bagi tim
developerdanoperator. -
Kelompokkan pengguna RAM.
Buat dua grup pengguna RAM bernama
developerdanoperator, lalu tambahkan pengguna RAM masing-masing tim ke grup yang sesuai. -
Berikan izin kepada grup pengguna RAM berdasarkan tag.
Buat dua kebijakan kustom yang menggunakan elemen
Conditiondengan kondisi berbasis tag untuk menentukan cakupan resource, lalu sambungkan setiap kebijakan ke grup yang sesuai. Pengguna RAM dalam suatu grup mewarisi izin kebijakan grup tersebut.-
acs:RequestTag/<tag-key>: Tag yang harus disertakan dalam permintaan API. -
acs:ResourceTag/<tag-key>: Tag yang harus dilampirkan pada resource yang diakses.
-
Tabel berikut mencantumkan paket sumber daya.
|
Tim |
Grup pengguna RAM |
Kebijakan RAM |
Tag |
|
tim developer |
developer |
policyForDevTeam |
kunci tag: team, nilai tag: dev |
|
tim operator |
operator |
policyForOpsTeam |
kunci tag: team, nilai tag: ops |
Prosedur
Masuk dengan akun Alibaba Cloud atau pengguna RAM yang memiliki izin AliyunRAMFullAccess dan AliyunECSFullAccess.
-
Di Konsol ECS, buat dan bind tag ke instans ECS Anda.
Bind tag
team:devke lima instans ECS dan tagteam:opske lima instans lainnya. Buat dan bind tag. -
Di Konsol RAM, buat grup pengguna RAM.
Buat dua grup pengguna RAM:
developerdanoperator. Buat grup pengguna RAM. -
Di Konsol RAM, buat pengguna RAM dan tambahkan ke grup pengguna RAM yang sesuai.
Buat pengguna RAM untuk masing-masing tim dan tambahkan ke grup
developeratauoperator. Buat pengguna RAM. Tambahkan pengguna RAM ke grup pengguna RAM. -
Di Konsol RAM, buat kebijakan kustom.
Buat dua kebijakan kustom:
policyForDevTeamdanpolicyForOpsTeam. Buat kebijakan kustom.Dokumen kebijakan
policyForDevTeam:{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }Dokumen kebijakan
policyForOpsTeam:{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }Tabel berikut menjelaskan setiap pernyataan kebijakan.
Pernyataan kebijakan
Deskripsi
{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }Mengizinkan pengguna untuk memfilter instans ECS yang memiliki tag
team:dev.{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }Mengizinkan operasi manajemen pada instans ECS yang memiliki tag
team:dev.{ "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }Mengizinkan pengguna untuk melihat semua tag pada instans ECS.
CatatanJika Anda tidak perlu menampilkan semua tag, hapus pernyataan ini. Tanpa pernyataan ini, pengguna tetap dapat memfilter instans ECS dengan memasukkan secara manual kunci dan nilai tag.
{ "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }Menolak izin untuk menghapus, melepas, membuat, dan menyambungkan tag.
Mencegah pengguna RAM memodifikasi tag dan kehilangan akses ke resource.
-
Berikan izin kepada grup pengguna RAM.
Sambungkan
policyForDevTeamke grupdeveloperdanpolicyForOpsTeamke grupoperator. Berikan izin kepada grup pengguna RAM.CatatanPengguna RAM secara otomatis mewarisi izin dari grupnya.
Verifikasi hasil
-
Masuk ke Konsol ECS sebagai pengguna RAM.
-
Di panel navigasi sebelah kiri, pilih .
-
Di bilah navigasi atas, pilih wilayah.
-
Di halaman Instance, klik Filter by Tag di samping kotak pencarian, lalu pilih kunci dan nilai tag yang sesuai.
Sebagai contoh, pengguna RAM dalam grup
developerdapat memfilter instans yang diotorisasi dengan memilih tagteam:dev.PentingPengguna RAM hanya dapat melihat instans ECS yang sesuai dengan tag yang diotorisasi. Tanpa filter tag, daftar instans akan tampak kosong.
-
Lihat dan kelola instans ECS yang diotorisasi.
Informasi lebih lanjut
Anda dapat menerapkan otorisasi berbasis tag yang sama ke resource ECS lainnya, seperti penyimpanan blok, snapshot, image, grup keamanan, antarmuka jaringan elastis, host khusus, dan pasangan kunci SSH.