存取控制RAM(Resource Access Management)是阿里雲提供的許可權管理系統。RAM主要的作用是控制帳號系統的許可權,您可以使用RAM在阿里雲帳號(主帳號)的許可權範圍內建立RAM使用者(子帳號),給不同的RAM使用者指派不同的許可權來允許或拒絕RAM使用者對雲資源的訪問,從而達到授權管理的目的。
背景資訊
說明
- RAM使用者從屬於阿里雲帳號,並且這些RAM使用者下不能擁有實際的任何資源,所有資源都屬於阿里雲帳號。
- 通過RAM使用者建立AnalyticDB for MySQL叢集後,只能通過該RAM使用者和所屬阿里雲帳號查看或使用叢集;其他RAM使用者需要授權後才能查看或者使用該叢集。
使用情境
通過阿里雲帳號建立AnalyticDB for MySQL叢集後,如果您的組織裡有多個使用者需要使用AnalyticDB for MySQL叢集,這些使用者只能共用使用您的雲帳號AccessKey。
警告 多個使用者共用使用您的雲帳號AccessKey,會存在如下風險。
- 您的密鑰由多人共用,泄露的風險很高。
- 您無法控制特定使用者可以對叢集進行哪些操作,例如擴容叢集、重啟叢集等。
此時,您可以建立RAM使用者,並授予RAM使用者對應的許可權。之後,讓您的使用者通過RAM使用者訪問或管理您的AnalyticDB for MySQL叢集。
如何?
建立RAM使用者
- 登入RAM控制台。
- 單擊左側導覽列的 。
- 在使用者頁面,單擊建立使用者,輸入登入名稱稱和顯示名稱。說明 單擊添加使用者,可一次性建立多個RAM使用者。
- 在訪問方式地區下,選擇控制台訪問或OpenAPI調用訪問。
- 控制台訪問:可以完成對登入安全的基本設定,包括自動產生或自訂登入密碼、是否要求下次登入時重設密碼以及是否要求開啟多因素認證。
- OpenAPI調用訪問:自動為RAM使用者建立存取金鑰(AccessKey)。RAM使用者可以通過其他開發工具訪問AnalyticDB for MySQL叢集。
為保障帳號安全,建議僅為RAM使用者選擇一種登入方式。避免RAM使用者離開組織後仍可以通過存取金鑰訪問AnalyticDB for MySQL叢集。
- 單擊確認,建立RAM使用者。
為RAM使用者授權
- 登入RAM控制台。
- 單擊左側導覽列的 。
- 在使用者頁面,單擊目標RAM使用者右側的添加許可權。
- 在添加許可權頁面,權限類別型選擇系統策略,輸入策略名稱稱找到對應的權限原則,單擊將其添加到已選擇框中。警告 請勿過度授權。過度授權後操作人員許可權過大,可以隨意操作,可能引發安全風險或造成損失。權限原則說明:
- 基礎版或數倉版叢集的許可權:
- AliyunADBReadOnlyAccess,唯讀訪問基礎版或數倉版叢集的許可權。
- AliyunADBFullAccess,管理基礎版或數倉版叢集的許可權。
- 企業版及湖倉版叢集的許可權:
- AliyunADBReadOnlyAccess,唯讀訪問企業版及湖倉版叢集的許可權。
- AliyunADBFullAccess,管理企業版及湖倉版叢集的許可權。
- AliyunADBDeveloperAccess,企業版及湖倉版叢集的開發人員許可權。與AliyunADBFullAccess策略相比,AliyunADBDeveloperAccess不包含叢集的建立、變更配置、刪除、RAM使用者綁定等操作許可權。
- 基礎版或數倉版叢集的許可權:
- 單擊確認,為RAM使用者授權。
為RAM使用者授予相應的許可權後,您就可以通過RAM使用者訪問或者管理AnalyticDB for MySQL叢集。
建立權限原則
如需對RAM使用者進行精細到執行個體層級的操作授權,這種情境需要在RAM中建立自訂權限原則。
- 登入RAM控制台。
- 單擊左側導覽列的 。
- 單擊建立權限原則,本文以建立AnalyticDB for MySQL基礎版或數倉版叢集的系統管理權限為例。
- 配置模式選擇指令碼編輯。
- 輸入配置指令碼,指令碼內容樣本如下。
管理“am-xxx”執行個體許可權:
{ "Version": "1", "Statement": [ { "Action": ["adb:DescribeDBClusters", "adb:ListTagResources"], "Resource": "acs:adb:*:*:dbcluster/*", "Effect": "Allow" }, { "Action": "adb:*", "Resource": ["acs:adb:*:*:dbcluster/am-xxx"], "Effect": "Allow" } ] }
唯讀“am-xxx”執行個體許可權:
{ "Version": "1", "Statement": [ { "Action": ["adb:DescribeDBClusters", "adb:ListTagResources"], "Resource": "acs:adb:*:*:dbcluster/*", "Effect": "Allow" }, { "Action": "adb:Describe*", "Resource": ["acs:adb:*:*:dbcluster/am-xxx"], "Effect": "Allow" } ] }
若RAM使用者需要管理或唯讀多個叢集,在指令碼的
"Resource": ["acs:adb:*:*:dbcluster/am-xxx"]
中增加相應的叢集ID即可,例如"Resource": ["acs:adb:*:*:dbcluster/am-xxx", "acs:adb:*:*:dbcluster/am-yyy"]
。權限原則建立完成後,將權限原則授權給對應RAM使用者即可。
- 單擊繼續編輯基本資料。
- 輸入策略名稱稱,單擊確定。
相關文檔
- 當使用AnalyticDB for MySQL企業版及湖倉版時,可以將資料庫普通帳號綁定RAM使用者,直接在AnalyticDB for MySQL控制台的SQL編輯器或Spark編輯器中進行資料庫開發,請參見綁定或解除綁定RAM使用者與資料庫帳號。
- 當RAM使用者不再需要某些許可權或離開組織時,您可以將這些許可權移除或者刪除RAM使用者,請參見為RAM使用者移除許可權以及刪除RAM使用者。