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

Get-AzRoleAssignment

列出指定范围内的 Azure RBAC 角色分配。 默认情况下,它会列出所选 Azure 订阅中的所有角色分配。 使用相应的参数将分配列出给特定用户,或列出特定资源组或资源上的分配。

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

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

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

语法

Get-AzRoleAssignment
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ObjectId <String>
   [-RoleDefinitionName <String>]
   [-ExpandPrincipalGroups]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ObjectId <String>
   -ResourceGroupName <String>
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ObjectId <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ObjectId <String>
   [-RoleDefinitionName <String>]
   -Scope <String>
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   [-ObjectId <String>]
   -RoleDefinitionId <Guid>
   [-Scope <String>]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -SignInName <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -SignInName <String>
   [-RoleDefinitionName <String>]
   -Scope <String>
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -SignInName <String>
   [-RoleDefinitionName <String>]
   [-ExpandPrincipalGroups]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ServicePrincipalName <String>
   -ResourceGroupName <String>
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ServicePrincipalName <String>
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ServicePrincipalName <String>
   [-RoleDefinitionName <String>]
   -Scope <String>
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ServicePrincipalName <String>
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ResourceGroupName <String>
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   -ResourceGroupName <String>
   -ResourceName <String>
   -ResourceType <String>
   [-ParentResource <String>]
   [-RoleDefinitionName <String>]
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Get-AzRoleAssignment
   [-RoleDefinitionName <String>]
   -Scope <String>
   [-IncludeClassicAdministrators]
   [-SkipClientSideScopeValidation]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

说明

使用 Get-AzRoleAssignment 命令列出在范围上生效的所有角色分配。 在没有任何参数的情况下,此命令返回在订阅下进行的所有角色分配。 可以使用主体、角色和范围的筛选参数筛选此列表。 必须指定工作分配的主题。 若要指定用户,请使用 SignInName 或 Microsoft Entra ObjectId 参数。 若要指定安全组,请使用 Microsoft Entra ObjectId 参数。 若要指定 Microsoft Entra 应用程序,请使用 ServicePrincipalName 或 ObjectId 参数。 必须使用 RoleDefinitionName 参数指定所分配的角色。 可以指定授予访问权限的范围。 默认为所选订阅。 可以使用以下参数组合之一指定分配的范围。 范围 - 这是从 /subscriptions/<subscriptionId> 开始的完全限定范围。 这将筛选在该特定范围生效的分配,即该范围及更高范围内的所有分配。 b. ResourceGroupName - 订阅下的任何资源组的名称。 这将筛选在指定资源组 c 处生效的分配。 ResourceName、ResourceType、ResourceGroupName 和 (可选) ParentResource - 标识订阅下的特定资源,并将筛选在该资源范围内有效的分配。 若要确定特定用户在订阅中拥有的访问权限,请使用 ExpandPrincipalGroups 开关。 这会列出分配给用户的所有角色,以及分配给用户所属的组。 使用 IncludeClassicAdministrators 开关还可以显示订阅管理员和共同管理员。

示例

示例 1

Get-AzRoleAssignment

列出订阅中的所有角色分配

示例 2

Get-AzRoleAssignment -ResourceGroupName testRG -SignInName john.doe@contoso.com

获取对用户 john.doe@contoso.com所做的所有角色分配,以及其所属组(位于 testRG 范围或更高版本)。

示例 3

Get-AzRoleAssignment -ServicePrincipalName "http://testapp1.com"

获取指定服务主体的所有角色分配

示例 4

Get-AzRoleAssignment -Scope "/subscriptions/96231a05-34ce-4eb4-aa6a-70759cbb5e83/resourcegroups/rg1/providers/Microsoft.Web/sites/site1"

获取“site1”网站范围内的角色分配。

参数

-DefaultProfile

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

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

-ExpandPrincipalGroups

如果指定,则返回直接分配给用户的角色以及用户所属的组(可传递)。 仅支持用户主体。

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

-IncludeClassicAdministrators

如果指定,还会列出订阅经典管理员(共同管理员、服务管理员等)角色分配。

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

-ObjectId

用户、组或服务主体的 Microsoft Entra ObjectId。 筛选对指定主体所做的所有分配。

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

-ParentResource

使用 ResourceName 参数指定的资源的层次结构中的父资源。 必须与 ResourceGroupName、ResourceType 和 ResourceName 参数结合使用。

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

-ResourceGroupName

资源组名称。 列出在指定资源组中生效的角色分配。 与 ResourceName、ResourceType 和 ParentResource 参数结合使用时,该命令将列出在资源组中的资源上有效的分配。

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

-ResourceName

资源名称。 例如 storageaccountprod。 必须与 ResourceGroupName、ResourceType 和 (可选)ParentResource 参数结合使用。

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

-ResourceType

资源类型。 例如,Microsoft.Network/virtualNetworks。 必须与 ResourceGroupName、ResourceName 和 (可选)ParentResource 参数结合使用。

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

-RoleDefinitionId

分配给主体的角色的 ID。

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

-RoleDefinitionName

分配给主体的角色,即读者、参与者、虚拟网络管理员等。

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

-Scope

角色分配的范围。 相对 URI 的格式。 例如 /subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG。 它必须以“/subscriptions/{id}”开头。 该命令会筛选在该范围内生效的所有分配。

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

-ServicePrincipalName

服务主体的 ServicePrincipalName。 筛选对指定Microsoft Entra 应用程序所做的所有分配。

类型: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

输入

String

Guid

输出

PSRoleAssignment

备注

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