Alerter sur les attributions de rôles Azure privilégiés

Les rôles Azure privilégiés, tels que Contributeur, Propriétaire ou Administrateur de l’accès utilisateur, sont des rôles puissants susceptibles d’introduire des risques dans votre système. Il peut être souhaitable d’être averti par e-mail ou SMS lors de l’attribution de ces rôles ou d’autres rôles. Cet article explique comment être informé des attributions de rôles privilégiés dans une étendue d’abonnement en créant une règle d’alerte à l’aide d’Azure Monitor.

Prérequis

Pour créer une règle d’alerte, vous devez disposer de ce qui suit :

  • Accès à un abonnement Azure
  • Autorisation de créer des groupes de ressources et des ressources dans l’abonnement
  • Log Analytics configuré pour avoir accès à la table AzureActivity

Estimer les coûts avant d’utiliser Azure Sentinel

L’utilisation d’Azure Monitor et de règles d’alerte a un coût. Ce coût est basé sur la fréquence d’exécution de la requête et les notifications sélectionnées. Pour plus d’informations, consultez Tarification Azure Monitor.

Création d'une règle d'alerte

Pour être averti des attributions de rôles privilégiés, vous créez une règle d’alerte dans Azure Monitor.

  1. Connectez-vous au portail Azure.

  2. Accédez à Monitor.

  3. Dans le volet de navigation à gauche, cliquez sur Alertes.

  4. Cliquez sur Créer>Règle d’alerte. La page Créer une règle d’alerte s’ouvre.

  5. Sous l’onglet Étendue, sélectionnez votre abonnement.

  6. Sous l’onglet Condition, sélectionnez le nom de signal Recherche de journal personnalisé.

  7. Dans la zone Requête de journal, ajoutez la requête Kusto suivante qui s’exécutera sur le journal de l’abonnement et déclenchera l’alerte.

    Cette requête filtre les tentatives d’attribution des rôles Contributeur, Propriétaire ou Administrateur de l’accès utilisateur dans l’étendue de l’abonnement sélectionné.

    AzureActivity
    | where CategoryValue =~ "Administrative" and
        OperationNameValue =~ "Microsoft.Authorization/roleAssignments/write" and
        (ActivityStatusValue =~ "Start" or ActivityStatus =~ "Started")
    | extend Properties_d = todynamic(Properties)
    | extend RoleDefinition = extractjson("$.Properties.RoleDefinitionId",tostring(Properties_d.requestbody),typeof(string))
    | extend PrincipalId = extractjson("$.Properties.PrincipalId",tostring(Properties_d.requestbody),typeof(string))
    | extend PrincipalType = extractjson("$.Properties.PrincipalType",tostring(Properties_d.requestbody),typeof(string))
    | extend Scope = extractjson("$.Properties.Scope",tostring(Properties_d.requestbody),typeof(string))
    | where Scope !contains "resourcegroups"
    | extend RoleId = split(RoleDefinition,'/')[-1]
    | extend RoleDisplayName = case(
        RoleId =~ 'b24988ac-6180-42a0-ab88-20f7382dd24c', "Contributor",
        RoleId =~ '8e3af657-a8ff-443c-a75c-2fe8c4bcb635', "Owner",
        RoleId =~ '18d7d88d-d35e-4fb5-a5c3-7773c20a72d9', "User Access Administrator",
        "Irrelevant")
    | where RoleDisplayName != "Irrelevant"
    | project TimeGenerated,Scope, PrincipalId,PrincipalType,RoleDisplayName
    

    Screenshot of Create an alert rule condition tab in Azure Monitor.

  8. Dans la section Mesure, définissez les valeurs suivantes :

    • Mesure : Lignes de table
    • Type d’agrégation : Nombre
    • Précision de l’agrégation : 5 minutes

    Pour la Précision de l’agrégation, vous pouvez remplacer la valeur par défaut par une fréquence souhaitée.

  9. Dans la section Fractionner par dimensions, définissez la colonne ID de ressource sur Ne pas fractionner.

  10. Dans la section logique d’alerte, définissez les valeurs suivantes :

    • Opérateur : Supérieur à
    • Valeur de seuil : 0
    • Fréquence de l’évaluation : 5 minutes

    Pour la Fréquence de l’évaluation, vous pouvez remplacer la valeur par défaut par une fréquence souhaitée.

  11. Sous l’onglet Actions, créez ou sélectionnez un groupe d’actions.

    Un groupe d’actions définit les actions et notifications exécutées lors du déclenchement de l’alerte.

    Lorsque vous créez un groupe d’actions, vous devez spécifier le groupe de ressources dans lequel placer le groupe d’actions. Ensuite, sélectionnez les notifications (Email/Message SMS/Push/Voix) à appeler lorsque la règle d’alerte se déclenche. Vous pouvez ignorer les onglets Actions et Étiquette. Pour plus d’informations, voir Créer et gérer des groupes d’actions dans le portail Azure.

  12. Sous l’onglet Détails, sélectionnez le groupe de ressources dans lequel enregistrer la règle d’alerte.

  13. Dans la section Détails de la règle d’alerte, sélectionnez une Gravité et spécifiez un Nom de règle d’alerte.

  14. Pour Région, vous pouvez sélectionner n’importe quelle région, car les journaux d’activité Azure sont globaux.

  15. Ignorez l’onglet Étiquettes.

  16. Sous l’onglet Vérifier + créer, cliquez sur Créer pour créer votre règle d’alerte.

Tester la règle d’alerte

Une fois que vous avez créé une règle d’alerte, vous pouvez tester son déclenchement.

  1. Attribuez le rôle Contributeur, Propriétaire ou Administrateur de l’accès utilisateur à l’étendue de l’abonnement. Pour plus d’informations, consultez Attribuer des rôles Azure en utilisant le portail Azure.

  2. Attendez quelques minutes pour recevoir l’alerte en fonction de la précision de l’agrégation et de la fréquence de l’évaluation de la requête de journal.

  3. Dans la page Alertes, surveillez l’alerte que vous avez spécifiée dans le groupe d’actions.

    Screenshot of the Alerts page showing that role assignment alert fired.

    L’image suivante montre un exemple d’alerte par e-mail.

    Screenshot of an email alert for a role assignment.

Supprimer la règle d’alerte

Procédez comme suit pour supprimer la règle d’alerte d’attribution de rôle et arrêter les coûts supplémentaires.

  1. Dans Monitor, accédez à Alertes.

  2. Dans la barre, cliquez sur Règles d’alerte.

  3. Ajoutez une coche en regard de la règle d’alerte que vous souhaitez supprimer.

  4. Cliquez Supprimer pour supprimer l’alerte.

Étapes suivantes