全部產品
Search
文件中心

Function Compute:標籤管理

更新時間:Jul 06, 2024

Function Compute支援將相同作用的函數資源通過標籤Tag歸類,便於搜尋和資源彙總。您還可以通過標籤功能將函數進行分組,可以實現不同角色對不同分組的函數擁有不同的操作許可權。本文介紹標籤功能的使用說明、使用限制以及如何在Function Compute控制台操作標籤等。

使用說明

  • 標籤與函數資源之間是多對多的關係。

  • 每個標籤都由一對索引值對組成。

  • 標籤可以是授權的一個條件,為一個確定範圍內的資源做精細粒度授權。

  • 函數下的資源,版本、別名、函數和觸發器均繼承函數的標籤。

    • 只要API的調用上填寫了函數,都支援標籤鑒權。

    • 不同版本的函數都是相同的標籤,即標籤修改影響的標籤鑒權針對的是所有版本和別名的函數。

使用限制

  • 標籤鍵(Key)的最大長度為64個Unicode字元,區分大小寫。

  • 標籤值(Value)的最大長度為128個Unicode字元,區分大小寫。

  • 每個資源的標籤數不得超過20個。

  • 標籤鍵(Key)支援ASCII、數字、中文字元和特殊字元-\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_。不支援中文標點符號,不支援以aliyunacs:開頭,不允許包含http://https://,不允許為空白字串。

  • 標籤值(Value)支援ASCII、數字、中文字元和特殊字元-\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_。不支援中文標點符號,不允許包含http://https://,允許為空白字串。

  • 各地區間的標籤資訊不互連。例如,在華東1(杭州)地區建立的標籤在華東2(上海)地區不可見。

建立標籤

  1. 登入Function Compute控制台,在左側導覽列,單擊函數

  2. 在頂部功能表列,選擇地區,然後在函數頁面,單擊目標函數。

  3. 在函數詳情頁面,將滑鼠移至函數名稱後的image表徵圖,然後在氣泡中單擊綁定

  4. 編輯標籤對話方塊中,填寫標籤鍵標籤值,單擊確認,然後單擊關閉

    添加成功後,將滑鼠再次移至函數名稱後的標籤表徵圖,您可以看到剛才添加的標籤。您還可以根據需要,參考控制台介面提示,更新或刪除標籤。

重要

如果您操作的函數是在Function Compute2.0控制台建立的函數(名稱中含有$符號),標籤會綁定到2.0的服務,而不是綁定到函數,詳情請參見管理標籤

使用標籤對函數分組授權

假設您在Function Compute中建立了10個函數,需要將5個函數授權給dev團隊,另外5個函數授權給ops團隊。您希望每個團隊只能查看被授權的函數,不能查看未被授權的函數。此時,您可以通過標籤功能將各團隊進行分組,然後給不同分組的團隊授予不同的許可權。

您需要給其中5個函數添加一對標籤,標籤鍵是team,標籤值是dev;另外5個函數添加另一對標籤,標籤鍵是team,標籤值是ops

  1. 將5個授權給dev團隊的函數打上team:dev標籤,5個授權給ops團隊的函數打上team:ops標籤。具體操作,請參見建立標籤

  2. 建立兩個RAM使用者。具體操作,請參見建立RAM使用者

  3. 建立dev和ops兩個使用者組。具體操作,請參見建立RAM使用者組

  4. 將已建立的兩個RAM使用者分別添加到使用者組dev和ops下。具體操作,請參見為RAM使用者組添加RAM使用者

  5. 為兩個使用者組dev和ops授予不同的許可權。

    權限原則分為系統權限原則和自訂權限原則,根據實際情境選擇合適的權限原則。

    • 為使用者組授予系統權限原則。

      具體操作,請參見為RAM使用者組授權

    • 為使用者組授予自訂權限原則。

      1. 建立自訂權限原則

        假設給dev團隊建立的自訂策略名稱稱為policyForDevTeam,策略樣本如下。

        {
            "Statement": [
                {
                    "Action": "fc:*",
                    "Effect": "Allow",
                    "Resource": "*",
                    "Condition": {
                        "StringEquals": {
                            "fc:tag/team": "dev"
                        }
                    }
                },
                {
                    "Action": "fc:ListFunctions",
                    "Effect": "Allow",
                    "Resource": "*"
                },
                {
                    "Action": "fc:ListTagResources",
                    "Effect": "Allow",
                    "Resource": "*"
                }
            ],
            "Version": "1"
        }      

        假設給ops團隊建立的自訂策略名稱稱為policyForOpsTeam,策略樣本如下。

        {
            "Statement": [
                {
                    "Action": "fc:*",
                    "Effect": "Allow",
                    "Resource": "*",
                    "Condition": {
                        "StringEquals": {
                            "fc:tag/team": "ops"
                        }
                    }
                },
                {
                    "Action": "fc:ListFunctions",
                    "Effect": "Allow",
                    "Resource": "*"
                },
                {
                    "Action": "fc:ListTagResources",
                    "Effect": "Allow",
                    "Resource": "*"
                }
            ],
            "Version": "1"
        }
      2. 分別為使用者組dev和ops授予自訂權限原則policyForDevTeampolicyForOpsTeam。具體操作,請參見為RAM使用者組授權

完成授權後,分別使用處於dev使用者組和處於ops使用者組的RAM使用者登入Function Compute控制台,具體操作請參見RAM使用者登入阿里雲控制台。您可以看到,處於dev使用者組的RAM使用者只能操作標籤為team:dev的函數,處於ops使用者組的RAM使用者只能操作標籤為team:ops的函數。