為 HTTPS 存取權設定 apigee-sso

Edge for Private Cloud 4.18.05

安裝及設定 Edge SSO 說明如何安裝及設定 Edge SSO 模組,以便在設定檔中使用以下屬性指定的 9099 通訊埠使用 HTTP:

SSO_TOMCAT_PROFILE=DEFAULT

或者,您也可以將 SSO_TOMCAT_PROFILE 設為下列任一值,啟用 HTTPS 存取權:

  • SSL_PROXY:以 Proxy 模式設定 apigee-sso,表示您已在 apigee-sso 前方安裝負載平衡器,並在負載平衡器上終止 TLS。接著,您可以為 apigee-sso 指定用於負載平衡器要求的通訊埠。
  • SSL_TERMINATION - 在您選擇的通訊埠上,啟用 TLS 存取 apigee-sso (Edge SSO 模組)。您必須為此模式指定金鑰庫,其中包含由 CA 簽署的憑證。您無法使用自行簽署的憑證。

您可以選擇在初次安裝及設定 apigee-sso 時啟用 HTTPS,也可以稍後再啟用。

使用任一模式啟用對 apigee-sso 的 HTTPS 存取權,就會停用 HTTP 存取權。也就是說,您無法同時使用 HTTP 和 HTTPS 存取 apigee-sso

啟用 SSL_PROXY 模式

SSL_PROXY 模式中,系統會在 Edge 單一登入模組前使用負載平衡器,並在負載平衡器上終止 TLS。在下圖中,負載平衡器會終止通訊埠 443 上的 TLS,然後將要求轉送至通訊埠 9099 的 Edge SSO 模組:

在這種情況下,您信任從負載平衡器連線至 Edge 單一登入 (SSO) 模組的連線,因此不需要為該連線使用 TLS。不過,SAML IDP 等外部實體現在必須透過通訊埠 443 存取 Edge SSO 模組,而非透過未受保護的通訊埠 9099。

SSL_PROXY 模式中設定 Edge 單一登入 (SSO) 模組的原因是,Edge 單一登入 (SSO) 模組會自動產生重新導向網址,供 IdP 在驗證程序中使用。因此,這些重新導向網址必須包含負載平衡器的外部連接埠號碼 (本例為 443),而非 Edge SSO 模組的內部連接埠 (9099)。

注意:您不需要為 SSL_PROXY 模式建立 TLS 憑證和金鑰,因為從負載平衡器到 Edge 單一登入 (SSO) 模組的連線會使用 HTTP。

如要為 SSL_PROXY 模式設定 Edge 單一登入 (SSO) 模組,請按照下列步驟操作:

  1. 將下列設定新增至設定檔:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. 設定 Edge 單一登入 (SSO) 模組:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 更新 IDP 設定,現在可在負載平衡器的通訊埠 443 上提出 HTTPS 要求,存取 Edge 單一登入服務。詳情請參閱「設定 SAML IDP」。
  4. 在設定檔中設定下列屬性,即可更新 Edge UI 的 HTTPS 設定:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    然後更新 Edge UI:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    詳情請參閱「在 Edge UI 上啟用 SAML」。

  5. 如果您已安裝 Apigee Developer Services 入口網站 (簡稱「入口網站」),請更新該入口網站,以便使用 HTTPS 存取 Ede SSO。詳情請參閱「設定入口網站,以便使用 SAML 與 Edge 通訊

啟用 SSL_TERMINATION 模式

針對 SSL_TERMINATION 模式,您必須:

  • 產生 TLS 憑證和金鑰,並儲存在 KeyStore 檔案中。您無法使用自行簽署的憑證。您必須透過 CA 產生憑證。
  • 更新 apigee-sso. 的設定

如何使用憑證和金鑰建立 KeyStore 檔案:

  1. 建立 JKS 檔案的目錄:
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. 變更至新的目錄:
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. 建立包含憑證和金鑰的 JKS 檔案。您必須為此模式指定金鑰庫,其中包含由 CA 簽署的憑證。您無法使用自行簽署的憑證。如需建立 JKS 檔案的範例,請參閱「為 Edge On Premises 設定 TLS/SSL」。
  4. 讓 JKS 檔案由「apigee」使用者擁有:
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

如要設定 Edge 單一登入 (SSO) 模組,請按照下列步驟操作:

  1. 將下列設定新增至設定檔:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. 設定 Edge 單一登入 (SSO) 模組:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 更新 IDP 設定,現在可在負載平衡器的 9443 通訊埠上提出 HTTPS 要求,以存取 Edge SSO。詳情請參閱「設定 SAML IDP」。
  4. 設定下列屬性,更新 Edge UI 的 HTTPS 設定:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

    詳情請參閱「在 Edge UI 上啟用 SAML」。

  5. 如果您安裝了開發人員服務入口網站,請更新該服務,以便使用 HTTPS 存取 Ede SSO。詳情請參閱「設定開發人員服務入口網站,以便使用 SAML 與 Edge 進行通訊」。

使用 SSL_TERMINATION 模式時,設定 SSO_TOMCAT_PROXY_PORT

您可能會在 Edge SSO 模組前面安裝負載平衡器,讓負載平衡器終止 TLS,同時在負載平衡器和 Edge SSO 之間啟用 TLS。在上述圖表中,SSL_PROXY 模式代表從負載平衡器到 Edge SSO 的連線使用 TLS。

在這種情況下,您可以在 Edge SSO 上設定 TLS,就像您在上述 SSL_TERMINATION 模式中所做的一樣。不過,如果負載平衡器使用的 TLS 通訊埠編號與 Edge SSO 使用的 TLS 通訊埠編號不同,則您必須在設定檔中指定 SSO_TOMCAT_PROXY_PORT 屬性。例如:

  • 負載平衡器會在通訊埠 443 上終止 TLS
  • Edge 單一登入服務在通訊埠 9443 上終止 TLS

請務必在設定檔中加入下列設定:

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

設定 IDP 和 Edge UI,以便透過通訊埠 443 提出 HTTPS 要求。