Notifier les utilisateurs en cas de changements d'alertes - Amazon CloudWatch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Notifier les utilisateurs en cas de changements d'alertes

Cette section explique comment vous pouvez utiliser les notifications AWS utilisateur ou Amazon Simple Notification Service pour informer les utilisateurs des modifications apportées aux alarmes.

Configuration des notifications AWS utilisateur

Vous pouvez utiliser les notifications AWS utilisateur pour configurer des canaux de diffusion afin d'être informé des changements CloudWatch d'état d'alarme et des événements de modification de configuration. Vous recevez une notification lorsqu'un événement correspond à une règle que vous avez spécifiée. Vous pouvez recevoir des notifications relatives à des événements via plusieurs canaux, notamment les notifications de discussion AWS Chatbot ou les notifications push AWS Console Mobile Application. Vous pouvez également consulter les notifications dans le Centre de notifications de la console. Notifications utilisateur prend en charge l’agrégation, ce qui peut réduire le nombre de notifications que vous recevez lors d’événements spécifiques.

Les configurations de notification que vous créez avec les notifications AWS utilisateur ne sont pas prises en compte dans la limite du nombre d'actions que vous pouvez configurer par état d'alarme cible. Lorsque les notifications AWS utilisateur correspondent aux événements envoyés à Amazon EventBridge, celui-ci envoie des notifications pour toutes les alarmes de votre compte et des régions sélectionnées, sauf si vous spécifiez un filtre avancé pour autoriser ou refuser des alarmes ou des modèles spécifiques.

L'exemple suivant de filtre avancé correspond à un changement d'état d'alarme de OK à ALARM activé pour l'alarme nomméeServerCpuTooHigh.

{ "detail": { "alarmName": ["ServerCpuTooHigh"], "previousState": { "value": ["OK"] }, "state": { "value": ["ALARM"] } } }

Vous pouvez utiliser n'importe laquelle des propriétés publiées par une alarme lors d' EventBridge événements pour créer un filtre. Pour plus d’informations, consultez Événements d'alarme et EventBridge.

Configuration des SNS notifications Amazon

Vous pouvez utiliser Amazon Simple Notification Service pour envoyer à la fois des messages application-to-application (A2A) et des messages application-to-person (A2P), y compris des SMS mobiles (SMS) et des e-mails. Pour plus d'informations, consultez la section Destinations des SNS événements Amazon.

Pour chaque état que peut prendre une alarme, vous pouvez configurer l'alarme pour envoyer un message à un SNS sujet. Chaque SNS rubrique Amazon que vous configurez pour un état associé à une alarme donnée est prise en compte dans la limite du nombre d'actions que vous pouvez configurer pour cette alarme et cet état. Vous pouvez envoyer des messages au même SNS sujet Amazon à partir de n'importe quelle alarme de votre compte, et utiliser le même SNS sujet Amazon à la fois pour les utilisateurs d'applications (A2A) et les utilisateurs individuels (A2P). Cette configuration étant effectuée au niveau des alarmes, seules les alarmes que vous avez configurées envoient des messages à la SNS rubrique Amazon sélectionnée.

Pour commencer, créez une rubrique à laquelle vous vous abonnez. Vous pouvez, le cas échéant, publier un message test dans cette rubrique. Pour obtenir un exemple, consultez Configuration d'un SNS sujet Amazon à l'aide du AWS Management Console. Ou pour plus d'informations, consultez Getting started with Amazon SNS.

Sinon, si vous prévoyez d'utiliser le AWS Management Console pour créer votre CloudWatch alarme, vous pouvez ignorer cette procédure car vous pouvez créer le sujet lors de la création de l'alarme.

Lorsque vous créez une CloudWatch alarme, vous pouvez ajouter des actions pour chaque état cible dans lequel l'alarme entre. Ajoutez une SNS notification Amazon pour l'état dont vous souhaitez être informé et sélectionnez le SNS sujet Amazon que vous avez créé à l'étape précédente pour envoyer une notification par e-mail lorsque l'alarme passe à l'état sélectionné.

Note

Lorsque vous créez un SNS sujet Amazon, vous choisissez d'en faire un sujet standard ou un FIFOsujet. CloudWatch garantit la publication de toutes les notifications d'alarme pour les deux types de sujets. Cependant, même si vous utilisez un FIFO sujet, dans de rares cas, CloudWatch envoie les notifications dans le mauvais ordre au sujet. Si vous utilisez un FIFO sujet, l'alarme définit l'ID du groupe de messages des notifications d'alarme comme étant un hachage ARN de l'alarme.

Prévenir les problèmes de sécurité confus liés aux adjoints

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner un problème de confusion chez les adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le service appelant) appelle un autre service (le service appelé). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé d’accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte.

Nous recommandons d'utiliser les clés aws:SourceAccountcontextuelles aws:SourceArnaws:SourceOrgID,, et de condition aws:SourceOrgPathsglobale dans les politiques relatives aux ressources afin de limiter les autorisations qu'Amazon SNS accorde à un autre service sur la ressource. aws:SourceArnÀ utiliser pour associer une seule ressource à un accès multiservice. aws:SourceAccountÀ utiliser pour associer n'importe quelle ressource de ce compte à l'utilisation interservices. aws:SourceOrgIDÀ utiliser pour permettre à n'importe quelle ressource provenant de n'importe quel compte au sein d'une organisation d'être associée à l'utilisation interservices. aws:SourceOrgPathsÀ utiliser pour associer toute ressource provenant de comptes situés dans un AWS Organizations chemin à l'utilisation interservices. Pour plus d'informations sur l'utilisation et la compréhension des chemins, voir Comprendre le chemin de l' AWS Organizations entité.

Le moyen le plus efficace de se prémunir contre le problème de confusion des adjoints consiste à utiliser la clé de contexte de la condition aws:SourceArn globale avec l'intégralité ARN de la ressource. Si vous ne connaissez pas l'intégralité ARN de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de condition contextuelle aws:SourceArn globale avec des caractères génériques (*) pour les parties inconnues duARN. Par exemple, arn:aws:servicename:*:123456789012:*.

Si la aws:SourceArn valeur ne contient pas l'identifiant du compte, tel qu'un compartiment Amazon S3ARN, vous devez utiliser les deux aws:SourceAccount et aws:SourceArn limiter les autorisations.

Pour se protéger contre le problème de l'adjoint confus à grande échelle, utilisez la clé de contexte de condition globale aws:SourceOrgID ou aws:SourceOrgPaths avec l'ID de l'organisation ou le chemin de l'organisation de la ressource dans vos politiques basées sur les ressources. Lorsque vous ajoutez, supprimez et déplacez des comptes dans votre organisation, les politiques qui contiennent la clé aws:SourceOrgID ou aws:SourceOrgPaths incluront automatiquement les bons comptes et vous n'avez pas besoin de mettre manuellement à jour les polices.

La valeur de aws:SourceArn doit être celle ARN de l'alarme qui envoie les notifications.

L'exemple suivant montre comment vous pouvez utiliser les touches de contexte de condition aws:SourceAccount globale aws:SourceArn et globale pour éviter le problème de confusion des adjoints.

