Automation Suite
2022.4
False
横幅背景图像
Automation Suite 安装指南
上次更新日期 2024年4月24日

证书概述

本页介绍 Automation Suite 安装所需的所有证书,以及证书轮换流程的原则。

重要提示: 有关替换自签名证书时必须提供的证书的详细信息,请参阅 证书要求

了解信任证书的工作方式

Automation Suite 内产品之间的服务间通信通过集群的 FQDN 完成。 产品无法使用内部 URL 相互通信。 例如,Orchestrator 可以通过https://automationsuite.mycompany.com/identity连接到身份服务器以进行用户身份验证。

虽然两个不同的 Automation Suite 产品必须使用集群的 FQDN,但它们也可以包含多个微服务。 这些微服务可以使用内部 URL 相互通信。

了解通信的工作方式

下图和流程说明了客户端如何连接到服务,以及如何通过身份服务完成身份验证。

  1. 客户端使用以下 URL 与服务(即 Orchestrator、Apps、Insights 等)建立连接: https://automationsuite.mycompany.com/myorg/mytenant/service_
  2. Istio 拦截调用,并根据service_的路径,将调用转发到特定服务。
  3. 该服务调用身份服务,以对通过https://automationsuite.mycompany.com/myorg/mytenant/identity_来自机器人的传入请求进行身份验证。
  4. Istio 拦截调用,并根据路径identity_将请求转发到身份服务。
  5. 身份服务将响应及其结果返回给 Istio。
  6. Istio 将响应返回给服务。 由于调用是使用 HTTPS 协议进行的,因此 Istio 返回带有 TLS 证书的响应,以确保连接安全。 如果服务信任 Istio 返回的服务器证书,则会批准响应。 否则,服务将拒绝响应。
  7. 该服务准备响应并将其发送回 Istio。
  8. Istio 将请求转发回客户端。 如果客户端计算机信任证书,则整个请求都会成功。 否则,请求将失败。



了解机器人与 Orchestrator 的通信方式

本节介绍机器人尝试连接到 Automation Suite 中的 Orchestrator 的场景。 下图和流程说明了机器人如何连接到 Orchestrator,以及如何通过 Identity Server 完成身份验证。

  1. 机器人使用以下 URL 与 Orchestrator 建立连接: https://automationsuite.mycompany.com/myorg/mytenant/orchestrator_
  2. Istio 拦截调用,并根据orchestrator_路径将其转发到 Orchestrator 服务。
  3. Orchestrator 服务调用身份服务器,以通过https://automationsuite.mycompany.com/myorg/mytenant/identity_对来自机器人的传入请求进行身份验证。
  4. Istio 拦截调用,并根据identity_路径将请求转发到 Identity Server。
  5. Identity Server 将响应和结果返回给 Istio。
  6. Istio 将响应返回给 Orchestrator。 由于调用是使用 HTTPS 协议进行的,因此 Istio 返回带有 TLS 证书的响应,因此该连接是安全的。 如果 Orchestrator 信任 Istio 返回的服务器证书,则它也会批准响应。 否则,Orchestrator 将拒绝响应。
  7. Orchestrator 准备响应并将其发送回 Istio。
  8. Istio 将请求转发回机器人。 如果机器人计算机信任证书,则整个请求都会成功。 否则,请求将失败。



了解与证书相关的容器架构

容器级别



在此示例中,容器具有自己的操作系统 (RHEL 操作系统),服务可以表示在 RHEL 操作系统之上运行的 Orchestrator。

每个操作系统都有自己的证书存储。 对于 REHL OS,证书信任存储位于/etc/pki/ca-trust/ca/中。

此路径是 RHEL OS 存储所有证书的位置。 每个容器都有自己的证书信任存储。 作为 Automation Suite 配置的一部分,我们会注入包含根证书、所有中间证书以及叶证书的整个证书链,并将其存储在此路径中。 由于服务信任根证书和中间证书,因此它们会自动信任由根证书和中间证书创建的任何其他证书。

Pod 级别

