Tutoriel : Créer un rôle personnalisé Azure à l’aide d’Azure CLI
Si les rôles intégrés Azure ne répondent pas aux besoins spécifiques de votre organisation, vous pouvez créer vos propres rôles personnalisés. Pour ce tutoriel, vous allez créer un rôle personnalisé nommé Reader Support Tickets à l’aide d’Azure CLI. Le rôle personnalisé permet à l’utilisateur de voir toutes les informations contenues dans le plan de contrôle d’un abonnement et d’ouvrir des tickets de support.
Dans ce tutoriel, vous allez apprendre à :
- Créer un rôle personnalisé
- Répertorier les rôles personnalisés
- Mettre à jour un rôle personnalisé
- Supprimer un rôle personnalisé
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Prérequis
Pour exécuter ce didacticiel, les éléments suivants sont nécessaires :
- Autorisations pour créer des rôles personnalisés, tels que l’accès utilisateur Administration istrator
- Azure Cloud Shell ou Azure CLI
Connectez-vous à Azure CLI
Connectez-vous à Azure CLI.
Créer un rôle personnalisé
Pour créer un rôle personnalisé, le plus simple consiste à débuter avec un modèle JSON, à ajouter vos modifications, puis à créer un nouveau rôle.
Passez en revue la liste des actions pour le fournisseur de ressources Microsoft.Support. Il est utile de connaître les actions qui sont disponibles pour créer vos autorisations.
Action Description Microsoft.Support/register/action S’inscrit auprès du fournisseur de ressources de support. Microsoft.Support/supportTickets/read Récupère les détails du ticket de support (notamment l’état, la gravité, les détails du contact et les communications) ou la liste des tickets de support des abonnements. Microsoft.Support/supportTickets/write Crée ou met à jour un ticket de support. Vous pouvez créer un ticket de support pour les problèmes techniques ou les problèmes liés à la facturation, aux quotas ou à la gestion des abonnements. Vous pouvez mettre à jour la gravité des problèmes, les détails du contact et les communications pour les tickets de support existants. Créez un fichier nommé ReaderSupportRole.json.
Ouvrez ReaderSupportRole.json dans un éditeur et ajoutez le code JSON suivant.
Pour plus d’informations sur les différentes propriétés, consultez Rôles personnalisés Azure.
{ "Name": "", "IsCustom": true, "Description": "", "Actions": [], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/{subscriptionId1}" ] }
Ajoutez les actions suivantes à la propriété
Actions
. Ces actions permettent à l’utilisateur de consulter tous les éléments de l’abonnement et de créer des tickets de support."*/read", "Microsoft.Support/*"
Obtenez l’ID de votre abonnement à l’aide de la commande az account list.
az account list --output table
Dans
AssignableScopes
, remplacez{subscriptionId1}
par votre ID d’abonnement.Vous devez ajouter des ID d’abonnements explicites, sinon vous ne serez pas autorisé à importer le rôle dans votre abonnement.
Remplacez les valeurs de propriétés
Name
etDescription
par « Reader Support Tickets » et « View everything in the subscription and also open support tickets ».Votre fichier JSON doit ressembler à ceci :
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Pour créer le rôle personnalisé, utilisez la commande az role definition create et spécifiez le fichier de définition de rôle JSON.
az role definition create --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
Le nouveau rôle personnalisé est maintenant disponible et peut être affecté à des utilisateurs, des groupes ou des principaux de service tout comme des rôles intégrés.
Répertorier les rôles personnalisés
Pour répertorier tous vos rôles personnalisés, utilisez la commande az role definition list avec le paramètre
--custom-role-only
.az role definition list --custom-role-only true
[ { "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*", "Microsoft.Insights/diagnosticSettings/*/read" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" } ]
Vous pouvez également voir le rôle personnalisé dans le portail Azure.
Mettre à jour un rôle personnalisé
Pour mettre à jour le rôle personnalisé, mettez à jour le fichier JSON puis mettez à jour le rôle personnalisé.
Ouvrez le fichier ReaderSupportRole.json.
Dans
Actions
, ajoutez l’action pour créer et gérer des déploiements de groupes de ressources"Microsoft.Resources/deployments/*"
. Veillez à inclure une virgule après l’action précédente.Votre fichier JSON mis à jour doit ressembler à ceci :
{ "Name": "Reader Support Tickets", "IsCustom": true, "Description": "View everything in the subscription and also open support tickets.", "Actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "NotActions": [], "DataActions": [], "NotDataActions": [], "AssignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ] }
Pour mettre à jour le rôle personnalisé, utilisez la commande az role definition update et spécifiez le fichier JSON mis à jour.
az role definition update --role-definition "~/CustomRoles/ReaderSupportRole.json"
{ "additionalProperties": {}, "assignableScopes": [ "/subscriptions/00000000-0000-0000-0000-000000000000" ], "description": "View everything in the subscription and also open support tickets.", "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleDefinitions/22222222-2222-2222-2222-222222222222", "name": "22222222-2222-2222-2222-222222222222", "permissions": [ { "actions": [ "*/read", "Microsoft.Support/*", "Microsoft.Resources/deployments/*" ], "additionalProperties": {}, "dataActions": [], "notActions": [], "notDataActions": [] } ], "roleName": "Reader Support Tickets", "roleType": "CustomRole", "type": "Microsoft.Authorization/roleDefinitions" }
Supprimer un rôle personnalisé
Utilisez la commande az role definition delete et spécifiez le nom de rôle ou l’ID de rôle pour supprimer le rôle personnalisé.
az role definition delete --name "Reader Support Tickets"