microsoft-graph-api - 是否可以将 Microsoft Graph API 的某些路由从客户 Azure 门户列入黑名单?
问题描述
Microsoft Graph API 中的某些资源范围过于敏感,例如 Mail.Send,无法作为应用程序权限授予整个公司。
- 发送邮件:
POST /users/{id | userPrincipalName}/sendMail
允许您冒充某人发送电子邮件(非常敏感) - 发送消息:
POST /users/{id | userPrincipalName}/messages/{id}/send
允许您发送订单以发送电子邮件,而无权修改它(不太敏感)
有没有办法通过Azure 门户中的企业应用程序中的策略来强制向 Microsoft Graph API 发出的某些请求发送 403(或其他任何内容),确保外部服务不能使用敏感路由?或者一种可以简单地安装在客户 Azure中的 Microsoft Graph API代理?还是 Azure 中一个简单的应用服务,它可以简单地处理检索令牌并在 Microsoft Graph API 上使用它?
解决方案
请参阅图表文档中对特定 Exchange Online 邮箱的应用程序权限范围:
某些应用程序使用自己的身份而不是代表用户调用 Microsoft Graph。这些通常是在没有登录用户的情况下在服务器上运行的后台服务或守护程序应用程序。这些应用程序利用 OAuth 2.0 客户端凭据授予流程进行身份验证,并配置了应用程序权限,从而使此类应用程序能够访问 Exchange Online 上组织中的所有邮箱。例如,
Mail.Read
应用程序权限允许应用程序在没有登录用户的情况下阅读所有邮箱中的邮件。想要限制应用程序访问特定邮箱集的管理员可以使用
New-ApplicationAccessPolicy
PowerShell cmdlet 来配置访问控制。本文介绍了配置应用程序访问策略的基本步骤。
例如:
New-ApplicationAccessPolicy
-AppId e7e4dbfc-046f-4074-9b3b-2ae8f144f59b
-PolicyScopeGroupId EvenUsers@contoso.com
-AccessRight RestrictAccess
-Description "Restrict this app to members of distribution group EvenUsers."
推荐阅读
- javascript - 密钥未在 javascript 对象中设置
- amazon-web-services - 是否可以在 AWS 上使用 hostgator 域
- google-cloud-platform - 限制 GCE 中的可用实例类型?
- drools - 来自 kie-server 的 FAILURE 回答(使用 kie-server-showcase 和 business-central-workbench-showcase)
- javascript - NodeJS 写流
- python - 尝试通过 Anaconda Navigator 启动 Jupyter Notebook 时出现 DLL 错误
- symfony - 如何粘贴多个图像 Symfony
- javascript - 事件监听器在触发一次后不起作用
- sql - 在 SQL 中循环遍历 JSON 数据集
- mysql - Joomla 2.5 重复会话错误“PRIMARY' SQL=INSERT INTO”