UIPath的Azure AD应用注册设置

时间:2020-08-03 19:56:26

标签: azure-active-directory uipath

我们在公司内部将UIPath用于RPA。我们尝试设置UIpath来代表其他用户发送邮件。我们遵循了以下指南:https://docs.uipath.com/marketplace/docs/microsoft-office-365-setup

此设置有2件奇怪的事情:

  1. 我们必须在Azure中使应用程序注册成为“公共客户端”。据我所知,通常这适用于前端Web应用程序,在这些Web应用程序中无法隐藏应用程序的机密。这是一个后端过程,所以我认为没有必要使用公共客户端。我说的对吗?拥有公共客户的不利之处是什么?拥有client_id的任何人都可以模拟该应用程序的注册吗? (可以作为该应用程序的注册,并要求用户提供凭据并代表该应用程序获得令牌吗?)

  2. 我向应用程序注册添加了一些api权限,例如mail.read,mail.send等。它表示没有“需要管理员同意”,但是没有用。我按下“管理员同意”按钮后,它说它授予了这些权限,并且配置似乎可以正常工作。这个ADMIN CONSENT按钮有什么作用?如果我向“应用程序注册”添加权限,是否总是需要征得管理员同意?

关于公共证书的一些额外说明:

-我注册了一个名为App-X的应用程序,该应用程序设置为public。

-通常,在没有公共客户端的情况下,当我请求令牌时,我需要client_id和client_secret。通过使用client_secret,Microsoft知道我确实是代表用户请求此令牌的应用程序App-X。

-无需使用client_secret,任何知道client_id的人都可以请求用户同意并说“我是App-X,我正在请求权限”,而实际上他们不是App-X(只是一些随机的人谁找到了client_id)。用户同意后,由于“他知道App-X并且他信任它”,因此恶意用户还可以从Microsoft请求令牌,因为他只需要一个client_id。

1 个答案:

答案 0 :(得分:0)

1。这是一个后端过程,所以我认为没有必要 使用公共客户端。我说的对吗?什么是 拥有公共客户的弊端?任何拥有client_id的人 可以假冒此应用程序注册? (可以充当此应用 注册并要求用户提供凭据并代表获得令牌 这个应用程序的?)

这取决于您的应用程序类型。 “公共客户端”通常用于配置移动和桌面客户端应用程序。由于UIPath是一个监视RPA环境的移动应用程序,因此在注册应用程序时,您需要选择使用“公共客户端”注册。

如果您不希望其他组织的用户使用您的应用程序,则在注册应用程序时无需将其注册为多租户应用程序。如果您的应用程序需要由多个组织使用,则需要将应用程序注册为多租户应用程序。在这种情况下,理论上所有租户都可以使用此应用程序。但是,您可以在登录时验证登录用户来自哪个租户,并且可以防止您不想登录的租户登录。请参阅:here

2。此ADMIN CONSENT按钮的作用是什么?如果我向“应用程序注册”添加权限,是否总是需要征得管理员同意?

每个应用程序都注册所需的权限。某些权限可以由用户授予,而其他权限只能由管理员授予。

让我们假设您只有用户可以同意的权限。首次使用该应用程序时,将提示他们(每个用户)同意这些对应用程序的权限。如果在同一情况下单击grant admin consent,则相当于对租户上的所有用户接受它。

现在让我们假设应用程序注册了需要管理员同意的权限,如果您希望应用程序正常工作并能够请求令牌,则别无选择,只能单击该按钮。

对于需要管理员同意的那些权限,您可以转到Azure portal> App registrations> API permissions> Admin consent required进行查看。

enter image description here