全部產品
Search
文件中心

Microservices Engine:雲原生網關授權

更新時間:Dec 14, 2024

MSE支援阿里雲帳號給RAM使用者授予雲原生網關的操作許可權,避免因暴露阿里雲帳號密鑰造成的安全風險。本文介紹如何建立RAM使用者並給RAM使用者授權,授權後您就可以通過RAM使用者使用MSE雲原生網關。

使用情境

某企業開通了微服務引擎MSE雲原生網關服務,由於員工工作職責不同,對資源操作要求的權限也不同,現有如下需求:

  • 鑒於安全或信任原因,不希望將雲帳號密鑰直接透露給員工,期望可以為員工相應的帳號授予許可權。

  • 使用者帳號只能在授權的前提下操作資源,不需要進行獨立的計量計費,所有開銷均計入企業帳號名下。

  • 隨時可以撤銷使用者帳號的許可權,也可以隨時刪除其建立的使用者帳號。

  • MSE雲原生網關作為一個託管型產品有開發和營運兩個角色,營運人員負責叢集和許可權的管理,開發人員負責配置和服務管理。

使用說明

您可以使用阿里雲帳號通過控制台和API為RAM使用者授權,本文介紹如何通過控制台操作。

步驟一:建立RAM使用者

使用阿里雲帳號登入RAM控制台並建立RAM使用者。

  1. 使用阿里雲帳號(主帳號)或Resource Access Management員登入RAM控制台

  2. 在左側導覽列,選擇身份管理 > 使用者

  3. 使用者頁面,單擊建立使用者

    image

  4. 建立使用者頁面的使用者帳號資訊地區,設定使用者基本資料。

    • 登入名稱稱:可包含英文字母、數字、半形句號(.)、短劃線(-)和底線(_),最多64個字元。

    • 顯示名稱:最多包含128個字元或漢字。

    • 標籤:單擊edit,然後輸入標籤鍵和標籤值。為RAM使用者綁定標籤,便於後續基於標籤的使用者管理。

    說明

    單擊添加使用者,可以大量建立多個RAM使用者。

  5. 訪問方式地區選中控制台訪問使用永久 AccessKey 訪問

    • 控制台訪問:完成對登入安全的基本設定,包括自動產生或自訂登入密碼、是否要求下次登入時重設密碼以及是否要求開啟多因素認證。

      說明

      自訂登入密碼時,密碼必須滿足您在人員管理 > 設定中設定的密碼複雜度規則。關於如何設定密碼複雜度規則,請參見設定RAM使用者密碼強度

    • 使用永久 AccessKey 訪問:自動為RAM使用者產生存取金鑰(AccessKey),支援通過API或其他開發工具訪問阿里雲。

    說明

    為了保障帳號安全,建議僅為RAM使用者選擇一種登入方式,避免RAM使用者離開組織後仍可以通過存取金鑰訪問阿里雲資源。

  6. 單擊確定

步驟二:為RAM使用者添加許可權

