全部產品
Search
文件中心

Enterprise Distributed Application Service:許可權管理概述

更新時間:Jun 30, 2024

您在EDAS上託管的應用可能包含多個服務或子系統,這些服務或子系統又可能由不同團隊、成員進行開發、營運。EDAS通過帳號體系及基於帳號體系的一系列許可權管理操作,提供企業級的許可權管理系統,協助您對應用、資源和資料進行必要的隔離和許可權控制,以保證其安全性。

EDAS內建許可權管理和RAM許可權管理

EDAS內建了一套許可權管理系統,又接入了阿里雲存取控制RAM(Resource Access Management)的許可權管理。

為了能夠統一管理EDAS和其他阿里雲產品的許可權,推薦您使用RAM許可權管理。EDAS也提供了將內建的許可權管理遷移至RAM許可權管理的方案。具體操作,請參見將EDAS內建的許可權管理切換為RAM許可權管理

說明 EDAS內建許可權管理員模式下,阿里雲帳號如果要對子帳號進行許可權管理,需要登入EDAS控制台,為子帳號分配EDAS的許可權和資源。遷移至RAM後,阿里雲帳號在EDAS控制台無法再為子帳號授權,需要登入到RAM控制台為子帳號授予EDAS的相關許可權。

EDAS目前處於EDAS內建許可權管理與RAM許可權管理共存的過渡狀態,目前您的RAM使用者或子帳號所使用的許可權管理規則如下:

  • 未使用過EDAS內建許可權管理的子帳號,直接使用RAM許可權管理,不能再使用EDAS內建許可權管理。
  • 使用過EDAS內建許可權管理的子帳號:

為什麼要使用RAM許可權管理

RAM是阿里雲提供的資源存取控制服務。通過設定權限原則(Policy),您可以集中管理您的使用者(例如員工、系統或應用程式),以及控制使用者可以訪問哪些資源,例如限制您的使用者只擁有對某一個EDAS應用的讀許可權。

更細粒度的鑒權

EDAS內建許可權管理RAM許可權管理
EDAS內建許可權資源對應圖RAM許可權資源對應圖
阿里雲帳號為子帳號分配資源後,所有的許可權都會匹配這些資源。例如,當授予子帳號APP1和APP2的資源後,如果再授予子帳號部署應用和停止應用的許可權,那麼,該子帳號會有許可權對APP1和APP2進行部署和停止操作。資源粒度較為粗糙,不能更精確地控制許可權。相比EDAS內建的許可權管理,RAM的許可權控制更為精細。每條許可權都可以配置所擁有的資源。例如,阿里雲帳號可以授予RAM使用者部署App和停止App的許可權,同時,部署App的許可權配置上資源APP1和APP2,停止App的許可權配置上資源APP2和APP3。此時,RAM使用者可以部署APP1和APP2,不能部署APP3;可以停止APP2和APP3,不能停止APP1。

更強大的文法

相比EDAS內建許可權管理,RAM許可權管理的文法更為豐富,不僅支援用萬用字元進行模糊比對,還支援多種鑒權策略組合,實現更複雜的鑒權邏輯。

以下面的RAM策略為例:

{
    "Statement": [
      {
        "Action": [
          "edas:ReadApplication"
        ],
        "Effect": "Allow",
        "Resource": ["acs:edas:*:*:namespace/*/application/*"]
      },
      {
        "Action": [
          "edas:ReadApplication"
        ],
        "Effect": "Deny",
        "Resource": ["acs:edas:cn-beijing:*:namespace/*/application/12345678"]
      }
    ],
    "Version": "1"
}

該RAM策略有2條語句:

  • 第1條是允許語句,許可權動作edas:ReadApplication代表查看APP,針對的資源是萬用字元*,代表所有APP。第1條語句的意思就是授予RAM使用者查看EDAS中所有的App的許可權。
  • 第2條是禁止語句,資源是ID為12345678的App,代表的意思為禁止查看ID為12345678的App。

以上兩條語句相結合,則代表:授予RAM使用者查看除ID為12345678的App之外的其它所有App的許可權。

RAM許可權管理文法還有條件運算式等多種功能。更多資訊,請參見權限原則概覽

EDAS內建許可權和RAM許可權的映射關係

EDAS內建許可權與RAM許可權並不完全符合,因此是無法等效替換的。EDAS提供了權限原則轉換功能,可將EDAS內建許可權轉換為盡量一致的RAM許可權。其中,子帳號擁有的EDAS的資源(應用和叢集)預設會賦給RAM的所有許可權點使用。

表 1. 許可權映射對照表
EDAS內建許可權RAM許可權RAM資源
Super Admin(All privileges)edas:*acs:edas:*:*:*
代理主帳號edas:ManageSystemacs:edas:*:*:*
系統管理-動作記錄edas:ReadOperationLogacs:edas:*:*:*
應用管理-編輯微服務空間edas:ManageNamespaceacs:edas:*:*:namespace/${namespaceId}
應用管理-查詢微服務空間edas:ReadNamespaceacs:edas:*:*:namespace/${namespaceId}
資源管理-建立叢集edas:CreateClusteracs:edas:*:*:namespace/*
資源管理-查看叢集edas:ReadClusteracs:edas:*:*:namespace/*/cluster/${clusterId}
資源管理-管理和刪除叢集edas:ReadCluster

edas:ManageCluster

acs:edas:*:*:namespace/*/cluster/${clusterId}
應用管理-建立應用edas:CreateApplicationacs:edas:*:*:namespace/*
應用管理-部署、啟動、擴容和刪除應用edas:ManageApplication

edas:ReadApplication

acs:edas:*:*:namespace/*/application/${applicationId}
應用管理-查看應用資訊edas:ReadApplicationacs:edas:*:*:namespace/*/application/${applicationId}
應用管理-配置容器和編輯應用JVM參數edas:ConfigApplication

edas:ReadApplication

acs:edas:*:*:namespace/*/application/${applicationId}
應用管理-設定日誌路徑edas:ManageAppLog

edas:ReadApplication

acs:edas:*:*:namespace/*/application/${applicationId}
ECS代購edas:ECSPurchaseacs:edas:*:*:*
SLB代購edas:SLBPurchaseacs:edas:*:*:*
SLS代購edas:SLSPurchaseacs:edas:*:*:*