- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
设置 Kerberos 身份验证
要成功设置 Kerberos 身份验证,您必须满足以下先决条件:
在配置 Kerberos 身份验证之前,请与 IT 管理员合作,确保 Automation Suite 集群可以访问您的 AD。
必须满足以下要求:
- Automation Suite 集群必须与 AD 域位于同一网络上;
-
在网络上正确设置 DNS,以便 Automation Suite 集群可以解析 AD 的域名。
注意:Automation Suite 集群必须能够解析 ADdomain names
。您可以通过在主机上运行nslookup <AD domain name>
来验证这一点。
生成 Kerberos 默认密钥表和用户名参数
选项 1:运行脚本(推荐)
- 在已加入域的 Windows 计算机上使用 AD 管理员帐户登录。
- 以管理员身份运行 keytab-creator.ps1 脚本。
- 在脚本中输入以下值:
Service Fabric FQDN
。例如uipath-34i5ui35f.westeurope.cloudapp.azure.com
。AD domain FQDN
。例如TESTDOMAIN.LOCAL
。- AD 用户帐户。您可以使用现有帐户,例如
sAMAccountName
,也可以允许脚本创建新帐户。
<KERB_DEFAULT_USERNAME>
和 <KERB_DEFAULT_KEYTAB>
参数。
选项 2:手动
<KERB_DEFAULT_USERNAME>
和 <KERB_DEFAULT_KEYTAB>
,如下所示:
要将 UiPath 集群配置为使用 Windows 集成身份验证/Kerberos 连接到 SQL,您需要执行一些其他步骤:
- SQL Server 必须加入 AD 域;
- Automation Suite 集群必须与 SQL Server 位于同一网络上;
- Automation Suite 集群可以解析 AD 和 SQL 服务器的域名;
- AD 用户必须具有针对 SQL Server 和 DB 的访问权限。
要在 SQL Server Management Studio 中创建新的登录名,请执行以下步骤:
-
在“对象资源管理器”面板中,导航到“安全”>“登录”。
-
右键单击“登录名”文件夹,然后选择“新建登录名”。系统将显示“登录名 - 新建”窗口。
-
选择“Windows 身份验证”选项。窗口会相应地更新。
-
在“登录名”字段中,键入要用作服务帐户的用户域。
-
从“默认语言”列表中选择“English”。重要提示:确保将“默认语言”设置为“英语”。否则,网站将无法启动,并且安装了 Orchestrator 的计算机上的事件查看器将显示以下错误消息:“将 VARCHAR 数据类型转换为日期时间数据类型导致值超出范围”。
-
单击“确定”。您的配置已保存。
如果服务帐户已创建并添加到 SQL Server 的“安全”>“登录”部分,请检查该 SQL 帐户的默认语言是否设置为英语。如果不是,请进行必要的调整。
db_owner
用户映射角色,如以下屏幕截图所示。
db_owner
用户映射角色,请授予以下权限:
db_datareader
db_datawriter
db_ddladmin
-
dbo
架构上的EXECUTE
权限
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
Integrated Security=True
连接到 SQL,则需要为每个 UiPath 应用程序创建一个唯一的密钥表,如下所示。对于该应用程序,我们将之称为 <KERB_APP_KEYTAB>
。
生成 Kerberos 应用程序密钥表和用户名参数
选项 1:通过运行脚本(推荐)
-
运行 service-keytab-creator.ps1 脚本。
-
在脚本中输入以下值:
-
AD domain FQDN
。例如TESTDOMAIN.LOCAL
。 -
AD 用户帐户的用户名和密码。例如,AD 用户帐户
sAMAccountName
及其密码。
-
<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 配置为用于访问 LDAP 或 SQL 的 Kerberos 客户端。
<KERB_DEFAULT_KEYTAB>
,通过以下方式之一将 Automation Suite 配置为 Kerberos 客户端:
- 通过交互式安装程序配置 Kerberos 身份验证
- 通过 cluster_config.json 配置 Kerberos 身份验证
-
注意:如果您想将不同的服务设置为在它们自己的 AD 帐户下运行,并以那个 AD 帐户访问 SQL,你可以在服务的配置部分使用该
<KERB_APP_USERNAME>
指定ad_username
并将user_keytab
指定为<KERB_APP_KEYTAB>
。
- 在
cluster_config.json
文件中,将kerberos_auth_config.enabled
参数设置为true
。 - 如果要使用 Kerberos 进行访问 SQL,请使用“集成安全性”标志配置
sql_connection_string_template
、sql_connection_string_template_jdbc
和sql_connection_string_template_odbc
。 - 如果要为每个服务设置不同的 AD 用户,请执行以下步骤:
- 更新
cluster_config.json
后,运行安装程序脚本以更新配置。 有关详细信息,请参阅 管理产品。
更新 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"
},
"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"
}
"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"
}
}
"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"
},
"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"
}
"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"
}
}
服务组和服务
cluster_config.json
文件或 ArgoCD 用户界面中的名称略有不同。
cluster_config.json 的服务组名称 |
ArgoCD 的服务组名称 |
包含的服务 |
---|---|---|
|
|
Orchestrator、Webhook |
|
|
身份、许可证会计 (LA)、审核、位置、许可证资源管理器 (LRM)、组织管理服务 (OMS) |
|
|
Automation Hub、Task Mining |
|
|
Test Manager |
|
|
Automation Ops |
|
|
AI Center |
|
|
Document Understanding |
|
|
Insights |
要通过 CLI 工具更新 Kerberos 身份验证,请参阅更新 Kerberos 身份验证。
要完全删除 Kerberos 身份验证,请执行以下步骤:
- 如果您使用 Kerberos 配置 AD 集成,请按照 配置 Active Directory 集成中的说明使用用户名和密码选项重新配置 AD。
- 如果您使用了 SQL 集成身份验证,请将 SQL 连接字符串配置为使用“ 用户 ID ”和“ 密码”。
- 禁用 Kerberos 身份验证,如下所示:
- 转到 ArgoCD 用户界面,找到 UiPath 应用程序,单击左上角的“应用程序详细信息”按钮,然后导航到“参数”选项卡。
- 单击“ 编辑”,然后将
global.kerberosAuthConfig.enabled
设置为false
。
如果在配置 Kerberos 时遇到任何问题,请参阅身份验证故障排除。