在使用RAM使用者之前,需要為其添加相應許可權。

  1. 使用Resource Access Management員登入RAM控制台

  2. 在左側導覽列,選擇身份管理 > 使用者

  3. 使用者頁面,單擊目標RAM使用者操作列的添加許可權

    image

    您也可以選中多個RAM使用者,單擊使用者列表下方的添加許可權,為RAM使用者大量授權。

  4. 新增授權面板,為RAM使用者添加許可權,然後單擊確認新增授權

    選擇權限原則類型,在文字框中輸入要添加的權限原則關鍵字,然後單擊搜尋到的權限原則,將其添加到右側的已選擇權限原則列表中。

    權限類別型包括系統權限原則和自訂權限原則:

    • 系統權限原則(粗粒度授權

      微服務引擎MSE目前支援兩種粗粒度的系統權限原則。

      權限原則名稱

      說明

      AliyunMSEFullAccess

      管理微服務引擎MSE的許可權,等同於阿里雲帳號的許可權,被授予該許可權的RAM使用者擁有控制台所有功能的操作許可權。

      AliyunMSEReadOnlyAccess

      微服務引擎MSE的唯讀許可權,被授予該許可權的RAM使用者具有阿里雲帳號所有資源的唯讀許可權。

      說明

      建議給營運人員授予AliyunMSEFullAccess權限原則,由營運人員去建立和刪除資源。給開發人員授予AliyunMSEReadOnlyAccess權限原則,可以查看這些資源,但是不能刪除和建立。如果想更細粒度地控制開發人員的許可權,您可使用以下自訂權限原則。

    • 自訂權限原則(細粒度授權

      如果您需要更細粒度的授權,您可以通過建立自訂策略來進行存取控制。建立自訂策略的具體步驟,請參見建立自訂權限原則

      • 樣本一:授予RAM使用者對雲原生網關執行個體gw-8090caa2a3ab447a8bc5fdf3********的唯讀許可權。

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "mse:Query*",
                        "mse:List*",
                        "mse:Get*",
                        "mse:Select*",
                        "mse:Pull*",
                        "mse:GatewayBlackWhite*",
                        "mse:GatewayHealthCheckList",
                        "mse:GatewayQueryMonitor",
                        "mse:UploadWasmFile"
                    ],
                    "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "mse:QueryDefaultAlertStatus",
                        "mse:ListGatewayZone",
                        "mse:ListUpgradableGatewayVersions",
                        "mse:ListTagResources",
                        "mse:ListGatewayIngressMigrateTask",
                        "mse:ListEventRecords",
                        "mse:GetEventFilterOptions",
                        "mse:GetEventDetail",
                        "mse:GetGatewaySelection",
                        "mse:GetGatewayAlarms",
                        "mse:GetGatewayMigrateNamespacedServices",
                        "mse:GetGatewayIngressMigrateTaskDetail",
                        "mse:GetPluginGuide",
                        "mse:GetRegExpCheck",
                        "mse:GetRegExpTest",
                        "mse:CheckPluginLua"
                    ],
                    "Resource": "acs:mse:*:*:*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:DescribeService",
                        "log:ListProject",
                        "log:GetProductDataCollection"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "arms:SearchContactGroup"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
      • 樣本二:授予RAM使用者對雲原生網關執行個體gw-8090caa2a3ab447a8bc5fdf3********的讀寫權限。

        {
            "Version": "1",
            "Statement": [
                {
                    "Action": [
                        "mse:*"
                    ],
                    "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "mse:QueryDefaultAlertStatus",
                        "mse:CreateDefaultAlert",
                        "mse:ListGatewayZone",
                        "mse:ListUpgradableGatewayVersions",
                        "mse:ListEventRecords",
                        "mse:GetEventFilterOptions",
                        "mse:GetEventDetail",
                        "mse:GetGatewaySelection",
                        "mse:GetGatewayAlarms",
                        "mse:GetGatewayMigrateNamespacedServices",
                        "mse:GetPluginGuide",
                        "mse:GetRegExpCheck",
                        "mse:GetRegExpTest",
                        "mse:CheckPluginLua",
                        "mse:*TagResources",
                        "mse:*CustomPlugin",
                        "mse:*GatewayIngressMigrateTask*"
                    ],
                    "Resource": "acs:mse:*:*:*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "log:DescribeService",
                        "log:ListProject",
                        "log:GetProductDataCollection",
                        "log:OpenProductDataCollection"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "arms:SearchContactGroup"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
  5. 新增授權面板,確認授權成功後,單擊關閉

後續操作

使用阿里雲帳號建立好RAM使用者後,即可將RAM使用者的登入名稱稱及密碼或者AccessKey資訊分發給其他使用者。其他使用者可以按照以下步驟使用RAM使用者登入控制台或調用API。

  • 登入控制台

    1. 開啟RAM使用者登入頁面。

    2. RAM 使用者登入頁面,輸入RAM使用者名稱,單擊下一步,並輸入RAM使用者密碼,然後單擊登入

      說明

      RAM使用者登入名稱稱的格式為<$username>@<$AccountAlias><$username>@<$AccountAlias>.onaliyun.com<$AccountAlias>為帳號別名,如果沒有設定帳號別名,則預設值為阿里雲帳號的ID。

    3. 在子使用者頁面上單擊有許可權的產品,即可存取控制台。

  • 調用API

    使用RAM使用者的AccessKey調用API。在代碼中使用RAM使用者的AccessKey ID和AccessKey Secret即可。

雲原生網關授權映射表

為了方便您自訂RAM權限原則,本文提供了MSE雲原生網關的授權映射表。

網關

Action

許可權說明

是否為唯讀類許可權

AddGateway

建立隨用隨付的雲原生網關

ListGateway

查詢網關叢集列表

GetGatewayDetail

查看單個網關詳情

GetGateway

查詢單個網關資訊

ListGatewaySlb

查詢網關入口SLB

SelectGatewaySlb

查詢已有的SLB

AddGatewaySlb

新關聯一個網關入口SLB

DeleteGatewaySlb

解除綁定一個網關入口SLB

DeleteGateway

刪除隨用隨付的雲原生網關

服務來源

Action

許可權說明

是否為唯讀類許可權

ListServiceSource

查詢服務來源列表

GetKubernetesSource

查詢已有的ACK叢集

GetMseSource

查詢已有的MSE註冊中心

AddServiceSource

關聯服務來源

DeleteServiceSource

解除綁定服務來源

PullServices

查詢已有的服務列表

ImportServices

建立或匯入服務

ListGatewayService

查詢已訂閱服務列表

GetGatewayServiceDetail

查詢服務詳情

AddGatewayServiceVersion

添加服務版本

UpdateGatewayServiceVersion

更新服務版本

DeleteGatewayServiceVersion

刪除服務版本

UpdateGatewayServiceTrafficPolicy

修改服務負載平衡策略

路由

Action

許可權說明

是否為唯讀類許可權

ListGatewayRoute

查詢網關路由列表

AddGatewayRoute

建立網關路由

ApplyGatewayRoute

發布網關路由

OfflineGatewayRoute

下線網關路由

DeleteGatewayRoute

刪除網關路由

GetGatewayRouteDetail

查詢路由詳情

GetRateLimit

查詢路由限流配置

AddRateLimit

增加路由限流配置

UpdateRateLimit

刪除路由限流配置

UpdateGatewayRouteHTTPRewrite

更新路由重寫策略

UpdateGatewayRouteHeaderOp

更新路由Header設定

UpdateGatewayRouteCORS

更新路由跨域策略

UpdateGatewayRouteTimeout

更新路由逾時策略

UpdateGatewayRouteRetry

更新路由重試策略

認證網域名稱

Action

許可權說明

是否為唯讀類許可權

ListGatewayDomain

查詢關聯網域名稱列表

AddGatewayDomain

關聯網域名稱

GetGatewayDomainDetail

查詢網域名稱關聯詳情

UpdateGatewayDomain

更新網域名關聯資訊

DeleteGatewayDomain

解除綁定關聯網域名稱

ListSSLCert

查詢已有認證

AddSSLCert

關聯網域名稱認證

UpdateSSLCert

更新網域名認證

其他

Action

許可權說明

是否為唯讀類許可權

GetBlackWhiteList

查詢黑白名單

AddBlackWhiteList

添加黑白名單

UpdateBlackWhiteList

更新黑白名單

AddGatewayAuth

添加鑒權

ListGatewayAuth

查詢鑒權列表

UpdateGatewayAuth

更新鑒權

DeleteGatewayAuth

刪除鑒權

AddAuthResource

添加鑒權Path

DeleteAuthResource

刪除鑒權Path