函數計算支持將相同作用的服務資源通過標簽Tag歸類,便于搜索和資源聚合。您還可以通過標簽功能將服務進行分組,可以實現不同角色對不同分組的服務擁有不同的操作權限。本文介紹標簽功能的使用說明、使用限制以及如何在函數計算控制臺操作標簽等。
使用說明
- 標簽與服務資源是多對多的關系。
- 每個標簽都由一對鍵值對組成。
- 標簽可以是授權的一個條件,為一個確定范圍內的資源做精細粒度授權。
- 服務下的資源,版本、別名、函數和觸發器均繼承服務的標簽。
- 只要API的調用上填寫了服務,都支持標簽鑒權。
- 不同版本的服務都是相同的標簽meta,即標簽修改影響的標簽鑒權針對的是所有版本和別名的服務。
使用限制
- 標簽鍵(Key)的最大長度為64個Unicode字符,區分大小寫。
- 標簽值(Value)的最大長度為128個Unicode字符,區分大小寫。
- 每個資源的標簽數不得超過20個。
- 標簽鍵(Key)支持ASCII、數字、中文字符和特殊字符
-\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_
。不支持中文標點符號,不支持以aliyun
或acs:
開頭,不允許包含http://
和https://
,不允許為空字符串。 - 標簽值(Value)支持ASCII、數字、中文字符和特殊字符
-\.!@#$%?/^&*)(+={}[\\]",'<>~·`:;|_
。不支持中文標點符號,不允許包含http://
和https://
,不允許為空字符串。 - 各地域間的標簽信息不互通。例如,在華東1(杭州)地域創建的標簽在華東2(上海)地域不可見。
新建標簽
- 登錄函數計算控制臺,在左側導航欄,單擊服務及函數。
- 在頂部菜單欄,選擇地域,然后在服務列表頁面,單擊目標服務。
- 在左側導航欄,單擊服務詳情。
- 在基礎信息區域,將鼠標移至標簽后的圖標,然后在氣泡中單擊綁定。
- 在編輯服務標簽對話框,填寫標簽鍵和標簽值,單擊確認,然后單擊關閉。完成新建標簽后,將鼠標再次移至服務詳情頁面的圖標,您可以看到剛才新建的標簽。您還可以根據需要,參考控制臺界面提示,更新或刪除標簽。
使用標簽對服務分組授權
假設您創建了10個函數計算的服務,需要將5個服務授權給dev團隊,另外5個服務授權給ops團隊。您希望每個團隊只能查看被授權的服務,未被授權的服務無法查看。此時,您可以通過標簽功能將各團隊進行分組,然后給不同分組的團隊授予不同的權限。您需給其中5個服務添加一對標簽,標簽鍵是team,標簽值是dev;另外5個服務添加另一對標簽,標簽鍵是team,標簽值是ops。
- 將5個授權給dev團隊的服務打上team:dev標簽,5個授權給ops團隊的服務打上team:ops標簽。具體操作,請參見新建標簽。
- 創建RAM用戶。
- 創建用戶組。創建dev和ops兩個用戶組。
- 為用戶組添加RAM用戶。將不同的RAM用戶添加到相應的用戶組下。
- 為兩個用戶組授予不同的權限。權限策略分為系統權限策略和自定義權限策略,根據實際場景選擇合適的權限策略。
- 為用戶組授予系統權限策略。
具體操作,請參見為用戶組授權。
- 為用戶組授予自定義權限策略。
- 創建自定義權限策略。假設給dev團隊創建的自定義策略名稱為policyForDevTeam,策略示例如下。
{ "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" }
假設給ops團隊創建的自定義策略名稱為policyForOpsTeam,策略示例如下。{ "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" }
- 為用戶組授權。
選擇權限時請選擇剛創建好的自定義策略。
- 創建自定義權限策略。
完成授權后,處于dev用戶組的RAM賬號只能操作標簽為team:dev的服務,處于ops用戶組的RAM賬號只能操作標簽為team:ops的服務。 - 為用戶組授予系統權限策略。