Gunakan tag untuk mengklasifikasikan layanan Function Compute berdasarkan atribut bersama, seperti kepemilikan tim atau lingkungan. Tag mendukung pencarian resource, agregasi, dan otorisasi detail halus—memberi Anda kendali atas tim mana yang dapat mengakses layanan tertentu.
Cara kerja tag
Tag dan sumber daya layanan memiliki hubungan many-to-many.
Setiap tag merupakan pasangan kunci-nilai.
Tag berfungsi sebagai kondisi untuk menerapkan otorisasi detail halus pada resource dalam cakupan tertentu.
Semua resource di bawah suatu layanan—versi, alias, fungsi, dan pemicu—mewarisi tag yang disambungkan ke layanan tersebut.
Otorisasi berbasis tag berlaku ketika Anda menentukan layanan dalam permintaan API. Karena semua versi dan alias berbagi metadata tag yang sama, perubahan apa pun pada tag layanan akan memengaruhi otorisasi untuk semua versi dan alias-nya.
Informasi tag bersifat spesifik per Wilayah. Tag yang dibuat di satu Wilayah tidak terlihat di Wilayah lain.
Batasan
| Item | Batas |
|---|---|
| Tag per resource | 20 |
| Panjang kunci tag | 1–64 karakter Unicode case-sensitive |
| Panjang nilai tag | 1–128 karakter Unicode case-sensitive |
| Karakter yang diizinkan untuk kunci tag | Huruf ASCII, angka, dan -\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_ |
| Karakter yang diizinkan untuk nilai tag | Huruf ASCII, angka, dan -\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_ |
Kunci tag tidak boleh diawali dengan aliyun atau acs:, mengandung http:// atau https://, atau kosong. Nilai tag tidak boleh mengandung http:// atau https:// atau kosong.
Tambahkan tag ke layanan
Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Services & Functions.
Di bilah navigasi atas, pilih Wilayah. Di halaman Services, klik layanan target.
Di panel navigasi sebelah kiri, klik Service Details.
Di bagian Basic Settings, arahkan penunjuk ke ikon
di samping Tag, lalu klik Bind.Di kotak dialog Modify Tag, tentukan Key dan Value, lalu klik OK.
Setelah tag dibuat, arahkan penunjuk ke ikon
di halaman Service Details untuk melihatnya. Untuk memperbarui atau menghapus tag, ikuti petunjuk di layar.
Otorisasi tim berdasarkan tag
Gunakan otorisasi berbasis tag untuk membatasi RAM user mana yang dapat mengelola layanan tertentu. Contoh berikut menunjukkan cara mengotorisasi tim dev untuk mengelola lima layanan dan tim ops untuk mengelola lima layanan lainnya, dengan masing-masing tim hanya dapat melihat layanan mereka sendiri.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat sepuluh layanan di Function Compute.
Menyambungkan tag
team:devke lima layanan untuk tim dev.Menyambungkan tag
team:opske lima layanan untuk tim ops.
Untuk menyambungkan tag, ikuti langkah-langkah di Tambahkan tag ke layanan.
Siapkan tim dan izin
Buat RAM user untuk setiap anggota tim.
Buat dua kelompok pengguna bernama
devdanops.Berikan izin ke setiap kelompok pengguna menggunakan salah satu pendekatan berikut:
Kebijakan sistem: Gunakan kebijakan sistem yang telah ditentukan dan berikan ke kelompok pengguna.
Kebijakan kustom: Buat kebijakan kustom untuk setiap tim dan berikan ke kelompok pengguna yang sesuai.
Di Konsol RAM, buat kebijakan kustom bernama
policyForDevTeamuntuk tim dev:{ "Statement": [ { "Action": "fc:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "fc:tag/team": "dev" } } }, { "Action": "fc:ListServices", "Effect": "Allow", "Resource": "*" }, { "Action": "fc:GetResourceTags", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }Buat kebijakan kustom kedua bernama
policyForOpsTeamuntuk tim ops:{ "Statement": [ { "Action": "fc:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "fc:tag/team": "ops" } } }, { "Action": "fc:ListServices", "Effect": "Allow", "Resource": "*" }, { "Action": "fc:GetResourceTags", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }Lalu berikan setiap kebijakan kustom ke kelompok pengguna yang sesuai.
Setelah otorisasi selesai, RAM user dalam kelompok dev hanya dapat mengelola layanan yang ditandai dengan tag team:dev, dan RAM user dalam kelompok ops hanya dapat mengelola layanan yang ditandai dengan tag team:ops.