Upravit

Sdílet prostřednictvím


Výpis přiřazení rolí Azure pomocí Azure CLI

Řízení přístupu na základě role v Azure (Azure RBAC) je autorizační systém, který používáte ke správě přístupu k prostředkům Azure. Pokud chcete určit, k jakým prostředkům mají uživatelé, skupiny, instanční objekty nebo spravované identity přístup, uveďte jejich přiřazení rolí. Tento článek popisuje, jak vypsat přiřazení rolí pomocí Azure CLI.

Poznámka:

Pokud má vaše organizace odsouděné funkce správy poskytovateli služeb, který používá Azure Lighthouse, nezobrazí se tady přiřazení rolí autorizovaných poskytovatelem služeb. Podobně uživatelé v tenantovi poskytovatele služeb neuvidí přiřazení rolí pro uživatele v tenantovi zákazníka bez ohledu na přiřazenou roli.

Požadavky

Zobrazení seznamu přiřazení rolí pro uživatele

Pokud chcete zobrazit seznam přiřazení rolí pro konkrétního uživatele, použijte příkaz 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"
  }
]

Výpis přiřazení rolí pro skupinu prostředků

Pokud chcete zobrazit seznam přiřazení rolí, které existují v oboru skupiny prostředků, použijte příkaz 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"
  },
  
  ...

]

Výpis přiřazení rolí pro předplatné

Pokud chcete zobrazit seznam všech přiřazení rolí v oboru předplatného, použijte příkaz az role assignment list. Pokud chcete získat ID předplatného, najdete ho v okně Předplatná na webu Azure Portal nebo můžete použít příkaz 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"
  },

  ...

]

Výpis přiřazení rolí pro skupinu pro správu

Pokud chcete zobrazit seznam všech přiřazení rolí v oboru skupiny pro správu, použijte příkaz az role assignment list. Pokud chcete získat ID skupiny pro správu, najdete ho v okně Skupiny pro správu na webu Azure Portal nebo můžete použít příkaz 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"
  }
]

Výpis přiřazení rolí pro spravovanou identitu

Postupujte následovně:

  1. Získejte ID objektu zabezpečení spravované identity přiřazené systémem nebo přiřazené uživatelem.

    Pokud chcete získat ID objektu zabezpečení spravované identity přiřazené uživatelem, můžete použít příkaz az ad sp list nebo az identity list.

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

    Pokud chcete získat ID objektu zabezpečení spravované identity přiřazené systémem, můžete použít příkaz az ad sp list.

    az ad sp list --display-name "{vmname}" --query [].id --output tsv
    
  2. Pokud chcete zobrazit seznam přiřazení rolí, použijte příkaz az role assignment list.

    Ve výchozím nastavení se zobrazí pouze přiřazení rolí pro aktuální předplatné. Pokud chcete zobrazit přiřazení rolí pro aktuální předplatné a níže, přidejte --all parametr. Pokud chcete zobrazit zděděná přiřazení rolí, přidejte --include-inherited parametr.

    az role assignment list --assignee {objectId}
    

Další krok