在Azure P2S VPN使用Microsoft Entra ID驗證

蘇建榮 Alan Su

  • 恆逸教育訓練中心-資深講師
  • 技術分類:雲端

 

 

Azure Point to Site(P2S) VPN 可以讓小型分支辦事處或出差在外的員工使用撥號連線連到 Azure 虛擬網路的 VPN Gateway 後,使用 private ip address 存取 Azure 虛擬網路中的虛擬機器或私人端點等服務,這樣比透過 Internet 使用 public ip address 進行存取有更好的安全性。在十年前(2015年) Azure P2S VPN 僅支援 SSTP 協定並且只能使用憑證驗證,這對於沒有部署 Enterprise CA 的企業並不方便。

隨著 Azure 不斷的革新與進步,現在Azure P2S VPN 不只支援 SSTP 協定,也支援 IKEv2 與 Open VPN 協定,而驗證方式除了憑證驗證外也支援 RADIUS 與 Microsoft Entra ID 驗證。使用 Microsoft Entra ID 驗證可以讓使用者在撥號連線時使用帳號密碼進行驗證,並且如果Entra ID 的授權(License)是 Premium(P1或P2)還可以使用條件存取原則來進行控制,甚至要求使用者需要 MFA 第二層驗證通過才授予存取權。但是,Azure P2S VPN 使用Microsoft Entra ID 驗證,目前只支援 Open VPN 協定並且需下載安裝 Azure VPN Client(支援Windows、Linux 或 MacOS,下載的安裝程式是不同的版本)。

當我們已經在 Azure 中部署虛擬網路、建立 Gateway Subnet 並部署 VPN Gateway(SKU為VPNGW1~5包含AZ,Basic SKU的 VPN Gateway目前不支援 Open VPN)後,您可以參考以下的步驟設定您的 P2S VPN 使用Microsoft Entra ID 驗證。


設定步驟:

  1. 在您的 VPN Gateway 點選 【Point-to-site configuration】 後,再點選 【Configure Now】。
  2. 在 【Address pool】 輸入 P2S 網路要使用的 IP 位址範圍(例如:192.168.2.0/24,此範圍不可與虛擬網路的位址集區重疊),在 Tunnel type 選取【OpenVPN(SSL)】,在 Authentication type 選取【Azure Active Directory】。(如圖一)
  3. 圖一:Point-to-site configuration


  4. 記下您要用來驗證使用者身份的 Microsoft Entra ID tenant 的 Tenant ID (此 Tenant 可以是也可以不是您 Azure subscription 所關聯的 Entra ID tenant,若您不是該 Entra ID tenant 的管理者,可請該管理者將此 ID 告訴您)。(如圖二)
  5. 圖二:Entra ID 的 Tenant ID


  6. 在 Tenant 輸入【https://login.microsoftonline.com/您要用來驗證使用者身份的 Microsoft Entra ID tenant 的 Tenant ID/】,在 Audience 輸入【41b23e61-6c1e-4545-b367-cd054e0ed4b4】,在 Issuer 輸入【https://sts.windows.net/您要用來驗證使用者身份的 Microsoft Entra ID tenant 的 Tenant ID/】,請務必在 Issuer 值的結尾包括斜線,否則連線可能會發生失敗(如圖三),然後按【Save】。
  7. 圖三、Azure Active Directory


  8. 若您要用來驗證使用者身份的 Microsoft Entra ID tenant 為您Azure subscription 所關聯的 Entra ID tenant 且您對此 tenant 有管理權,請直接點選【Grant administrator consent for Azure VPN client application】,然後勾選【代表您的組織同意】後,按【接受】。(如圖四)
  9. 圖四、Azure VPN 要求的權限


  10. 若您要用來驗證使用者身份的 Microsoft Entra ID tenant 不是您Azure subscription 所關聯的 Entra ID tenant 或您對您Azure subscription 所關聯的 Entra ID tenant沒有管理權,則請對【Grant administrator consent for Azure VPN client application】按右鍵,然後選取【複製連結網址】(如圖五)後,將此網址發給Entra ID tenant的管理者,請他連到此網址後,勾選【代表您的組織同意】,然後按【接受】。完成此操作後,他將可在 Entra ID tenant 的 Enterprise applications 中看到 Azure VPN 這個應用程式。
  11. 圖五、複製連結網址


  12. 在您VPN Gateway 的 Point-to-site configuration 頁面,點選【Download VPN client】,下載後將它解壓縮。
  13. 下載 Azure VPN Client 軟體(若要進行撥號連線的使用者電腦為 Windows,可在 https://aka.ms/azvpnclientdownload 下載,如圖六),下載後將它解壓縮。
  14. 圖六、下載Azure VPN Client 軟體


  15. 將上述兩個步驟下載解壓縮的檔案複製到要進行撥號連線的使用者電腦,在使用者電腦開啟【設定 App】,在【系統】→【開發人員】→【開發人員模式】,選擇【開啟】。(如圖七)
  16. 圖七、開啟開發人員模式


  17. 找到步驟 8 解壓縮的資料夾(AzVpnAppx_3.3.1.0)中的 install.ps1,對【install.ps1】按右鍵,選取【用 PowerShell 執行】,出現詢問時都按【R】,最後按【Enter】鍵。(如圖八)
  18. 圖八、安裝Azure VPN Client 軟體


  19. 在【開始功能表】的【所有應用程式】,開啟【Azure VPN 用戶端】。
  20. 在Azure VPN 用戶端中,點選左下角的【+】(加號圖示)後,選取【匯入】。(如圖九)
  21. 圖九、開啟 Azure VPN Client


  22. 選取步驟 7 解壓縮的資料夾中子資料夾【AzureVPN】中的【azurevpnconfig.xml】(如圖十),然後按【儲存】。
  23. 圖十、匯入 VPN 連線設定


  24. 按【連線】後,輸入該 Entra ID tenant 中的使用者登入名稱及密碼,通過驗證後即會看到【已連線】。(如圖十一)
  25. 圖十一、使用 P2S VPN 進行連線


如果再配合 Microsoft Entra Connect 將企業內部 Active Directory 網域中的使用者帳戶同步到此 Entra ID tenant,進行 Azure P2S VPN 撥號連線時使用者即可使用與地端(AD 網域中)相同的使用者名稱及密碼進行驗證。



您可在下列課程中了解更多技巧喔!