- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 集群管理
- 特定于产品的配置
- 故障排除
OpenShift 上的 Automation Suite 安装指南
管理证书
安装流程会代表您生成自签名证书。 安装完成后,应立即将其替换为由受信任的证书颁发机构 (CA) 签名的证书。
uipathctl
CLI 工具在安装后更新证书。 有关详细信息,请参阅uipathctl 文档。
要生成 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 证书的更多信息,请运行以下命令:
uipathctl config update-tls-certificates --help
uipathctl 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)
************************************************************************************
<istio-system>
命名空间中的 istio-ingressgateway-certs
名称下找到证书。
请参阅以下列表中的证书文件:
-
服务器 TLS 证书存储为
tls.crt
-
作为
tls.key
的服务器 TLS 私钥 -
CA 捆绑包存储为
ca.crt
您可以使用以下命令验证密码:
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
<uipath>
命名空间中。 这适用于需要证书信息以信任传入调用的所有 UiPath™ 产品。 有关详细信息,请参阅了解与证书相关的容器架构。
在更新服务器证书之前,您必须解密证书密钥。 跳过解密步骤将导致错误。
要解密证书密钥,请运行以下命令:
# 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.key
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
--use-istio-cert
标志。 此标志允许将现有密码复制到<uipath>
命名空间。 请注意,在使用--use-istio-cert
标志时,不得使用任何其他证书标志,否则命令将失败。 如果使用其他命名空间而不是<uipath>
,则必须通过将其传递给--namespace
标志来指定。
如果您希望集群信任外部软件,您可能需要提供其他受信任的 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 证书。
uipathctl config additional-ca-certificates update --cacert additional_ca.crt
uipathctl config additional-ca-certificates update --cacert additional_ca.crt
--replace
。
.pem
格式,并且可以包含多个证书。
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 enable
uipathctl config token-signing-certificates automatic-key-management enable
启用自动证书轮换可能会导致长达一小时的停机。
对于全新的 Automation Suite 安装,默认情况下启用自动证书轮换。 要禁用自动密钥管理,请使用以下命令:
uipathctl config token-signing-certificates automatic-key-management disable
uipathctl 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.key
uipathctl config token-signing-certificates update --cert server.crt --key server.key
要轮换旧证书或将其替换为新证书,请运行以下命令:
uipathctl config token-signing-certificates rotate
uipathctl config token-signing-certificates rotate