Wyświetlanie listy przypisań ról platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure

Kontrola dostępu oparta na rolach (RBAC) platformy Azure to system autoryzacji używany do zarządzania dostępem do zasobów platformy Azure. Aby określić, do jakich zasobów mają dostęp użytkownicy, grupy, jednostki usługi lub tożsamości zarządzane, należy wyświetlić listę ich przypisań ról. W tym artykule opisano sposób wyświetlania listy przypisań ról przy użyciu interfejsu wiersza polecenia platformy Azure.

Uwaga

Jeśli Twoja organizacja udostępnia funkcje zarządzania dostawcy usług, który korzysta z usługi Azure Lighthouse, przypisania ról autoryzowane przez tego dostawcę usług nie będą wyświetlane tutaj. Podobnie użytkownicy w dzierżawie dostawcy usług nie będą widzieć przypisań ról dla użytkowników w dzierżawie klienta, niezależnie od przypisanej roli.

Wymagania wstępne

Wyświetlanie listy przypisań ról dla użytkownika

Aby wyświetlić listę przypisań ról dla określonego użytkownika, użyj polecenia 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"
  }
]

Wyświetlanie listy przypisań ról dla grupy zasobów

Aby wyświetlić listę przypisań ról, które istnieją w zakresie grupy zasobów, użyj polecenia 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"
  },
  
  ...

]

Wyświetlanie listy przypisań ról dla subskrypcji

Aby wyświetlić listę wszystkich przypisań ról w zakresie subskrypcji, użyj polecenia az role assignment list. Aby uzyskać identyfikator subskrypcji, możesz go znaleźć w bloku Subskrypcje w witrynie Azure Portal lub użyć polecenia 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"
  },

  ...

]

Wyświetlanie listy przypisań ról dla grupy zarządzania

Aby wyświetlić listę wszystkich przypisań ról w zakresie grupy zarządzania, użyj polecenia az role assignment list. Aby uzyskać identyfikator grupy zarządzania, możesz ją znaleźć w bloku Grupy zarządzania w witrynie Azure Portal lub użyć polecenia 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"
  }
]

Wyświetlanie listy przypisań ról dla tożsamości zarządzanej

Wykonaj te kroki:

  1. Pobierz identyfikator podmiotu zabezpieczeń tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika.

    Aby uzyskać identyfikator podmiotu zabezpieczeń tożsamości zarządzanej przypisanej przez użytkownika, możesz użyć polecenia az ad sp list lub az identity list.

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

    Aby uzyskać identyfikator podmiotu zabezpieczeń tożsamości zarządzanej przypisanej przez system, możesz użyć polecenia az ad sp list.

    az ad sp list --display-name "{vmname}" --query [].id --output tsv
    
  2. Aby wyświetlić listę przypisań ról, użyj polecenia az role assignment list.

    Domyślnie będą wyświetlane tylko przypisania ról dla bieżącej subskrypcji. Aby wyświetlić przypisania ról dla bieżącej subskrypcji i poniżej, dodaj --all parametr . Aby wyświetlić dziedziczone przypisania ról, dodaj --include-inherited parametr .

    az role assignment list --assignee {objectId}
    

Następny krok