分享方式:


Microsoft Entra SSO 與 FortiGate SSL VPN 整合

在本教學課程中,您將了解如何整合 FortiGate SSL VPN 與 Microsoft Entra ID。 在整合 FortiGate SSL VPN 與 Microsoft Entra ID 時,您可以︰

  • 使用 Microsoft Entra ID 來控制可以存取 FortiGate SSL VPN 的人員。
  • 讓使用者使用其 Microsoft Entra 帳戶自動登入 FortiGate SSL VPN。
  • 在 Azure 入口網站中集中管理您的帳戶。

必要條件

若要開始使用,您需要下列項目:

  • Microsoft Entra 訂用帳戶。 如果您沒有訂用帳戶,可以取得免費帳戶
  • 已啟用單一登入 (SSO) 的 FortiGate SSL VPN。

教學課程說明

在本教學課程中,您會在測試環境中設定和測試 Microsoft Entra SSO。

FortiGate SSL VPN 支援由 SP 起始的 SSO。

若要設定將 FortiGate SSL VPN 整合到 Microsoft Entra ID 中,您必須從資源庫將 FortiGate SSL VPN 新增至受控 SaaS 應用程式清單:

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]> [應用程式]> [企業應用程式]> [新增應用程式]
  3. 在 [從資源庫新增] 區段的搜尋方塊中輸入 FortiGate SSL VPN
  4. 在結果面板中選取 [FortiGate SSL VPN],然後新增應用程式。 將應用程式新增至您的租用戶時,請稍候幾秒鐘。

或者,您也可以使用企業應用程式組態精靈。 在此精靈中,您可以將應用程式新增至租用戶、將使用者/群組新增至應用程式、指派角色,以及逐步進行 SSO 設定。 深入了解 Microsoft 365 精靈。

設定和測試 FortiGate SSL VPN 的 Microsoft Entra SSO

您將使用名為 B.Simon 的測試使用者,設定及測試與 FortiGate SSL VPN 搭配運作的 Microsoft Entra SSO。 要讓 SSO 能夠運作,您必須在 FortiGate SSL VPN 中建立 Microsoft Entra 使用者與對應 SAML SSO 使用者群組之間的連結關聯性。

若要設定及測試與 FortiGate SSL VPN 搭配運作的 Microsoft Entra SSO,您將完成下列高階步驟:

  1. 設定 Microsoft Entra SSO,讓使用者能夠使用此功能。
    1. 建立 Microsoft Entra 測試使用者,以測試 Microsoft Entra 單一登入。
    2. 將存取權授與測試使用者,讓該使用者能夠使用 Microsoft Entra 單一登入。
  2. 在應用程式端設定 FortiGate SSL VPN SSO
    1. 建立 FortiGate SAML SSO 使用者群組,作為使用者在 Microsoft Entra 中代表項目的對應。
  3. 測試 SSO,以驗證組態是否能運作。

設定 Microsoft Entra SSO

遵循下列步驟,在 Azure 入口網站中啟用 Microsoft Entra SSO:

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心

  2. 瀏覽至 [身分識別]> [應用程式]> [企業應用程式]> [FortiGate SSL VPN] 應用程式整合頁面,在 [管理] 區段中選取 [單一登入]

  3. 在 [選取單一登入方法] 頁面上,選取 [SAML]

  4. 以 SAML 設定單一登入頁面上,選取 [基本 SAML 組態][編輯]按鈕,以編輯設定:

    顯示 [基本 SAML 設定] 頁面的螢幕擷取畫面。

  5. 在 [以 SAML 設定單一登入] 頁面上,輸入下列值:

    a. 在 [識別碼] 方塊中,輸入 https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/metadata 模式的 URL。

    b. 在 [回覆 URL] 方塊中,輸入 https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/login 模式的 URL。

    c. 在 [登入 URL] 方塊中,輸入 https://<FortiGate IP or FQDN address>:<Custom SSL VPN port>/remote/saml/login 模式的 URL。

    d. 在 [登出 URL] 方塊中,輸入 https://<FortiGate IP or FQDN address>:<Custom SSL VPN port><FQDN>/remote/saml/logout 模式的 URL。

    注意

    這些值只是模式。 您需要使用實際的「登入 URL」「識別碼」「回覆 URL」,以及在 FortiGate 上設定的「登出 URL」

  6. FortiGate SSL VPN 應用程式需要特定格式的 SAML 判斷提示,因此您必須將自訂屬性對應新增至設定中。 下列螢幕擷取畫面顯示預設屬性的清單。

    顯示 [屬性與宣告] 區段的螢幕擷取畫面。

  7. 下表顯示 FortiGate SSL VPN 所需的宣告。 這些宣告的名稱必須符合本教學課程的執行 FortiGate 命令列設定一節中使用的名稱。 名稱區分大小寫。

    名稱 來源屬性
    username user.userprincipalname
    群組 user.groups

    若要建立這些額外的宣告:

    a. 在 [使用者屬性與宣告] 旁,選取 [編輯]

    b. 選取 [新增宣告]

    c. 針對 [名稱],輸入 username

    d. 針對 [來源屬性],選取 [user.userprincipalname]

    e. 選取 [儲存]

    注意

    使用者屬性和宣告只允許一個群組宣告。 若要新增群組宣告,請刪除已在宣告中的現有群組宣告 user.groups [SecurityGroup],以新增宣告,或編輯 [所有群組] 的現有宣告。

    f. 選取 [新增群組宣告]

    .g 選取 [所有群組]

    h. 在 [進階選項] 之下,選取 [自訂群組宣告的名稱] 核取方塊。

    i. 針對 [名稱],輸入 group

    j. 選取 [儲存]。

  8. 在 [以 SAML 設定單一登入] 頁面的 [SAML 簽署憑證] 區段中,選取 [憑證 (Base64)] 旁的 [下載] 連結,以下載憑證並將其儲存在電腦上:

    顯示憑證下載連結的螢幕擷取畫面。

  9. 在 [設定 FortiGate SSL VPN] 區段上,根據您的需求複製適當的一或多個 URL:

    顯示組態 URL 的螢幕擷取畫面。

