整合 Microsoft Entra 單一登錄與 Maverics Identity Orchestrator SAML 連線 or

警告

本文參考 CentOS,亦即接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據以考慮您的使用和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引

Strata 的 Maverics Identity Orchestrator 提供簡單的方法,將內部部署應用程式與 Microsoft Entra ID 整合,以進行驗證和訪問控制。 Maverics Orchestrator 能夠針對目前依賴標頭、Cookie 和其他專屬驗證方法的應用程式,將驗證和授權現代化。 Maverics Orchestrator 實例可以部署在內部部署或雲端中。

此混合式存取教學課程示範如何移轉目前受舊版 Web 存取管理產品保護的內部部署 Web 應用程式,以使用 Microsoft Entra ID 進行驗證和存取教學課程示範如何移轉目前受舊版 Web 存取管理產品保護的內部部署 Web 應用程式,以使用 Microsoft Entra ID 進行驗證和存取控制。 以下是基本步驟:

  1. 設定Maverics Orchestrator
  2. Proxy 應用程式
  3. 在 Microsoft Entra 識別碼中註冊企業應用程式
  4. 透過 Azure 進行驗證並授權應用程式存取權
  5. 新增適用於無縫應用程式存取的標頭
  6. 使用多個應用程式

必要條件

  • Microsoft Entra 訂用帳戶。 如果您沒有訂用帳戶,可以取得免費帳戶
  • 已啟用Maverics Identity Orchestrator SAML 連線 or SSO 的訂用帳戶。 若要取得Maverics軟體,請連絡 Strata 銷售人員。
  • 至少有一個使用標頭型驗證的應用程式。 這些範例適用於裝載於 https://app.connectulum.com的名為 連線 ulum 的應用程式。
  • 裝載Maverics Orchestrator的Linux電腦
    • OS:RHEL 7.7 或更高版本、CentOS 7+
    • 磁碟: >= 10 GB
    • 記憶體: >= 4 GB
    • 埠:22 (SSH/SCP)、443、7474
    • 安裝/系統管理工作的根存取權
    • 從裝載Maverics Identity Orchestrator 的伺服器到受保護應用程式的網路輸出

步驟 1:設定 Maverics Orchestrator

安裝Maverics

  1. 取得最新的Maverics RPM。 將套件複製到您要安裝 Maverics 軟體的系統。

  2. 安裝 Maverics 套件,取代您的檔案名取代 。maverics.rpm

    sudo rpm -Uvf maverics.rpm

    安裝Maverics之後,它會在下 systemd以服務的形式執行。 若要確認服務正在執行,請執行下列命令:

    sudo systemctl status maverics

  3. 若要重新啟動 Orchestrator 並遵循記錄,您可以執行下列命令:

    sudo service maverics restart; sudo journalctl --identifier=maverics -f

安裝Maverics之後,會在目錄中建立/etc/maverics預設maverics.yaml檔案。 在您編輯組態以包含 appgatewaysconnectors之前,您的組態檔看起來會像這樣 z:

# © Strata Identity Inc. 2020. All Rights Reserved. Patents Pending.

version: 0.1
listenAddress: ":7474"

設定 DNS

DNS 會很有説明,因此您不需要記住 Orchestrator 伺服器的 IP。

使用假設的 Orchestrator IP 12.34.56.78 來編輯瀏覽器電腦的 (膝上型電腦)主機檔案。 在以 Linux 為基礎的作業系統上,此檔案位於 /etc/hosts。 在 Windows 上,其位於 C:\windows\system32\drivers\etc

12.34.56.78 sonar.maverics.com
12.34.56.78 connectulum.maverics.com

若要確認 DNS 已如預期般設定,您可以向 Orchestrator 的狀態端點提出要求。 從瀏覽器要求 http://sonar.maverics.com:7474/status

設定 TLS

透過安全通道進行通訊,與 Orchestrator 通訊對於維護安全性至關重要。 您可以在區 tls 段中新增憑證/金鑰組,以達成此目的。

若要產生 Orchestrator 伺服器的自我簽署憑證和金鑰,請從 /etc/maverics 目錄中執行下列命令:

