安装和配置 Apigee SSO

从 OPDK 4.54.00 开始,单点登录 (SSO) 架构已实现现代化。身份代理 (Dex) 现在直接嵌入在 apigee-openldap 组件中,因此无需安装单独的旧版 apigee-sso 模块。

如需启用和配置 Apigee SSO,您必须执行以下操作:

  1. 为 New Edge 界面创建机器用户:创建 New Edge 界面调用 Management API 所需的机器用户。
  2. 在通用配置文件中配置属性: 创建一个包含 OpenLDAP (SSO) 服务和 New Edge 界面所需属性的配置文件。
  3. 在 Postgres 中创建 SSO 数据库:在 Apigee PostgreSQL 实例中为 SSO 创建数据库。
  4. 在 OpenLDAP 中应用 SSO 配置: 应用配置文件以在 OpenLDAP 节点上启动集成的 Apigee SSO。
  5. **配置 New Edge 界面**:更新 New Edge 界面属性以使用新的 Apigee SSO。

后续几个部分将介绍其中每个步骤。

为界面创建机器用户

New Edge 界面需要机器用户才能在后端调用 Management API 以执行某些操作。 apigee-openldap 节点中预安装的脚本用于此目的。

如需详细了解该脚本和机器用户,请参阅 使用 apigee-machine-user 脚本。

在 apigee-openldap 节点 中使用以下命令为 New Edge 界面创建机器用户,并确保 在后续步骤中定义配置文件中的属性时使用完全相同的凭据。

 /opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
 

在通用配置文件中配置属性

您必须先定义通用配置文件(例如 /opt/silent.conf),然后才能启用 Apigee SSO 和 New Edge 界面。您可以根据环境需要更改此路径和文件名。

将以下基本配置属性添加到 /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 和 New Edge 界面的基本配置属性。
  • /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

配置 New Edge 界面

Apigee SSO 运行后,您必须配置 New Edge 界面以与其通信。

在 New Edge 界面上启用外部 IDP 后,New Edge 界面会使用 OIDC/OAuth2 连接到管理服务器。您无需担心 New Edge 界面和 Edge 管理服务器之间的令牌过期问题。过期的令牌会自动刷新。

  1. 登录到托管 New Edge 界面的节点。
  2. 确保此节点上提供 /opt/silent.conf 文件。
  3. 使用 setup 脚本应用配置:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf