- 概述
- 要求
- 部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 2:为离线安装配置符合 OCI 的注册表
- 步骤 3:配置外部对象存储
- 步骤 4:配置 High Availability Add-on
- 步骤 5:配置 SQL 数据库
- 步骤 7:配置 DNS
- 步骤 8:配置磁盘
- 步骤 9:配置内核和操作系统级别设置
- 步骤 10:配置节点端口
- 步骤 11:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- Cluster_config.json 示例
- 常规配置
- 配置文件配置
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- ArgoCD 配置
- Kerberos 身份验证配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- 添加具有 GPU 支持的专用代理节点
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 正在运行 uipathctl
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何减少 NFS 备份目录的权限
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 将 Ceph 退出只读模式
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何禁用 TX 校验和卸载
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何扩展 AI Center 存储
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 如何查看 TLS 版本
- 如何使用证书
- 如何计划 Ceph 备份和还原数据
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何在离线环境中安装 RKE2 SELinux
- 如何清理 NFS 服务器上的旧差异备份
- 如何在已启用 FIPS 的集群中部署 Insights
- 如何迁移到 cgroup v2
- 如何在虚拟机重新启动后恢复 Kerberos 身份验证
- 如何将本地 Docker 映像推送到集群内注册表
- 如何从备份中排除存储桶
- 无法获取沙盒映像
- Pod 未显示在 ArgoCD 用户界面中
- Redis 探测器失败
- RKE2 服务器无法启动
- ArgoCD 在首次安装后进入“进行中”状态
- 处于 CrashLoopBackOff 状态的 ArgoCD 存储库服务器 Pod
- 手动 ArgoCD 网络策略缓解措施 (MHSA-47m3-95c7-g2g8)
- 监控仪表板中缺少 Ceph-rook 指标
- 诊断性运行状况检查期间报告的错误不匹配
- 为 uipathctl 创建的工作负载配置资源请求和限制
- 无正常的上游问题
- 杀毒软件阻止了 Redis 启动
- 无法在启用 TLS 证书验证的情况下启动 AI Center 和 Document Understanding Pod
- Fluentd 不会在 IPv6 环境中导出日志
- Studio 桌面版无法加载 Integration Service 连接器和活动
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
有关 Automation Suite 的 Kerberos 身份验证设置先决条件和配置步骤的参考。
先决条件
要成功设置 Kerberos 身份验证,您必须满足以下先决条件:
确保 Automation Suite 集群可以访问您的 AD
在配置 Kerberos 身份验证之前,请与 IT 管理员合作,确保 Automation Suite 集群可以访问您的 AD。
必须满足以下要求:
-
Automation Suite 集群必须与 AD 域位于同一网络上;
-
在网络上正确设置 DNS,以便 Automation Suite 集群可以解析 AD 的域名。
备注:Automation Suite 集群必须能够解析 AD
domain names。您可以通过在主机上运行nslookup <AD domain name>来验证这一点。
配置 AD 服务帐户以进行 Kerberos 身份验证
生成 Kerberos 默认密钥表和用户名参数
选项 1:运行脚本(推荐)
-
在已加入域的 Windows 计算机上使用 AD 管理员帐户登录。
-
以管理员身份运行keytab-creator.ps1脚本。
-
在脚本中输入以下值:
Service Fabric FQDN。例如uipath-34i5ui35f.westeurope.cloudapp.azure.com。AD domain FQDN。例如TESTDOMAIN.LOCAL。- AD 用户帐户。您可以使用现有帐户,例如
sAMAccountName,也可以允许脚本创建新帐户。
输出文件包含 Kerberos 设置所需的 <KERB_DEFAULT_USERNAME> 和 <KERB_DEFAULT_KEYTAB> 参数。
选项 2:手动
请联系 AD 管理员以获取 AD 用户帐户,并检索该帐户的 <KERB_DEFAULT_USERNAME> 和 <KERB_DEFAULT_KEYTAB>,如下所示:
-
在 AD 服务器中,创建一个新的计算机帐户。如果您已有帐户,请跳到步骤 2。
- 在 Active Directory 的“用户和计算机”控制台中,打开“用户”文件夹的上下文菜单,选择“新建” ,然后选择“用户” 。
- 完成用户帐户的创建。
-
打开用户帐户的上下文菜单,然后选择“属性” 。
-
转到“帐户”选项卡,然后在“帐户选项”下选择“此帐户支持 Kerberos AES 256 位加密”。
-
重要提示:如果 AD 用户的密码已过期或已更新,则在后续步骤中生成的密钥表将失效。考虑选中此 AD 用户帐户的“帐户”选项下的“密码永不过期”。或者,您可以在密码即将过期时更新密码并生成新的密钥表。
-
要为 SPN 生成密钥表文件,请使用管理员访问权限打开 PowerShell 并执行以下命令:
ktpass -princ HTTP/<Service Fabric FQDN>@<AD FQDN in cap> -pass <AD user's password> -mapuser <AD NetBIOS name in cap>\<AD user name> -pType KRB5_NT_PRINCIPAL -out <output file path> -crypto AES256-SHA1ktpass -princ HTTP/<Service Fabric FQDN>@<AD FQDN in cap> -pass <AD user's password> -mapuser <AD NetBIOS name in cap>\<AD user name> -pType KRB5_NT_PRINCIPAL -out <output file path> -crypto AES256-SHA1某些字段必须指定为大写形式。例如:
ktpass -princ HTTP/uipath-34i5ui35f.westeurope.cloudapp.azure.com@TESTDOMAIN.LOCAL -pass pwd123 -mapuser TESTDOMAIN\aduser -pType KRB5_NT_PRINCIPAL -out c:\krb5.keytab -crypto AES256-SHA1 -setpassktpass -princ HTTP/uipath-34i5ui35f.westeurope.cloudapp.azure.com@TESTDOMAIN.LOCAL -pass pwd123 -mapuser TESTDOMAIN\aduser -pType KRB5_NT_PRINCIPAL -out c:\krb5.keytab -crypto AES256-SHA1 -setpass备注:要更新 Automation Suite 的密钥表,请运行带有
-setpass选项的命令。首次生成密钥表时,您必须以域管理员身份运行命令。这是必需的,因为该命令会更新服务帐户的 SPN。对于以后的更新,如果 SPN 映射未更改,则可以以域用户身份运行命令。生成密钥表后,用户登录名将更改为
HTTP/<Service Fabric FQDN>。 将此值用于<KERB_DEFAULT_USERNAME>default_ad_username中 的cluster_config.json字段,如下所示:"kerberos_auth_config": { "enabled": true, "ticket_lifetime_in_hour": 8, "ad_domain": "AUTOSUITEAD.LOCAL", "default_ad_username": "HTTP/sfqakxxxx-ea.infra.uipath-dev.com", "default_user_keytab": "BQIAAAB9AAIxxxxxxxxxxxxxxxxxxGRCqh+yQ=" "enable_integrated_sql_auth": true },"kerberos_auth_config": { "enabled": true, "ticket_lifetime_in_hour": 8, "ad_domain": "AUTOSUITEAD.LOCAL", "default_ad_username": "HTTP/sfqakxxxx-ea.infra.uipath-dev.com", "default_user_keytab": "BQIAAAB9AAIxxxxxxxxxxxxxxxxxxGRCqh+yQ=" "enable_integrated_sql_auth": true },备注:默认情况下,
enable_integrated_sql_auth参数设置为true。 如果要为所有产品禁用 SQL 的 Kerberos 身份验证,则必须将该参数设置为false。 -
对生成的密钥表文件进行 Base64 编码,打开 PowerShell 并执行以下命令:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>"))[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>")) -
保存已编码的密钥表文件。为 Kerberos 配置 UiPath™ 集群时加以使用。我们将步骤 6 中的值称为
<KERB_DEFAULT_KEYTAB>。
可选:SQL 身份验证先决条件
要将 UiPath™ 集群配置为使用 Windows 集成身份验证/Kerberos 连接到 SQL,您需要执行一些其他步骤:
- SQL Server 必须加入 AD 域;
- Automation Suite 集群必须与 SQL Server 位于同一网络上;
- Automation Suite 集群可以解析 AD 和 SQL 服务器的域名;
- AD 用户必须具有针对 SQL Server 和 DB 的访问权限。
要在 SQL Server Management Studio 中创建新的登录名,请执行以下步骤:
a. 在“对象资源管理器”面板中,导航到“安全”>“登录”。
b。打开“登录名”文件夹的上下文菜单,然后选择“新建登录名” 。系统将显示“登录名 - 新建”窗口。
c. 选择“Windows 身份验证”选项。窗口将相应更新。
d.在“登录名”字段中,输入要用作服务帐户的用户域。
e. 从“默认语言”列表中选择“English”。
确保将“默认语言”设置为“English” 。否则,网站将无法启动,并且安装了 Orchestrator 的计算机上的事件查看器将显示以下错误消息: The conversion of a varchar data type to a datetime data type resulted in an out of range value 。
f。选择“确定” 。您的配置已保存。
如果服务帐户已创建并添加到 SQL Server 的“安全”>“登录”部分,请检查该 SQL 帐户的默认语言是否设置为英语。如果不是,请进行必要的调整。
您需要为连接到 SQL 数据库的用户提供 db_owner 用户映射角色,如以下屏幕截图所示。
如果安全限制不允许您通过 UiPath™ 登录使用 db_owner 用户映射角色,请授予以下权限:
db_datareaderdb_datawriterdb_ddladmindbo架构上的EXECUTE权限
下图显示了在不能使用 db_owner 时要授予的数据库权限。
必须使用 GRANT EXECUTE SQL 命令授予 EXECUTE 权限,如下所示:
USE UiPath
GO
GRANT EXECUTE ON SCHEMA::dbo TO [domain\)\)user]
GO
USE UiPath
GO
GRANT EXECUTE ON SCHEMA::dbo TO [domain\)\)user]
GO
如果您希望 UiPath 应用程序使用唯一 AD 用户帐户通过 Integrated Security=True 连接到 SQL,则需要为每个 UiPath™ 应用程序创建一个唯一的密钥表,如下所示。对于该应用程序,我们将之称为 <KERB_APP_KEYTAB>。
生成 Kerberos 应用程序密钥表和用户名参数
选项 1:运行脚本(推荐)
-
运行 service-keytab-creator.ps1 脚本。
-
在脚本中输入以下值:
AD domain FQDN。例如TESTDOMAIN.LOCAL。- AD 用户帐户的用户名和密码。例如,AD 用户帐户
sAMAccountName及其密码。
输出文件包含 Kerberos 所需的 <KERB_APP_USERNAME> 和 <KERB_APP_KEYTAB> 参数。
选项 2:手动
手动运行以下脚本:
# Generate keytab file and output it in the desired path
ktpass /princ <AD username>@<AD domain in cap> /pass <AD user password> /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /out <path to keytab file> -setpass
# Converts AD user's keytab file to base 64
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>"))
# Generate keytab file and output it in the desired path
ktpass /princ <AD username>@<AD domain in cap> /pass <AD user password> /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /out <path to keytab file> -setpass
# Converts AD user's keytab file to base 64
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<path to the generated keytab file>"))
值 <AD username> 将是与 <KERB_APP_USERNAME> 对应的 <KERB_APP_KEYTAB>。
将 Automation Suite 配置为 Kerberos 客户端
本节说明如何将 Automation Suite 配置为用于访问 LDAP 或 SQL 的 Kerberos 客户端。
使用 <KERB_DEFAULT_KEYTAB>,通过以下方式之一将 Automation Suite 配置为 Kerberos 客户端:
- 通过交互式安装程序配置 Kerberos 身份验证
- 通过 cluster_config.json 配置 Kerberos 身份验证
备注:
目前,通过将
kerberos_auth_config.enabled设置为 true,将kerberos_auth_config.enable_integrated_sql_auth设置为 false,我们允许仅独立配置用户身份验证。仍不支持独立 SQL 身份验证。
通过 cluster_config.json 配置 Kerberos 身份验证
-
在
cluster_config.json文件中,将kerberos_auth_config.enabled参数设置为true。 -
如果要使用 Kerberos 进行访问 SQL,请使用“集成安全性”标志配置
sql_connection_string_template、sql_connection_string_template_jdbc和sql_connection_string_template_odbc。备注:不仅支持对 SQL 进行 Kerberos 身份验证。要使用 SQL 身份验证激活 Kerberos,您必须启用
kerberos_auth_config。这还会添加用户身份验证。 -
如果要为每个服务设置不同的 AD 用户,请执行以下步骤:
-
在服务组的 JSON 对象中指定
ad_username和user_keytab。 -
更新服务的 SQL 连接字符串以启用集成安全性。
-
在全局级别启用 Kerberos 身份验证时,
enabled参数默认设置为true。 如果要为特定产品禁用 SQL 的 Kerberos 身份验证,则必须将enabled设置为false。JSON 对象应如下所示:
"<serviceGroupName>": { "kerberos_auth_config": { "ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for this service group", "user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for this service group", "enabled": true } }"<serviceGroupName>": { "kerberos_auth_config": { "ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for this service group", "user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for this service group", "enabled": true } }备注:有关服务组名称的列表,请参阅“服务组和服务” 。
-
-
更新
cluster_config.json后,运行安装程序脚本以更新配置。有关详细信息,请参阅管理产品。备注:您可以使用此过程来更新或轮换 Kerberos 密钥表。
更新 Orchestrator 和平台以使用 Kerberos 身份验证的示例
"kerberos_auth_config": {
"enabled" : true,
"ticket_lifetime_in_hour" : 8,
"ad_domain": "PLACEHOLDER - INSERT ACTIVE DIRECTORY DOMAIN",
"default_ad_username": "PLACEHOLDER - INSERT KERB_DEFAULT_USERNAME",
"default_user_keytab": "PLACEHOLDER - INSERT KERB_DEFAULT_KEYTAB",
"enable_integrated_sql_auth": true
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Orchestrator;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"kerberos_auth_config": {
"ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for Orchestrator",
"user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for Orchestrator",
"enabled": true
},
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
}
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Platform;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"kerberos_auth_config": {
"ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for platform",
"user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for platform",
"enabled": true
}
}
"kerberos_auth_config": {
"enabled" : true,
"ticket_lifetime_in_hour" : 8,
"ad_domain": "PLACEHOLDER - INSERT ACTIVE DIRECTORY DOMAIN",
"default_ad_username": "PLACEHOLDER - INSERT KERB_DEFAULT_USERNAME",
"default_user_keytab": "PLACEHOLDER - INSERT KERB_DEFAULT_KEYTAB",
"enable_integrated_sql_auth": true
},
"sql_connection_string_template": "PLACEHOLDER",
"sql_connection_string_template_jdbc": "PLACEHOLDER",
"sql_connection_string_template_odbc": "PLACEHOLDER",
"orchestrator": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Orchestrator;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"kerberos_auth_config": {
"ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for Orchestrator",
"user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for Orchestrator",
"enabled": true
},
"testautomation": {
"enabled": true
},
"updateserver": {
"enabled": true
}
},
"platform": {
"sql_connection_str": "Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_Platform;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;",
"kerberos_auth_config": {
"ad_username": "PLACEHOLDER - INSERT KERB_APP_USERNAME for platform",
"user_keytab": "PLACEHOLDER - INSERT KERB_APP_KEYTAB for platform",
"enabled": true
}
}
默认情况下, enable_integrated_sql_auth参数设置为true 。如果要为所有产品禁用 SQL 的 Kerberos 身份验证,则必须将此参数设置为false 。
服务组和服务
下表列出了可用的服务组及其包含的服务。cluster_config.json文件或 ArgoCD 用户界面中的名称略有不同。
cluster_config.json 的服务组名称 cluster_config.json | ArgoCD 的服务组名称 | 包含的服务 |
|---|---|---|
orchestrator | orchestrator | Orchestrator、Webhook |
platform | platform | 身份、许可证会计 (LA)、审核、位置、许可证资源管理器 (LRM)、组织管理服务 (OMS) |
discovery_group | discoverygroup | Automation Hub |
test_manager | testmanager | Test Manager |
automation_ops | automationops | Automation Ops |
aicenter | aicenter | AI Center |
documentunderstanding | documentunderstanding | Document Understanding |
insights | insights | Insights |
dataservice | dataservice | Data Service |
asrobots | asrobots | Automation Suite 机器人 |
processmining | processmining | Process Mining |
配置 Active Directory 集成
要在登录 Automation Suite 时使用 Kerberos 身份验证,您必须进一步配置 Automation Suite 主机设置。
禁用 Kerberos 身份验证
完全删除 Kerberos 身份验证
要完全删除 Kerberos 身份验证,请执行以下步骤:
- 如果您使用 Kerberos 来配置 AD 集成,请按照配置 Active Directory 集成中的说明使用用户名和密码选项重新配置 AD。
- 如果您使用了 SQL 集成身份验证,请将 SQL 连接字符串配置为使用“用户 ID ”和“密码”。
- 禁用 Kerberos 身份验证。在
cluster_config.json文件中,将kerberos_auth_config.enabled参数设置为false,然后运行安装程序脚本以更新配置。有关详细信息,请参阅管理产品。
删除 SQL 集成身份验证
要删除 SQL 集成身份验证,请执行以下步骤:
- 将 SQL 连接字符串配置为使用“用户 ID ”和“密码”。
- 如果要禁用所有服务的 SQL 集成身份验证,请在
cluster_config.json文件中将kerberos_auth_config.enabled参数设置为false,然后运行安装程序脚本以更新配置。有关详细信息,请参阅管理产品。
Kerberos 故障排除
如果在配置 Kerberos 时遇到任何问题,请参阅身份验证故障排除。