i am trying to get all objects from Access Control tab from Storage Account container using powershell.
Using command:
Get-AzRoleAssignment -ResourceGroupName 'devtest' -ResourceName 'sa-name' -ResourceType 'Microsoft.Storage/storageAccounts'
I am get all objects from:
- Storage Account
- Containers
As you can see, using this command im getting scopes for Storage Account and Container in the same call.
I tried using command like:
Get-AzRoleAssignment -ResourceGroupName 'devtest' -ResourceName 'SA-name' -ResourceType 'Microsoft.Storage/storageAccounts' | Where-Object -Property Scope -Like '*containers/container-name'
But i am not happy with the results because i am not getting for example Owner of this container because it is inheritate from diffrent resource
My question is, how to get Role Assignments objects from IAM blade for specific container using powershell, CLI or REST API with all objects?
CodePudding user response:
You can list the RBAC on a specific container by listing all role assignments for the storage account and excluding all containers except for the one you want to see:
Get-AzRoleAssignment -ResourceGroupName "<your-resource-group-name>" -ResourceType "Microsoft.Storage/storageAccounts" -ResourceName "<your-storage-account-name>" | Where-Object { $_.Scope -like '*/containers/<your-container-name>' -or -not ($_.Scope -like '*/storageAccounts*/default/containers/*') }


