Fitur ini memungkinkan Anda memberikan izin berbeda kepada pengguna yang berbeda untuk sumber daya cloud yang berbeda.
Informasi latar belakang
Anda dapat menggunakan tag untuk mengidentifikasi dan mengkategorikan sumber daya cloud. Resource Access Management (RAM) menggunakan kebijakan untuk mengontrol akses dan operasi terhadap sumber daya tersebut. Dengan menggabungkan tag dan RAM, Anda dapat menggunakan tag sebagai kondisi dalam kebijakan guna mencapai pengelolaan izin detail halus untuk sumber daya cloud.
Logika pengendalian izin pengguna RAM berdasarkan tag, juga dikenal sebagai otentikasi berbasis tag, adalah sebagai berikut:

Sumber daya ECI yang mendukung tag meliputi instans ECI, cache gambar, dan node virtual. Anda hanya dapat menyambungkan tag ke sumber daya ECI saat membuat atau memperbaruinya. Untuk informasi selengkapnya, lihat Gunakan tag untuk mengelola instans ECI.
Contoh konfigurasi
Skenario contoh
Topik ini menggunakan skenario berikut untuk menunjukkan otentikasi berbasis tag.
Asumsikan bahwa Anda perlu membatasi pengguna RAM agar hanya dapat mengoperasikan sumber daya ECI dengan tag tertentu, misalnya env:test, seperti yang ditunjukkan pada gambar berikut:
Persyaratan spesifiknya adalah sebagai berikut:
Persyaratan 1: Untuk membuat sumber daya ECI, pengguna harus memberi tag
env:testsaat pembuatan.Persyaratan 2: Pengguna hanya dapat mengoperasikan sumber daya ECI yang diberi tag
env:test.Persyaratan 3: Saat melakukan kueri terhadap sumber daya ECI, pengguna hanya dapat melihat sumber daya yang diberi tag
env:test.
Langkah 1: Konfigurasikan dan berikan kebijakan kustom
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda.
Di panel navigasi sebelah kiri, pilih Permissions > Policies.
Di halaman Policies, klik Create Policy.
Konfigurasikan kebijakan kustom.
Klik tab Import Policy.
Pada kotak dialog yang muncul, pilih System Policy dari opsi filter di sebelah kanan. Lalu, cari dan pilih AliyunECIFullAccess, kemudian klik Import.
AliyunECIFullAccess adalah kebijakan sistem default untuk mengelola sumber daya ECI. Kebijakan ini mencakup izin untuk mengoperasikan sumber daya ECI, melakukan kueri terhadap sumber daya terkait seperti grup keamanan dan VPC, serta membuat peran terkait layanan untuk ECI.
Klik tab JSON Editor.
Ubah konten kebijakan di editor, lalu klik Next to edit policy information.
CatatanKebijakan adalah seperangkat izin akses. Kebijakan terdiri atas nomor versi dan daftar pernyataan. Setiap pernyataan mencakup efek (Effect), aksi (Action), sumber daya (Resource), dan kondisi opsional (Condition). Untuk informasi selengkapnya, lihat Struktur dan sintaksis kebijakan dan Elemen kebijakan.
Pada elemen
Conditionsuatu kebijakan, Anda dapat menambahkan kondisi berbasis tag untuk membatasi izin. Kunci kondisi tag berikut didukung:Kunci kondisi tag
Deskripsi
acs:RequestTagMembatasi permintaan agar menyertakan tag tertentu.
Jika permintaan API tidak menyertakan parameter tag, Anda tidak dapat menggunakan
acs:RequestTagdalam kebijakan. Jika tidak, otentikasi gagal.acs:ResourceTagMembatasi operasi hanya pada sumber daya yang memiliki tag tertentu.
Jika permintaan API tidak menyertakan parameter ID sumber daya, Anda tidak dapat menggunakan
acs:ResourceTagdalam kebijakan. Jika tidak, otentikasi gagal.CatatanSaat merancang kebijakan izin, Anda dapat menetapkan
acs:RequestTagatauacs:ResourceTagberdasarkan kebutuhan bisnis dan karakteristik operasi API, seperti apakah operasi tersebut memerlukan ID sumber daya atau mendukung pengiriman tag. Untuk informasi selengkapnya, lihat Otentikasi API.Untuk memenuhi persyaratan dalam skenario contoh, rancang kebijakan sebagai berikut:
Persyaratan
Kebijakan
Sumber daya ECI hanya dapat dibuat jika diberi tag
env:test.{ "Effect": "Allow", "Action": "eci:Create*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }Pengguna hanya dapat mengoperasikan sumber daya ECI yang diberi tag env:test.
{ "Effect": "Allow", "Action": "eci:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/env": "test" } } }Saat melakukan kueri terhadap sumber daya ECI, pengguna hanya dapat melihat sumber daya yang diberi tag env:test.
{ "Effect": "Allow", "Action": "eci:Describe*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/env": "test" } } }Contoh kebijakan lengkap, yang mencakup izin dari AliyunECIFullAccess, adalah sebagai berikut:
{ "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 menggunakan OpenAPI untuk mengoperasikan sumber daya ECI, kebijakan AliyunECIFullAccess sudah cukup. Jika Anda menggunakan konsol ECI, Anda harus memberikan izin tambahan. Untuk informasi selengkapnya, lihat Berikan izin kepada pengguna RAM.
Masukkan nama kebijakan, lalu klik OK.
Berikan kebijakan kustom kepada pengguna RAM.
Di panel navigasi sebelah kiri, pilih Identities > Users.
Buat pengguna RAM.
Jika Anda belum memiliki pengguna RAM, buat satu sesuai kebutuhan manajemen Anda. Untuk informasi selengkapnya, lihat Buat pengguna RAM.
Berikan izin kepada pengguna RAM.
Berikan kebijakan kustom kepada pengguna RAM. Untuk informasi selengkapnya, lihat Kelola izin untuk pengguna RAM.
Langkah 2: Verifikasi kebijakan
Masuk ke OpenAPI Explorer sebagai pengguna RAM.
Verifikasi efektivitas Kebijakan tersebut.
Pengujian berikut menggunakan instans ECI sebagai contoh:
Buat instans ECI
Jika Anda menetapkan tag
env:test, instans berhasil dibuat.Jika Anda tidak menetapkan tag atau menetapkan tag yang berbeda, pembuatan gagal dan mengembalikan error permission denied.
Hapus instans ECI
Jika instans ECI diberi tag
env:test, penghapusan berhasil.Jika instans ECI tidak diberi tag
env:test, penghapusan gagal dan mengembalikan error permission denied.
Lakukan kueri terhadap instans ECI
Jika Anda menentukan instans yang diberi tag
env:testtetapi tidak menentukan tag dalam kueri, kueri mengembalikan informasi tentang instans ECI yang ditentukan.Jika Anda menentukan instans yang tidak diberi tag
env:test, kueri mengembalikan hasil kosong.Jika Anda tidak menentukan instans dan hanya menetapkan tag
env:testdalam kueri, kueri mengembalikan informasi tentang semua instans dengan tagenv:test.Jika Anda tidak menentukan instans maupun tag, kueri mengembalikan hasil kosong.
Otentikasi API
Tabel berikut menjelaskan cara permintaan API dari pengguna RAM dengan kebijakan berbasis tag diautentikasi.
Operasi | Deskripsi |
Operasi pembuatan, seperti CreateContainerGroup dan CreateImageCache | Operasi ini tidak memerlukan ID sumber daya, sehingga otentikasi didasarkan pada
|
Operasi kueri, seperti DescribeContainerGroups dan DescribeImageCaches | Operasi ini secara opsional dapat menentukan ID sumber daya atau menyediakan tag, sehingga otentikasi didasarkan pada
Catatan Jika otentikasi untuk operasi kueri gagal, hasil kosong dikembalikan alih-alih error. |
Operasi pembaruan, seperti UpdateContainerGroup dan UpdateImageCache | Operasi ini memerlukan ID sumber daya, sehingga otentikasi didasarkan pada
Catatan Saat memperbarui tag, pengguna RAM harus memiliki izin untuk tag saat ini pada sumber daya dan izin untuk menerapkan tag baru. Hal ini mungkin memerlukan kondisi kebijakan untuk tag asli dan tag baru. |
Operasi lainnya, seperti RestartContainerGroup dan ExecContainerCommand | Operasi ini memerlukan ID sumber daya, sehingga otentikasi didasarkan pada
|