从 OPDK 4.54.00 开始,单点登录 (SSO) 架构已实现现代化。身份代理 (Dex) 现在直接嵌入在 apigee-openldap 组件中,因此无需安装单独的旧版 apigee-sso 模块。
如需启用和配置 Apigee SSO,您必须执行以下操作:
- 为 New Edge 界面创建机器用户:创建 New Edge 界面调用 Management API 所需的机器用户。
- 在通用配置文件中配置属性: 创建一个包含 OpenLDAP (SSO) 服务和 New Edge 界面所需属性的配置文件。
- 在 Postgres 中创建 SSO 数据库:在 Apigee PostgreSQL 实例中为 SSO 创建数据库。
- 在 OpenLDAP 中应用 SSO 配置: 应用配置文件以在 OpenLDAP 节点上启动集成的 Apigee SSO。
- **配置 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,请执行以下操作:- 登录到托管
apigee-openldap的节点。 - 执行
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 管理服务器之间的令牌过期问题。过期的令牌会自动刷新。
- 登录到托管 New Edge 界面的节点。
- 确保此节点上提供
/opt/silent.conf文件。 - 使用
setup脚本应用配置:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf