View a markdown version of this page

AWSSupport-TroubleshootS3EventNotifications - AWS Systems Manager Référence du dossier d’exploitation Automation

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.

AWSSupport-TroubleshootS3EventNotifications

Description

Le manuel AWSSupport-TroubleshootS3EventNotifications AWS Systems Manager d'automatisation permet de résoudre les problèmes liés aux notifications d'événements de compartiment Amazon Simple Storage Service (Amazon S3) configurées avec AWS Lambda Functions, Amazon Simple Notification Service (Amazon SNS) Topics ou Amazon Simple Queue Service (Amazon SQS) Queue Service (Amazon SQS) Queue Service (Amazon SQS). Il fournit un rapport sur les paramètres de configuration des différentes ressources configurées avec le compartiment Amazon S3 comme notification d'événement de destination.

Fonctionnement

Le runbook exécute les étapes suivantes :

  • Vérifie si le compartiment Amazon S3 existe dans le même compte que celui où AWSSupport-TroubleshootS3EventNotifications il est exécuté.

  • Récupère les ressources de destination (AWS Lambda Function, rubrique Amazon SNS ou file d'attente Amazon SQS) configurées en tant que notifications d'événements pour le compartiment Amazon S3 à l'aide de l'API. GetBucketNotificationConfiguration

  • Vérifie que la ressource de destination existe, puis examine la politique basée sur les ressources des ressources de destination afin de déterminer si Amazon S3 est autorisé à publier sur la destination.

  • Si vous avez chiffré la destination à l'aide d'une clé AWS Key Management Service (AWS KMS), la politique de clé est vérifiée pour déterminer si l'accès à Amazon S3 est autorisé.

  • Génère un rapport de toutes les vérifications des ressources de destination.

Important
  • Ce runbook ne peut évaluer les configurations de notifications d'événements que si le propriétaire du compartiment Amazon S3 est le même que celui sur Compte AWS lequel le runbook d'automatisation est exécuté.

  • En outre, ce runbook ne peut pas évaluer les politiques relatives aux ressources de destination qui sont hébergées dans un autre Compte AWS environnement.

Exécutez cette automatisation (console)

Type de document

 Automatisation

Propriétaire

Amazon

Plateformes

LinuxmacOS, Windows

Paramètres

  • AutomationAssumeRole

    Type : Chaîne

    Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

  • S3BucketName

    Type : AWS::S3::Bucket::Name

    Description : (Obligatoire) Le nom du compartiment Amazon S3 configuré avec les notifications d'événements.

Autorisations IAM requises

Le AutomationAssumeRole paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

  • s3:GetBucketLocation

  • s3:ListAllMyBuckets

  • s3:GetBucketNotification

  • sqs:GetQueueAttributes

  • sqs:GetQueueUrl

  • sns:GetTopicAttributes

  • kms:GetKeyPolicy

  • kms:DescribeKey

  • kms:ListAliases

  • lambda:GetPolicy

  • lambda:GetFunction

  • iam:GetContextKeysForCustomPolicy

  • iam:SimulateCustomPolicy

  • iam:ListRoles

  • ssm:DescribeAutomationStepExecutions

Exemple de politique IAM pour le rôle Automation Assume

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "S3Permission", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "S3PermissionGetBucketNotification", "Effect": "Allow", "Action": [ "s3:GetBucketNotification" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Sid": "SQSPermission", "Effect": "Allow", "Action": [ "sqs:GetQueueAttributes", "sqs:GetQueueUrl" ], "Resource": "arn:aws:sqs:us-east-1:111122223333:*" }, { "Sid": "SNSPermission", "Effect": "Allow", "Action": [ "sns:GetTopicAttributes" ], "Resource": "arn:aws:sns:us-east-1:111122223333:*" }, { "Sid": "KMSPermission", "Effect": "Allow", "Action": [ "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListAliases" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" }, { "Sid": "LambdaPermission", "Effect": "Allow", "Action": [ "lambda:GetPolicy", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:us-east-1:111122223333:function:*" }, { "Sid": "IAMPermission", "Effect": "Allow", "Action": [ "iam:GetContextKeysForCustomPolicy", "iam:SimulateCustomPolicy", "iam:ListRoles" ], "Resource": "*" }, { "Sid": "SSMPermission", "Effect": "Allow", "Action": [ "ssm:DescribeAutomationStepExecutions" ], "Resource": "*" } ] }

Instructions

Pour configurer l'automatisation, procédez comme suit :

  1. Accédez à AWSSupport-TroubleshootS3EventNotifications la section Documents dans Systems Manager.

  2. Sélectionnez Execute automation (Exécuter l'automatisation).

  3. Pour les paramètres d'entrée, entrez les informations suivantes :

    • AutomationAssumeRole (Facultatif) :

      Le nom de ressource Amazon (ARN) du rôle AWS Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui démarre ce runbook.

    • S3BucketName (Obligatoire) :

      Le nom du compartiment Amazon S3 configuré avec les notifications d'événements.

    AWSSupport-TroubleshootS3EventNotification paramètres d'entrée d'exécution du runbook.
  4. Sélectionnez Exécuter.

  5. L'automatisation démarre.

  6. Le document exécute les étapes suivantes :

    • ValidateInputs

      Valide que le compartiment Amazon S3 fourni appartient au même compte que celui où l'automatisation est exécutée et récupère la région dans laquelle le compartiment est hébergé.

    • GetBucketNotificationConfiguration

      Appelle GetBucketNotificationConfiguration l'API pour examiner les notifications d'événements configurées avec le compartiment Amazon S3 et formater la sortie.

    • BranchOnSQSResourcePolicy

      Branches indiquant si les notifications d'événements contiennent des ressources Amazon SQS.

    • ValidateSQSResourcePolicy

      Valide la politique de ressources sur Amazon SQS Queue. Les attributs sont sqs:SendMessage autorisés à utiliser Amazon S3. Si la ressource Amazon SQS est chiffrée, vérifie que le chiffrement n'utilise pas la AWS KMS clé par défaut, c'est-à-dire aws/sqs que la politique de AWS KMS clé dispose d'autorisations pour Amazon S3.

    • BranchOnSNSResourcePolicy

      Branches indiquant si les notifications d'événements contiennent des ressources Amazon SNS.

    • ValidateSNSResourcePolicy

      Valide la politique de ressources sur Amazon SNS Les attributs de rubrique sont sns:Publish autorisés pour Amazon S3. Si la ressource Amazon SNS est chiffrée, vérifie que le chiffrement n'utilise pas la AWS KMS clé par défaut, c'est-à-dire aws/sns que la politique de AWS KMS clé dispose d'autorisations pour Amazon S3.

    • BranchOnLambdaFunctionResourcePolicy

      Branches indiquant s'il existe des AWS Lambda fonctions dans les notifications d'événements.

    • ValidateLambdaFunctionResourcePolicy

      Valide la politique en matière de ressources AWS Lambda si la fonction est lambda:InvokeFunction autorisée à utiliser Amazon S3.

    • GenerateReport

      Renvoie les détails du runbook, les étapes, les résultats et des recommandations pour résoudre tout problème lié aux notifications d'événements configurées avec le compartiment Amazon S3.

  7. Une fois terminé, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :

    • Notifications d'événements Amazon SQS

      Si des notifications de destination Amazon SQS sont configurées avec le compartiment Amazon S3, une liste des files d'attente Amazon SQS s'affiche à côté des résultats des vérifications. Le rapport inclut la vérification des ressources Amazon SQS, la vérification de la politique d'accès Amazon SQS, la vérification des AWS KMS clés, la vérification de l'état des AWS KMS clés et la vérification de la politique des AWS KMS clés.

    • Notifications d'événements Amazon SNS

      Si des notifications de destination Amazon SNS sont configurées avec le compartiment Amazon S3, une liste des sujets Amazon SNS s'affiche à côté des résultats des contrôles. Le rapport inclut la vérification des ressources Amazon SNS, la vérification de la politique d'accès Amazon SNS, la vérification des AWS KMS clés, la vérification de l'état des AWS KMS clés et la vérification de la politique des AWS KMS clés.

    • AWS Lambda Notifications d'événements

      Si des notifications de AWS Lambda destination sont configurées avec le compartiment Amazon S3, une liste des fonctions Lambda s'affiche à côté des résultats des contrôles. Le rapport inclut la vérification des ressources Lambda et la vérification de la politique d'accès Lambda.

    AWSSupport-TroubleshootS3EventNotification sortie d'exécution d'un exemple de runbook.

Références

Systems Manager Automation