全部產品
Search
文件中心

Enterprise Distributed Application Service:權限原則樣本庫

更新時間:Oct 19, 2024

本文介紹在RAM中與EDAS相關的授權許可權細分規則和權限原則。

權限原則中Resource的變數說明

權限原則聲明中Resource包含的變數說明如下:

  • $regionid:所在地區的ID,例如cn-shanghai。具體取值,請參見地區和可用性區域

  • $namespace:微服務空間租戶ID,如下圖所示,方框內為微服務空間的租戶ID。

    可登入EDAS控制台,在左側導覽列,選擇資源管理 > 微服務空間,進入微服務空間頁面擷取。

    查看命名空間租戶ID

  • $clusterId:叢集ID,例如8c349f69-505c-436f-8dc7-**********,如下圖所示,方框內為叢集ID。

    可登入EDAS控制台,在左側導覽列,選擇資源管理 > EDAS ECS叢集,單擊叢集ID/名稱進入叢集詳情頁面擷取。

    查看叢集ID

  • $applicationId:應用ID,如ec8e38a3-3dca-47a7-b6f9-5**********,如下圖所示,方框內為應用ID。

    可登入EDAS控制台,在左側導覽列,選擇應用管理 > 應用列表,單擊應用程式名稱,進入應用詳情頁面的基本資料頁簽擷取。

    應用詳情

許可權細分規則

本章節介紹EDAS內建許可權和RAM中權限原則的對應關係。

管理微服務空間

表 1. 管理微服務空間

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

表 2. 管理叢集

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

表 3. 管理應用

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

表 4. 微服務管理

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

表 5. 組態管理

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

表 6. 系統管理

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:*:*:*

表 7. EDAS商用相關功能

Code

Description

Dependency action

Resource

7

EDAS商用相關功能

edas:ManageCommercialization

acs:edas:$regionid:$accountid:*

叢集授權

跟叢集使用相關的情境授權說明如下:

建立叢集

重要

建立叢集時,Resourcecluster/後面的必須是星號(*)。

{
   "Version": "1",
   "Statement": [
     {
       "Action": ["edas:CreateCluster"],
       "Resource": ["acs:edas:$regionid:*:namespace/$namespace/cluster/*"],
       "Effect": "Allow"
      }
   ]
 }

查看叢集詳情

叢集相關的唯讀許可權,例如查看單個叢集詳情、叢集下的執行個體或應用等資訊。

說明

只有通過給RAM使用者授予資源群組後,RAM使用者才能在叢集列表中查看到被授權的叢集。

{
   "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"
      }
   ]
 }

微服務空間

與微服務空間使用相關的情境授權說明如下:

建立微服務空間

重要

建立微服務空間時,Resourcenamespace/後面的必須是星號(*),否則鑒權失敗。

{
   "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支援資源代購的Resource Access Management許可權。主要涉及的資源套件含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代購的許可權

  • 使用範圍:為應用代購Log ServiceSLS。

  • 策略樣本:

    {
      "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"
      }
   ]
 }