Microsoft Graph 将应用程序权限用于后台服务。对于 Outlook API,应用程序权限 Mail.ReadWrite 授予对所有邮箱的访问权限。
有没有办法限制对特定邮箱的访问?
https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference
Microsoft Graph 将应用程序权限用于后台服务。对于 Outlook API,应用程序权限 Mail.ReadWrite 授予对所有邮箱的访问权限。
有没有办法限制对特定邮箱的访问?
https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference
不,您应该在该实例中使用委托访问权限和 Mail.ReadWrite.Shared 授权,这将授予所有者邮箱和与该用户共享的任何邮箱的访问权限(例如,他们已被授权访问)。
我同意你所说的将是一个很好的功能,能够选择退出某些邮箱/用户等的应用程序权限是一个出现的要求,但这样做的能力并不存在。缓解这种情况的一种方法是使用服务器端的逻辑,例如强制应用程序在访问邮箱等之前检查组,并确保打开审核,以便您可以捕获对令牌和凭据的任何恶意使用。
根据Microsoft Docs ,这现在是可能的。
某些应用程序使用自己的身份而不是代表用户调用 Microsoft Graph。这些通常是在没有登录用户的情况下在服务器上运行的后台服务或守护程序应用程序。这些应用程序利用 OAuth 2.0 客户端凭据授予流程进行身份验证,并配置了应用程序权限,这使此类应用程序能够访问 Exchange Online 上组织中的所有邮箱。例如,Mail.Read 应用程序权限允许应用程序在没有登录用户的情况下阅读所有邮箱中的邮件。
想要限制应用程序访问特定邮箱集的管理员可以使用 New-ApplicationAccessPolicy PowerShell cmdlet 来配置访问控制。