

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`
<a name="awssupport-troubleshoot-s3-event-notifications"></a>

 **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 des fonctions AWS Lambda , des rubriques Amazon Simple Notification Service (Amazon SNS) ou des files d'attente Amazon Simple 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 en tant que 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](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)
+ Valide l'existence de la ressource de destination, puis passe en revue 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 avec une clé AWS Key Management Service (AWS KMS), la politique des clés 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 notification d'événements que si le propriétaire du compartiment Amazon S3 est le même que celui où le runbook d'automatisation est exécuté. Compte AWS 
En outre, ce runbook ne peut pas évaluer les politiques relatives aux ressources de destination hébergées dans un autre Compte AWS.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootS3EventNotifications) 

**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 lance ce runbook.
+ S3 BucketName

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

  Description : (Obligatoire) Le nom du compartiment Amazon S3 configuré avec des 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 [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3EventNotifications/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3EventNotifications/description)à Systems Manager sous Documents.

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

1. Pour les paramètres d'entrée, entrez ce qui suit :
   + **AutomationAssumeRole (Facultatif) :**

     Amazon Resource Name (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 lance ce runbook.
   + **S3 BucketName (obligatoire) :**

     Nom du compartiment Amazon S3 configuré avec des notifications d'événements.  
![\[AWSSupport-TroubleshootS3 paramètres d'entrée pour l'exécution du EventNotification runbook.\]](http://docs.aws.amazon.com/fr_fr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-s3-event-notifications_input_parameters.png)

1. Sélectionnez Exécuter.

1. L'automatisation démarre.

1. Le document exécute les étapes suivantes :
   + **ValidateInputs**

     Valide que le compartiment Amazon S3 fourni appartient au même compte sur lequel 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.
   + **BranchOnSQSResourceStratégie**

     Des branches sur la présence de ressources Amazon SQS dans les notifications d'événements.
   + **Valider SQSResource la politique**

     Valide la politique de ressources sur les attributs de la file d'attente Amazon SQS et `sqs:SendMessage` dispose d'une autorisation pour 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 que la politique en `aws/sqs` matière de AWS KMS clés prévoit des autorisations pour Amazon S3.
   + **BranchOnSNSResourceStratégie**

     Des branches sur la présence de ressources Amazon SNS dans les notifications d'événements.
   + **Valider SNSResource la politique**

     Valide la politique de ressources sur Amazon SNS. Les attributs de la 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 que la politique en `aws/sns` matière de AWS KMS clés prévoit des autorisations pour Amazon S3.
   + **BranchOnLambdaFunctionResourcePolicy**

     Indique s'il existe des AWS Lambda fonctions dans les notifications d'événements.
   + **ValidateLambdaFunctionResourcePolicy**

     Valide la politique de ressources si la AWS Lambda fonction est `lambda:InvokeFunction` autorisée à accéder à Amazon S3.
   + **GenerateReport**

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

1. 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 clés AWS KMS , la vérification de l'état des clés AWS KMS et la vérification de la politique des clés. AWS KMS 
   + **Notifications d'événements Amazon SNS**

     Si des notifications de destination Amazon SNS sont configurées avec le compartiment Amazon S3, une liste des rubriques Amazon SNS s'affiche à côté des résultats des vérifications. 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 clés AWS KMS , la vérification de l'état des clés AWS KMS et la vérification de la politique des clés. AWS KMS 
   + **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 vérifications. Le rapport inclut le contrôle des ressources Lambda et le contrôle de la politique d'accès Lambda.  
![\[AWSSupport-TroubleshootS3 exemples de sortie d'exécution d'un EventNotification runbook.\]](http://docs.aws.amazon.com/fr_fr/systems-manager-automation-runbooks/latest/userguide/images/awssupport-troubleshoot-s3-event-notifications_outputs.png)

 **Références** 

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3EventNotifications/description)
+ [Exécuter une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuration d'une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Page d'accueil de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)