Partager via


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 d’afficher tout dans le plan de contrôle d’un abonnement et d’ouvrir également 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.

Prerequisites

Pour suivre ce tutoriel, vous aurez besoin des éléments suivants :

Connectez-vous à Azure CLI

Connectez-vous à Azure CLI.

Créer un rôle personnalisé

Le moyen le plus simple de créer un rôle personnalisé consiste à commencer par un modèle JSON, à ajouter vos modifications, puis à créer un rôle.

  1. Passez en revue la liste des actions pour le fournisseur de ressources Microsoft.Support. Il est utile de connaître les actions disponibles pour créer vos autorisations.

    Action Descriptif
    Microsoft.Support/register/action S’inscrit au 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, de facturation, de quotas ou de gestion des abonnements. Vous pouvez mettre à jour la gravité, les coordonnées et les communications des tickets de support existants.
  2. Créez un fichier nommé ReaderSupportRole.json.

  3. Ouvrez ReaderSupportRole.json dans un éditeur et ajoutez le code JSON suivant.

    Pour plus d’informations sur les différentes propriétés, consultez les rôles personnalisés Azure.

    {
      "Name": "",
      "IsCustom": true,
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": [
        "/subscriptions/{subscriptionId1}"
      ]
    }
    
  4. Ajoutez les actions suivantes à la Actions propriété. Ces actions permettent à l’utilisateur d’afficher tout dans l’abonnement et de créer des tickets de support.

    "*/read",
    "Microsoft.Support/*"
    
  5. Obtenez l’ID de votre abonnement à l’aide de la commande az account list .

    az account list --output table
    
  6. Dans AssignableScopes, remplacez {subscriptionId1} par votre ID d’abonnement.

    Vous devez ajouter des ID d’abonnement explicites ; sinon, vous ne serez pas autorisé à importer le rôle dans votre abonnement.

  7. Changez les propriétés Name par « Tickets de support du lecteur » et Description par « Affichez tout dans la souscription et ouvrez également des tickets de support ».

    Votre fichier JSON doit ressembler à ce qui suit :

    {
      "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"
      ]
    }
    
  8. Pour créer le nouveau 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 désormais disponible et peut être affecté aux utilisateurs, groupes ou principaux de service, tout comme les 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 --custom-role-only paramètre.

    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.

    capture d’écran du rôle personnalisé importé 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é.

  1. Ouvrez le fichier ReaderSupportRole.json.

  2. 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 à ce qui suit :

    {
      "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"
      ]
    }
    
  3. 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 du rôle ou l’ID de rôle pour supprimer le rôle personnalisé.

    az role definition delete --name "Reader Support Tickets"
    

Étapes suivantes