預設情況下,RAM使用者或RAM角色沒有使用雲端服務OpenAPI的任何許可權,您需要為RAM使用者或RAM角色授權才能使用Container ServiceACK和容器計算服務ACS的OpenAPI,同時可以訪問容器計算服務ACS的控制台查看叢集。本文介紹如何為RAM使用者或RAM角色授予系統權限原則和自訂權限原則。
前提條件
在建立自訂授權策略時,您需要瞭解授權策略語言的基本結構和文法。更多資訊,請參見權限原則基本元素。
系統策略授權
系統策略授權用於指定全域資源的讀寫存取控制。當RAM使用者或RAM角色具有阿里雲帳號下所有叢集的營運系統管理權限時,建議使用系統策略進行快捷授權。
為RAM使用者或RAM角色授予系統策略
阿里雲帳號(主帳號)對帳號中的資源具有完全系統管理權限,您也可以在RAM中建立一個RAM使用者,授予AdministratorAccess許可權,充當帳號管理員,該管理員可以對帳號下所有雲資源進行管控操作。更多資訊,請參見建立RAM使用者作為帳號管理員。
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
在使用者頁面,單擊目標RAM使用者操作列的添加許可權。

您也可以選中多個RAM使用者,單擊使用者列表下方的添加許可權,為RAM使用者大量授權。
在新增授權面板,為RAM使用者添加許可權。
選擇資源範圍。
帳號層級:許可權在當前阿里雲帳號內生效。
資源群組層級:許可權在指定的資源群組內生效。
重要指定資源群組授權生效的前提是該雲端服務及資源類型已支援資源群組,詳情請參見支援資源群組的雲端服務。資源群組授權樣本,請參見使用資源群組限制RAM使用者管理指定的ECS執行個體。
選擇授權主體。
授權主體即需要添加許可權的RAM使用者。系統會自動選擇當前的RAM使用者。
選擇需要授予的系統權限原則。
單擊確認新增授權並關閉彈窗完成授權。
自訂授權策略
Container ServiceACK提供的系統授權策略的授權粒度比較粗,如果這種粗粒度授權策略不能滿足您的需要,那麼您可以建立自訂授權策略。例如,您想控制對某個具體的叢集的操作許可權,您必須使用自訂授權策略才能滿足這種細粒度要求。
步驟一:建立自訂授權策略
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
在權限原則頁面,單擊建立權限原則。

在建立權限原則頁面,單擊指令碼編輯頁簽,輸入您的權限原則內容。
{ "Statement": [{ "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/叢集ID" ] }], "Version": "1" }參數
說明
Action
所需授與權限,所有的Action均支援萬用字元。
Resource
有以下配置方式,其中
叢集ID需要替換為您的實際叢集ID,如cae93341766c843479ae986b3305xxxxx。授予單叢集許可權
"Resource": [ "acs:cs:*:*:cluster/叢集ID" ]授予多個叢集許可權
"Resource": [ "acs:cs:*:*:cluster/叢集ID", "acs:cs:*:*:cluster/叢集ID" ]授予所有叢集的許可權
"Resource": [ "*" ]
編寫完成後單擊確定,在彈窗中填寫入權限策略名稱稱,然後再單擊確定完成建立。
返回權限原則頁面,在搜尋方塊中搜尋策略名稱或備忘,可以看到您授權的自訂策略。
步驟二:為RAM使用者或RAM角色授予自訂授權策略
關於自訂授權的具體操作和系統策略授權操作方法一樣,在選擇權限原則時,需選擇您已建立的自訂策略。具體操作,請參見為RAM使用者或RAM角色授予系統策略。
使用樣本
為RAM使用者或RAM角色授權不支援限制叢集的OpenAPI的操作許可權
部分OpenAPI不支援限制叢集的授權(例如,DescribeEvents),若您需要給RAM使用者或RAM角色授權這些OpenAPI不支援限制叢集的操作許可權,請勿在Resource中限定叢集ID。
例如,當前RAM權限原則如下:
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/叢集ID"
]
}
],
"Version": "1"
}若您需要授權不支援限制叢集的OpenAPI DescribeEvents ,其對應的RAM action為cs:DescribeEvents,修改後的RAM權限原則如下所示:
{
"Statement": [
{
"Action": [
"cs:DescribeEvents"
],
"Effect": "Allow",
"Resource": [
"*"
]
},
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/叢集ID"
]
}
],
"Version": "1"
}後續操作
在完成RAM授權後,您需要繼續完成叢集內Kubernetes資源訪問的RBAC授權,才能對叢集內部資源進行操作。具體授權,請參見配置RAM使用者或RAM角色RBAC許可權。
在提交RBAC授權前,您需要確保目的地組群已經被授予RAM唯讀許可權,策略參考如下。
{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/叢集ID" ] } ], "Version": "1" }