本文介紹在RAM中與EDAS相關的授權權限細分規則和權限策略。
權限策略中Resource的變量說明
權限策略聲明中Resource包含的變量說明如下:
- $regionid:所在地域的ID,例如cn-shanghai。具體取值,請參見地域和可用區。
- $namespace:微服務空間租戶ID,如下圖所示,方框內為微服務空間的租戶ID。
可登錄EDAS控制臺,在左側導航欄,選擇 ,進入微服務空間頁面獲取。
- $clusterId:集群ID,例如8c349f69-505c-436f-8dc7-**********,如下圖所示,方框內為集群ID。
可登錄EDAS控制臺,在左側導航欄,選擇 ,單擊集群ID/名稱進入集群詳情頁面獲取。
- $applicationId:應用ID,如ec8e38a3-3dca-47a7-b6f9-5**********,如下圖所示,方框內為應用ID。
可登錄EDAS控制臺,在左側導航欄,選擇 ,單擊應用名稱,進入應用詳情頁面的基本信息頁簽獲取。
權限細分規則
本章節介紹EDAS內置權限和RAM中權限策略的對應關系。
管理微服務空間
Code | Description | Dependency action | Resource |
---|---|---|---|
1.1 | 創建微服務空間 | edas:CreateNamespace | acs:edas:$regionid:$accountid:namespace/* |
1.2 | 刪除微服務空間 | edas:ReadNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
edas:DeleteNamespace | |||
1.4 | 編輯微服務空間 | edas:ManageNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
edas:ReadNamespace | |||
1.5 | 查看微服務空間 | edas:ReadNamespace | acs:edas:$regionid:$accountid:namespace/$namespace |
Code | Description | Dependency action | Resource |
---|---|---|---|
2.1 | 創建集群 | edas:CreateCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/* |
2.2 | 刪除集群 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
edas:DeleteCluster | |||
2.4 | 管理集群 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
edas:ManageCluster | |||
2.3 | 查看集群 | edas:ReadCluster | acs:edas:$regionid:$accountid:namespace/$namespace/cluster/$clusterId |
Code | Description | Dependency action | Resource |
---|---|---|---|
3.1 | 創建應用 | edas:CreateApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/* |
3.2 | 刪除應用 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:DeleteApplication | |||
3.3 | 查看應用 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
3.4 | 管理應用 | edas:ManageApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ReadApplication | |||
3.5 | 配置應用 | edas:ConfigApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ReadApplication | |||
3.6 | 管理日志 | edas:ReadApplication | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ManageAppLog |
Code | Description | Dependency action | Resource |
---|---|---|---|
4.1 | 查看服務 | edas:ReadService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
4.2 | 測試服務 | edas:TestService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
4.3 | 管理服務 | edas:ReadService | acs:edas:$regionid:$accountid:namespace/$namespace/application/$applicationId |
edas:ManageService |
Code | Description | Dependency action | Resource |
---|---|---|---|
5.1 | 查看配置 | acms:R | acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId |
5.2 | 管理配置 | acms:* | acs:acms:$regionid:$accountid:cfg/$namespace/$groupId/$configId |
Code | Description | Dependency action | Resource |
---|---|---|---|
6.1 | EDAS系統管理 | edas:ManageSystem | acs:edas:$regionid:$accountid:* |
6.2 | 查看操作日志 | edas:ReadOperationLog | acs:edas:$regionid:$accountid:* |
6.3 | 系統運維 | edas:ManageOperation | acs:edas:$regionid:$accountid:* |
6.4 | ECS代購 | edas:ECSPurchase | acs:edas:*:*:* |
6.5 | SLB代購 | edas:SLBPurchase | acs:edas:*:*:* |
6.6 | SLS代購 | edas:SLSPurchase | acs:edas:*:*:* |
Code | Description | Dependency action | Resource |
---|---|---|---|
7 | EDAS商用相關功能 | edas:ManageCommercialization | acs:edas:$regionid:$accountid:* |
集群授權
跟集群使用相關的場景授權說明如下:
創建集群
Resource
中cluster/
后面的必須是星號(*)。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:CreateCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
"Effect": "Allow"
}
]
}
查看集群詳情
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
管理集群
包括創建集群、導入實例到集群、編輯集群信息和刪除集群等。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
- 場景一:授權集群的管理權限,但不允許創建集群。
{ "Version": "1", "Statement": [ { "Action": ["edas:ManageCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"], "Effect": "Allow" }, { "Action": ["edas:CreateCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"], "Effect": "Deny" } ] }
說明 其中$clusterId
若配置為具體的值,則只能管理對應ID的集群;若配置為星號(*),則能管理指定微服務空間下的所有集群。 - 場景二:授予集群的管理權限,但是不允許創建和刪除集群。
{ "Version": "1", "Statement": [ { "Action": ["edas:ManageCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"], "Effect": "Allow" }, { "Action": ["edas:CreateCluster","edas:DeleteCluster"], "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"], "Effect": "Deny" } ] }
刪除集群
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadCluster","edas:DeleteCluster"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId"],
"Effect": "Allow"
}
]
}
微服務空間
與微服務空間使用相關的場景授權說明如下:
創建微服務空間
Resource
中namespace/
后面的必須是星號(*),否則鑒權失敗。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:CreateNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/*"],
"Effect": "Allow"
}
]
}
查看微服務空間
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
管理微服務空間
當編輯或修改微服務空間名稱時,需授予管理微服務空間權限。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
刪除微服務空間
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadNamespace","edas:DeleteNamespace"],
"Resource": ["acs:edas:$regionid:*:namespace/$namespace"],
"Effect": "Allow"
}
]
}
資源代購
為增強企業級用戶的權限管理能力,EDAS支持資源代購的RAM管理權限。主要涉及的資源包含ECS、SLB和SLS。
資源代購的場景授權說明如下:
- 所有的代購類權限策略配置中,
resource
必須是"acs:edas:*:*:*"
,暫不支持更細粒度配置。 - 資源代購權限策略只適用于RAM用戶。
ECS代購的權限
- 使用范圍:
- 在ECS集群創建后,添加購買ECS。
- 在ECS集群內創建應用時代購ECS。
- 在ECS集群內擴容應用時代購ECS。
- 策略示例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:ECSPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] }
SLB代購的權限
- 使用范圍:為應用綁定負載均衡時代購SLB。
- 策略示例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:SLBPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] }
SLS代購的權限
- 使用范圍:為應用代購日志服務SLS。
- 策略示例:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "edas:SLSPurchase" ], "Resource": [ "acs:edas:*:*:*" ] } ] }
應用管理
與應用相關的場景授權說明如下:
單個應用
- 管理應用:使用RAM用戶可以查看該應用的基本信息、管理配置和應用日志,但不允許創建和刪除應用。
{ "Statement": [ { "Action": [ "edas:*Application" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] }, { "Action": [ "edas:DeleteApplication" ], "Resource":["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"], "Effect": "Deny" }, { "Action": [ "edas:CreateApplication" ], "Resource":["acs:edas:$regionid:*:namespace/$namespace/application/*"], "Effect": "Deny" } ], "Version": "1" }
- 創建應用重要 創建應用時使用的是所在集群內的實例,因此還需要授予查看集群的權限。
{ "Statement": [ { "Action": [ "edas:CreateApplication", "edas:ReadCluster" ], "Effect": "Allow", "Resource": [ "acs:edas:$regionid:*:namespace/$namespace/application/*", "acs:edas:$regionid:*:namespace/$namespace/cluster/$clusterId" ] } ], "Version": "1" }
- 刪除應用重要 刪除應用時還需要授予查看應用的權限,這樣才能找到需要刪除的應用。
{ "Statement": [ { "Action": [ "edas:DeleteApplication", "edas:ReadApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] } ], "Version": "1" }
- 日志管理重要 管理應用日志時還需要授予查看應用的權限,這樣才能找到需要日志管理的應用。
{ "Statement": [ { "Action": [ "edas:ReadApplication", "edas:ManageAppLog" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] } ], "Version": "1" }
- 設置應用:應用的設置包括對應用端口、Tomcat context、負載均衡、健康檢查、JVM參數和同可用區優先等功能的設置。
重要 設置應用時還需要授予查看應用的權限。
{ "Statement": [ { "Action": [ "edas:ReadApplication", "edas:ConfigApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"] }, ], "Version": "1" }
多個應用
- 查看應用:授權查看某個地域內的應用列表。
說明 一個地域下包括多個微服務空間,查看應用可以查看該某地域的所有微服務空間內的應用列表。
{ "Statement": [ { "Action": [ "edas:ReadApplication" ], "Effect": "Allow", "Resource": ["acs:edas:$regionid:*:namespace/*/application/*"] } ], "Version": "1" }
- 查看應用:授權查看某命令空間內的應用列表。
{ "Statement": [ { "Action": [ "edas:*Application", "edas:ReadCluster" ], "Effect": "Allow", "Resource": [ "acs:edas:$regionid:*:namespace/$namespace/application/*", "acs:edas:$regionid:*:namespace/$namespace/cluster/*" ] } ], "Version": "1" }
微服務管理
與微服務管理使用相關的場景授權說明如下:
查詢服務
$applicationId
替換為星號(*)。
{
"Statement": [
{
"Action": [
"edas:ReadService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
測試服務
$namespace
和$applicationId
替換為星號(*)。
{
"Statement": [
{
"Action": [
"edas:TestService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
服務鑒權
$applicationId
替換為星號(*)。
{
"Statement": [
{
"Action": [
"edas:ManageService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace/application/$applicationId"
]
}
],
"Version": "1"
}
離群實例摘除
{
"Statement": [
{
"Action": [
"edas:ManageService"
],
"Effect": "Allow",
"Resource": [
"acs:edas:$regionid:*:namespace/$namespace"
]
}
],
"Version": "1"
}
配置管理
EDAS集成了ACM的配置管理能力。與配置管理相關的權限控制,請參見訪問權限控制。
系統管理
系統管理包含管理RAM用戶、查看產品用量、查看操作日志等系統級的權限。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageSystem"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}
Resource
直接用acs:edas:*:*:*
即可。
系統運維
系統運維包含查看操作日志、執行批量運維和管理資源組的權限。
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ManageOperation"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}
操作日志
{
"Version": "1",
"Statement": [
{
"Action": ["edas:ReadOperationLog"],
"Resource": ["acs:edas:*:*:*"],
"Effect": "Allow"
}
]
}