全部產品
Search
文件中心

Enterprise Distributed Application Service:藉助資源群組進行許可權管理

更新時間:Aug 31, 2024

EDAS支援阿里雲資源管理的資源群組功能。EDAS接入資源群組服務後,將EDAS的叢集和應用指派給不同的資源群組,並為RAM使用者配置資源群組許可權,可以簡化許可權配置,方便企業管理。

前提條件

背景資訊

阿里雲資源管理服務包含一系列支援企業IT治理的資源管理產品集合。通過資源管理服務,您可以按照業務需要搭建合適的資源群組織關係,使用資源群組,分層次地組織和管理EDAS中的叢集和應用等資源。

資源群組(Resource Group)是在阿里雲帳號下進行資源分組管理的一種機制,資源群組能夠協助您解決單個阿里雲帳號內的資源分組和授權管理的複雜性問題。

  • 對單個阿里雲帳號下多個地區、多種雲資源進行集中的分組管理。

  • 為每個資源群組設定管理員,資源群組管理員可以獨立管理資源群組內的所有資源。

EDAS自有許可權管理和RAM許可權管理的關係

EDAS包含以下兩種相互獨立的許可權管理員模式。

說明

一個阿里雲的帳號,只能同時使用一種許可權管理員模式,推薦使用RAM許可權管理員模式。

  • 接入RAM前,EDAS通過自己的帳號體系和資源群組,獨立對子帳號進行許可權管理。

  • 接入RAM後,EDAS藉助資源管理中的資源群組,對RAM使用者進行許可權管理。

為什麼要藉助資源群組進行許可權管理

以一個樣本情境說明為什麼要藉助資源群組進行許可權管理。

資源群組情境示意

企業A有兩個部門,deptA和deptB。部門deptA使用RAM使用者subA管理叢集clusterA和應用appA1和appA2;部門deptB使用RAM使用者subB管理叢集clusterB和應用appB1和appB2。

在RAM中有兩種許可權管理方式,直接使用RAM進行許可權管理和藉助資源群組進行許可權管理。

表 1. 直接使用RAM和藉助資源群組進行許可權管理對比

對比

直接使用RAM許可權管理

藉助資源群組進行許可權管理

使用情境

適用於細粒度的許可權管理情境

適用於粗粒度的許可權管理情境

原理

使用該企業的雲帳號在RAM控制台中分別為部門deptA和deptB建立RAM使用者subA和subB,並為subA和subB建立權限原則policyA和policyB,在策略中分別配置叢集、應用資源,以及操作許可權。

使用該企業的雲帳號在資源管理主控台建立資源群組groupA和groupB,將部門deptA和deptB的叢集和應用資源分別添加到兩個資源群組中。在RAM控制台為兩個部門建立RAM使用者subA和subB,並建立通用的自訂策略。該策略可以在兩個資源群組內對不同的資源和子帳號分別生效,互不影響。

特點

這種方式有兩個缺點:

  • 配置重複

    subA和subB是一樣的許可權控制需求,僅僅是管理的資源不同,但需要建立兩個策略,分別配給兩個RAM使用者。

  • 改動頻繁

    每次建立或刪除資源,例如subA建立了應用appA3、appA4,就需要給在policyA中添加對應的AppId配置。

這種方式的優勢:

  • 簡化許可權配置

    資源群組協助管控資源範圍,因此授權的時候,可以粗粒度的調整資源,不需要再精細到單個應用或叢集。

  • 複用權限原則

    您不再需要因為資源不同,為每個不同的子帳號都配置一份策略,策略只要關注action即可。

說明

兩種許可權管理方式使用情境不同,需要根據具體需求選擇。

使用限制

資源群組能夠簡化EDAS許可權配置,但在使用資源群組時,需要注意以下限制。

  • 微服務空間不在資源群組的管理範圍內。資源群組能夠覆蓋的資源類型為應用和叢集,微服務空間的相關許可權操作需要在RAM配置。

  • 組態管理ACM、應用即時監控服務ARMS等暫不支援資源群組。

操作步驟

以上述情境樣本為例,介紹如何通過資源管理和RAM聯合進行許可權控制。

  1. 在資源管理主控台中建立資源群組groupA和groupB。具體操作,請參見建立資源群組

  2. 為資源群組groupA和groupB添加叢集和應用資源。具體操作,請參見資源轉入到當前資源群組

  3. 在RAM控制台中分別為部門deptA和deptB建立RAM使用者subA和subB。具體操作,請參見建立RAM使用者

  4. 在RAM控制台中建立通用的權限原則。具體操作,請參見建立自訂權限原則

    策略內容如下:

    {
        "Version": "1",
        "Statement": [    
          {
            "Effect": "Allow",
            "Action": [
                  "edas:*Cluster",
                "edas:*Application"
            ],
            "Resource": [
              "acs:edas:*:*:*"
            ]
          }
        ]
    }
  5. 在資源管理主控台中的資源群組groupA和groupB中分別為RAM使用者subA和subB授予通用權限原則。具體操作,請參見添加RAM身份並授權

  6. 可選:需要調整資源配置時,調整資源群組即可。

  7. 可選:為使用者subA直接授予非資源群組資源的許可權,以微服務空間下微服務列表為例。具體操作,請參見為RAM使用者授權

    說明

    即使給資源群組groupA綁定了AliyunEDASFullAccess並授予了subA,當subA使用微服務空間為條件查詢微服務列表時,仍會出現無許可權的提醒,因微服務空間不關聯資源群組,需要將微服務空間權限原則直接授予subA。

    策略內容如下:

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

    同樣,對於許可權細分規則中的管理叢集管理應用微服務管理(使用應用為條件) 之外的許可權,也都需要直接授予subA相應的權限原則。

結果驗證

在完成許可權管理後,請根據您的實際業務需求驗證RAM使用者的許可權是否符合預期。