如果您需要對FunctionGraph的函數資源,給企業中的員工設置不同的訪問權限,以達到不同員工之間的權限隔離,您可以使用統一身份認證服務(Identity and Access Management,簡稱IAM)進行精細的權限管理。該服務提供用戶身份認證、權限分配、訪問控制等功能,可以幫助您安全的控制公有云資源的訪問。
通過IAM,您可以在帳號中給員工創建IAM用戶,并使用策略來控制他們對云資源的訪問范圍。例如您的員工中有負責軟件開發的人員,您希望他們擁有FunctionGraph的使用權限,但是不希望他們擁有刪除等高危操作的權限,那么您可以使用IAM為開發人員創建用戶,通過授予僅能使用FunctionGraph,但是不允許刪除的權限策略,控制他們對FunctionGraph資源的使用范圍。
如果帳號已經能滿足您的要求,不需要創建獨立的IAM用戶進行權限管理,您可以跳過本章節,不影響您使用FunctionGraph服務的其它功能。
FunctionGraph權限
默認情況下,新建的IAM用戶沒有任何權限,您需要將其加入用戶組,并給用戶組授予策略,才能使得用戶組中的用戶獲得策略定義的權限,這一過程稱為授權。授權后,用戶就可以基于策略對云服務進行操作。
FunctionGraph資源通過物理區域劃分,為項目級服務。授權時,“作用范圍”需要選擇“區域級項目”,然后在各區域對應的項目中設置相關權限,并且該權限僅對此項目生效;如果在“所有項目”中設置權限,則該權限在所有區域項目中都生效。訪問FunctionGraph時,需要先切換至授權區域。
根據授權精細程度分為角色和策略。
- 角色:IAM最初提供的一種根據用戶的工作職能定義權限的粗粒度授權機制。該機制以服務為粒度,提供有限的服務相關角色用于授權。由于各服務之間存在業務依賴關系,因此給用戶授予角色時,可能需要一并授予依賴的其他角色,才能正確完成業務。角色并不能滿足用戶對精細化授權的要求,無法完全達到企業對權限最小化的安全管控要求。
- 策略:IAM最新提供的一種細粒度授權的能力,可以精確到具體服務的操作、資源以及請求條件等。基于策略的授權是一種更加靈活的授權方式,能夠滿足企業對權限最小化的安全管控要求。
如下表所示,包括了FunctionGraph的所有系統權限。
| 系統角色/策略名稱 | 描述 | 類別 | 依賴關系 |
|---|---|---|---|
| FunctionGraph FullAccess | 函數工作流服務所有權限 | 系統策略 | 無 |
| FunctionGraph ReadOnlyAccess | 函數工作流服務只讀權限 | 系統策略 | 無 |
| FunctionGraph CommonOperations | 函數工作流(FunctionGraph)調用者,具有查詢函數和觸發器,以及調用函數的權限 | 系統策略 | 無 |
說明當添加了FunctionGraph FullAccess權限的子帳號在創建觸發器或使用其他功能時仍沒有操作權限,是因為該服務或功能不支持細粒度鑒權,因此需要您單獨添加對應服務或功能的Admin權限。具體詳情如下:
APIG、當前不支持細粒度鑒權,需要添加對應admin權限。
更多觸發器及相關功能需要的權限,請參見下表所示。
表 觸發器及相關功能的權限
| 觸發器/服務功能 | 權限 |
|---|---|
| APIG專享版 | apig:instances:get apig:instances:create apig:instances:update apig:instances:list apig:sharedInstance:operate |
| DDS | dds:instance:get dds:instance:list |
| DMS/Kafka | dms:instance:get dms:instance:list |
| LTS | lts:groups:create lts:groups:get lts:groups:list lts:groups:put lts:logstreams:delete lts:logstreams:list lts:topics:get lts:subscriptions:create lts:subscriptions:delete lts:subscriptions:put lts:structConfig:create lts:structConfig:get |
下表列出了FunctionGraph常用操作與系統權限的授權關系,您可以參照該表選擇合適的系統權限。
| 操作 | FunctionGraph ReadOnlyAccess | FunctionGraph CommonOperations | FunctionGraph FullAccess |
|---|---|---|---|
| 創建函數 | × | × | √ |
| 查詢函數 | √ | √ | √ |
| 修改函數 | × | × | √ |
| 刪除函數 | × | × | √ |
| 調用函數 | × | √ | √ |
| 查看函數日志 | √ | √ | √ |
| 查看函數指標數據 | √ | √ | √ |