建立 Microsoft Entra 測試使用者

在本節中,您會建立名為 B.Simon 的測試使用者:

  1. 以至少是使用者管理員的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]>[使用者]>[所有使用者]。
  3. 選取畫面頂端的 [新增使用者]> [建立新的使用者]
  4. 在 [使用者] 屬性中,執行下列步驟:
    1. 在 [顯示名稱] 欄位中,輸入 B.Simon
    2. 在 [使用者主體名稱] 欄位中,輸入 username@companydomain.extension。 例如: B.Simon@contoso.com
    3. 選取 [顯示密碼] 核取方塊,然後記下 [密碼] 方塊中顯示的值。
    4. 選取 [檢閱 + 建立]。
  5. 選取 建立

將存取權授予測試使用者

在本節中,您會將 FortiGate SSL VPN 的使用者存取權授與 B.Simon,讓其能夠使用單一登入。

  1. 瀏覽至 [身分識別]> [應用程式]> [企業應用程式]
  2. 在應用程式清單中,選取 [FortiGate SSL VPN]
  3. 在應用程式的概觀頁面上,請在 [管理] 區段中,選取 [使用者和群組]
  4. 選取 [新增使用者],然後在 [新增指派] 對話方塊中選取 [使用者和群組]
  5. 在 [使用者和群組] 對話方塊的 [使用者] 清單中,選取 [B.Simon],然後按一下畫面底部的 [選取] 按鈕。
  6. 如果您預期使用 SAML 判斷提示中的任何角色值,請在 [選取角色] 對話方塊的清單中選取適當的使用者角色。 按一下畫面底部的 [選取] 按鈕。
  7. 在 [新增指派] 對話方塊中,選取 [指派]

建立測試使用者的安全性群組

在本節中,您會在測試使用者的 Microsoft Entra ID 中建立安全性群組。 FortiGate 會使用此安全性群組透過 VPN 授與使用者網路存取權。

  1. 在 Microsoft Entra 系統管理中心,瀏覽至 [身分識別]> [群組]> [新增群組]
  2. 在 [新增群組] 屬性中,完成這些步驟:
    1. 在 [群組類型] 清單中,選取 [安全性]
    2. 在 [群組名稱] 方塊中,輸入 FortiGateAccess
    3. 在 [群組描述] 方塊中,輸入 [用來授與 FortiGate VPN 存取的群組]
    4. 針對 Microsoft Entra,可以將角色指派到群組 (預覽) 設定,請選取 [否]
    5. 在 [成員資格類型] 方塊中,選取 [已指派]
    6. 成員下,選取 [未選取任何成員]
    7. 在 [使用者及群組] 對話方塊的 [使用者] 清單中選取 [B.Simon],然後按一下畫面底部的 [選取] 按鈕。
    8. 選取 建立
  3. 回到 Microsoft Entra ID 中的 [群組] 區段之後,尋找 [FortiGate Access] 群組,並記下 [物件識別碼]。稍後您將會用到此資訊。

設定 FortiGate SSL VPN SSO

將 Base64 SAML 憑證上傳至 FortiGate 設備