Automation Suite 中有数百个容器正在运行。 为所有服务的每个容器手动添加证书将是一项艰巨的任务。 但是,Automation Suite 包含一个 共享卷 和一个初始化容器 证书信任 程序,以帮助完成此任务。 Init 是一个专用容器,在 Pod 中在应用程序容器之前运行,其生命周期在完成作业后立即结束。

在以下示例中,Orchestrator 服务在一个 Pod 中运行。 需要提醒的是,一个 Pod 可以包含多个容器。 在此 Pod 中,我们再注入一个名为 Cert-trustor 的Init 容器。 此容器将包含根证书、中间证书和叶证书。

共享卷已附加到证书信任程序容器和 Orchestrator 服务容器。 它与 REHL 操作系统证书信任存储具有相同的路径: /etc/pki/ca-trust/ca/source/anchors
在 Orchestrator 运行之前,证书信任程序将执行一项作业,该作业将在/etc/pki/ca-trust/ca/source/anchors位置的共享卷中添加证书并终止。

证书将通过共享卷提供给 Orchestrator 服务。



Automation Suite 中所有证书的清单

安装期间生成的证书

作为 Automation Suite 安装的一部分,系统将生成以下证书:

  • 安装时生成的自签名证书 ,有效期为 3 个月。 安装后,您必须将自签名证书替换为域证书。 请参阅 管理证书
  • 用于对身份验证中使用的 JWT 令牌进行签名的Identity Server 证书 。 如果未提供用于对 JWT 令牌进行签名的证书,Automation Suite 将使用当前配置的 TLS 证书(可以是自签名证书或客户提供的证书),该证书将在 90 天后过期。 如果您想使用自己的证书来签名身份令牌,则可以按照 管理证书中的说明进行配置。
  • 通过证书管理器生成的 MongoDB 内部证书 。 Automation Suite 为 MongoDB 提供有效期为 3 年的内部证书。 证书将自动轮换,无需手动干预。 有关更多详细信息,请参阅 MongoDB 证书续订
  • 系统会生成RKE2 证书 ,默认情况下,该证书将在 12 个月后过期。 如果证书已过期或在 90 天内过期,则在重新启动 RKE2 时轮换证书。

其他证书

  • 如果启用,SAML2 身份验证协议可以使用服务证书。
  • 如果使用用户名和密码配置 Active Directory,则 LDAPS (LDAP Over SSL) 为可选项。如果选择 LDAPS,则必须提供证书。系统会将此证书添加到 Automation Suite 的受信任根证书颁发机构中。有关详细信息,请参阅 Microsoft 文档

此证书将添加到 Automation Suite 的受信任根证书颁发机构中。

了解证书更新/轮换的工作原理

在线安装

证书存储在两个位置:

  • { istio-system中的istio-ingressgateway-certs }
  • uipath命名空间
要更新istio-systemuipath命名空间中的证书,您必须运行sudo ./configureUiPathAS.sh tls-cert update命令。
Pod 只能访问其命名空间中的密码。 例如,在uipath命名空间中运行的 Pod 无法访问存储在istio-system命名空间中的密码。 因此,证书将复制到两个命名空间中。
对于uipath命名空间,我们将证书装载到需要证书的 Pod 中,并重新启动 Pod,以便它们可以使用新证书。
备注:

对于单节点评估安装,此更新将缩减 Pod。 系统将关闭并重新启动所有 Pod。 此操作将导致停机。

对于多节点 HA 就绪生产安装,使用滚动部署方法进行更新。 如果微服务具有两个用于高可用性目的的 Pod,则更新将删除其中一个 Pod,并且会出现该 Pod 的新版本。 新版本成功启动后,旧版本将删除。 在旧 Pod 尚未终止期间,系统将有一个短暂的停机时间。

离线安装

除了特定于在线安装的证书外,离线部署还有两个使用rootCA.crttls.crt的附加位置。 证书在 ArgoCD 和 Docker Registry 中使用,然后存储在 Docker 和 ArgoCD 命名空间中。

您可以使用以下命令验证密码:

# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https# For docker registry
kubectl -n docker-registry get secrets docker-registry-tls -o yaml
# For Argocd
argocd cert list --cert-type https

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.