Azure active directory UIPath的Azure广告应用注册设置

Azure active directory UIPath的Azure广告应用注册设置,azure-active-directory,uipath,Azure Active Directory,Uipath,我们在公司内部使用UIPath进行RPA。我们尝试设置UIpath以代表其他用户发送邮件。我们遵循以下指南: 此设置有两件奇怪的事情: 我们必须使应用程序注册成为Azure中的“公共客户端”。据我所知,这通常适用于无法隐藏应用程序机密的前端web应用程序。这是一个后端进程,所以我认为没有理由必须使用公共客户端。我说的对吗?拥有一个公共客户的缺点是什么?任何拥有客户端id的人都可以模拟此应用注册?(可以作为此应用程序注册并要求用户提供凭据并代表此应用程序获取令牌?) 我在应用程序注册中添加了一些

我们在公司内部使用UIPath进行RPA。我们尝试设置UIpath以代表其他用户发送邮件。我们遵循以下指南:

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

  • 我们必须使应用程序注册成为Azure中的“公共客户端”。据我所知,这通常适用于无法隐藏应用程序机密的前端web应用程序。这是一个后端进程,所以我认为没有理由必须使用公共客户端。我说的对吗?拥有一个公共客户的缺点是什么?任何拥有客户端id的人都可以模拟此应用注册?(可以作为此应用程序注册并要求用户提供凭据并代表此应用程序获取令牌?)

  • 我在应用程序注册中添加了一些api权限,如mail.read、mail.send等。它声明不需要“管理员同意”,但不起作用。在我按下“管理员同意”按钮后,它说它授予了这些权限,配置似乎正常工作。“管理员同意”按钮的作用是什么?如果我向应用程序注册添加权限,我是否必须始终按管理员同意

  • 关于公共证书的一些额外澄清:

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

    -通常,如果没有公共客户端,当我请求令牌时,我需要客户端id和客户端机密。通过使用client_secret,microsoft知道我确实是代表用户请求此令牌的应用程序App-X

    -在不使用client_secret的情况下,任何知道client_id的人都可以请求用户同意并说“我是App-X,我在请求权限”,而事实上他们不是App-X(只是一些随机找到client_id的人)。在用户同意后,因为“他知道App-X并且信任它”,那么恶意用户/应用程序也可以从microsoft请求令牌,因为他只需要客户端id

    1.这是一个后端流程,所以我认为没有必要这样做 使用公共客户端。我说的对吗?有什么问题 拥有公共客户的负面影响?任何拥有客户id的人 可以模拟此应用注册吗?(可以充当此应用程序。) 注册并要求用户提供凭据并代表其获取令牌 (此应用程序的名称?)

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

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

    2.此管理员同意按钮的作用是什么?如果我向应用程序注册添加权限,我是否必须始终按管理员同意

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

    假设您只有用户可以同意的权限。他们第一次使用应用程序时,系统会提示他们(每个用户)同意对应用程序授予这些权限。如果在同一场景中,您单击“授予管理员许可”,这相当于租户上的所有用户都接受该许可

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

    对于那些需要管理员同意的权限,您可以转到
    Azure portal
    App registrations
    API权限
    需要管理员同意
    查看


    嗨,谢谢你的回答。UIPath不是一个移动应用程序,我的意思是机器人本身发送邮件。机器人或无人看管。另外:公共客户的缺点是什么?这就是我说的吗?让我问一个问题(例如):如果我是我组织的用户(因此没有多租户),并且我想代表我公司的其他用户发送电子邮件,我可以使用此AppId(没有秘密)请求用户同意。那么,没有人知道是我请求同意吗?@EricJansen抱歉,我的答复有点晚。你不必担心有人使用此appid代表他人发送电子邮件。这是不可能的。@EricJansen让我给你举个例子:如果a想代表B发送电子邮件,那么a必须配置为B的代理用户(分配“sendAs”权限将用户B的邮箱分配给代理A用户)。在“sendAs”权限之后,A可以代表B发送电子邮件。您可以参考使用EAC为单个邮箱分配权限:@EricJansen了解更多详细信息,您可以参考以下内容:您好,如果您还有任何疑问,我将尽快回答您。