安裝並設定 Apigee 單一登入 (SSO)

自 OPDK 4.54.00 起,SSO 架構已現代化。身分中介服務 (Dex) 現在直接嵌入 apigee-openldap 元件,因此無須安裝獨立的舊版 apigee-sso 模組。

如要啟用及設定 Apigee SSO,請務必執行下列操作:

  1. 為新版 Edge UI 建立機器使用者:建立新版 Edge UI 叫用 Management API 所需的機器使用者。
  2. 在通用設定檔中設定屬性:建立單一設定檔,其中包含 OpenLDAP (SSO) 服務和新版 Edge UI 所需的屬性。
  3. 在 Postgres 中建立單一登入 (SSO) 資料庫:在 Apigee PostgreSQL 執行個體中建立 SSO 資料庫。
  4. 在 OpenLDAP 中套用單一登入設定:套用設定檔,在 OpenLDAP 節點上啟動整合式 Apigee SSO。
  5. 設定新版 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:
  1. 登入節點代管服務 apigee-openldap。
  2. 執行 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 管理伺服器之間的權杖會過期。系統會自動重新整理過期的權杖。

  1. 登入託管新版 Edge UI 的節點。
  2. 確認這個節點上提供 /opt/silent.conf 檔案。
  3. 使用 setup 指令碼套用設定:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf