Azure AD B2B注册流程中如何为来宾用户分配角色或添加至默认组
Azure AD External Identities 新注册来宾用户授权解决方案
以下为三种可落地的实现方案:
方案1:动态安全组自动匹配所有来宾用户(最推荐,无额外开发成本)
- 进入Azure AD管理中心,创建「安全」类型的动态用户组
- 配置动态成员规则,匹配所有通过External Identities注册的来宾用户,参考规则如下:
user.userType -eq "Guest" and (user.creationType -eq "LocalAccount" or user.creationType -eq "Invitation")
你可以根据你实际的用户属性调整规则,确保所有新注册的外部用户都能匹配到规则 - 进入你配置的企业应用管理页,为上述动态组分配应用所需的访问角色即可。用户注册完成后会自动加入动态组,继承组的角色权限,无需人工操作
提示:动态组成员资格更新存在最多15分钟的延迟,若需要实时生效可选择方案2
方案2:用户流绑定API连接器实现注册后即时授权
- 在Azure AD External Identities的「API连接器」模块配置你自己开发的业务接口
- 进入你创建的注册/登录用户流,在「用户属性」→「创建用户后」步骤绑定上述API连接器
- 在你的业务接口逻辑中调用Microsoft Graph接口,执行以下任意一种操作即可完成授权:
- 将用户加入指定预置好角色权限的组:
POST /groups/{目标组ID}/members/$ref - 直接为用户分配应用角色:
POST /users/{用户ID}/appRoleAssignments
- 将用户加入指定预置好角色权限的组:
方案3:关闭应用用户分配校验(仅测试环境适用)
- 若你的应用允许所有注册用户访问,无需做细粒度权限控制,可以进入企业应用的「属性」页面,将需要进行用户分配? 选项设置为「否」,即可直接消除
The signed in user is not assigned to a role for the application报错
警告:该配置会放开所有通过身份验证的用户的应用访问权限,生产环境不建议使用
内容的提问来源于stack exchange,提问作者manuel mourato
相关产品推荐
相关产品推荐

