外部 IDP 身份验证概览

新的 Edge 界面和 Edge Management API 通过向 Edge 管理服务器发出请求来运行, 其中管理服务器支持以下类型的身份验证:

  • 基本身份验证:通过传递用户名和密码登录新的 Edge 界面或向 Edge 管理 API 发出请求。
  • OAuth2 / OIDC:将 Edge 基本身份验证凭据交换为 OAuth2 访问 令牌和刷新令牌。通过在 API 调用的 Bearer 标头中传递 OAuth2 访问 令牌来调用 Edge 管理 API。

Edge 支持使用以下外部身份提供方 (IDP) 进行身份验证:

  • 安全断言标记语言 (SAML) 2.0:从 SAML 身份提供方返回的 SAML 断言生成 OAuth 访问令牌。
  • 轻量级目录访问协议 (LDAP):使用 LDAP 的搜索和绑定 身份验证方法生成 OAuth 访问令牌。

SAML 和 LDAP IDP 都支持单点登录 (SSO) 环境。通过将外部 IDP 与 Edge 搭配使用,您可以为新的 Edge 界面和 API 提供 SSO 支持,以及您提供的任何其他服务,这些服务也支持您的外部 IDP。

关于新的 Apigee SSO 结构

从 Edge for Private Cloud 4.54.00 开始,旧版 apigee-sso 组件已替换为现代化的轻量级 OpenID Connect (OIDC) 身份代理(称为 Dex)。此 SSO 适配器直接集成到 apigee-openldap 组件生命周期中,无需安装单独的 apigee-sso 模块。

由于 Apigee SSO(Dex 代理)与 apigee-openldap 捆绑在一起,因此它与 OpenLDAP 实例部署在同一节点上。生命周期管理通过 OPDK 操作(例如 apigee-service apigee-openldap start_sso 和 stop_sso)以原生方式处理。

apigee-openldap 节点上必须打开端口 9099,以支持从浏览器、 外部 SAML 或 LDAP IDP 以及管理服务器和新的 Edge 界面访问 Apigee SSO。在配置 Apigee SSO 时,您可以指定外部连接是使用 HTTP 还是加密的 HTTPS 协议。

Apigee SSO 是一种无状态服务,它使用 Postgres 节点上端口 5432 上可访问的 Postgres 数据库 (apigee_dex) 在多个节点之间持久保存 OAuth2 状态,从而确保高可用性。通常,您 可以使用与 Edge 一起安装的同一 Postgres 服务器,可以是独立 Postgres 服务器,也可以是配置为 master/standby 模式的两个 Postgres 服务器。如果 Postgres 服务器上的负载很高,您还可以选择仅为 SSO 数据库创建一个单独的 Postgres 节点。

支持标准 OpenID Connect (OIDC)

SAML 和 LDAP 的 Edge 实现依赖于标准 OpenID Connect (OIDC) 和 OAuth2 访问令牌。 现代化的 Apigee SSO 会颁发严格符合 OIDC 的令牌(利用 email 和 sub 等标准声明,以及不透明的刷新令牌)。如需了解详情,请参阅 OAuth 2.0 简介。

关于 SAML

SAML 身份验证可提供很多优势。您可以使用 SAML 执行以下操作:

  • 完全控制用户管理。如果用户离开您的组织并已在中央位置取消配置,系统会自动拒绝他们访问 Edge。
  • 控制用户如何进行身份验证以访问 Edge。您可以为不同的 Edge 组织选择不同的身份验证 类型。
  • 控制身份验证政策。您的 SAML 提供商可能支持比您的企业标准更严格的身份验证政策 。
  • 您可以监控 Edge 部署中的登录、退出、失败登录尝试和高风险活动。

启用 SAML 后,对新的 Edge 界面和 Edge 管理 API 的访问会使用 OAuth2 访问令牌。 这些令牌由 Apigee SSO 生成,后者接受 IDP 返回的 SAML 断言。

关于 LDAP

轻量级目录访问协议 (LDAP) 是一种开放的行业标准应用 协议,用于访问和维护分布式目录信息服务。目录 服务可以提供任何有组织的记录集,通常具有层次结构,例如 公司电子邮件目录。

新的 Apigee SSO 中的 LDAP 身份验证使用其内置的 LDAP 连接器。连接器执行 LDAP 搜索 organizationalRole 和标准属性(例如 mail 和 uid),以将 Apigee 旧版用户原生映射到标准 OIDC 声明。

Edge for 私有云 的 LDAP 支持针对与 LDAP 兼容的服务器的标准搜索和绑定身份验证方法。

Apigee SSO 会检索用户的电子邮件地址和标准 OIDC 声明 (例如 email、preferred_username 和 groups) 并更新内部用户记录 ,以便文件中包含当前的电子邮件地址,因为 Edge 会将此电子邮件用于授权 目的。

新的 Edge 界面和 API 网址

您用于访问新的 Edge 界面和 Edge Management API 的网址与启用 SAML 或 LDAP 之前使用的网址相同。对于新的 Edge 界面:

http://edge_UI_IP_DNS:3001

其中,edge_UI_IP_DNS 是托管新的 Edge 界面的机器 的 IP 地址或 DNS 名称。在配置新的 Edge 界面时,您可以指定连接使用 HTTP 还是加密的 HTTPS 协议。

对于 Edge 管理 API:

http://ms_IP_DNS:8080/v1

其中,ms_IP_DNS 是管理 服务器的 IP 地址或 DNS 名称。在配置 API 时,您可以指定连接使用 HTTP 还是 加密的 HTTPS 协议。

使用新的 Apigee SSO 配置 TLS

默认情况下,与 Apigee SSO 的连接使用 HTTP over 端口 9099(在托管 apigee-openldap 的节点上)。基于 Go 的轻量级身份代理以原生方式处理 HTTP 和 HTTPS 请求。

Apigee SSO 支持三种连接模式:

  • DEFAULT:默认配置支持端口 9099 上的 HTTP 请求。
  • SSL_TERMINATION: :在您选择的端口上启用对 Apigee SSO 的 TLS 访问。您必须为此模式指定 TLS 密钥和证书。
  • SSL_PROXY: :以代理模式配置 Apigee SSO,这意味着您在该组件前面安装了 负载均衡器,并在该负载均衡器上终止了 TLS。您可以指定在 Apigee SSO 上用于来自负载 均衡器的请求的端口。