自 OPDK 4.54.00 起,SSO 架構已現代化。身分中介服務 (Dex) 現在直接嵌入 apigee-openldap 元件,因此無須安裝獨立的舊版 apigee-sso 模組。
如要啟用及設定 Apigee SSO,請務必執行下列操作:
- 為新版 Edge UI 建立機器使用者:建立新版 Edge UI 叫用 Management API 所需的機器使用者。
- 在通用設定檔中設定屬性:建立單一設定檔,其中包含 OpenLDAP (SSO) 服務和新版 Edge UI 所需的屬性。
- 在 Postgres 中建立單一登入 (SSO) 資料庫:在 Apigee PostgreSQL 執行個體中建立 SSO 資料庫。
- 在 OpenLDAP 中套用單一登入設定:套用設定檔,在 OpenLDAP 節點上啟動整合式 Apigee SSO。
- 設定新版 Edge UI:更新新版 Edge UI 屬性,以便使用新的 Apigee SSO。
以下各節將說明這些步驟。
建立 UI 的機器使用者
新版 Edge UI 需要機器使用者,才能在後端叫用 Management API,執行特定作業。這時就要用到預先安裝在 apigee-openldap 節點中的指令碼。
如要進一步瞭解指令碼和機器使用者,請參閱「 使用 apigee-machine-user 指令碼」。
在 apigee-openldap 節點中使用下列指令,為 New Edge UI 建立機器使用者,並確保在後續步驟中定義設定檔的屬性時,使用完全相同的憑證。
/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
在通用設定檔中設定屬性
您必須先定義通用設定檔 (例如 /opt/silent.conf),才能啟用 Apigee SSO 和新版 Edge UI。您可以視環境需求變更這個路徑和檔案名稱。
在 /opt/silent.conf 中新增下列基本設定屬性:
# ========================================== # SSO Enablement # ========================================== ENABLE_SSO=y # ========================================== # SSO Hostname/IP and Port config for Dex # ========================================== SSO_PUBLIC_URL_SCHEME=http SSO_PUBLIC_URL_HOSTNAME=localhost SSO_PUBLIC_URL_PORT=9099 # ========================================== # Static Client UI credentials # ========================================== MANAGEMENT_UI_SSO_CLIENT_ID=unifiedui MANAGEMENT_UI_SSO_CLIENT_SECRET=secret123 # ========================================== # Management UI & SSO redirect URLs # ========================================== MANAGEMENT_UI_SCHEME=http MANAGEMENT_UI_IP=localhost MANAGEMENT_UI_PORT=3001 # ========================================== # Management Server parameters (Required for SSO registration) # ========================================== MSIP=localhost ADMIN_EMAIL=admin@apigee.com APIGEE_ADMINPW=Secret123 # ========================================== # Machine user for UI # ========================================== UI_MACHINE_USER=ui-machine-user@apigee.com UI_MACHINE_PWD=Secret123 # ========================================== # Postgres connection parameters # ========================================== PG_HOST=postgres_host PG_USER=apigee PG_PWD=postgres_password # ========================================== # Other UI Parameters # ========================================== # Set to sso to enable SSO, default value is basic. AUTH_MODE=sso # Y to use internal LDAP for authentication, N to use external IDP SSO_LOCAL_LDAP=y MANAGEMENT_UI_APP_ENV=OPDK MANAGEMENT_UI_SSO_ENABLED=y MANAGEMENT_UI_SSO_CSRF_SECRET=secret MANAGEMENT_UI_SSO_CSRF_EXPIRATION_HOURS=24 MANAGEMENT_UI_SSO_STRICT_TRANSPORT_SECURITY_AGE_HOURS=24 MANAGEMENT_UI_SSO_PUBLIC_KEY_CACHE_HOURS=0.5
SSO 屬性分布
Apigee SSO 屬性分布在下列設定檔中:
/opt/silent.conf(或自訂設定檔):包含 SSO 和新版 Edge UI 的基本設定屬性。/opt/apigee/customer/application/openldap.properties:包含其他 SSO 設定屬性,適用於 SAML 和 HTTPS 等選用功能。
apigee-openldap 元件中的 setup-sso 指令碼會剖析上述兩個檔案中的變數。視用途而定,您需要在設定檔中設定相關屬性。
視環境而定,下列步驟為選用步驟:
在 Postgres 中建立 SSO 資料庫
在執行 apigee-postgresql 的節點 (主要待命設定中的主要節點) 上,建立單一登入 (SSO) 資料庫:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-sso-db
在 OpenLDAP 中套用 SSO 設定
由於 Apigee SSO 內嵌在目錄元件中,因此不需要安裝獨立套件。只要將設定檔套用至 OpenLDAP 節點即可。
如何啟用並啟動 Apigee SSO:- 登入節點代管服務
apigee-openldap。 - 執行
setup-sso指令,並傳遞設定檔:/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
設定新版 Edge UI
Apigee SSO 執行後,您必須設定新版 Edge UI,以便與其通訊。
在新版 Edge UI 啟用外部 IDP 後,新版 Edge UI 會使用 OIDC/OAuth2 連線至管理伺服器。您不必擔心新版 Edge UI 和 Edge 管理伺服器之間的權杖會過期。系統會自動重新整理過期的權杖。
- 登入託管新版 Edge UI 的節點。
- 確認這個節點上提供
/opt/silent.conf檔案。 - 使用
setup指令碼套用設定:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf