配置 LDAP IdP

随着 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。