Azure-roltoewijzingen weergeven met behulp van Azure CLI

Op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) is het autorisatiesysteem om de toegang tot Azure-resources te beheren. Als u wilt bepalen tot welke resources gebruikers, groepen, service-principals of beheerde identiteiten toegang hebben, vermeldt u hun roltoewijzingen. In dit artikel wordt beschreven hoe u roltoewijzingen kunt vermelden met behulp van Azure CLI.

Notitie

Als uw organisatie beheerfuncties heeft uitbesteed aan een serviceprovider die gebruikmaakt van Azure Lighthouse, worden roltoewijzingen die zijn geautoriseerd door die serviceprovider, hier niet weergegeven. Op dezelfde manier zien gebruikers in de tenant van de serviceprovider geen roltoewijzingen voor gebruikers in de tenant van een klant, ongeacht de rol waaraan ze zijn toegewezen.

Vereisten

Roltoewijzingen voor een gebruiker weergeven

Als u de roltoewijzingen voor een specifieke gebruiker wilt weergeven, gebruikt u az role assignment list:

az role assignment list --assignee {assignee}

By default, only role assignments for the current subscription will be displayed. To view role assignments for the current subscription and below, add the --all parameter. To include role assignments at parent scopes, add the --include-inherited parameter. To include role assignments for groups of which the user is a member transitively, add the --include-groups parameter.

The following example lists the role assignments that are assigned directly to the patlong@contoso.com user:

az role assignment list --all --assignee patlong@contoso.com --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Backup Operator",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Virtual Machine Contributor",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  }
]

Roltoewijzingen voor een resourcegroep weergeven

Als u de roltoewijzingen wilt weergeven die bestaan in een resourcegroepbereik, gebruikt u az role assignment list:

az role assignment list --resource-group {resourceGroup}

The following example lists the role assignments for the pharma-sales resource group:

az role assignment list --resource-group pharma-sales --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Backup Operator",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  {
    "principalName": "patlong@contoso.com",
    "roleDefinitionName": "Virtual Machine Contributor",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
  },
  
  ...

]

Roltoewijzingen voor een abonnement weergeven

Als u alle roltoewijzingen in een abonnementsbereik wilt weergeven, gebruikt u az role assignment list. Als u de abonnements-id wilt ophalen, kunt u deze vinden op de blade Abonnementen in Azure Portal of kunt u az account list gebruiken.

az role assignment list --scope "/subscriptions/{subscriptionId}"

Example:

az role assignment list --scope "/subscriptions/00000000-0000-0000-0000-000000000000" --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "admin@contoso.com",
    "roleDefinitionName": "Owner",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },
  {
    "principalName": "Subscription Admins",
    "roleDefinitionName": "Owner",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },
  {
    "principalName": "alain@contoso.com",
    "roleDefinitionName": "Reader",
    "scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
  },

  ...

]

Roltoewijzingen voor een beheergroep weergeven

Als u alle roltoewijzingen in een bereik van een beheergroep wilt weergeven, gebruikt u az role assignment list. Als u de beheergroep-id wilt ophalen, vindt u deze op de blade Beheergroepen in Azure Portal of kunt u az account management-group list gebruiken.

az role assignment list --scope /providers/Microsoft.Management/managementGroups/{groupId}

Example:

az role assignment list --scope /providers/Microsoft.Management/managementGroups/sales-group --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
  {
    "principalName": "admin@contoso.com",
    "roleDefinitionName": "Owner",
    "scope": "/providers/Microsoft.Management/managementGroups/sales-group"
  },
  {
    "principalName": "alain@contoso.com",
    "roleDefinitionName": "Reader",
    "scope": "/providers/Microsoft.Management/managementGroups/sales-group"
  }
]

Roltoewijzingen weergeven voor een beheerde identiteit

Volg vervolgens deze stappen:

  1. Haal de principal-id op van de door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit.

    Als u de principal-id van een door de gebruiker toegewezen beheerde identiteit wilt ophalen, kunt u az ad sp list of az identity list gebruiken.

    az ad sp list --display-name "{name}" --query [].id --output tsv
    

    Als u de principal-id van een door het systeem toegewezen beheerde identiteit wilt ophalen, kunt u az ad sp list gebruiken.

    az ad sp list --display-name "{vmname}" --query [].id --output tsv
    
  2. Als u de roltoewijzingen wilt weergeven, gebruikt u az role assignment list.

    Standaard worden alleen roltoewijzingen voor het huidige abonnement weergegeven. Als u roltoewijzingen voor het huidige abonnement en hieronder wilt weergeven, voegt u de --all parameter toe. Als u overgenomen roltoewijzingen wilt weergeven, voegt u de --include-inherited parameter toe.

    az role assignment list --assignee {objectId}
    

Volgende stap