Lista Azure-rolltilldelningar med Hjälp av Azure CLI

Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är det auktoriseringssystem som du använder för att hantera åtkomst till Azure-resurser. Om du vill ta reda på vilka resurser användare, grupper, tjänsthuvudnamn eller hanterade identiteter har åtkomst till visar du deras rolltilldelningar. I den här artikeln beskrivs hur du listar rolltilldelningar med hjälp av Azure CLI.

Kommentar

Om din organisation har outsourcade hanteringsfunktioner till en tjänstleverantör som använder Azure Lighthouse visas inte rolltilldelningar som auktoriserats av tjänsteleverantören här. På samma sätt ser användare i tjänstleverantörens klientorganisation inte rolltilldelningar för användare i en kunds klientorganisation, oavsett vilken roll de har tilldelats.

Förutsättningar

Lista rolltilldelningar för en användare

Om du vill visa en lista över rolltilldelningar för en viss användare använder du 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"
  }
]

Lista rolltilldelningar för en resursgrupp

Om du vill visa en lista över rolltilldelningar som finns i ett resursgruppsomfång använder du 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"
  },
  
  ...

]

Lista rolltilldelningar för en prenumeration

Om du vill visa en lista över alla rolltilldelningar i ett prenumerationsomfång använder du az role assignment list. Om du vill hämta prenumerations-ID:t hittar du det på bladet Prenumerationer i Azure Portal eller så kan du använda az account list.

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"
  },

  ...

]

Lista rolltilldelningar för en hanteringsgrupp

Om du vill visa en lista över alla rolltilldelningar i ett hanteringsgruppsomfång använder du az role assignment list. Om du vill hämta hanteringsgrupps-ID:t hittar du det på bladet Hanteringsgrupper i Azure Portal eller så kan du använda az account management-group list.

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"
  }
]

Lista rolltilldelningar för en hanterad identitet

Följ de här stegen:

  1. Hämta huvud-ID:t för den systemtilldelade eller användartilldelade hanterade identiteten.

    Om du vill hämta huvud-ID:t för en användartilldelad hanterad identitet kan du använda az ad sp list eller az identity list.

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

    Om du vill hämta huvud-ID:t för en systemtilldelad hanterad identitet kan du använda az ad sp-listan.

    az ad sp list --display-name "{vmname}" --query [].id --output tsv
    
  2. Om du vill visa en lista över rolltilldelningar använder du az role assignment list.

    Som standard visas endast rolltilldelningar för den aktuella prenumerationen. Om du vill visa rolltilldelningar för den aktuella prenumerationen och nedan lägger du till parametern --all . Om du vill visa ärvda rolltilldelningar lägger du till parametern --include-inherited .

    az role assignment list --assignee {objectId}
    

Gå vidare