Azure AD中如何阻止部分管理员管理指定组?
在Azure AD租户中限制特定组的管理员权限
可以实现,以下是具体操作方案,支持GUI和PowerShell:
核心逻辑
利用**管理单元(Administrative Units, AU)**的范围限制能力,将目标组test.group纳入专属AU,移除所有非全局管理员在该AU范围内的组管理权限。全局管理员默认拥有全租户权限,不受AU范围限制,因此指定的两名全局管理员自然具备该组的管理权限。
GUI操作步骤
- 创建专属管理单元
登录Azure AD门户,进入「管理单元」页面,点击「新建管理单元」,设置名称(如test-group-au)后完成创建。 - 将test.group加入管理单元
在刚创建的AU详情页进入「组」选项卡,点击「添加成员」,选择test.group并添加。 - 限制非全局管理员的AU内权限
进入Azure AD「角色和管理员」页面,找到所有具备组管理权限的角色(如「组管理员」「目录写入者」等);对每个目标角色,进入「分配」页面,找到范围为「整个租户」的分配记录,修改其范围为「排除特定管理单元」并选择test-group-au。完成后,这些角色的持有者将无法修改test.group的成员或信息。
PowerShell操作步骤
使用Microsoft Graph PowerShell模块实现,步骤如下:
- 安装并连接模块
Install-Module Microsoft.Graph -Force Connect-MgGraph -Scopes "AdministrativeUnit.ReadWrite.All, RoleManagement.ReadWrite.Directory" - 创建管理单元并添加目标组
# 创建专属AU $au = New-MgDirectoryAdministrativeUnit -DisplayName "test-group-au" -Description "用于限制test.group的管理权限" # 获取test.group的ID $group = Get-MgGroup -Filter "DisplayName eq 'test.group'" # 将组加入AU New-MgDirectoryAdministrativeUnitMember -AdministrativeUnitId $au.Id -DirectoryObjectId $group.Id - 修改角色分配范围,排除目标AU
以「组管理员」角色为例:# 获取组管理员角色ID $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Group Administrator'" # 获取该角色的所有租户范围分配 $roleAssignments = Get-MgRoleManagementDirectoryRoleAssignment -Filter "RoleDefinitionId eq '$($roleDefinition.Id)' and DirectoryScopeId eq '/'" # 逐个修改分配范围为排除目标AU foreach ($assignment in $roleAssignments) { Update-MgRoleManagementDirectoryRoleAssignment -UnifiedRoleAssignmentId $assignment.Id -DirectoryScopeId "/administrativeUnits/$($au.Id)" -ExcludeScope $true }
补充说明
- 若要进一步明确权限归属,可将指定的两名全局管理员设为
test.group的组所有者,但这并非必须——全局管理员权限已覆盖组管理权限。 - 管理单元是实现这类细粒度权限限制的标准方式,针对单个组使用完全合理,核心就是通过范围排除来限制非目标管理员的操作。
内容的提问来源于stack exchange,提问作者MeLebix
相关产品推荐
相关产品推荐