openssl req -new -newkey rsa:4096 -x509 -sha256 -days 365 -nodes -out maverics.crt -keyout maverics.key

注意

針對生產環境,您可能會想要使用由已知 CA 簽署的憑證,以避免瀏覽器中出現警告。 如果您要尋找受信任的 CA,讓我們加密 是個好且免費的選項。

現在,使用 Orchestrator 新產生的憑證和密鑰。 您的組態檔現在應該包含下列程式代碼:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

若要確認 TLS 已如預期般設定,請重新啟動 Maverics 服務,然後向狀態端點提出要求。

步驟 2:Proxy 應用程式

接下來,使用 appgateways在 Orchestrator 中設定基本 Proxy。 此步驟可協助您驗證 Orchestrator 是否具有受保護應用程式的必要連線能力。

您的組態檔現在應該包含下列程式代碼:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

若要確認 Proxy 如預期般運作,請重新啟動 Maverics 服務,並透過 Maverics Proxy 向應用程式提出要求。 您可以選擇性地對特定應用程式資源提出要求。

步驟 3:在 Microsoft Entra ID 中註冊企業應用程式

現在,在 Microsoft Entra ID 中建立新的企業應用程式,以用來驗證使用者。

注意

當您使用條件式存取等 Microsoft Entra 功能時,請務必為每個內部部署應用程式建立企業應用程式。 這允許個別應用程式條件式存取、個別應用程式風險評估、每個應用程式指派的許可權等等。 一般而言,Microsoft Entra ID 中的企業應用程式會對應至Maverics中的 Azure 連接器。

若要在 Microsoft Entra 識別子中註冊企業應用程式:

  1. 在您的 Microsoft Entra 租使用者中,移至 [企業應用程式],然後選取 [ 新增應用程式]。 在 Microsoft Entra 資源庫中,搜尋 Maverics Identity Orchestrator SAML 連線 or,然後選取它。

  2. 在 [Maverics Identity Orchestrator SAML 連線 or 屬性] 窗格中,將 [需要使用者指派嗎?] 設定[否],讓應用程式能夠供目錄中的所有使用者使用。

  3. 在 [Maverics Identity Orchestrator SAML 連線 or 概觀] 窗格中,選取 [設定單一登錄],然後選取 [SAML]。

  4. 在 [Maverics Identity Orchestrator SAML 連線 or SAML 型登入] 窗格上,選取 [編輯] (鉛筆圖示) 按鈕來編輯 [基本 SAML 組態]。

    [基本 SAML 組態] [編輯] 按鈕的螢幕快照。

  5. 輸入的https://sonar.maverics.com實體標識碼。 實體標識碼在租使用者中的應用程式之間必須是唯一的,而且可以是任意值。 在下一節中定義 samlEntityID Azure 連接器的欄位時,您將使用此值。

  6. 輸入的https://sonar.maverics.com/acs回復 URL。 在下一節中定義 samlConsumerServiceURL Azure 連接器的欄位時,您將使用此值。

  7. 輸入的https://sonar.maverics.com/登入 URL。 Maverics 不會使用此欄位,但 Microsoft Entra 識別符中必須有此欄位,讓使用者能夠透過 Microsoft Entra 我的應用程式 入口網站存取應用程式。

  8. 選取 [儲存]。

  9. 在 [ SAML 簽署憑證 ] 區段中,選取 [ 複製 ] 按鈕以複製 [應用程式同盟元數據 URL] 值,然後將它儲存至您的計算機。

    [SAML 簽署憑證] [複製] 按鈕的螢幕快照。

步驟 4:透過 Azure 進行驗證,並授權應用程式存取權

接下來,將您剛才建立的企業應用程式放在 Maverics 中設定 Azure 連接器來使用。 此 connectors 組態與 idps 區塊配對可讓 Orchestrator 驗證使用者。

您的組態檔現在應該包含下列程序代碼。 請務必將 取代 METADATA_URL 為上一個步驟中的應用程式同盟元數據 URL 值。

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