在您的租用戶中完成 FortiGate 應用程式的 SAML 設定後,您已下載 Base64 編碼的 SAML 憑證。 您必須將此憑證上傳至 FortiGate 設備:

  1. 登入 FortiGate 設備的管理入口網站。
  2. 在左側窗格中,選取 [系統]
  3. 在 [系統] 下,選取 [憑證]
  4. 選取 [匯入]>[遠端憑證]
  5. 瀏覽至 Azure 租用戶中從 FortiGate 應用程式部署下載的憑證並加以選取,然後選取 [確定]

上傳憑證後,記下其在系統>憑證>遠端憑證下的名稱。 根據預設,系統會將憑證命名為 REMOTE_Cert_N,其中 N 是整數值。

完成 FortiGate 命令列組態

雖然您可以在 FORtiOS 7.0 之後從 GUI 設定 SSO,但 CLI 設定會套用至所有版本,因此會顯示在這裡。

若要完成這些步驟,您需要先前記錄的值:

FortiGate SAML CLI 設定 對等的 Azure 設定
SP 實體識別碼 (entity-id) 識別碼 (實體識別碼)
SP 單一登入 URL (single-sign-on-url) 回覆 URL (判斷提示取用者服務 URL)
SP 單一登出 URL (single-logout-url) 登出 URL
IdP 實體識別碼 (idp-entity-id) Microsoft Entra 識別碼
IdP 單一登入 URL (idp-single-sign-on-url) Azure 登入 URL
IdP 單一登出 URL (idp-single-logout-url) Azure 登出 URL
IdP 憑證 (idp-cert) Base64 SAML 憑證名稱 (REMOTE_Cert_N)
使用者名稱屬性 (user-name) username
群組名稱屬性 (group-name) 群組

注意

「基本 SAML 設定」下的「登入 URL」不會使用在 FortiGate 設定中。 它是用來觸發由 SP 起始的單一登入,將使用者重新導向至 SSL VPN 入口網站頁面。

  1. 建立 FortiGate 設備的 SSH 工作階段,並使用 FortiGate 系統管理員帳戶登入。

  2. 執行下列命令,並以您先前收集的資訊取代 <values>

    config user saml
      edit azure
        set cert <FortiGate VPN Server Certificate Name>
        set entity-id < Identifier (Entity ID)Entity ID>
        set single-sign-on-url < Reply URL Reply URL>
        set single-logout-url <Logout URL>
        set idp-entity-id <Azure AD Identifier>
        set idp-single-sign-on-url <Azure Login URL>
        set idp-single-logout-url <Azure Logout URL>
        set idp-cert <Base64 SAML Certificate Name>
        set user-name username
        set group-name group
      next
    end
    

設定 FortiGate 以進行群組比對

在本節中,您會將 FortiGate 設定為辨識包含測試使用者的安全性群組物件識別碼。 此組態可讓 FortiGate 根據此群組成員資格判斷是否要提供存取權。

若要完成這些步驟,您需要稍早在此教學課程中建立的 FortiGateAccess 安全性群組物件識別碼。

  1. 建立 FortiGate 設備的 SSH 工作階段,並使用 FortiGate 系統管理員帳戶登入。

  2. 執行以下命令:

    config user group
      edit FortiGateAccess
        set member azure
        config match
          edit 1
            set server-name azure
            set group-name <Object Id>
          next
        end
      next
    end
    

建立 FortiGate VPN 入口網站和防火牆原則

在本節中,您會設定 FortiGate VPN 入口網站和防火牆原則,以授與您先前在此教學課程中所建立 FortiGateAccess 安全性群組的存取權。

如需指示,請參閱以 Microsoft Entra ID 作為 SAML IdP,設定 SSL VPN 的 SAML SSO 登入

測試 SSO

在本節中,您會使用下列選項來測試您的 Microsoft Entra 單一登入設定。

  • 在 Azure SSO 設定的步驟 5 中,*使用您的應用程式測試單一登入,按一下 [測試] 按鈕。 這會重新導向至您可以在其中起始登入流程的 FortiGate VPN 登入 URL。

  • 直接移至 FortiGate VPN 登入 URL,然後從該處起始登入流程。

  • 您可以使用 Microsoft 我的應用程式。 當您按一下「我的應用程式」中的 [FortiGate VPN] 圖格時,將會重新導向至 FortiGate VPN 登入 URL。 如需「我的應用程式」的詳細資訊,請參閱我的應用程式簡介

下一步

設定 FortiGate VPN 後,您可以強制執行工作階段控制項,以即時防止組織的敏感資料遭到外洩和滲透。 工作階段控制項會從條件式存取延伸。 了解如何使用適用於雲端的 Microsoft Defender 應用程式來強制執行工作階段控制項