- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
- 由于无法连接到 Azure Government,备份设置不起作用
- 启用自定义节点污点时,UiPath 命名空间中的 Pod 卡住
- 无法使用代理设置启动 Automation Hub 和 Apps
- 由于“验证失败”错误,Velero 备份失败
- 外部密码故障排除
- 时间即服务故障排除
- 无法在启用 TLS 证书验证的情况下启动 AI Center 和 Document Understanding Pod
- TLS 证书验证错误
- Fluentd 不会在 IPv6 环境中导出日志
- Studio 桌面版无法加载 Integration Service 连接器和活动
- 手动 ArgoCD 网络策略缓解措施 (MHSA-47m3-95c7-g2g8)
- 为 uipathctl 创建的工作负载配置资源请求和限制
Automation Suite、信任机制、容器架构以及 EKS/AKS 轮换流程中使用的证书。
本页介绍 Automation Suite 安装所需的所有证书,以及证书轮换流程的原则。
有关替换自签名证书时必须提供的证书的详细信息,请参阅证书要求。
了解信任证书的工作方式
Automation Suite 内产品之间的服务间通信通过集群的 FQDN 完成。 产品无法使用内部 URL 相互通信。 例如,Orchestrator 可以通过https://automationsuite.mycompany.com/identity连接到身份服务器以进行用户身份验证。
虽然两个不同的 Automation Suite 产品必须使用集群的 FQDN,但它们也可以包含多个微服务。 这些微服务可以使用内部 URL 相互通信。
了解通信的工作方式
下图和流程说明了客户端如何连接到服务,以及如何通过身份服务完成身份验证。
-
客户端使用以下 URL 与服务(即 Orchestrator、Apps、Insights 等)建立连接:
https://automationsuite.mycompany.com/myorg/mytenant/service_。 -
Istio 拦截调用,并根据
service_的路径,将调用转发到特定服务。 -
该服务调用身份服务,以通过
https://automationsuite.mycompany.com/myorg/mytenant/identity_对来自客户端的传入请求进行身份验证。 -
Istio 拦截调用,并根据路径
identity_将请求转发到身份服务。 -
身份服务将响应及其结果返回给 Istio。
-
Istio 将响应返回给服务。 由于调用是使用 HTTPS 协议进行的,因此 Istio 返回带有 TLS 证书的响应,以确保连接安全。 如果服务信任 Istio 返回的服务器证书,则会批准响应。 否则,服务将拒绝响应。
-
该服务准备响应并将其发送回 Istio。
-
Istio 将请求转发回客户端。 如果客户端计算机信任证书,则整个请求都会成功。 否则,请求将失败。
了解机器人与 Orchestrator 的通信方式
本节介绍机器人尝试连接到 Automation Suite 中的 Orchestrator 的场景。 下图和流程说明了机器人如何连接到 Orchestrator,以及如何通过 Identity Server 完成身份验证。
-
机器人使用以下 URL 与 Orchestrator 建立连接:
https://automationsuite.mycompany.com/myorg/mytenant/orchestrator_ -
Istio 拦截调用,并根据
orchestrator_路径将其转发到 Orchestrator 服务。 -
Orchestrator 服务调用身份服务器,以通过
https://automationsuite.mycompany.com/myorg/mytenant/identity_对来自机器人的传入请求进行身份验证。 -
Istio 拦截调用,并根据
identity_路径将请求转发到 Identity Server。 -
Identity Server 将响应和结果返回给 Istio。
-
Istio 将响应返回给 Orchestrator。 由于调用是使用 HTTPS 协议进行的,因此 Istio 返回带有 TLS 证书的响应,因此该连接是安全的。 如果 Orchestrator 信任 Istio 返回的服务器证书,则它也会批准响应。 否则,Orchestrator 将拒绝响应。
-
Orchestrator 准备响应并将其发送回 Istio。
-
Istio 将请求转发回机器人。 如果机器人计算机信任证书,则整个请求都会成功。 否则,请求将失败。
了解与证书相关的容器架构
容器级别
下图显示了容器级别证书架构。
在此示例中,容器具有自己的操作系统 (RHEL 操作系统),服务可以表示在 RHEL 操作系统之上运行的 Orchestrator。
每个操作系统都有自己的证书存储区。 对于 RHEL 操作系统,“证书信任存储区”位于/etc/pki/ca-trust/ca/ 。
此路径是 RHEL 操作系统存储所有证书的位置。每个容器都有自己的证书信任存储区。作为 Automation Suite 配置的一部分,我们会注入包含根证书、所有中间证书以及叶证书的整个链证书,并将其存储在此路径中。
由于服务信任根证书和中间证书,因此它们会自动信任由根证书和中间证书创建的任何其他证书。
Pod 级别
Automation Suite 中有数百个容器正在运行。 为所有服务的每个容器手动添加证书将是一项艰巨的任务。 但是,Automation Suite 包含一个共享卷和一个初始化容器证书信任程序,以帮助完成此任务。 Init 是一个专用容器,在 Pod 中在应用程序容器之前运行,其生命周期在完成作业后立即结束。
证书信任方容器如何共享证书
在以下示例中,Orchestrator 服务在一个 Pod 中运行。 请注意,一个 Pod 可以包含多个容器。 在此 Pod 中,我们再注入一个名为Cert-trustor 的Init 容器。 此容器将包含根证书、中间证书和叶证书。
共享卷将同时附加到证书信任程序容器和 Orchestrator 服务容器。 它与 RHEL 操作系统证书信任存储区具有相同的路径: /etc/pki/ca-trust/ca/source/anchors 。
在运行 Orchestrator 之前,证书信任程序会执行作业,该作业将在/etc/pki/ca-trust/ca/source/anchors位置的共享卷中添加证书并终止。证书将通过共享卷用于 Orchestrator 服务。
下图显示了 Pod 级别的证书架构。
Automation Suite 中所有证书的清单
安装期间生成的证书
作为 Automation Suite 安装的一部分,系统将生成以下证书:
- 安装时生成的自签名证书。我们建议您在安装后将自签名证书替换为域证书。请参阅管理证书。
备注:
只有当您在安装期间授予 Automation Suite 安装程序管理员权限时,才能在安装时生成证书。如果您无法向安装程序授予管理员权限,则必须自行创建和管理证书。
- 用于对身份验证中使用的 JWT 令牌进行签名的Identity Server 证书。如果未提供用于对 JWT 令牌进行签名的证书,Automation Suite 将使用当前配置的 TLS 证书(自签名证书或客户提供的)。如果您想使用自己的证书对身份令牌进行签名,请参阅管理证书。
其他证书
- 如果启用,SAML2 身份验证协议可以使用服务证书。
- 如果使用用户名和密码配置 Active Directory,则 LDAPS (LDAP Over SSL) 为可选项。如果选择 LDAPS,则必须提供证书。系统会将此证书添加到 Automation Suite 的受信任根证书颁发机构中。有关详细信息,请参阅Microsoft 文档。
了解证书更新/轮换的工作原理
证书存储在两个位置:
- {
<istio-system>中的istio-ingressgateway-certs} <uipath>命名空间
要更新<istio-system>和<uipath>命名空间中的证书,您必须运行uipathctl config update-tls-certificates命令。
Pod 只能访问其命名空间中的密码。 例如,在<uipath>命名空间中运行的 Pod 无法访问存储在<istio-system>命名空间中的密码。 因此,将在这两个命名空间中复制证书。
对于<uipath>命名空间,我们将证书装载到需要证书的 Pod 中,并重新启动 Pod,以便它们可以使用新证书。
更新使用滚动部署方法进行。如果微服务具有两个用于高可用性的 Pod,则更新将删除其中一个 Pod,并显示新版本的 Pod。新机器人成功启动后,旧机器人将被删除。在旧 Pod 尚未终止之前,将有一个短暂的停机时间。