12.4. 将 3scale 与红帽单点登录集成为 OpenID Connect 身份提供程序
作为 API 提供程序,您可以将 3scale 与 Red Hat Single Sign-On (RH-SSO)集成为 OpenID Connect 身份提供程序。此处所述的步骤适用于需要 OpenID Connect 对 API 请求进行身份验证的 3scale API 产品。
3scale 2.2 及更新的版本使用 SSL_CERT_FILE 环境变量为 RH-SSO 支持自定义 CA 证书。此变量指向证书捆绑包的本地路径。将 3scale 与 RH-SSO 作为 OpenID Connect 身份提供程序集成包括按以下顺序配置以下元素:
- 将 RH-SSO 配置为具有 3scale 客户端。
- 配置 3scale 以便使用 RH-SSO。
先决条件
- OpenShift 集群管理员权限。
- 3scale API 产品,您要配置 OpenID Connect 与 RH-SSO 集成。
详情请查看以下部分:
12.4.1. 配置 3scale Zync 以使用自定义证书颁发机构证书 复制链接链接已复制到粘贴板!
当 RH-SSO 使用由受信任的证书颁发机构(CA)发布的证书时,这并不是必需的。但是,如果 RH-SSO 没有使用 由信任的 CA 发布的证书,您必须配置 3scale Zync,然后才能将 RH-SSO 配置为具有 3scale 客户端,然后才能将 3scale 配置为使用 RH-SSO。
步骤
-
以
.pem格式获取 CA 证书链,并将每个证书保存为单独的文件,例如:customCA1.pem、customCA2.pem等等。 测试各个证书文件,以确认它是有效的 CA。例如:
openssl x509 -in customCA1.pem -noout -text | grep "CA:"这会输出
CA:TRUE或CA:FALSE。您想要输出为每个证书文件CA:TRUE。如果输出为CA:FALSE,则证书不是有效的 CA。使用以下命令验证各个
证书文件。例如:curl -v https://<secure-sso-host>/auth/realms/master --cacert customCA1.pem将
<secure-sso-host> 替换为 RH-SSO 主机的完全限定域名。预期的响应是 RH-SSO 域的 JSON 配置。如果验证失败您的证书可能不正确。
在
zync-quepod 中收集/etc/pki/tls/cert.pem文件的现有内容:oc exec <zync-que-pod-id> -- cat /etc/pki/tls/cert.pem > zync.pem将每个自定义 CA 证书文件的内容附加到
zync.pem中,例如:cat customCA1.pem customCA2.pem ... >> zync.pem将新文件附加到
zync-quepod 作为 configmap 对象:oc create configmap zync-ca-bundle --from-file=./zync.pem oc set volume dc/zync-que --add --name=zync-ca-bundle --mount-path /etc/pki/tls/zync/zync.pem --sub-path zync.pem --source='{"configMap":{"name":"zync-ca-bundle","items":[{"key":"zync.pem","path":"zync.pem"}]}}'这会完成将证书捆绑包添加到
zync-quepod。验证证书是否已附加且内容正确:
oc exec <zync-que-pod-id> -- cat /etc/pki/tls/zync/zync.pem在 Zync 上配置
SSL_CERT_FILE环境变量以指向新的 CA 证书捆绑包:oc set env dc/zync-que SSL_CERT_FILE=/etc/pki/tls/zync/zync.pem