随着 Apigee SSO 层在 4.54.00 版中实现现代化,底层身份代理原生需要间接绑定(搜索和绑定),不再支持直接(简单)绑定。为保持最小权限安全标准,Apigee SSO 现在标准化为使用专用的只读服务账号进行目录搜索。
本部分介绍了如何将 LDAP 用作 Apigee Edge for Private Cloud 的 IDP。
身份验证机制:搜索和绑定(间接绑定)
通过“搜索和绑定”,用户提供 RDN(例如用户名或电子邮件地址)及其密码。然后,Apigee SSO 会查找用户的专有名称 (DN) 并尝试绑定。搜索和绑定允许部分匹配。
以下是搜索和绑定操作中的步骤:
- 用户输入标识符(例如用户名或电子邮件地址)及其密码。
- Apigee SSO 使用 LDAP 过滤器和一组只读服务账号凭据执行搜索。
- 如果只有一个匹配项,Apigee SSO 会检索用户的 DN。如果匹配项为零个或多个,Apigee SSO 会拒绝该用户。
- 然后,Apigee SSO 会尝试将用户的 DN 和提供的密码绑定到 LDAP 服务器。
- LDAP 服务器执行身份验证。
- 如果成功,Apigee SSO 会返回一个 OIDC/OAuth2 令牌,客户端可以将其附加到对 Edge 服务的请求中。
内部 OpenLDAP(默认配置)
如果您使用的是嵌入式 Apigee OpenLDAP(其中 LDAP 主机设置为 localhost),安装过程会自动保护配置。在设置期间,系统会自动预配一个具有随机生成的 Secret 和受限只读访问权限的最小权限服务账号 (cn=sso-reader)。
OpenLDAP 根管理员凭据 (cn=manager) 已从 Apigee SSO 配置文件中移除,以防止磁盘上的高权限凭据泄露。
如果您使用的是内部 OpenLDAP,请继续安装和配置 Apigee SSO。
外部企业 LDAP
如果您要将 Apigee SSO 连接到外部 LDAP 目录(例如企业 Active Directory),则必须在配置之前在目录中提供预配的只读服务账号。Apigee SSO 将严格使用此账号进行搜索和绑定操作。
外部 LDAP 配置属性
如需配置外部 LDAP 目录,请在配置文件中提供只读服务账号详细信息。setup-sso 脚本会自动处理将必要令牌注入到配置中的操作。
将以下属性添加到配置文件(例如 /opt/silent.conf):
ENABLE_SSO=y SSO_EXTERNAL_LDAP=y SSO_LDAP_HOST=corp-ad.company.com SSO_LDAP_PORT=636 # Set to false for secure connection SSO_LDAP_INSECURE_SKIP_VERIFY=false # The DN and password of your pre-provisioned read-only service account SSO_LDAP_BIND_DN="cn=svc-apigee,ou=ServiceAccounts,dc=corp,dc=com" SSO_LDAP_BIND_PW="password" # The base DN for user searches SSO_LDAP_USER_BASE_DN="ou=Employees,dc=corp,dc=com" # The filter used to search for the user SSO_LDAP_USER_FILTER="(&(objectClass=user)(objectCategory=person))" # The attribute containing the user's email address SSO_LDAP_USER_EMAIL_ATTR="mail" # (Optional) The attribute containing the user's ID # SSO_LDAP_USER_ID_ATTR="sAMAccountName" # (Optional) The attribute containing the user's display name # SSO_LDAP_USER_NAME_ATTR="displayName"
定义这些属性后,请继续安装和配置 Apigee SSO。