在边缘设备上为私有云支持 SAML

适用于私有云的 Edge v. 4.17.09

Edge UI 和 Edge Management API 运行的方式是向边缘管理服务器发出请求, 其中,管理服务器支持以下类型的身份验证:

  • 基本身份验证:登录 Edge 界面或向 Edge 管理服务发出请求 API 登录 API。
  • OAuth2:使用 Edge 基本身份验证凭据交换 OAuth2 访问权限 令牌和刷新令牌通过传递 OAuth2 访问权限来调用 Edge Management API 令牌标记。

Edge 还支持使用安全断言标记语言 (SAML) 2.0 作为身份验证方法 机制。启用 SAML 后,对 Edge 界面和 Edge Management API 的访问仍使用 OAuth2 访问令牌。不过,现在您可以通过 SAML 返回的 SAML 断言生成这些令牌 身份提供方。

注意:系统仅支持将 SAML 作为身份验证机制。不是 进行授权。因此,您仍使用 Edge OpenLDAP 数据库来维护 授权信息。如需了解更多详情,请参阅分配角色

SAML 支持单点登录 (SSO) 环境。通过将 SAML 与 Edge 搭配使用,您可以支持单点登录 以及提供并支持 SAML。

在 Edge 中增加了对 OAuth2 的不公开支持 Cloud

如上所述,SAML 的 Edge 实现依赖于 OAuth2 访问令牌。因此, 已向适用于私有云的 Edge 添加 OAuth2 支持。如需了解详情,请参阅 OAuth 2.0 简介

SAML 的优势

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

  • 全面掌控用户管理。当用户从贵组织离职时, 集中取消配置后,系统会自动拒绝其访问 Edge。
  • 控制用户如何进行身份验证以访问 Edge。您可以选择不同的身份验证 不同 Edge 组织。
  • 控制身份验证政策。您的 SAML 提供商可能支持身份验证政策 符合您企业标准的模板
  • 您可以在 进行边缘部署

将 SAML 与 Edge 搭配使用

为了在 Edge 上支持 SAML,您需要安装 Edge SSO 模块 apigee-sso。通过 下图显示了用于私有云安装的 Edge 中的 Edge SSO:

您可以在与 Edge UI 和管理服务器相同的节点上安装 Edge SSO 模块,或者 一个单独的节点上运行确保 Edge SSO 可以通过端口 8080 访问管理服务器。

必须在 Edge SSO 节点上打开端口 9099,才能支持从浏览器访问 Edge SSO, 以及管理服务器和边缘界面。在配置过程中 Edge SSO,您可以指定外部连接使用 HTTP 或加密的 HTTPS 协议。

Edge SSO 使用可通过 Postgres 节点上的端口 5432 访问的 Postgres 数据库。通常情况下, 可以使用与 Edge 一起安装的同一个 Postgres 服务器,可以是独立的 Postgres 服务器或两台 Postgres 服务器配置为主/备用模式。如果 Postgres 上的负载 则还可以选择专为 Edge SSO 创建一个单独的 Postgres 节点。

启用 SAML 后,使用 OAuth2 访问令牌访问 Edge 界面和 Edge Management API。 这些令牌由 Edge SSO 模块生成,该模块接受由 IDP。

从 SAML 断言生成后,OAuth 令牌的有效期为 30 分钟,刷新 令牌的有效期为 24 小时。您的开发环境可能支持自动化常见 开发任务,例如测试自动化或持续集成/持续部署 (CI/CD),这需要持续时间较长的令牌。请参阅将 SAML 与自动化任务搭配使用,了解如何创建 用于自动执行任务的特殊令牌。

Edge 界面和 API 网址

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

http://edge_ui_IP_DNS:9000
https://edge_ui_IP_DNS:9000

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

对于 Edge Management API:

http://ms_IP_DNS:8080/v1  
https://ms_IP_DNS:8080/v1  

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

在 Edge 上配置 TLS

默认情况下,与 Edge SSO 的连接在托管节点上的端口 9099 上使用 HTTP apigee-sso,Edge SSO 模块。 内置于 apigee-sso 中,是 Tomcat 用于处理 HTTP 和 HTTPS 请求的实例。

Edge SSO 和 Tomcat 支持三种连接模式:

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

为 开发者服务门户和适用于 API BaaS

为 Edge 启用 SAML 支持后,您可以选择为以下对象启用 SAML:

  • API BaaS - BaaS 门户和 BaaS 堆栈支持用户 SAML 身份验证。如需了解更多详情,请参阅为 API BaaS 启用 SAML
  • 开发者服务门户 - 该门户支持在下列情况下进行 SAML 身份验证: 向 Edge 发出请求。请注意,这与面向开发者的 SAML 身份验证不同 请登录该门户您可以为开发者登录单独配置 SAML 身份验证。请参阅 配置 开发者服务门户,使用 SAML 与 Edge 通信

在配置开发者服务门户和 API BaaS 时,您必须指定 随 Edge 一起安装的 Edge SSO 模块:

由于 Edge 和 API BaaS 共用同一个 Edge SSO 模块,因此它们支持单点登录。这样 登录 Edge 或 API BaaS 就会同时登录这两者。这也意味着 在一个位置保存所有用户凭据。

您也可以选择配置单点登录。请参阅从 Edge 界面配置单点登录