為RAM使用者授予所需資源的存取權限,以實現許可權最小化目標,並避免多個使用者共用阿里雲帳號密碼或存取金鑰,從而減少企業的訪問安全風險。本文將詳細介紹如何通過主帳號為RAM使用者指派適當的許可權,並解釋各項許可權的作用。
背景資訊
存取控制(Resource Access Management,簡稱RAM)是阿里雲提供的許可權管理系統。
RAM主要用於控制帳號系統的許可權。
您可以使用RAM在主帳號的許可權範圍內建立RAM使用者,並為不同的RAM使用者授予不同的許可權,例如購買或刪除執行個體、升降配執行個體資源、修改網路類型以及查看執行個體資訊等。
RAM使用者執行個體開發許可權的許可權控制如下:
如果主帳號沒有授予RAM使用者權限,則RAM使用者無法在管理主控台查看或操作執行個體。
主帳號可以直接授予RAM使用者執行個體的開發許可權。RAM使用者即使無法在管理主控台操作執行個體,也可以正常串連開發工具進行資料開發。詳情請參見授予RAM使用者執行個體的開發許可權。
授予RAM使用者權限
使用Resource Access Management員登入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/*"//針對所有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帳號購買許可權。ram使用者配置該許可權後才可以購買執行個體 "Effect": "Allow", "Action": "bss:PayOrder", "Resource": "acs:hologram:cn-<region>:<帳號ID>:instance/*"//<測試不通過> }, { //展示執行個體詳情 "Effect": "Allow", "Action": "hologram:GetInstance", "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": "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/*"//針對所有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。
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官方答疑DingTalk群聯絡支援人員,詳情可參見線上支援。