為 HTTPS 存取權設定 apigee-sso

Private Cloud v4.19.01 版

請參閱「安裝及設定 Edge 單一登入 (SSO)」一文 安裝並設定 Edge SSO 模組,以便透過通訊埠 9099 使用 HTTP,詳情請見 以下屬性:

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY - 設定 apigee-sso (Edge SSO 模組) 處於 Proxy 模式,意味著您在 apigee-sso 的前方安裝了負載平衡器 並在負載平衡器上終止 TLS您之後會指定 apigee-sso 使用的通訊埠 設定 kubectl
  • SSL_TERMINATION - 啟用 TLS 存取功能, apigee-sso的 通訊埠您必須為這個模式指定 KeyStore,當中包含由 CA。您無法使用自行簽署的憑證。

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

使用任一模式啟用 apigee-sso 的 HTTPS 存取功能,都會停用 HTTP 資源存取權也就是說,您無法同時使用 HTTP 和 HTTPS 存取 apigee-sso 以並行方式處理

啟用 SSL_PROXY 模式

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

在這項設定中,您會信任負載平衡器與邊緣單一登入 (SSO) 模組之間的連線。 因此該連線不需使用 TLS。但外部實體,例如 SAML IDP 現在必須在通訊埠 443 (而非未受保護的 9099 通訊埠) 上存取邊緣單一登入 (SSO) 模組。

SSL_PROXY 模式中設定 Edge SSO 模組的原因,在於 Edge SSO 模組 自動產生在驗證程序中由 IdP 在外部使用的重新導向網址。 因此,這些重新導向網址必須包含負載平衡器的外部通訊埠編號,443 吋 並非邊緣單一登入 (Edge) 模組上的內部通訊埠 9099。

如要為 SSL_PROXY 模式設定邊緣單一登入 (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 單一登入 (SSO) 服務請參閱設定 SAML IDP
  4. 在設定檔中設定下列屬性,即可更新 HTTPS 的 Edge UI 設定:
    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, 存取邊緣單一登入 (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 檔案。必須為這個模式指定 KeyStore 該憑證包含由 CA 簽署的憑證。您無法使用自行簽署的憑證。舉例來說 建立 JKS 檔案,請參閱設定 TLS/SSL Edge On Premises
  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. 設定下列屬性,即可更新 HTTPS 的 Edge UI 設定:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https

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

  5. 如果您已安裝開發人員服務入口網站,請更新為使用 HTTPS, 存取邊緣單一登入 (SSO)如需詳細資訊,請參閱設定 「開發人員服務」入口網站,使用 SAML 與 Edge 通訊

使用 SSL_TERMINATION 模式時設定 SSO_TOMCAT_PROXY_PORT

您可能會在 Edge SSO 模組前方有一個負載平衡器,會在負載時終止 TLS 但也會啟用負載平衡器和 Edge SSO 之間的 TLS。上圖 如果是 SSL_PROXY 模式,表示從負載平衡器到邊緣單一登入 (SSO) 的連線 TLS:

在這種情況下,請按照先前在 Edge 單一登入 (SSO) 中設定 TLS 的方法 SSL_TERMINATION模式。不過,如果載入作業 負載平衡器使用的 TLS 通訊埠編號與 Edge 傳輸層安全標準 (TLS) 所用的 TLS 通訊埠號碼不同,因此您必須指定 設定檔中的 SSO_TOMCAT_PROXY_PORT 屬性。例如:

  • 負載平衡器在通訊埠 443 終止 TLS
  • 邊緣單一登入 (SSO) 會在通訊埠 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 要求。