如果您需要對購買的云數據庫GaussDB 資源,為企業中的員工設置不同的訪問權限,為達到不同員工之間的權限隔離,您可以使用統一身份認證服務(Identity and Access Management,簡稱IAM)進行精細的權限管理。該服務提供用戶身份認證、權限分配、訪問控制等功能,可以幫助您安全的控制資源的訪問。
如果賬號已經能滿足您的要求,不需要創建獨立的IAM用戶進行權限管理,您可以跳過本章節,不影響您使用云數據庫GaussDB 服務的其它功能。
通過IAM,您可以在賬號中給員工創建IAM用戶,并授權控制他們對資源的訪問范圍。例如您的員工中有負責軟件開發的人員,您希望開發人員擁有云數據庫GaussDB openGauss版的使用權限,但是不希望他們擁有刪除云數據庫GaussDB 等高危操作的權限,那么您可以使用IAM為開發人員創建用戶,通過授予僅能使用云數據庫GaussDB openGauss版,但是不允許刪除云數據庫GaussDB openGauss版的權限,控制他們對云數據庫GaussDB openGauss版資源的使用范圍。
云數據庫GaussDB 權限
默認情況下,管理員創建的IAM用戶沒有任何權限,需要將其加入用戶組,并給用戶組授予策略或角色,才能使得用戶組中的用戶獲得對應的權限,這一過程稱為授權。授權后,用戶就可以基于被授予的權限對云服務進行操作。
云數據庫GaussDB 部署時通過物理區域劃分,為項目級服務。授權時,“作用范圍”需要選擇“區域級項目”,然后在指定區域對應的項目中設置相關權限,并且該權限僅對此項目生效;如果在“所有項目”中設置權限,則該權限在所有區域項目中都生效。訪問云數據庫GaussDB 時,需要先切換至授權區域。
根據授權精細程度分為角色和策略。
- 角色:IAM最初提供的一種根據用戶的工作職能定義權限的粗粒度授權機制。該機制以服務為粒度,提供有限的服務相關角色用于授權。于各服務之間存在業務依賴關系,因此給用戶授予角色時,可能需要一并授予依賴的其他角色,才能正確完成業務。角色并不能滿足用戶對精細化授權的要求,無法完全達到企業對權限最小化的安全管控要求。
- 策略:IAM最新提供的一種細粒度授權的能力,可以精確到具體服務的操作、資源以及請求條件等。基于策略的授權是一種更加靈活的授權方式,能夠滿足企業對權限最小化的安全管控要求。例如:針對云數據庫GaussDB 服務,管理員能夠控制IAM用戶僅能對某一類數據庫資源進行指定的管理操作。多數細粒度策略以API接口為粒度進行權限拆分。
云數據庫GaussDB 的所有系統權限。
| 策略名稱 | 描述 | 類別 |
|---|---|---|
| 云數據庫GaussDB FullAccess | 云數據庫 云數據庫GaussDB 服務的所有執行權限。 | 系統策略 |
| 云數據庫GaussDB ReadOnlyAccess | 云數據庫 云數據庫GaussDB 服務的只讀訪問權限。 | 系統策略 |
云數據庫GaussDB 常用操作與系統權限的授權關系,您可以參照該表選擇合適的系統權限。
| 操作 | 云數據庫GaussDB FullAccess | 云數據庫GaussDB ReadOnlyAccess |
|---|---|---|
| 創建云數據庫GaussDB實例 | √ | x |
| 刪除云數據庫GaussDB實例 | √ | x |
| 查詢云數據庫GaussDB實例列表 | √ | √ |
常用操作與對應授權項
| 操作名稱 | 授權項 | 備注 |
|---|---|---|
| 創建數據庫實例 | gaussdb:instance:creategaussdb:param:list | 界面選擇VPC、子網、安全組需要配置:vpc:vpcs:listvpc:vpcs:getvpc:subnets:getvpc:securityGroups:get創建加密實例需要在項目上配置:kms:cmk:getkms:cmk:list操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 規格變更 | gaussdb:instance:modifySpec | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 擴容節點 | gaussdb:instance:modifySpec | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 磁盤擴容 | gaussdb:instance:modifySpec | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 重啟數據庫實例 | gaussdb:instance:restart | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 刪除數據庫實例 | gaussdb:instance:delete | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 查詢數據庫實例列表 | gaussdb:instance:list | 無 |
| 實例詳情 | gaussdb:instance:list | 實例詳情界面展示VPC、子網、安全組,需要對應配置vpc::get和vpc::list。顯示磁盤已使用大小,需要配置ces:*:list。 |
| 修改數據庫實例密碼 | gaussdb:instance:modify | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 修改實例名稱 | gaussdb:instance:modify | 無 |
| 綁定/解綁公網IP | gaussdb:instance:modify | 界面列出公網IP需要配置:vpc:publicIps:getvpc:publicIps:list操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 創建參數模板 | gaussdb:param:creategaussdb:param:list | 無 |
| 修改參數模板 | gaussdb:param:modify | 無 |
| 獲取參數模板列表 | gaussdb:param:list | 無 |
| 應用參數模板 | gaussdb:param:apply | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create |
| 刪除參數模板 | gaussdb:param:delete | 無 |
| 創建手動備份 | gaussdb:backup:create | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 獲取備份列表 | gaussdb:backup:list | 無 |
| 修改備份策略 | gaussdb:instance:modifyBackupPolicy | 無 |
| 刪除手動備份 | gaussdb:backup:delete | 操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create" |
| 恢復到新實例 | gaussdb:instance:create | 界面選擇VPC、子網、安全組需要配置:vpc:vpcs:listvpc:vpcs:getvpc:subnets:getvpc:securityGroups:get操作失敗上報事件監控需要配置:"ces:alarmsOnOff:put""ces:alarms:create |
| 查詢項目標簽 | gaussdb:tag:list | 無 |
| 批量添加刪除項目標簽 | gaussdb:instance:dealTag | 無 |
| 修改配額 | gaussdb:quota:modify | 無 |