你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Remove-AzRoleAssignment

删除分配给特定作用域中特定角色的指定主体的角色分配。

cmdlet 可以根据输入参数调用以下Microsoft图形 API:

  • GET /users/{id}
  • GET /servicePrincipals/{id}
  • GET /groups/{id}
  • GET /directoryObjects/{id}
  • POST /directoryObjects/getByIds

请注意,如果未找到角色分配对象或当前帐户没有足够的权限来获取对象类型,此 cmdlet 将标记为ObjectTypeUnknown输出中。

语法

Remove-AzRoleAssignment
      -ObjectId <String>
      [-Scope <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ObjectId <String>
      -ResourceGroupName <String>
      -ResourceName <String>
      -ResourceType <String>
      [-ParentResource <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ObjectId <String>
      -ResourceGroupName <String>
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ObjectId <String>
      [-Scope <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ObjectId <String>
      [-Scope <String>]
      -RoleDefinitionId <Guid>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -SignInName <String>
      -ResourceGroupName <String>
      -ResourceName <String>
      -ResourceType <String>
      [-ParentResource <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -SignInName <String>
      -ResourceGroupName <String>
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -SignInName <String>
      [-Scope <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ServicePrincipalName <String>
      -ResourceGroupName <String>
      -ResourceName <String>
      -ResourceType <String>
      [-ParentResource <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ServicePrincipalName <String>
      -ResourceGroupName <String>
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      -ServicePrincipalName <String>
      [-Scope <String>]
      -RoleDefinitionName <String>
      [-PassThru]
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-AzRoleAssignment
      [-PassThru]
      [-InputObject] <PSRoleAssignment>
      [-SkipClientSideScopeValidation]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

使用 Remove-AzRoleAssignment commandlet 撤消对给定范围和给定角色的任何主体的访问权限。 分配的对象,即必须指定主体。 主体可以是用户(使用 SignInName 或 ObjectId 参数标识用户)、安全组(使用 ObjectId 参数标识组)或服务主体(使用 ServicePrincipalName 或 ObjectId 参数标识 ServicePrincipal。 使用 RoleDefinitionName 参数指定主体必须分配到的角色。 可以指定分配的范围(如果未指定)默认为订阅范围,即它将尝试删除对订阅范围内的指定主体和角色的分配。 可以使用以下参数之一指定分配的范围。 a. 范围 - 这是从 /subscriptions/<subscriptionId> b 开始的完全限定范围。 ResourceGroupName - 订阅下的任何资源组的名称。 c. ResourceName、ResourceType、ResourceGroupName 和 (可选)ParentResource - 标识订阅下的特定资源。

示例

示例 1

Remove-AzRoleAssignment -ResourceGroupName rg1 -SignInName john.doe@contoso.com -RoleDefinitionName Reader

删除在 rg1 资源组范围内分配给读者角色的人员的角色分配 john.doe@contoso.com 。

示例 2

Remove-AzRoleAssignment -ObjectId 00001111-aaaa-2222-bbbb-3333cccc4444 -RoleDefinitionName Reader

删除 ObjectId 标识并分配给读者角色的组主体的角色分配。 默认使用当前订阅作为范围以查找要删除的分配。

示例 3

$roleassignment = Get-AzRoleAssignment |Select-Object -First 1 -Wait
Remove-AzRoleAssignment -InputObject $roleassignment

删除从 Get-AzRoleAssignment commandlet 中提取的第一个角色分配对象。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultProfile

用于与 azure 通信的凭据、帐户、租户和订阅

类型:IAzureContextContainer
别名:AzContext, AzureRmContext, AzureCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputObject

角色分配对象。

类型:PSRoleAssignment
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ObjectId

Microsoft用户、组或服务主体的 Entra ObjectId。

类型:String
别名:Id, PrincipalId
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ParentResource

层次结构中的父资源(使用 ResourceName 参数指定的资源),如果有。 必须与 ResourceGroupName、ResourceType 和 ResourceName 参数结合使用,以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-PassThru

如果指定,则显示已删除的角色分配

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ResourceGroupName

分配给该角色的资源组名称。 尝试删除指定资源组范围内的分配。 与 ResourceName、ResourceType 和 (可选)ParentResource 参数结合使用时,该命令以标识资源的相对 URI 的形式构造分层范围。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceName

资源名称。 例如 storageaccountprod。 必须与 ResourceGroupName、ResourceType 和 (可选)ParentResource 参数结合使用,以相对 URI 的形式构造分层范围,该 URI 标识资源并删除该范围内的分配。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-ResourceType

资源类型。 例如,Microsoft.Network/virtualNetworks。 必须与 ResourceGroupName、ResourceName 和 (可选)ParentResource 参数结合使用,以相对 URI 的形式构造层次结构范围,以标识资源并删除该资源范围内的分配。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RoleDefinitionId

需要删除分配的 RBAC 角色的 ID。

类型:Guid
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-RoleDefinitionName

需要删除分配的 RBAC 角色的名称,例如读者、参与者、虚拟网络管理员等。

类型:String
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Scope

要删除的角色分配的范围。 相对 URI 的格式。 例如“/subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG”。 如果未指定,将尝试在订阅级别删除角色。 如果指定,它应以“/subscriptions/{id}”开头。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-ServicePrincipalName

Microsoft Entra 应用程序的 ServicePrincipalName

类型:String
别名:SPN
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SignInName

用户的电子邮件地址或用户主体名称。

类型:String
别名:Email, UserPrincipalName
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-SkipClientSideScopeValidation

如果指定,请跳过客户端范围验证。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

String

Guid

PSRoleAssignment

输出

PSRoleAssignment

备注

关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署