Gérer les rôles du principal du service

Vous pouvez utiliser un principal de service pour gérer les attributions de rôles pour restreindre l’accès à vos ressources Azure. Chaque rôle fournit des autorisations différentes accordées par l’utilisateur lors de l’accès à des ressources Azure. Cette étape du didacticiel explique comment créer et supprimer des rôles de principal de service.

L’interface de ligne de commande Azure fournit les commandes suivantes de gestion d’attributions de rôle :

Créer ou supprimer une attribution de rôle

Le rôle Contributeur dispose des autorisations complètes de lecture et d’écriture dans un compte Azure. Le rôle Lecteur est plus restrictif avec un accès en lecture seule. Utilisez toujours le principe du moindre privilège. Pour obtenir la liste complète des rôles disponibles dans Azure RBAC, consultez Rôles intégrés Azure.

L’ajout d’un rôle ne restreint pas les autorisations précédemment assignées. Cet exemple ajoute le rôle Lecteur et supprime le rôle Contributeur :

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

Console de sortie :

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

Comment obtenir une valeur pour le paramètre scope

Une question que vous pourriez vous poser est « Comment puis-je connaître la valeur du paramètre --scope ? » La réponse est de rechercher et de copier l’ID de ressource de la ressource Azure à laquelle votre principal de service doit accéder. Ces informations se trouvent généralement dans la page Propriétés ou Points de terminaison du portail Azure de chaque ressource. Voici des exemples --scope courants, mais comptez sur votre ID de ressource pour un format et une valeur réels.

Portée Exemple
Abonnement /subscriptions/mySubscriptionID
Resource group /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
Machine virtuelle /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
Service de fichiers de compte de stockage /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
Fabrique de données /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

Pour plus d’exemples de portée, consultez Comprendre la portée d’Azure RBAC.

Vérification des changements

Les modifications peuvent être vérifiées en répertoriant les rôles attribués :

# 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

Vous pouvez également accéder au portail Azure et attribuer manuellement le rôle au principal du service à partir du menu Contrôle d'accès (IAM). Pour plus d’exemples sur la liste des attributions de rôles, consultez Répertorier les attributions de rôles Azure à l’aide d’Azure CLI.

Étapes suivantes

Maintenant que vous avez appris à gérer les rôles de votre principal de service, passez à l’étape suivante pour découvrir comment utiliser des principaux de service pour créer une ressource.