本文為您介紹如何在IDaaS中配置阿里雲MSE微服務引擎,實現MSE網關認證鑒權,在MSE中指定地址需由使用者進行身份認證後,才能訪問。

為了便於配置,IDaaS預整合了MSE應用模板。管理員只需在IDaaS中建立MSE應用,並依照OIDC協議在MSE中完成配置即可。
應用簡介
微服務引擎MSE面向業界主流開源微服務專案, 提供註冊配置中心和分布式協調(原生支援Nacos/ZooKeeper/Eureka)、雲原生網關(原生支援Ingress/Envoy)、微服務治理(原生支援Spring Cloud/Dubbo/Sentinel,遵循OpenSergo服務治理規範)能力。
操作步驟
一. 建立MSE應用
登入IDaaS管理主控台。
選擇IDaaS執行個體並在操作地區下方單擊存取控制台。

前往,搜尋阿里雲 - MSE雲原生網關。單擊添加應用。

確認應用程式名稱,即可完成添加,自動跳轉到應用管理的單點登入配置。

填寫表單
表單參數:
授權模式保持不變,只勾選授權碼模式即可。
注意不要勾選PKCE。
登入 Redirect URI:固定為<MSE網關訪問地址>+/oauth2/callback。例如若MSE訪問地址為http://a.example.com,則該URI應為 http://a.example.com/oauth2/callback。該URI應該同樣填寫到MSE網關認證鑒權的重新導向 URL欄位中,兩個欄位值需保持一致。
授權範圍可暫時選擇全員可訪問。若希望指定可訪問應用的IDaaS賬戶,請參考應用授權進行配置。
單擊儲存,完成應用配置。
您還需要額外複製幾個資訊出來,在後續配置中填寫到MSE中。
欄位參數:
Issuer:從下方應用配置資訊中擷取。
client_id:從應用管理頁面的通用配置頁簽擷取。
client_secret:從應用管理頁面的通用配置頁簽擷取。
您已完成IDaaS側配置,接下來可前往MSE控制台開啟認證。
二 . 在MSE中配置網關認證鑒權
在MSE側的配置需分為如下4個步驟。配置中,由於存在緩衝,部分配置修改後,可能需要等待[3,5]分鐘後才會生效。
開通公網 NAT
為了實現網關認證,MSE需要與IDaaS進行通訊,所以需要保障您的MSE所在的VPC具備出方向公網訪問能力。若不具備該能力,MSE可能在發起認證請求時,預設採用系統中上一次的緩衝記錄,無法成功。
您可前往阿里雲專用網路公網 NAT Gateway控制台建立公網NAT Gateway,並確保出方向公網訪問通順。
前往網關管理
在左側導覽列中,前往。
在您希望開啟認證鑒權的網關上,點擊網關名稱,進入管理頁面。若您尚未建立網關,也可以建立一個進行認證配置測試。
建立測試路由(可選)
為了便於測試,我們建議您先在MSE網關中添加一個測試路由,便於快速完整地體驗網關認證能力。
若您已有路由,可跳過這一步,並在下一步驟中,將路由地址填寫到黑名單中,以開啟保護能力。
配置Mock路由
配置過程請參考MSE文檔:通過雲原生網關管理MSE Nacos中的服務。
配置完成後,您在後續環節中即可選擇通過/mock地址來測試網關認證配置。
配置本地Host
出於安全考量,MSE的認證流程中限制了使用IP作為回調地址的訪問。
若您的MSE沒有網域名稱,在後續的配置中,您需要額外配置您的本地Host,並在MSE和lDaaS的表單中填寫映射的網域名稱(以避免填寫IP)。
假設您的MSE網關公網入口地址為47.96.xxx.xxx,您可以在您裝置的本地Host檔案中添加一行:
47.96.xxx.xxx a.example.com通過 a.example.com 替代對MSE網關公網IP的訪問。在IDaaS中的應用登入 Redirect URI應配置為http://a.example.com/oauth2/callback,網關認證鑒權設定中的重新導向URL也應作同樣應用。
2.4 配置認證鑒權
接下來我們可開啟MSE的認證鑒權機制。
在網關管理頁的左側導覽列中,前往安全能力選擇認證鑒權。
單擊建立鑒權,填寫彈出的表單。
欄位名稱 | 填寫說明 |
鑒權名稱 | 自訂名稱即可。 |
鑒權類型 | 請選擇OIDC類型。這裡的選項中會有IDaaS,對應IDaaS舊版。若您是IDaaS新版客戶,請選擇OIDC類型。 |
Issuer | 從IDaaS應用管理中複製出來。 |
重新導向URL | 若在上一步中配置了Host,則可填寫,http://a.example.com/oauth2/callback。或填寫MSE網關的公網網域名稱地址。 這一地址不能是IP,只能是網域名稱。 |
Client-ID | 從IDaaS應用管理中複製出來。 |
Client-Secret | 從IDaaS應用管理中複製出來。 |
Cookie-Domain | 若在上一步中配置了Host,則可填寫,a.example.com。或填寫MSE網關的公網網域名稱地址。 |
Scope | 固定為openid即可。 |
授權 | 為了測試,請先選擇黑名單模式,意味著只有明確指定的Path才需進行認證。 單擊添加新的規則條件,並指定訪問/mock地址需要認證。
|
填寫效果如下:

建立成功後,單擊開啟。
配置oauth2-proxy路由。在您開啟網關認證鑒權後,MSE會自動建立一個OIDC配套路由,以實現授權回調。
請前往左側菜單中路由配置,檢索到處於未發布狀態的oauth2-proxy。
在該路由上單擊編輯,直接單擊下一步,單擊儲存並上線,即可完成路由的配置更新。
您已完成所有配置,可以嘗試訪問的認證效果了。
3. 嘗試訪問
1. 訪問地址
在瀏覽器中開啟http://a.example.com/mock地址或您在上述步驟中配置的被網關認證保護的地址。
MSE會檢測到該請求需要IDaaS認證,若IDaaS尚未登入,則會自動跳轉到IDaaS登入頁。

2. 進行認證
您可使用IDaaS中支援和配置的多種登入方式,進行登入,包括簡訊驗證碼、DingTalk掃碼、AD身份登入等,同時管理員可以在IDaaS中開啟多因素認證MFA,以加強認證安全性。
3. 認證成功
登入完成後,瀏覽器會回調到剛才嘗試訪問的地址中,展示對應結果,意味著認證成功。