{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "cloudwatch.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-2:444455556666:MyTopic", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:us-east-2:111122223333:alarm:*" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } }] }

Si une alarme ARN contient des ASCII non-caractères, utilisez uniquement la clé de condition aws:SourceAccount globale pour limiter les autorisations.

Configuration d'un SNS sujet Amazon à l'aide du AWS Management Console

Pour commencer, créez une rubrique à laquelle vous vous abonnez. Vous pouvez, le cas échéant, publier un message test dans cette rubrique.

Pour créer une rubrique SNS
  1. Ouvrez la SNS console Amazon sur https://console.aws.amazon.com/sns/v3/home.

  2. Sur le SNS tableau de bord Amazon, sous Actions communes, choisissez Create Topic.

  3. Dans la boîte de dialogue Create new topic (Créer une rubrique), pour Topic name (Nom de rubrique), saisissez un nom de rubrique (par exemple my-topic).

  4. Choisissez Create topic (Créer une rubrique).

  5. Copiez le sujet ARN de la tâche suivante (par exemple, arn:aws:sns:us-east- 1:111122223333:my-topic).

Pour vous abonner à une rubrique SNS
  1. Ouvrez la SNS console Amazon sur https://console.aws.amazon.com/sns/v3/home.

  2. Dans le panneau de navigation, choisissez Subscriptions (Abonnements), puis Create a subscription (Créer un abonnement).

  3. Dans la boîte de dialogue Créer un abonnement, pour Sujet ARN, collez le sujet ARN que vous avez créé lors de la tâche précédente.

  4. Pour Protocole, choisissez E-mail.

  5. Pour Endpoint (Point de terminaison), saisissez une adresse e-mail que vous pouvez utiliser pour recevoir la notification, puis choisissez Create subscription (Créer un abonnement).

  6. Depuis votre application de messagerie, ouvrez le message dans AWS Notifications et confirmez votre abonnement.

    Votre navigateur Web affiche une réponse de confirmation d'AmazonSNS.

Pour publier un message de test dans un SNS sujet
  1. Ouvrez la SNS console Amazon sur https://console.aws.amazon.com/sns/v3/home.

  2. Dans le volet de navigation, choisissez Rubriques.

  3. Sur la page Topics (Rubriques), sélectionnez une rubrique, puis choisissez Publish to topic (Publier dans la rubrique).

  4. Sur la page Publish a message (Publier un message), tapez l'objet de votre message dans Subject (Sujet), puis saisissez un court message dans Message.

  5. Choisissez Publish Message (Publier un message).

  6. Vérifiez votre messagerie électronique afin de confirmer que vous avez reçu le message en provenance de la rubrique.

Configuration d'un SNS sujet à l'aide du AWS CLI

Tout d'abord, vous créez un SNS sujet, puis vous publiez un message directement dans le sujet pour vérifier que vous l'avez correctement configuré.

Pour configurer un SNS sujet
  1. Créez la rubrique à l'aide de la commande create-topic, comme suit.

    aws sns create-topic --name my-topic

    Amazon SNS renvoie un sujet ARN au format suivant :

    { "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic" }
  2. Abonnez votre adresse e-mail à la rubrique à l'aide de la commande subscribe. Si la demande d'abonnement aboutit, vous recevrez un e-mail de confirmation.

    aws sns subscribe --topic-arn arn:aws:sns:us-east-1:111122223333:my-topic --protocol email --notification-endpoint my-email-address

    Amazon SNS renvoie les éléments suivants :

    { "SubscriptionArn": "pending confirmation" }
  3. Depuis votre application de messagerie, ouvrez le message dans AWS Notifications et confirmez votre abonnement.

    Votre navigateur Web affiche une réponse de confirmation provenant de Amazon Simple Notification Service.

  4. Vérifiez l'abonnement à l'aide de la list-subscriptions-by-topiccommande.

    aws sns list-subscriptions-by-topic --topic-arn arn:aws:sns:us-east-1:111122223333:my-topic

    Amazon SNS renvoie les éléments suivants :

    { "Subscriptions": [ { "Owner": "111122223333", "Endpoint": "me@mycompany.com", "Protocol": "email", "TopicArn": "arn:aws:sns:us-east-1:111122223333:my-topic", "SubscriptionArn": "arn:aws:sns:us-east-1:111122223333:my-topic:64886986-bf10-48fb-a2f1-dab033aa67a3" } ] }
  5. (En option) Publiez un message test dans la rubrique à l'aide de la commande publish.

    aws sns publish --message "Verification" --topic arn:aws:sns:us-east-1:111122223333:my-topic

    Amazon SNS renvoie ce qui suit.

    { "MessageId": "42f189a0-3094-5cf6-8fd7-c2dde61a4d7d" }
  6. Vérifiez votre messagerie électronique afin de confirmer que vous avez reçu le message en provenance de la rubrique.