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

Výpis 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}

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 zahrnout přiřazení rolí v nadřazených oborech, přidejte --include-inherited parametr. Pokud chcete zahrnout přiřazení rolí pro skupiny, u kterých je uživatel přechodným členem, přidejte --include-groups parametr.

Následující příklad uvádí přiřazení rolí, která jsou přiřazena přímo patlong@contoso.com uživateli:

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}

Následující příklad uvádí přiřazení rolí pro skupinu prostředků prodeje 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"
  },
  
  ...

]

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

Příklad:

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}

Příklad:

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

  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ší kroky