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ę 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 przesłonięła 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.

Wymagania wstępne

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

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 .

Poniższy przykład zawiera listę przypisań ról przypisanych bezpośrednio do patlong@contoso.com użytkownika:

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}

W poniższym przykładzie wymieniono przypisania ról dla grupy zasobów 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"
  },
  
  ...

]

Tworzenie 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 --subscription {subscriptionNameOrId}

Przykład:

az role assignment list --subscription 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}

Przykład:

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

  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ępne kroki