全部产品
Search
文档中心

Function Compute:Berikan izin pada grup fungsi yang berbeda kepada pengguna RAM yang berbeda

更新时间:Nov 11, 2025

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 AliyunFCFullAccess atau AliyunFCReadOnlyAccess ke 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

  1. Gunakan tag untuk mengidentifikasi fungsi bagi tim yang berbeda

    Rencanakan dua tag untuk mengidentifikasi tim pengembang dan tim operator.

  2. 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.

  3. 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

  • Kunci tag: team

  • Nilai tag: dev

tim operator

operator

FCPolicyForOpsTeam

  • Kunci tag: team

  • Nilai tag: ops

Prosedur

  1. Buat fungsi dan sambungkan tag.

    Masuk ke Konsol Function Compute menggunakan Akun Alibaba Cloud Anda, buat fungsi, lalu sambungkan tag team:dev ke beberapa fungsi dan tag team:ops ke fungsi lainnya. Untuk informasi lebih lanjut tentang cara menyambungkan tag, lihat Konfigurasi tag.

  2. 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.

  3. 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.

  4. 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": "*"
              }
          ]
      }

    Perluas untuk melihat kebijakan opsional

    Untuk menghindari masalah izin saat menggunakan Function Compute, Anda dapat menambahkan kebijakan opsional berikut.

    {
          "Effect": "Allow",
          "Action": [
            "log:Get*",
            "log:List*",
            "log:Query*",
            "log:CreateProject",
            "log:CreateLogStore",
            "log:CreateIndex"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "fc:GetLayerVersionByArn",
            "fc:ListLayers",
            "fc:PutLayerACL",
            "fc:ListLayerVersions",
            "fc:CreateLayerVersion",
            "fc:DeleteLayerVersion",
            "fc:GetLayerVersion"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": [
            "fc:ListCustomDomains",
            "fc:GetCustomDomain",
            "fc:DeleteCustomDomain",
            "fc:UpdateCustomDomain",
            "fc:CreateCustomDomain"
          ],
          "Resource": "*"
        },
        {
          "Effect": "Allow",
          "Action": "ram:ListRoles",
          "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 tag team:dev saat 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.

    Catatan

    Untuk 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.

  5. Berikan izin kepada grup pengguna RAM.

    1. Sambungkan kebijakan kustom FCPolicyForDevTeam dan FCPolicyForOpsTeam ke grup pengguna developer dan operator masing-masing.

    2. 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.

    image

Verifikasi hasil

  1. Masuk ke Konsol Function Compute sebagai masing-masing dari dua pengguna RAM tersebut. Di panel navigasi sebelah kiri, pilih Function Management > Functions.

    Untuk informasi lebih lanjut, lihat Masuk ke Konsol Manajemen Alibaba Cloud sebagai pengguna RAM.

  2. 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.

    image

Referensi