Sdílet prostřednictvím


Správa rolí service principal pomocí Azure CLI

Pokud chcete omezit přístup k prostředkům Azure, můžete ke správě přiřazení rolí použít instanční objekt. Každá role poskytuje uživateli různá oprávnění povolená při přístupu k prostředkům Azure. Tento krok v kurzu vysvětluje, jak vytvořit a odebrat role služby principal.

Azure CLI má následující příkazy pro správu přiřazení rolí:

Vytvoření nebo odebrání přiřazení role

Role Přispěvatel má úplná oprávnění ke čtení a zápisu do účtu Azure. Role Čtenář je přísnější s přístupem jen pro čtení. Vždy používejte princip nejnižších oprávnění. Úplný seznam dostupných rolí v Azure RBAC najdete v tématu Předdefinované role Azure.

Přidáním role se neomezí dříve přiřazená oprávnění. Tento příklad přidá roli Čtenář a odebere roli Přispěvatel :

az role assignment create --assignee myServicePrincipalID \
                          --role Reader \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

az role assignment delete --assignee myServicePrincipalID \
                          --role Contributor \
                          --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName

Výstupní konzola:

{
  "condition": null,
  "conditionVersion": null,
  "createdBy": null,
  "createdOn": "yyyy-mm-ddT00:00:00.000000+00:00",
  "delegatedManagedIdentityResourceId": null,
  "description": null,
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
  "name": "00000000-0000-0000-0000-000000000000",
  "principalId": "00000000-0000-0000-0000-000000000000",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/00000000-0000-0000-0000-000000000000",
  "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroupName",
  "type": "Microsoft.Authorization/roleAssignments",
  "updatedBy": "00000000-0000-0000-0000-000000000000",
  "updatedOn": "yyyy-mm-ddT00:00:00.000000+00:00"
}

Jak získat hodnotu parametru oboru

Jedna otázka, kterou můžete mít, je "Jak poznám hodnotu parametru --scope ?" Odpovědí je vyhledání a zkopírování ID prostředku Azure, ke které potřebuje váš instanční objekt přistupovat. Tyto informace se obvykle nacházejí na stránce Properties nebo Endpoints jednotlivých prostředků v Azure Portal. Tady jsou běžné --scope příklady, ale pro skutečný formát a hodnotu se spolehněte na ID prostředku.

Scope Příklad
Předplatné /subscriptions/mySubscriptionID
Skupina zdrojů /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Virtuální počítač /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Služba souborů pro úložný účet /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Datová továrna /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

Další příklady oborů najdete v tématu Vysvětlení rozsahu pro Azure RBAC.

Ověření změn

Změny je možné ověřit výpisem přiřazených rolí:

# list all role assignments for the current subscription
az role assignment list --output table

# list role assignments for a user
az role assignment list --assignee myUserName@contoso.com

# list role assignments for a subscription
az role assignment list --subscription mySubscriptionID

Můžete také přejít na Azure Portal a ručně přiřadit roli service principal z nabídky Řízení přístupu (IAM). Další příklady výpisu přiřazení rolí najdete v tématu Výpis přiřazení rolí Azure pomocí Azure CLI.

Další kroky

Teď, když jste se naučili, jak spravovat role vašich instančních objektů, pokračujte dalším krokem a zjistěte, jak použít instanční objekty k vytvoření prostředku.