如何通过PowerShell在PIM中将Network Contributor设为租户根组符合条件角色
在PIM中为租户根组配置Azure角色(Network Contributor)符合条件权限的PowerShell方法
Azure资源角色(如Network Contributor)的PIM符合条件资格配置,与Entra ID目录角色使用不同的Microsoft Graph命令。你需要使用资源角色管理相关的Graph命令,而非目录角色的New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest,以下是具体实现步骤:
1. 准备工作:安装并连接Microsoft Graph模块
确保已安装Microsoft Graph PowerShell模块,并以具备足够权限的账号(如Privileged Role Administrator、Global Administrator)连接,所需权限为RoleManagement.ReadWrite.AzureResources:
# 安装模块(若未安装) Install-Module Microsoft.Graph -Force -AllowClobber # 连接Graph并请求所需权限 Connect-MgGraph -Scopes "RoleManagement.ReadWrite.AzureResources"
2. 获取必要的ID参数
租户根范围标识
租户根组的资源范围用/表示,也可通过租户ID确认:
$resourceScope = "/" $tenantId = (Get-MgTenant).Id # 可选,用于验证根范围对应租户
Network Contributor角色定义ID
Network Contributor是Azure内置角色,固定ID为4d97b98b-1d4f-4787-a291-c67834d212e7,也可通过命令动态获取:
$roleDefinitionId = (Get-MgRoleManagementResourceRoleDefinition -ResourceScope $resourceScope -Filter "displayName eq 'Network Contributor'").Id
目标主体ID
指定要授予符合条件权限的用户、组或服务主体的Object ID:
$principalId = "要授权的主体Object ID"
3. 创建PIM符合条件角色资格请求
使用New-MgRoleManagementResourceRoleEligibilityScheduleRequest命令配置符合条件状态,示例为永久有效资格,可按需调整有效期:
# 配置计划信息(永久有效) $scheduleInfo = @{ StartDateTime = Get-Date Expiration = @{ Type = "NoExpiration" } } # 发送创建请求 New-MgRoleManagementResourceRoleEligibilityScheduleRequest -Action "AdminAssign" ` -RoleDefinitionId $roleDefinitionId ` -ResourceScope $resourceScope ` -PrincipalId $principalId ` -ScheduleInfo $scheduleInfo ` -Justification "配置租户根组Network Contributor符合条件权限"
调整有效期示例
若需设置6个月的有效期,修改Expiration参数:
$scheduleInfo = @{ StartDateTime = Get-Date Expiration = @{ Type = "AfterDateTime" EndDateTime = (Get-Date).AddMonths(6) } }
关键说明
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest仅适用于Entra ID目录角色(如全局管理员),无法处理Azure资源角色New-AzRoleAssignment是直接分配永久角色,不属于PIM的符合条件资格配置,因此无法实现你的需求- 操作租户根范围需要账号具备根范围的PIM管理权限,确保账号权限足够
内容的提问来源于stack exchange,提问作者GojiraAzure
相关产品推荐
相关产品推荐

