Function Compute mendukung klasifikasi dan manajemen multidimensi fungsi menggunakan tag. Fitur ini memungkinkan Anda mengambil sumber daya secara cepat serta menerapkan kontrol akses detail halus. Dengan memberikan izin berbeda kepada pengguna atau grup pengguna Resource Access Management (RAM) yang berbeda, Anda dapat mengisolasi sumber daya di antara pengguna RAM dan meningkatkan efisiensi manajemen keamanan.
Skenario
Sebuah perusahaan telah membuat beberapa fungsi menggunakan Akun Alibaba Cloud dan perlu memberikan izin atas fungsi-fungsi tersebut kepada tim yang berbeda berdasarkan kelompok bisnis. Perusahaan ingin setiap tim hanya dapat melihat dan mengelola fungsi yang diberikan izin kepadanya, tanpa dapat mengakses fungsi lainnya.
Contohnya:
Tim pengembang: Hanya dapat mengelola fungsi yang terkait dengan lingkungan pengembangan.
Tim O&M: Hanya dapat mengelola fungsi yang terkait dengan lingkungan produksi.
Perhatian
Untuk mematuhi Prinsip Hak Istimewa Minimum (PoLP), jangan menyambungkan kebijakan berhak tinggi seperti
AliyunFCFullAccessatauAliyunFCReadOnlyAccesske pengguna RAM. Jika tidak, Anda tidak dapat menggunakan tag untuk mengelola izin fungsi berdasarkan kelompok sebagaimana dijelaskan dalam topik ini.Pengguna RAM harus menggunakan pemfilteran berbasis tag untuk melihat dan mengelola fungsi yang diberikan izin kepadanya. Tanpa itu, pengguna RAM tidak akan dapat melihat fungsi apa pun.
Pastikan wilayah yang dipilih pengguna RAM saat melakukan operasi sama dengan wilayah tempat fungsi dalam kelompok sumber daya berada.
Pengguna RAM dalam grup pengguna RAM secara otomatis mewarisi izin dari grup pengguna RAM tersebut.
Sumber daya anak dan konfigurasi suatu fungsi—seperti alias, pemicu, konfigurasi asinkron fungsi, konfigurasi konkurensi fungsi, instans, lampiran VPC, dan tugas asinkron—mewarisi pengaturan kontrol akses fungsi tersebut. Sumber daya tersebut hanya dapat dikelola oleh pengguna RAM yang memiliki tag yang sesuai.
Tinjauan alur
Gunakan tag untuk mengidentifikasi fungsi bagi tim yang berbeda
Rencanakan dua tag untuk mengidentifikasi tim pengembang dan tim operator.
Kelompokkan pengguna RAM
Buat dua pengguna RAM, satu untuk tim pengembang dan satu untuk tim operator. Tambahkan masing-masing pengguna RAM ke grup pengguna RAM yang sesuai.
Berikan izin kepada grup pengguna RAM berdasarkan otentikasi berbasis tag
Buat dua kebijakan kustom yang menggunakan elemen Condition untuk otentikasi berbasis tag guna menentukan cakupan sumber daya. Kemudian, sambungkan kebijakan akses yang berbeda ke grup pengguna RAM yang berbeda. Pengguna RAM dalam grup tersebut mewarisi izin dari grup pengguna masing-masing.
Tabel berikut menjelaskan rencana rinci:
Tim | Grup pengguna RAM | Kebijakan akses RAM | Tag |
tim pengembang | developer | FCPolicyForDevTeam |
|
tim operator | operator | FCPolicyForOpsTeam |
|
Prosedur
Buat fungsi dan sambungkan tag.
Masuk ke Konsol Function Compute menggunakan Akun Alibaba Cloud Anda, buat fungsi, lalu sambungkan tag
team:devke beberapa fungsi dan tagteam:opske fungsi lainnya. Untuk informasi lebih lanjut tentang cara menyambungkan tag, lihat Konfigurasi tag.Buat pengguna RAM.
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda dan buat dua pengguna RAM. Untuk informasi lebih lanjut, lihat Buat pengguna RAM.
Buat grup pengguna RAM dan tambahkan pengguna RAM. Setelah ditambahkan, pengguna RAM mewarisi izin dari grup pengguna RAM masing-masing.
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda untuk membuat dua grup pengguna bernama developer dan operator, lalu tambahkan dua pengguna RAM yang sebelumnya dibuat ke grup developer dan operator masing-masing. Untuk informasi lebih lanjut, lihat Buat grup pengguna RAM dan Tambahkan pengguna RAM ke grup pengguna RAM.
Buat kebijakan kustom.
Kebijakan akses dikategorikan menjadi kebijakan sistem dan kebijakan kustom. Anda dapat memilih jenis kebijakan akses yang sesuai berdasarkan kebutuhan Anda. Topik ini memberikan contoh pemberian kebijakan kustom kepada grup pengguna.
Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda, lalu buat kebijakan kustom.
Asumsikan kebijakan kustom yang dibuat untuk tim pengembang diberi nama FCPolicyForDevTeam. Berikut adalah contoh kebijakan tersebut.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": [ "fc:ListTaggedResources", "tag:ListTagKeys", "fc:GetAccountSettings" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "fc:UntagResources", "fc:TagResources" ], "Resource": "*" } ] }Asumsikan kebijakan kustom yang dibuat untuk tim operator diberi nama FCPolicyForOpsTeam. Berikut adalah contoh kebijakan tersebut.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": [ "fc:ListTaggedResources", "tag:ListTagKeys", "fc:GetAccountSettings" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "fc:UntagResources", "fc:TagResources" ], "Resource": "*" } ] }
Tabel berikut menjelaskan kebijakan-kebijakan tersebut.
Kebijakan
Deskripsi
{ "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }Mengizinkan pengguna RAM untuk memfilter fungsi menggunakan tag
team:dev, dan mengharuskan pengguna RAM untuk menentukan tagteam:devsaat membuat fungsi.{ "Effect": "Allow", "Action": "fc:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }Membatasi pengguna RAM hanya dapat melakukan operasi manajemen pada fungsi yang ditandai dengan tag
team:dev.{ "Effect": "Allow", "Action": [ "fc:ListTaggedResources", "tag:ListTagKeys", "fc:GetAccountSettings" ], "Resource": "*" },Mengizinkan melihat daftar semua tag untuk fungsi Function Compute dan mengambil informasi akun.
{ "Effect": "Deny", "Action": [ "fc:UntagResources", "fc:TagResources" ], "Resource": "*" },Melarang melepas dan menyambungkan tag.
Hal ini mencegah pengguna RAM merusak pemagaran izin dengan memodifikasi tag.
{ "Effect": "Allow", "Action": [ "log:Get*", "log:List*", "log:Query*", "log:CreateProject", "log:CreateLogStore", "log:CreateIndex" ], "Resource": "*" },Mengizinkan Function Compute untuk membuat dan membaca log.
{ "Effect": "Allow", "Action": [ "fc:GetLayerVersionByArn", "fc:ListLayers", "fc:PutLayerACL", "fc:ListLayerVersions", "fc:CreateLayerVersion", "fc:DeleteLayerVersion", "fc:GetLayerVersion" ], "Resource": "*" },Mengizinkan penggunaan fitur terkait layer.
{ "Effect": "Allow", "Action": [ "fc:ListCustomDomains", "fc:GetCustomDomain", "fc:DeleteCustomDomain", "fc:UpdateCustomDomain", "fc:CreateCustomDomain" ], "Resource": "*" },Mengizinkan penggunaan fitur terkait nama domain kustom.
{ "Effect": "Allow", "Action": [ "ram:ListRoles" ], "Resource": "*" },Mengizinkan kueri daftar peran saat Anda mengonfigurasi peran fungsi.
CatatanUntuk mengonfigurasi dan menggunakan produk seperti OSS, NAS, dan VPC di FC, Anda juga harus memberikan izin yang diperlukan untuk produk-produk tersebut. Untuk informasi lebih lanjut, lihat Kebijakan Akses dan Contoh.
Berikan izin kepada grup pengguna RAM.
Sambungkan kebijakan kustom FCPolicyForDevTeam dan FCPolicyForOpsTeam ke grup pengguna developer dan operator masing-masing.
Sambungkan kebijakan sistem AliyunRAMFullAccess dan AliyunECSFullAccess ke grup pengguna developer dan operator. Setelah izin diberikan, pengguna RAM dalam grup tersebut dapat membuat fungsi dengan tag yang ditentukan, membuat pengguna RAM dan grup pengguna, serta membuat dan menyambungkan kebijakan akses.
Untuk informasi lebih lanjut, lihat Berikan izin kepada grup pengguna RAM.
Gambar berikut menunjukkan kebijakan yang direkomendasikan untuk grup pengguna developer.

Verifikasi hasil
Masuk ke Konsol Function Compute sebagai masing-masing dari dua pengguna RAM tersebut. Di panel navigasi sebelah kiri, pilih .
Untuk informasi lebih lanjut, lihat Masuk ke Konsol Manajemen Alibaba Cloud sebagai pengguna RAM.
Di bilah menu atas, pilih wilayah, lalu pada halaman Functions, klik Tag Filtering dan filter berdasarkan Tag Key dan Tag Value yang sesuai untuk mengkueri dan mengelola fungsi yang diizinkan.
Pengguna RAM hanya dapat melihat dan mengelola fungsi yang memiliki tag tertentu jika pengguna tersebut memilih tag yang termasuk dalam kebijakan yang diberikan kepada grup pengguna tempat pengguna tersebut berada. Jika tidak, pengguna RAM tidak dapat melihat fungsi apa pun.
Sebagai contoh, pengguna RAM dalam grup pengguna RAM developer dapat memfilter fungsi yang diizinkan menggunakan tag
team:dev.