若要確認驗證如預期般運作,請重新啟動Maverics服務,並透過Maverics Proxy向應用程式資源提出要求。 在存取資源之前,您應該重新導向至 Azure 以進行驗證。

步驟 5:新增適用於無縫應用程式存取的標頭

您尚未將標頭傳送至上游應用程式。 讓我們在透過Maverics Proxy傳遞時新增 headers 至要求,讓上游應用程式能夠識別使用者。

您的組態檔現在應該包含下列程式代碼:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp

appgateways:
  - name: sonar
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

若要確認驗證如預期般運作,請透過Maverics Proxy向應用程式資源提出要求。 受保護的應用程式現在應該在要求上接收標頭。

如果您的應用程式需要不同的標頭,請隨意編輯標頭索引鍵。 在 SAML 流程中,所有從 Microsoft Entra ID 傳回的宣告都可供在標頭中使用。 例如,您可以包含 的另一個標頭 secondary_email: azureSonarApp.email,其中 azureSonarApp 是連接器名稱,而 email 是從 Microsoft Entra ID 傳回的宣告。

步驟 6:使用多個應用程式

現在讓我們看看 Proxy 至不同主機上多個應用程式所需的專案。 若要達成此步驟,請在 Microsoft Entra ID 中設定另一個應用程式閘道、另一個企業應用程式,以及另一個連接器。

您的組態檔現在應該包含下列程式代碼:

version: 0.1
listenAddress: ":443"

tls:
  maverics:
    certFile: /etc/maverics/maverics.crt
    keyFile: /etc/maverics/maverics.key

idps:
  - name: azureSonarApp
  - name: azureConnectulumApp

appgateways:
  - name: sonar
    host: sonar.maverics.com
    location: /
    # Replace https://app.sonarsystems.com with the address of your protected application
    upstream: https://app.sonarsystems.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureSonarApp.authenticated}}", "true"]

    headers:
      email: azureSonarApp.name
      firstname: azureSonarApp.givenname
      lastname: azureSonarApp.surname

  - name: connectulum
    host: connectulum.maverics.com
    location: /
    # Replace https://app.connectulum.com with the address of your protected application
    upstream: https://app.connectulum.com

    policies:
      - resource: /
        allowIf:
          - equal: ["{{azureConnectulumApp.authenticated}}", "true"]

    headers:
      email: azureConnectulumApp.name
      firstname: azureConnectulumApp.givenname
      lastname: azureConnectulumApp.surname

connectors:
  - name: azureSonarApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://sonar.maverics.com/acs
    samlEntityID: https://sonar.maverics.com

  - name: azureConnectulumApp
    type: azure
    authType: saml
    # Replace METADATA_URL with the App Federation Metadata URL
    samlMetadataURL: METADATA_URL
    samlConsumerServiceURL: https://connectulum.maverics.com/acs
    samlEntityID: https://connectulum.maverics.com

您可能已經注意到程式代碼會將字段新增 host 至應用程式閘道定義。 欄位 host 可讓Maverics Orchestrator 區分要 Proxy 流量的上游主機。

若要確認新新增的應用程式閘道如預期般運作,請向 https://connectulum.maverics.com提出要求。

進階案例

身分識別移轉

無法忍受您的生命周期結束 Web 存取管理工具,但您沒有辦法移轉使用者,而不需要重設大量密碼嗎? Maverics Orchestrator 支援使用 migrationgateways進行身分識別移轉。

Web 伺服器閘道

不想透過Maverics Orchestrator重新處理您的網路和 Proxy 流量? 不是問題。 Maverics Orchestrator 可以與 Web 伺服器閘道(模組)配對,以提供相同的解決方案,而不需要 Proxy 處理。

總結

此時,您已在 Microsoft Entra ID 中安裝 Maverics Orchestrator、建立和設定企業應用程式,並將 Orchestrator 設定為 Proxy 至受保護的應用程式,同時需要驗證並強制執行原則。 若要深入瞭解Maverics Orchestrator 如何用於分散式身分識別管理使用案例, 請連絡 Strata

下一步