為 HTTPS 存取權設定 Apigee 單一登入 (SSO) 服務

請參閱「安裝並設定 Apigee 單一登入 (SSO)」一文,瞭解如何操作 安裝並設定 Apigee 單一登入 (SSO) 模組以在通訊埠 9099 上使用 HTTP,如 下列屬性:

SSO_TOMCAT_PROFILE=DEFAULT

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

  • SSL_PROXY:設定 apigee-sso,即 Apigee 單一登入 (SSO) 模組。 處於 Proxy 模式,意味著您在 apigee-sso 的前方安裝了負載平衡器 並在負載平衡器上終止 TLS接著,您可以指定要用於 apigee-sso,適用於來自負載平衡器的要求。
  • SSL_TERMINATION::已啟用 TLS 對 apigee-sso 的存取權 通訊埠您必須為這個模式指定含有憑證的 KeyStore 由 CA 簽署。您無法使用自行簽署的憑證。

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

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

啟用 SSL_PROXY 模式

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

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

要在 SSL_PROXY 模式下設定 Apigee 單一登入 (SSO) 模組的原因,就是 Apigee 單一登入 (SSO) 模組會自動產生驗證過程中由 IDP 在外部使用的重新導向網址 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作因此,這些重新導向網址在載入時必須包含外部通訊埠編號 負載平衡器在本範例中為 443,而非 Apigee 單一登入 (SSO) 模組中的內部通訊埠 9099。

如要為 SSL_PROXY 模式設定 Apigee 單一登入 (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. 設定 Apigee 單一登入 (SSO) 模組:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 更新 IdP 設定,現在透過通訊埠 443 發出 HTTPS 要求 存取 Apigee 單一登入 (SSO) 服務。如需詳細資訊,請參考下列文章:
  4. 在設定檔中設定下列屬性,即可更新 HTTPS 的 Edge UI 設定:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    然後更新 Edge UI:

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

    在傳統版 UI 中使用 edge-ui 元件。

  5. 如果您已安裝 Apigee Developer Services 入口網站 (或只是入口網站),請將其更新為使用 HTTPS 來存取 Apigee 單一登入 (SSO)。適用對象 如需更多資訊,請參閱 將入口網站設為使用外部 IdP

請參閱在 Edge UI 上啟用外部 IDP, 瞭解詳情

啟用 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

如何設定 Apigee 單一登入 (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. 設定 Apigee 單一登入 (SSO) 模組:
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 更新 IdP 設定,立即在負載的通訊埠 9443 發出 HTTPS 要求 存取 Apigee 單一登入 (SSO) 服務。請確認沒有其他服務正在使用這個通訊埠。

    如要瞭解詳情,請參考下列資源:

  4. 設定下列屬性,即可更新 HTTPS 的 Edge UI 設定:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. 如果您已安裝開發人員服務入口網站,請更新為使用 HTTPS, 存取 Apigee 單一登入 (SSO) 服務詳情請參閱 將入口網站設為使用外部 IdP

使用 SSL_TERMINATION 模式時設定 SSO_TOMCAT_PROXY_PORT

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

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

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