為RAM用戶授予所需資源的訪問權限,以實現權限最小化目標,并避免多個用戶共享阿里云賬號密碼或訪問密鑰,從而減少企業的訪問安全風險。本文將詳細介紹如何通過主賬號為RAM用戶分配適當的權限,并解釋各項權限的作用。
背景信息
訪問控制(Resource Access Management,簡稱RAM)是阿里云提供的權限管理系統。
RAM主要用于控制賬號系統的權限。
您可以使用RAM在主賬號的權限范圍內創建RAM用戶,并為不同的RAM用戶授予不同的權限,例如購買或刪除實例、升降配實例資源、修改網絡類型以及查看實例信息等。
RAM用戶實例開發權限的權限控制如下:
如果主賬號沒有授予RAM用戶權限,則RAM用戶無法在管理控制臺查看或操作實例。
主賬號可以直接授予RAM用戶實例的開發權限。RAM用戶即使無法在管理控制臺操作實例,也可以正常連接開發工具進行數據開發。詳情請參見授予RAM用戶實例的開發權限。
授予RAM用戶權限
使用RAM管理員登錄RAM控制臺。
在左側導航欄,選擇 。
在用戶頁面,單擊目標RAM用戶操作列的添加權限。
您也可以選中多個RAM用戶,單擊用戶列表下方的添加權限,為RAM用戶批量授權。
新增授權。
配置添加權限對話框的各項參數。
說明由于HoloWeb無法歸屬某個資源組,因此,通過指定資源組進行授權的方式暫不支持登錄并使用HoloWeb。
下文所提及的權限僅代表RAM用戶是否能登錄并使用HoloWeb。若RAM用戶需要連接Hologres實例并使用,您可前往實例詳情頁中進行授權。詳情請參見授予RAM用戶實例的開發權限。
選擇資源范圍。
賬號級別:權限在當前阿里云賬號內生效。
資源組級別:權限在指定的資源組內生效。
重要指定資源組授權生效的前提是該云服務及資源類型已支持資源組,詳情請參見支持資源組的云服務。資源組授權示例,請參見使用資源組限制RAM用戶管理指定的ECS實例。
選擇授權主體。
授權主體即需要添加權限的RAM用戶。系統會自動選擇當前的RAM用戶。
選擇權限策略。
權限策略是一組訪問權限的集合,分為以下兩種。支持批量選中多條權限策略。
系統策略:由阿里云創建,策略的版本更新由阿里云維護,用戶只能使用不能修改。更多信息,請參見支持RAM的云服務。
說明系統會自動標識出高風險系統策略(例如:AdministratorAccess、AliyunRAMFullAccess等),授權時,盡量避免授予不必要的高風險權限策略。
為RAM用戶授予以下權限策略,RAM用戶就會擁有所有操作的權限,如下表所示。
權限策略
描述
AliyunHologresFullAccess
管理Hologres服務的權限。
說明該權限策略不包含實例的使用權限,仍需Superuser在實例中創建用戶后才可以登錄并使用Hologres實例,詳情請參見與實例使用相關的RAM用戶權限問題。
設置該權限后,RAM用戶擁有的權限包括:
查看管理控制臺所有實例信息的權限,包括實例列表、實例詳情、監控等頁面。
可執行涉及賬單的操作,包括對實例購買、升降配、續費、停機、刪除等操作。
登錄并使用HoloWeb的權限。
RAM用戶購買實例后將成為實例的Superuser,擁有實例的所有權限(阿里云賬號也會成為實例的Superuser)。
對于阿里云賬號已經創建的實例,RAM用戶默認沒有實例的權限,需要阿里云賬號在實例內給RAM用戶授予相應的權限,詳情請參見授予RAM用戶實例的開發權限。
無管理控制臺用戶管理頁面展示所有用戶的權限,需要授予
listuser
的權限(AliyunRAMReadOnlyAccess),才可以在管理控制臺的用戶管理查看用戶信息。
AliyunHologresWarehouseFullAccess
管理Hologres計算組的權限。
說明該權限策略不包含實例的使用權限,仍需Superuser在實例中創建用戶后才可以登錄并使用Hologres實例,詳情請參見與實例使用相關的RAM用戶權限問題。
設置該權限后,子賬號擁有的權限包括:
創建、刪除、擴容、縮容、停止及恢復計算組等管理計算組的權限。
配置分時彈性功能的權限。
登錄并使用HoloWeb的權限。
AliyunBSSOrderAccess
在費用中心(BSS)查看、支付以及取消訂單的權限。
設置該權限后,子賬號可以在管理控制臺升級或降級實例的配置,以及為實例續費。
AliyunRAMReadOnlyAccess
只讀訪問控制(RAM)的權限。
設置該權限后,RAM用戶在HoloWeb的用戶管理頁面新增用戶時可以展示當前阿里云賬號下的所有RAM用戶和RAM角色。
AliyunHologresReadOnlyAccess
只讀管理Hologres的權限。
設置該權限后,RAM用戶擁有的權限包括:
在管理控制臺查看實例所有信息的權限,包括實例列表、實例詳情。
登錄并使用HoloWeb的權限。
無實例購買、升降配等涉及費用的操作權限。
無實例的操作權限,需要阿里云賬號給RAM用戶授予實例級別的權限。
不能在管理控制臺或HoloWeb用戶管理展示當前阿里云賬號下的所有RAM用戶,如需查看需要授予
AliyunRAMReadOnlyAccess
的權限。
說明RAM用戶購買的實例,主賬號和RAM用戶默認均為Superuser。
主賬號購買的實例,RAM用戶需要被主賬號授權后,才能使用實例。
自定義策略:由用戶管理,策略的版本更新由用戶維護。用戶可以自主創建、更新和刪除自定義策略。更多信息,請參見創建自定義權限策略。
重要為用戶配置權限策略時,請務必配置AliyunRAMReadOnlyAccess的權限策略,保障用戶能夠訪問管控臺。
在創建權限策略頁面,您可以使用腳本編輯自定義權限。
Hologres支持的自定義權限配置如下:
重要實際使用時請刪除注釋,否則會導致代碼不可用。
{ "Statement": [ { // 一次性授予所有權限,設置了該條,可不用設置下面的其他權限 "Effect": "Allow", "Action": "hologram:*",//所有操作都有權限 "Resource": "acs:hologram:*:<賬號ID>:instance/*"http://針對所有region所有實例 <*不能被實例替代> }, { //購買或者續費實例 "Effect": "Allow", "Action": "hologram:*", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //刪除實例 "Effect": "Allow", "Action": "hologram:DeleteInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*"http://<需要配置才能刪除,不配置不能刪除但是會提示刪除成功> }, { //ram賬號購買權限。ram用戶配置該權限后才可以購買實例 "Effect": "Allow", "Action": "bss:PayOrder", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*"http://<測試不通過> }, { //展示實例詳情 "Effect": "Allow", "Action": "hologram:GetInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" //<*能被實例替代> }, { //展示實例列表 "Effect": "Allow", "Action": "hologram:ListInstances", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*"http://<*不能被實例替代> }, { //暫停實例 "Effect": "Allow", "Action": "hologram:StopInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //恢復實例 "Effect": "Allow", "Action": "hologram:ResumeInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //修改網絡類型 "Effect": "Allow", "Action": "hologram:UpdateInstanceNetworkType", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }. { //訪問HoloWeb "Effect": "Allow", "Action": "hologram:HoloWebAccess", "Resource": "*" } ], "Version": "1" }
參數說明如下表所示。
參數
描述
<region>
地域,例如beijing。
<賬號ID>
阿里云賬號(主賬號)的ID。
*
表示該阿里云賬號中所有實例。您也可以替換*為具體的一個實例ID。
示例語句如下。
acs:hologram:cn-beijing:4322xxxxx:instance/hhhgggxxxx
重要以下授權選項的
instance/*
中的*
不可以替換為具體某一個實例ID,只能設置為*
:{ "Statement": [ { // 一次性授予所有權限,設置了該條,可不用設置下面的其他權限 "Effect": "Allow", "Action": "hologram:*",//所有操作都有權限 "Resource": "acs:hologram:*:<賬號ID>:instance/*"http://針對所有region所有實例 }, { //購買,續費實例 "Effect": "Allow", "Action": "hologram:*", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //刪除實例 "Effect": "Allow", "Action": "hologram:DeleteInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //RAM用戶購買權限,需要購買實例必須加上該條 "Effect": "Allow", "Action": "bss:PayOrder", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //展示實例列表 "Effect": "Allow", "Action": "hologram:ListInstances", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //暫停實例 "Effect": "Allow", "Action": "hologram:StopInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //恢復實例 "Effect": "Allow", "Action": "hologram:ResumeInstance", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //展示實例監控告警 "Effect": "Allow", "Action": "cms:DescribeMetricList", "cms:QueryMetricList" "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" }, { //修改網絡類型 "Effect": "Allow", "Action": "hologram:UpdateInstanceNetworkType", "Resource": "acs:hologram:cn-<region>:<賬號ID>:instance/*" } ], "Version": "1" }
單擊繼續編輯基本信息,輸入基本名稱和備注。
單擊確認新增授權,然后單擊關閉。
與控制臺相關的RAM用戶權限問題
Hologres管理控制臺主要集成了RAM鑒權和實例的部分開發權限,與Hologres管理控制臺相關的權限問題如下所示:
RAM用戶無法查看實例列表及實例ID。
問題現象
RAM用戶選擇了正確的地域,但無法看到已購買的實例,并提示暫無權限查看所有實例,請讓主賬號前往RAM中心授予當前用戶“xxx/*”資源的“hologram:ListInstances”權限報錯。
問題原因
當前RAM用戶沒有查看實例列表的權限。
解決方法
主賬號登錄RAM控制臺,授予RAM用戶顯示實例列表的權限AliyunHologresReadOnlyAccess。
被授權為Superuser的RAM用戶無法新增用戶。
問題現象
RAM用戶已經被授權為Superuser,但是在Hologres管理控制臺的用戶管理模塊無法看到用戶列表并新增用戶。提示暫無權限列出所有子賬號,請讓主賬號前往RAM中心授予當前用戶ram:ListUsers權限報錯。
問題原因
當前RAM用戶在Hologres管理控制臺沒有查看用戶列表的權限。
解決方法
主賬號登錄RAM控制臺,授予RAM用戶顯示用戶列表的權限AliyunRAMReadOnlyAccess權限策略。
無法查看用戶管理和DB管理模塊的信息。
問題現象
RAM用戶登錄Hologres管理控制臺后,無法查看用戶管理和DB管理模塊的信息。提示暫無權限,請找Superuser將當前賬戶添加到實例中報錯。
問題原因
當前RAM用戶沒有實例的開發權限。
解決方法
主賬號或具有Superuser權限的賬號為RAM用戶授予實例的開發權限,詳情請參見授予RAM用戶實例的開發權限。
RAM用戶無實例的操作權限。
問題現象
被授權為Superuser的RAM用戶無法購買、升配和降配實例,以及轉換實例的付費方式由按量付費為包年包月。提示RAM子賬號鑒權不通過報錯。
問題原因
購買、升配、降配及轉換付費方式等操作涉及費用賬單,由主賬號統一控制,當前RAM用戶沒有相關權限。
解決方法
主賬號登錄RAM控制臺,授予RAM用戶與實例費用相關的權限AliyunHologresFullAccess及AliyunBSSOrderAccess。
與實例使用相關的RAM用戶權限問題
無法登錄并使用Hologres實例。
問題現象
報錯:
role "<role_name>" does not exist
。問題原因
新建Hologres實例后,僅阿里云賬號和購買實例的RAM用戶會被默認創建為實例的Superuser用戶。其余RAM用戶均需要Superuser在實例中將其創建為實例的用戶,才可以登錄并使用Hologres實例。
解決方法
說明可通過執行
select * from pg_user;
命令查看當前實例的Superuser。在HoloWeb的用戶管理頁面新增用戶,并授予相應權限,詳情請參見用戶管理。
登錄實例,執行
create user "<role_name>"
語句,詳情請參見Hologres權限模型概述。
無法查看用戶管理和DB管理頁面。
問題現象
RAM用戶登錄管理控制臺,在用戶管理和DB管理頁面都看不到內容,且出現如下報錯:
暫無權限,請找Superuser將當前賬戶添加到實例中
。問題原因
當前RAM用戶沒有實例的開發權限,需要授予具體的開發權限才能展示相關信息。
解決方法
阿里云賬號或擁有Superuser的RAM用戶給此RAM用戶授予實例的開發權限,詳情請參見授予RAM用戶實例的開發權限。
誤刪Superuser
問題現象
誤將實例下的所有Superuser都改為了普通用戶。
說明若誤將實例下的所有Superuser都改為了普通用戶,則無法進行包括用戶管理和實例相關的大部分操作。
解決方法
請加入Hologres官方答疑釘釘群聯系技術支持,詳情可參見在線支持。