如何配置Azure AD应用仅允许代特定用户通过MS Graph发送邮件
Azure AD应用限制代发邮件账号的配置方案
针对你使用应用程序权限调用MS Graph发送邮件,需要限制仅能代指定用户发送的需求,可以通过Exchange Online的应用访问策略实现,具体配置步骤如下:
前置准备
- 记录你注册的Azure AD应用的客户端ID(应用程序ID)
- 确认允许代发邮件的指定用户邮箱,例如示例中的
johndoe@mytenant.com - 准备租户全局管理员或Exchange管理员权限,用于执行Exchange Online PowerShell配置
配置步骤
- 安装Exchange Online PowerShell模块(已安装可跳过)
执行命令:
Install-Module -Name ExchangeOnlineManagement -Force
- 连接到你的租户Exchange Online服务
执行命令,替换为你自己的租户域名后按提示登录管理员账号:
Connect-ExchangeOnline -Organization 你的租户域名.onmicrosoft.com
- 创建应用访问限制策略
执行以下命令,替换对应参数值:
New-ApplicationAccessPolicy -AppId "你的Azure应用客户端ID" -PolicyScopeGroupId "johndoe@mytenant.com" -AccessRight RestrictAccess -Description "限制该应用仅可代指定用户发送邮件"
说明:如果你需要允许该应用代多个用户发邮件,可以创建一个启用邮件的安全组,把所有允许的用户加入该组,把
PolicyScopeGroupId参数的值替换为该安全组的邮箱地址即可。
验证配置生效
- 策略创建后需要等待10~15分钟同步到Azure AD和MS Graph服务
- 先测试代配置允许的用户发送邮件,确认功能正常
- 再测试代租户内其他未授权的用户发送邮件,此时接口会返回403 禁止访问错误,说明限制已生效
额外优化建议
如果你当前的业务逻辑不需要读取全租户用户信息,可以删除已授予的User.Read.All应用权限,仅保留Mail.Send权限,遵循最小权限原则降低安全风险。
内容的提问来源于stack exchange,提问作者Jela
相关产品推荐
相关产品推荐

