配置 SAML 集成
您可以将 Orchestrator 连接到任何使用 SAML 2.0 标准的身份提供程序 (IdP)。本页通过展示一些 SAML 集成配置示例来说明整个流程。
SAML 集成经精心设计,您可以逐步实施,而不会影响现有用户。
此页面更详细地描述了流程的主要阶段,其中包括:
- 清理非活动用户帐户
- 配置 SAML 集成
- 转换现有用户以使用 SAML SSO 登录
- 为新用户配置权限和机器人
- 停止使用本地帐户(可选)
“SAML SSO 配置”页面显示的“断言客户服务 URL”不正确。
https://{your-domain}/91483651-d8d6-4673-bd3f-54b0f7dc513a/identity_/Saml2/Acs
将变为 https://{your-domain}/identity_/Saml2/Acs
此解决方法存在两个注意事项:
-
IDP 发起的登录流程将无法按预期工作。
-
已在 2023.4 中修复此问题。升级到 2023.4 及以上版本后,您需要更改“断言客户服务 URL”,以包含分区 ID。
要设置 SAML 集成,您需要:
- 一个拥有企业版或企业版使用许可证的 Orchestrator 组织。
-
Orchestrator 和第三方身份提供程序中的管理员权限。
如果您在身份提供程序中没有管理员权限,则可以与管理员合作完成设置流程。
-
推荐使用 UiPath™ Studio 和 UiPath Assistant 2020.10.3 或更高版本,以便您可以将其设置为使用推荐的部署。
备注:如果您当前使用的是 Azure Active Directory 集成进行身份验证,我们建议您继续使用 AAD 集成,因为其功能更丰富。
如果您确实决定不再使用 AAD 集成,则必须将通过目录组完成的角色分配手动替换为对目录帐户的直接角色分配,这样您就不必完全重新创建访问架构。
如果您的组织回收电子邮件地址,则在配置 SAML 集成之前请务必删除所有非活动的用户帐户。
启用集成时,Orchestrator 中的本地帐户可以与使用相同电子邮件地址的外部身份提供程序中的目录帐户相关联。当目录帐户用户首次使用该电子邮件地址登录时,会与该帐户关联。身份提供程序的身份将继承本地帐户具有的任何角色,以便无缝转换。
因此,如果 Orchestrator 中存在不活动的本地帐户,则存在本地帐户和目录帐户不匹配的风险,这可能会导致权限意外提升。
要删除非活动的用户帐户,请执行以下操作:
现在,您必须为集成配置 Orchestrator 和身份提供程序 (IdP)。
Orchestrator 可以连接到使用 SAML 2.0 标准的任何第三方身份提供程序 (IdP)。
虽然配置可能因您选择的 IdP 而异,但我们已验证以下提供程序的配置:
-
奥克塔
-
PingOne。
您可以使用下面的配置说明设置与这些提供程序的集成。
对于其他身份提供程序,我们建议您遵循其集成文档。
A. Okta 的示例配置
- 在其他浏览器选项卡中,登录到“Okta 管理控制台”。
- 转到“应用程序”>“应用程序”,单击“创建应用程序集成” ,然后选择“SAML 2.0”作为登录方法。
- 在“常规设置”页面中,指定要集成的应用程序名称,即 Orchestrator。
-
在“配置 SAML”页面上,按照以下内容填写“常规”部分:
- 单点登录 URL:输入从 Orchestrator 获取的“断言使用者服务 URL”值。
- 选中“将此用于收件人 URL 和目标 URL”复选框。
- “受众 URI”:输入从 Orchestrator 获取的“实体 ID”值。
- 姓名 ID 格式:选择“电子邮件地址”
- 应用程序用户名:选择“电子邮件”
-
对于属性语句,请添加以下内容:
-
名称:
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
- 将“名称格式”保留为“未指定”。
-
将“值”设置为
user.email
或包含用户唯一电子邮件地址的用户属性。 - 添加其他属性映射(可选)。Orchestrator 还支持“名字”、“姓氏”、“职位名称”和“部门”用户属性。然后,此信息将传播到 Orchestrator,供其他服务(例如 Automation Hub)使用。
-
名称:
- 在“反馈”页面上,选择您偏好的选项。
- 单击“完成”。
- 在“登录”选项卡的“设置”部分,在“查看设置说明”下,复制“身份提供程序元数据 URL”值并保存以备后用。
- 在 Orchestrator 的“应用程序”页面上,选择新创建的应用程序。
- 在“分配”选项卡上,选择“分配”>“分配给人员”,然后选择允许对 Orchestrator 使用 SAML 身份验证的用户。
B. PingOne 的示例配置
要验证 SAML SSO 集成是否正常运行,请执行以下操作:
- 打开一个隐身浏览器窗口。
- 导航到您的 Orchestrator URL。
-
检查以下内容:
- 系统是否会提示您使用 SAML 身份提供程序登录?
- 您能否成功登录?
- 如果您使用与现有用户帐户匹配的电子邮件地址登录,您是否拥有适当的权限?
管理员可以设置即时配置规则,使用 IdP 通过登录提供的属性名称/值对自动将用户添加到现有 UiPath 组。通过利用组,系统会在用户登录时自动为其配置正确的许可证和角色。
系统会在用户登录时评估即时配置规则。如果用户帐户符合规则的条件,系统会自动将其添加到与该规则关联的组中。
group
、关系=is
、值=Automation User
。
阶段 1. 设置配置组
向组添加帐户意味着该帐户将继承为该组定义的许可证、角色和机器人配置(如有)。
因此,如果您针对特定类型的用户(例如,创建自动化的员工或测试自动化的员工)设置了一个组,则只需在 IdP 中以对其他类似帐户采取的相同方式进行设置,即可将该类型的新员工加入。
这样,您只需设置一次组,然后在需要时通过向组添加帐户来复制设置即可。此外,如果需要更改特定用户组的设置,则只需更新一次该组,这些更改便会应用于该组中的所有帐户。
要为配置规则设置组:
-
如有需要,您可以使用其中一个现有组,而不必创建新组。
-
(此为可选项,需要用户许可证管理)如果此组中的用户需要用户许可证,请为该组设置许可证分配规则。
如果您使用的是现有组,请检查该组的许可证分配情况,确保分配的许可证正确无误。如未使用现有组,请更改分配情况,或考虑创建一个新组。
-
为组分配租户角色,也可以完成机器人设置。请参阅向组分配角色。
如果您使用的是现有组,请检查当前分配给该组的角色,确保其符合您将添加到该组中的用户类型。如未使用现有组,请编辑分配给该组的角色,或考虑创建一个新组。
-
根据需要将组添加到文件夹中并分配文件夹角色。请参阅管理文件夹访问权限。
现在,您可以在配置规则中使用此组。
阶段 2. 为组创建配置规则
通过在 SAML 应用程序中进行配置,确保将与 SAML 配置规则关联的声明发送到 SAML 有效负载。
配置 SAML 集成并设置组后:
- 转到“管理” > “安全设置” > “身份验证设置”选项卡。
-
在“SAML SSO”选项下,单击“查看配置规则”:
系统将打开“SAML SSO 配置规则”页面,其中列出了现有规则。
-
在页面右上角,单击“添加规则”。
系统将打开“添加新规则”页面。
- 在“基本详细信息”下,填写“规则名称”字段,并填写“说明”字段(可选)。
-
在“条件”下,单击“添加规则”。
系统会为新条件添加一行字段。它们共同定义帐户在登录时必须满足的条件,才能被添加到稍后选择的组中。
- 在“声明”字段中,输入 IdP 中显示的声明名称。
-
从“关系”列表中,选择声明与值的关系。可选择以下选项:
关系
条件要求
示例
是
精确匹配,区分大小写
Department is RPA
要求Department
声明的值为RPA
。例如,如果值为RPADev
,则不满足条件。此关系适用于多值声明。
例如,如果在Group
声明下发送值administrator
和developer
,则Group is administrator
将是有效关系。非
除指定值外的任何内容,区分大小写
对于Department is not ctr
,任何帐户都将添加到组中,除非Department
的值为ctr
。如果部门为Ctr
或electr
,则满足条件。包含
包括,不需要精确匹配,区分大小写
Department contains RPA
要求Department
声明的值包括RPA
。例如,如果值为RPADev
、xRPAx
或NewRPA
,则满足条件。不包含
排除,不需要精确匹配,区分大小写
对于Department not contains ctr
,任何帐户都将添加到组中,除非Department
值包含ctr
。例如,部门为ctr
或electr
的帐户不会被添加到组中。不区分大小写
精确匹配,不区分大小写
Department is case insensitive RPA
要求Department
声明的值为rpa
(任意大写形式)。例如,如果值为rpa
,则满足条件。如果值为crpa
,则不满足条件。不区分大小写
包含,不需要精确匹配,不区分大小写
Department contains case insensitive RPA
要求Department
声明的值包括RPA
(任意大写)。例如,如果值为rpa
、cRPA
或rpA
,则满足条件。 - 在“值”字段中,输入满足条件所需的值。
-
如果要添加另一个条件,请单击“添加规则”,添加新的条件行。
添加多个条件时,必须满足所有条件才能应用配置规则。例如,如果您定义了Title is Engineer
和Department is RPA
规则,则只有同时属于 RPA 部门且具有职位名称为“工程师”的用户才会被添加到指定的组中。部门为 RPA、但职位名称为 QA 的帐户不会被添加到组中。 -
在“分配给组”下的“添加组”框中,开始输入组名,然后从结果列表中选择一个组。如有需要,重复此操作,添加更多组。
若满足条件,帐户会在登录时自动添加到这些组中。
- 单击右下角的“保存”,添加规则。
规则设置好后,每当用户登录并且其帐户满足为规则指定的条件时,系统均会将其帐户添加到附加至规则的配置组中,还会将其账户设置为可使用。
-
必须将 IdP 配置为在 ACS 负载中传递这些声明。
-
确保 IdP 中配置的属性名称与组织管理员门户中的属性映射设置匹配。
例如,如果这是 IdP 中的用户结构,则组织管理员可以设置以下属性映射设置,以便在系统用户对象中填充此信息。
{
"displayname": "John Doe",
"fname": "John",
"lname": "Doe",
"jobtitle": "Hardware Engineer",
"dpt": "Engineering",
"city": "Phoenix"
}
{
"displayname": "John Doe",
"fname": "John",
"lname": "Doe",
"jobtitle": "Hardware Engineer",
"dpt": "Engineering",
"city": "Phoenix"
}
当此组织中的用户通过 SAML 目录集成登录时,其用户对象会更新,以反映此设置。
{
"Display Name": "John Doe",
"First Name": "John",
"Last Name": "Doe",
"Job Title": "Hardware Engineer",
"Department": "Engineering",
"City": "Phoenix"
}
{
"Display Name": "John Doe",
"First Name": "John",
"Last Name": "Doe",
"Job Title": "Hardware Engineer",
"Department": "Engineering",
"City": "Phoenix"
}
在您配置权限后,我们建议您要求所有现有用户注销其 UiPath 帐户并使用 SAML SSO 登录。
要使用 SAML SSO 登录 Studio 和 Assistant,用户必须按如下方式配置 Assistant:
这仅适用于以前未使用过 Orchestrator,因此在启用集成时未在 Orchestrator 中为他们设置本地帐户的新用户。
您可以通过电子邮件地址 (在外部 IdP 中使用) 将新用户添加到 Orchestrator 组。将用户分配到组或登录后,即可通过在所有 Orchestrator 服务中搜索角色分配来访问组。