Topik ini menjelaskan cara menggunakan tag untuk mengelola izin dan mengotentikasi pengguna RAM.
Informasi latar belakang
Tag digunakan untuk mengidentifikasi dan mengkategorikan sumber daya cloud. Resource Access Management (RAM) mengelola izin akses dan operasi pengguna RAM pada sumber daya cloud berdasarkan kebijakan izin. Anda dapat menggunakan tag sebagai kondisi dalam kebijakan RAM untuk menerapkan kontrol akses yang lebih rinci pada sumber daya.
Gambar berikut menunjukkan cara menggunakan tag untuk mengelola izin pengguna RAM.

Anda dapat mengikat tag ke sumber daya Elastic Container Instance berikut: instance kontainer elastis, cache gambar, dan node virtual. Anda hanya dapat mengikat tag ke sumber daya tersebut saat membuat atau memperbarui sumber daya. Untuk informasi lebih lanjut, lihat Gunakan Tag untuk Mengelola Instance Kontainer Elastis.
Contoh konfigurasi
Skenario
Skema dalam topik ini digunakan untuk menggambarkan cara melakukan otentikasi berbasis tag.
Sebagai contoh, Anda ingin memberikan pengguna RAM izin hanya pada sumber daya Elastic Container Instance yang memiliki tag env:test, seperti yang ditunjukkan pada gambar berikut: 
Anda memiliki persyaratan spesifik berikut:
Persyaratan 1: Pengguna RAM dapat berhasil membuat sumber daya Elastic Container Instance hanya jika pengguna RAM mengikat tag
env:testke sumber daya tersebut.Persyaratan 2: Pengguna RAM hanya dapat mengoperasikan sumber daya Elastic Container Instance yang dibuat oleh pengguna RAM. Sumber daya tersebut harus memiliki tag
env:test.Persyaratan 3: Pengguna RAM hanya dapat melihat sumber daya Elastic Container Instance yang dibuat oleh pengguna RAM. Sumber daya tersebut harus memiliki tag
env:test.
Langkah 1: Buat kebijakan kustom dan lampirkan kebijakan tersebut ke pengguna RAM
Gunakan akun Alibaba Cloud Anda untuk masuk ke Konsol RAM.
Di panel navigasi di sebelah kiri, pilih Permissions > Policies.
Di halaman Policies, klik Create Policy.
Konfigurasikan parameter untuk membuat kebijakan kustom.
Klik tab Import Policy.
Dalam kotak dialog yang muncul, pilih System Policy dari daftar drop-down Template Kebijakan, masukkan AliyunECIFullAccess di kotak pencarian "Filter templates", pilih kebijakan AliyunECIFullAccess, lalu klik Import.
AliyunECIFullAccess adalah kebijakan default untuk mengelola sumber daya Elastic Container Instance. AliyunECIFullAccess mencakup izin untuk mengoperasikan sumber daya Elastic Container Instance, menanyakan sumber daya seperti grup keamanan dan virtual private clouds (VPC), serta membuat peran terkait layanan untuk Elastic Container Instance.
Klik tab JSON.
Ubah isi kebijakan di editor kode lalu klik Next to edit policy information.
CatatanKebijakan berisi satu set izin. Setiap kebijakan mencakup nomor versi dan pernyataan otorisasi. Setiap pernyataan mencakup elemen berikut: Effect, Action, Resource, dan Condition. Elemen Condition bersifat opsional. Untuk informasi lebih lanjut, lihat Struktur dan sintaks kebijakan dan Elemen kebijakan.
Anda dapat menentukan tag otentikasi di elemen
Conditionkebijakan untuk membatasi izin operasi pengguna RAM. Tabel berikut menjelaskan kondisi yang dapat ditentukan dalam kebijakan.Kondisi otentikasi berbasis tag
Deskripsi
acs:RequestTagMenentukan bahwa permintaan API harus berisi tag.
Anda dapat menggunakan kondisi
acs:RequestTagdalam permintaan API hanya jika permintaan API berisi parameter terkait tag.acs:ResourceTagMenentukan bahwa sumber daya yang ditentukan dalam permintaan API harus memiliki tag.
Anda dapat menggunakan kondisi
acs:ResourceTagdalam permintaan API hanya jika permintaan API berisi parameter terkait ID sumber daya.CatatanSaat mengonfigurasi kebijakan, Anda dapat menggunakan kondisi
acs:RequestTagatauacs:ResourceTagberdasarkan apakah permintaan API mendukung tag atau memerlukan ID sumber daya. Untuk informasi lebih lanjut, lihat Otentikasi Pengguna RAM Saat Pengguna RAM Memulai Permintaan API.Anda dapat mengonfigurasi kebijakan berikut untuk memenuhi kebutuhan bisnis Anda untuk skenario di atas:
Persyaratan
Kebijakan
Pengguna RAM dapat berhasil membuat sumber daya Elastic Container Instance hanya jika pengguna RAM mengikat tag
env:testke sumber daya tersebut.{ "Effect": "Allow", "Action": "eci:Create*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }Pengguna RAM hanya dapat mengoperasikan sumber daya Elastic Container Instance yang memiliki tag env:test.
{ "Effect": "Allow", "Action": "eci:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/env": "test" } } }Pengguna RAM hanya dapat melihat sumber daya Elastic Container Instance yang memiliki tag env:test.
{ "Effect": "Allow", "Action": "eci:Describe*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }Contoh berikut menunjukkan kebijakan lengkap yang berisi izin yang diberikan oleh AliyunECIFullAccess.
{ "Version": "1", "Statement": [{ "Effect": "Allow", "Action": "eci:Create*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }, { "Effect": "Allow", "Action": "eci:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/env": "test" } } }, { "Effect": "Allow", "Action": "eci:Describe*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }, { "Action": [ "ecs:DescribeSecurityGroups" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitches", "vpc:DescribeVpcs", "vpc:DescribeEipAddresses" ], "Resource": "*", "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "eci.aliyuncs.com", "vnode.eci.aliyuncs.com" ] } } } ] }CatatanJika Anda ingin pengguna RAM mengoperasikan sumber daya Elastic Container Instance dengan memanggil operasi API, Anda dapat memberikan pengguna RAM izin yang diberikan oleh kebijakan AliyunECIFullAccess. Jika Anda ingin pengguna RAM mengoperasikan sumber daya Elastic Container Instance dengan menggunakan konsol Elastic Container Instance, Anda harus memberikan pengguna RAM izin yang diberikan oleh kebijakan AliyunECIFullAccess dan izin yang diberikan oleh kebijakan lainnya. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.
Masukkan nama untuk kebijakan dan klik OK.
Lampirkan kebijakan kustom ke pengguna RAM.
Di panel navigasi di sebelah kiri, pilih Identities > Users.
Buat pengguna RAM.
Buat pengguna RAM berdasarkan kebutuhan manajemen Anda. Untuk informasi lebih lanjut, lihat Buat Pengguna RAM. Jika Anda sudah membuat pengguna RAM, lewati langkah ini.
Berikan izin kepada pengguna RAM.
Lampirkan kebijakan kustom yang Anda buat ke pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.
Langkah 2: Periksa apakah kebijakan berlaku
Masuk ke Konsol OpenAPI Explorer sebagai pengguna RAM.
Periksa apakah kebijakan berlaku.
Instance kontainer elastis digunakan dalam tes berikut:
Buat Instance Kontainer Elastis
Jika Anda mengikat tag
env:testke instance saat membuat instance, instance tersebut dapat dibuat.Jika Anda tidak mengikat tag env:test ke instance atau Anda mengikat tag lain ke instance saat membuat instance, instance tersebut tidak dapat dibuat. Sistem akan memperingatkan bahwa Anda tidak memiliki izin untuk membuat instance.
Hapus Instance Kontainer Elastis
Jika instance yang ingin Anda hapus memiliki tag
env:test, instance tersebut dapat dihapus.Jika instance yang ingin Anda hapus tidak memiliki tag
env:test, instance tersebut tidak dapat dihapus. Sistem akan memperingatkan bahwa Anda tidak memiliki izin untuk menghapus instance.
Tanyakan Instance Kontainer Elastis
Jika Anda menentukan instance yang memiliki tag
env:testtetapi Anda tidak menentukan tag dalam permintaan, instance yang ditentukan akan ditanyakan.Jika Anda menentukan instance yang tidak memiliki tag
env:testdalam permintaan, hasil query kosong.Jika Anda tidak menentukan instance tetapi Anda menentukan tag
env:testdalam permintaan, semua instance yang memiliki tagenv:testakan ditanyakan.Jika tidak ada instance dan tag yang ditentukan, hasil query kosong.
Otentikasi pengguna RAM saat pengguna RAM memulai permintaan API
Tabel berikut menjelaskan bagaimana sistem mengotentikasi pengguna RAM setelah kebijakan yang berisi tag otentikasi dilampirkan ke pengguna RAM dan kemudian pengguna RAM memulai permintaan API.
Operasi API | Deskripsi Otentikasi |
Operasi API yang digunakan untuk membuat sumber daya, seperti CreateContainerGroup dan CreateImageCache | Anda tidak perlu menentukan ID sumber daya dalam permintaan API. Saat tidak ada ID sumber daya yang ditentukan dalam permintaan API, permintaan tersebut cocok dengan kondisi kebijakan
|
Operasi API yang digunakan untuk menanyakan sumber daya, seperti DescribeContainerGroups dan DescribeImageCaches | Anda harus menentukan ID sumber daya atau tag dalam permintaan API berdasarkan persyaratan operasi API. Permintaan tersebut cocok dengan kondisi kebijakan
Catatan Untuk operasi API yang digunakan untuk menanyakan sumber daya, sistem akan mengembalikan hasil kosong dan tidak melaporkan kesalahan jika otentikasi gagal. |
Operasi API yang digunakan untuk memperbarui sumber daya, seperti UpdateContainerGroup dan UpdateImageCache | Anda harus menentukan ID sumber daya dalam permintaan API. Permintaan tersebut cocok dengan kondisi kebijakan
Catatan Jika tag diperbarui, pengguna RAM harus memiliki izin dari tag asli dan tag baru. Anda harus melampirkan kebijakan kustom berikut ke pengguna RAM: kebijakan yang berisi kondisi otentikasi berbasis tag asli dan kebijakan yang berisi kondisi otentikasi berbasis tag baru. |
Operasi API lainnya seperti RestartContainerGroup dan ExecContainerCommand | Anda harus menentukan ID sumber daya dalam permintaan API. Permintaan tersebut cocok dengan kondisi kebijakan
|