Azure应用注册-范围和权限

时间:2020-03-05 22:14:21

标签: azure azure-active-directory microsoft-graph-api azure-ad-graph-api

我有一个Windows服务应用程序,该应用程序需要使用Azure AD对多个服务帐户进行身份验证...每个实例将具有一个不同的服务帐户。 (例如,我在3个不同的服务器上有3个实例,这些服务器具有3个不同的服务帐户-S1,S2,S3)。 此服务使用Microsoft Graph API从共享的电子邮件地址(每个实例都有自己的共享电子邮件E1,S1,E2用于S2和E3用于S3)中读取。

我需要在Azure应用注册中需要什么样的权限或设置,才能使S1读取E1(并且不能读取其他内容),S2仅用于E2和S3仅用于E3。

我正在考虑在单个租户中注册该应用程序,并添加3个所有者S1,S2,S3。 因此,服务帐户使用user \ pass进行静默身份验证,并从共享电子邮件中读取。 范围应设置为Mail.Read.Shared。

管理员用户将同意所需的权限...因为没有UI。

这是正确的设置吗?

1 个答案:

答案 0 :(得分:0)

从设计的角度来看,您的想法是正确的。

除了Mail.Read.Shared之外,您可能还需要基本的委托权限Mail.ReadBasicMail.Read才能阅读电子邮件。

由于您希望S1读取E1(并且不能读取其他内容),因此应实现Get access on behalf of a user。因此S1只能访问自己的共享电子邮件。

当然password flow也适用于这种情况。