Backstory
我在Azure AD中注册了一个应用程序,该应用程序具有应用程序机密和登录证书。我分配了";Exchange.ManageAsApp";到应用程序,但我仍然无法将组成员添加到应用程序不是所有者的组中。这通常可以通过使用参数";BypassSecurityGroupManagerCheck";。但是这个参数需要Exchange角色";安全组创建和成员资格";。
问题如何将Exchange角色组(包含"安全组创建和成员身份"角色(分配给已注册的应用程序?
很可能我在这里说了最明显的东西,但对于另一个像我在这里一样偶然遇到这个问题的初学者来说,解决方案是:
若要将应用程序添加到Exchange角色组,您需要在Exchange Online中为该应用程序创建服务主体。
创建服务主体就像调用powershell命令一样简单:
Connect-ExchangeOnline
New-ServicePrincipal -DisplayName "<Name of the App>" -AppId <Application (client) ID> -ServiceId <Object ID>
显示名称可以是任何名称,但我建议使用应用程序的名称。其他两个值可以在Azure Active Directory中的应用程序注册中轻松找到。
注册服务主体后,只需使用以下命令即可将该主体分配给任何角色组:
Add-RoleGroupMember -Identity "<Name of role group>" -Member <Application (Client) ID>