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

Visa 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}

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 . Lägg till parametern --include-inherited om du vill inkludera rolltilldelningar i överordnade omfång. Lägg till parametern --include-groups om du vill inkludera rolltilldelningar för grupper där användaren är medlem transitivt.

I följande exempel visas de rolltilldelningar som tilldelas direkt till patlong@contoso.com användaren:

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

Visa 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}

I följande exempel visas rolltilldelningarna för resursgruppen pharma-sales :

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 med 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-portalen eller så kan du använda az account list.

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

Exempel:

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-portalen eller så kan du använda az account management-group list.

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

Exempel:

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

  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}
    

Nästa steg