automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

OpenShift 上的 Automation Suite 安装指南

上次更新日期 2024年12月18日

管理证书

重要提示:

安装流程会代表您生成自签名证书。 安装完成后,应立即将其替换为由受信任的证书颁发机构 (CA) 签名的证书。

您可以使用uipathctl CLI 工具在安装后更新证书。 有关详细信息,请参阅uipathctl 文档

生成证书签名请求 (CSR) 和私钥

要生成 CSR 和私钥,请运行以下命令:

# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr

您的 IT 团队使用获取的值生成签名证书。 生成的私钥保留在本地。

管理 TLS 证书

要查看有关更新 TLS 证书的更多信息,请运行以下命令:

uipathctl config update-tls-certificates --helpuipathctl config update-tls-certificates --help

输出:

************************************************************************************
Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************************************************************************************************
Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************

查找 TLS 证书

证书在 Istio 级别存储为密码。 您可以在 <istio-system> 命名空间中的 istio-ingressgateway-certs 名称下找到证书。

请参阅以下列表中的证书文件:

  • 服务器 TLS 证书存储为tls.crt
  • 作为tls.key的服务器 TLS 私钥
  • CA 捆绑包存储为ca.crt

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

oc -n <istio-system> get secrets istio-ingressgateway-certs -o yamloc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
证书也存储在<uipath>命名空间中。 这适用于需要证书信息以信任传入调用的所有 UiPath™ 产品。 有关详细信息,请参阅了解与证书相关的容器架构

更新 TLS 证书

重要提示:

在更新服务器证书之前,您必须解密证书密钥。 跳过解密步骤将导致错误。

要解密证书密钥,请运行以下命令:

# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
要更新证书,请运行以下uipathctl命令。 您需要三个证书文件中每个文件的路径。 所有证书文件均应采用pem格式。
  • 证书颁发机构捆绑包 - 此捆绑包应仅包含用于对 TLS 服务器证书进行签名的链证书。--cacert 选项中提供的证书不应包含分支证书。链式证书上限为最多九个证书。
  • 服务器证书 - 公共服务器证书

    注意: server.crt文件必须包含整个链,如以下示例所示:
    -----server cert-----
    -----root ca chain----------server cert-----
    -----root ca chain-----
  • 私钥 - 服务器证书的私钥

uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.keyuipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key 
如果您选择自己管理证书,则必须在证书更新命令中使用--use-istio-cert标志。 此标志允许将现有密码复制到<uipath>命名空间。 请注意,在使用--use-istio-cert标志时,不得使用任何其他证书标志,否则命令将失败。 如果使用其他命名空间而不是<uipath> ,则必须通过将其传递给--namespace标志来指定。

访问 TLS 证书

要打印证书文件,请运行以下命令:

uipathctl config tls-certificates getuipathctl config tls-certificates get

管理其他 CA 证书

重要提示:

如果您希望集群信任外部软件,您可能需要提供其他受信任的 CA 证书。 例如 SQL Server CA 证书、SMTP Server CA 证书和外部 S3 兼容对象存储 CA 证书。

您必须为在安装期间需要安全 TLS 通信的任何外部软件提供 CA 证书。 但是,如果尚未启用 TLS 通信,则可以在安装后进行配置。

要查看有关其他 CA 证书的更多信息,请运行以下命令:

uipathctl config additional-ca-certificates --help uipathctl config additional-ca-certificates --help

输出:

***************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

******************************************************************************************************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

***************************************************************************************
以下部分描述了可以使用 uipathctl config additional-ca-certificates 命令执行的操作。

更新 CA 证书

此命令可帮助您更新或替换现有的已配置 CA 证书。

uipathctl config additional-ca-certificates update --cacert additional_ca.crtuipathctl config additional-ca-certificates update --cacert additional_ca.crt
备注:
上面的命令将新证书添加到现有证书列表中。如果要替换以前配置的所有证书,请确保在末尾附加 --replace
CA 证书捆绑包文件应为有效的 .pem 格式,并且可以包含多个证书。

访问 CA 证书

要下载已配置的 CA 证书,请运行以下命令:

uipathctl config additional-ca-certificates get uipathctl config additional-ca-certificates get

管理身份令牌签名证书

Automation Suite 提供了两种方法来管理身份令牌签名证书的轮换:自动和手动。

要查看有关身份令牌签名证书的更多信息,请运行以下命令:

uipathctl config token-signing-certificates --help uipathctl config token-signing-certificates --help

输出:

************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  get         Get the current token signing certificate
  rotate      Rotate token signing certificates
  update      Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  get         Get the current token signing certificate
  rotate      Rotate token signing certificates
  update      Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************
重要提示:

您可以使用最大密钥长度 4096 位对证书进行签名。 作为最佳实践,我们强烈建议您使用至少 512 位(64 字节)长度的密钥。

下一节将详细介绍可以使用uipathctl config token-signing-certificates命令执行的操作。

自动证书轮换

自动证书轮换意味着 Automation Suite 管理签名密钥的生命周期。 这包括每 90 天轮换一次密钥,在轮换前 14 天宣布新密钥,轮换后将旧密钥保留 14 天,然后在 14 天的期限结束时将其删除。

如果要从旧版本升级到 2024.10,默认情况下会禁用自动证书轮换。 要启用自动密钥管理,请使用以下命令:

uipathctl config token-signing-certificates automatic-key-management enableuipathctl config token-signing-certificates automatic-key-management enable
重要提示:

启用自动证书轮换可能会导致长达一小时的停机。

对于全新的 Automation Suite 安装,默认情况下启用自动证书轮换。 要禁用自动密钥管理,请使用以下命令:

uipathctl config token-signing-certificates automatic-key-management disableuipathctl config token-signing-certificates automatic-key-management disable

如果禁用了自动管理功能,则需要手动更新和轮换签名证书。 有关手动密钥管理的详细信息,请参阅有关手动更新和轮换证书的文档。

手动更新证书

要上传新证书以对令牌进行签名,请运行以下命令:

备注:

以下命令不会替换现有令牌签名证书。

确保您提供的证书采用.pem格式。
server.crt文件必须包含整个链,如以下示例所示:
-----server cert-----
-----root ca chain----------server cert-----
-----root ca chain-----
uipathctl config token-signing-certificates update --cert server.crt --key server.keyuipathctl config token-signing-certificates update --cert server.crt --key server.key

手动轮换证书

要轮换旧证书或将其替换为新证书,请运行以下命令:

uipathctl config token-signing-certificates rotateuipathctl config token-signing-certificates rotate

访问证书

要下载当前的令牌签名证书,请运行以下命令:

uipathctl config token-signing-certificates getuipathctl config token-signing-certificates get
备注:

证书更新和轮换之间应有大约 24 到 48 小时的提前期。

我们需要这个提前期来继续支持由旧证书签名的缓存令牌的身份验证。

在缓存令牌过期之前过早轮换证书可能会导致停机。 在这种情况下,您可能必须重新启动所有机器人。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。