Get-AzureRmRoleAssignment

Get-AzureRmRoleAssignment

Lists Azure RBAC role assignments at the specified scope. By default it lists all role assignments in the selected Azure subscription. Use respective parameters to list assignments to a specific user, or to list assignments on a specific resource group or resource.

Syntax

Parameter Set: EmptyParameterSet
Get-AzureRmRoleAssignment [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ObjectIdParameterSet
Get-AzureRmRoleAssignment -ObjectId <Guid> [-ExpandPrincipalGroups] [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceGroupParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceGroupWithObjectIdParameterSet
Get-AzureRmRoleAssignment -ObjectId <Guid> -ResourceGroupName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceGroupWithSignInNameParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> -SignInName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceGroupWithSPNParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> -ServicePrincipalName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> -ResourceName <String> -ResourceType <String> [-IncludeClassicAdministrators] [-ParentResource <String> ] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceWithObjectIdParameterSet
Get-AzureRmRoleAssignment -ObjectId <Guid> -ResourceGroupName <String> -ResourceName <String> -ResourceType <String> [-IncludeClassicAdministrators] [-ParentResource <String> ] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceWithSignInNameParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> -ResourceName <String> -ResourceType <String> -SignInName <String> [-IncludeClassicAdministrators] [-ParentResource <String> ] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ResourceWithSPNParameterSet
Get-AzureRmRoleAssignment -ResourceGroupName <String> -ResourceName <String> -ResourceType <String> -ServicePrincipalName <String> [-IncludeClassicAdministrators] [-ParentResource <String> ] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ScopeParameterSet
Get-AzureRmRoleAssignment -Scope <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ScopeWithObjectIdParameterSet
Get-AzureRmRoleAssignment -ObjectId <Guid> -Scope <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ScopeWithSignInNameParameterSet
Get-AzureRmRoleAssignment -Scope <String> -SignInName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: ScopeWithSPNParameterSet
Get-AzureRmRoleAssignment -Scope <String> -ServicePrincipalName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: SignInNameParameterSet
Get-AzureRmRoleAssignment -SignInName <String> [-ExpandPrincipalGroups] [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Parameter Set: SPNParameterSet
Get-AzureRmRoleAssignment -ServicePrincipalName <String> [-IncludeClassicAdministrators] [-RoleDefinitionName <String> ] [ <CommonParameters>]

Detailed Description

Use the Get-AzureRMRoleAssignment command to list all role assignments that are effective on a scope. Without any parameters, this command returns all the role assignments made under the subscription. This list can be filtered using filtering parameters for principal, role and scope. The subject of the assignment must be specified. To specify a user, use SignInName or Azure AD ObjectId parameters. To specify a security group, use Azure AD ObjectId parameter. And to specify an Azure AD application, use ServicePrincipalName or ObjectId parameters.

The role that is being assigned must be specified using the RoleDefinitionName parameter. The scope at which access is being granted may be specified. It defaults to the selected subscription. The scope of the assignment can be specified using one of the following parameter combinations a. Scope - This is the fully qualified scope starting with /subscriptions/<subscriptionId>. This will filter assignments that are effective at that particular scope i.e. all assignments at that scope and above. b. ResourceGroupName - Name of any resource group under the subscription. This will filter assignments effective at the specified resource group c. ResourceName, ResourceType, ResourceGroupName and (optionally) ParentResource - Identifies a particular resource under the subscription and will filter assignments effective at that resource scope. To determine what access a particular user has in the subscription, use the ExpandPrincipalGroups switch. This will list all roles assigned to the user, and to the groups that the user is member of.

Use the IncludeClassicAdministrators switch to also display the subscription admins and co-admins.

Parameters

-ExpandPrincipalGroups

If specified, returns roles directly assigned to the user and to the groups of which the user is a member (transitively). Supported only for a user principal.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IncludeClassicAdministrators

If specified, also lists subscription classic administrators (co-admins, service admins, etc.) role assignments.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ObjectId<Guid>

The Azure AD ObjectId of the User, Group or Service Principal. Filters all assignments that are made to the specified principal.

Aliases

Id,PrincipalId

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-ParentResource<String>

The parent resource in the hierarchy of the resource specified using ResourceName parameter. Must be used in conjunction with ResourceGroupName, ResourceType, and ResourceName parameters.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-ResourceGroupName<String>

The resource group name. Lists role assignments that are effective at the specified resource group. When used in conjunction with ResourceName, ResourceType, and ParentResource parameters, the command lists assignments effective at resources within the resource group.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-ResourceName<String>

The resource name. For e.g. storageaccountprod. Must be used in conjunction with ResourceGroupName, ResourceType, and (optionally)ParentResource parameters.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-ResourceType<String>

The resource type. For e.g. Microsoft.Network/virtualNetworks. Must be used in conjunction with ResourceGroupName, ResourceName, and (optionally)ParentResource parameters.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-RoleDefinitionName<String>

Role that is assigned to the principal i.e. Reader, Contributor, Virtual Network Administrator, etc.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-Scope<String>

The Scope of the role assignment. In the format of relative URI. For e.g. /subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG. It must start with "/subscriptions/{id}". The command filters all assignments that are effective at that scope.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-ServicePrincipalName<String>

The ServicePrincipalName of the service principal. Filters all assignments that are made to the specified Azure AD application.

Aliases

SPN

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

-SignInName<String>

The email address or the user principal name of the user. Filters all assignments that are made to the specified user.

Aliases

Email,UserPrincipalName

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

true(ByPropertyName)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see    about_CommonParameters.

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Examples

-------------- Example 1 -------------

List all role assignments in the subscription

PS C:\> Get-AzureRmRoleAssignment

-------------- Example 2 -------------

Gets all role assignments made to user john.doe@contoso.com, and the groups of which he is member, at the testRG scope or above.

PS C:\> Get-AzureRmRoleAssignment -ResourceGroupName testRG -SignInName john.doe@contoso.com -ExpandPrincipalGroups

-------------- Example 3 -------------

Gets all role assignments of the specified service principal

PS C:\> Get-AzureRmRoleAssignment -ServicePrincipalName "https://testapp1.com"

-------------- Example 4 -------------

Gets role assignments at the 'site1' website scope.

PS C:\> Get-AzureRmRoleAssignment -Scope "/subscriptions/96231a05-34ce-4eb4-aa6a-70759cbb5e83/resourcegroups/rg1/providers/Microsoft.Web/sites/site1"

New-AzureRmRoleAssignment

Remove-AzureRmRoleAssignment

Get-AzureRmRoleDefinition