Topik ini menjelaskan cara menggunakan tag untuk memberikan pengguna Resource Access Management (RAM) akses ke instance Elastic Compute Service (ECS) berdasarkan grup. Setelah diberi otorisasi, pengguna RAM hanya dapat melihat dan mengelola sumber daya yang diberi tag.
Skenario
Dalam contoh ini, Anda memiliki 10 instance ECS dalam akun Alibaba Cloud Anda. Anda ingin memberikan tim pengembang izin untuk mengelola 5 instance dan tim operator untuk mengelola 5 instance lainnya. Anda juga ingin setiap tim hanya dapat melihat instance yang diizinkan untuk mereka kelola.
Solusi
Tambahkan tag ke instance ECS untuk setiap tim.
Tambahkan tag ke instance ECS tim pengembang dan tag lainnya ke instance ECS tim operator.
Kelompokkan pengguna RAM.
Buat grup pengguna RAM untuk tim pengembang dan satu lagi untuk tim operator. Kemudian, tambahkan pengguna RAM ke grup sesuai dengan kebutuhan bisnis Anda.
Gunakan tag untuk memberikan izin kepada grup pengguna RAM.
Buat dua kebijakan kustom dan tentukan tag dalam elemen Condition dari kebijakan tersebut. Tag mendukung kunci kondisi berikut untuk otorisasi. Kemudian, lampirkan kebijakan kustom yang dibuat ke grup pengguna RAM sesuai dengan kebutuhan bisnis Anda. Dengan cara ini, pengguna RAM dalam grup mewarisi izin dari grup tersebut.
acs:RequestTag/<tag-key>: tag yang dilewatkan dalam permintaan. Kunci kondisi ini menunjukkan bahwa Anda harus menentukan tag dalam permintaan saat memanggil operasi API.acs:ResourceTag/<tag-key>: tag yang ditambahkan ke sumber daya yang diminta. Kunci kondisi ini menunjukkan bahwa tag harus ditambahkan ke sumber daya tempat Anda melakukan operasi.
Tabel berikut menjelaskan detailnya.
Tim | Grup pengguna RAM | Kebijakan RAM | Tag |
Tim pengembang | developer | policyForDevTeam | Kunci tag: team. Nilai tag: dev. |
Tim operator | operator | policyForOpsTeam | Kunci tag: team. Nilai tag: ops. |
Prosedur
Anda dapat menggunakan akun Alibaba Cloud atau pengguna RAM dengan izin AliyunRAMFullAccess dan AliyunECSFullAccess untuk melakukan operasi berikut.
Di Konsol ECS, buat tag dan tambahkan tag ke instance ECS.
Tambahkan tag
team:devke lima instance ECS dan tagteam:opske lima instance ECS lainnya. Untuk informasi lebih lanjut, lihat Buat atau tambahkan tag.Di Konsol RAM, buat grup pengguna RAM.
Buat dua grup pengguna RAM bernama developer dan operator untuk tim pengembang dan tim operator. Untuk informasi lebih lanjut, lihat Buat grup pengguna RAM.
Di Konsol RAM, buat pengguna RAM dan tambahkan pengguna RAM ke grup pengguna RAM yang sesuai.
Buat sejumlah pengguna RAM tertentu untuk setiap tim berdasarkan kebutuhan bisnis dan tambahkan pengguna RAM ke grup pengguna RAM developer atau operator. Untuk informasi lebih lanjut, lihat Buat pengguna RAM dan Tambahkan pengguna RAM ke grup pengguna RAM.
Di Konsol RAM, buat kebijakan kustom.
Buat dua kebijakan kustom bernama policyForDevTeam dan policyForOpsTeam. Untuk informasi lebih lanjut, lihat Buat kebijakan kustom.
Contoh 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": "*" } ] }Contoh 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 kebijakan-kebijakan tersebut.
Isi kebijakan
Deskripsi
{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }Mengizinkan Anda mencari instance ECS menggunakan tag
team:dev.{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }Mengizinkan Anda mengelola instance ECS yang diberi tag
team:dev.{ "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }Mengizinkan Anda melihat semua tag instance ECS.
CatatanJika Anda tidak perlu melihat semua tag, Anda dapat menghapus isi kebijakan ini. Setelah dihapus, Anda dapat mencari instance ECS dengan memasukkan secara manual kunci tag dan nilai tag.
{ "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }Menolak operasi membuat, menambahkan, menghapus, dan melepas tag.
Ini mencegah pengguna RAM yang dilampirkan dengan kebijakan ini untuk memodifikasi tag. Jika pengguna RAM memodifikasi tag pada instance ECS, pengguna RAM tidak lagi memiliki izin terkait pada instance ECS tersebut.
Berikan izin kepada grup pengguna RAM.
Lampirkan kebijakan kustom policyForDevTeam ke grup pengguna RAM developer dan kebijakan kustom policyForOpsTeam ke grup pengguna RAM operator. Untuk informasi lebih lanjut, lihat Berikan izin kepada grup pengguna RAM.
CatatanSetelah diberi otorisasi, pengguna RAM dalam grup pengguna RAM mewarisi izin dari grup pengguna RAM.
Verifikasi hasil konfigurasi
Masuk ke Konsol ECS sebagai pengguna RAM.
Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih wilayah.
Di halaman Instance, klik Filter by Tag di sebelah kotak pencarian dan pilih kunci tag dan nilai tag.
Sebagai contoh, pengguna RAM dalam grup pengguna RAM developer dapat mencari instance ECS yang mereka miliki izinnya dengan menggunakan tag
team:dev.
PentingPengguna RAM dapat melihat instance ECS yang diberi tag hanya setelah pengguna RAM memilih tag tersebut. Jika tidak, pengguna RAM tidak dapat melihat instance ECS apa pun.
Lihat dan kelola instance ECS yang Anda miliki izinnya.
Referensi
Anda dapat menggunakan prosedur yang dijelaskan dalam topik ini untuk memberikan akses ke instance ECS lainnya berdasarkan grup. Sumber daya ECS mencakup perangkat penyimpanan blok, snapshot, gambar, grup keamanan, elastic network interfaces (ENI), host khusus, dan pasangan kunci SSH.