

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-ContainS3Resource`
<a name="automation-awssupport-contains3resource"></a>

 **Description** 

 Le `AWSSupport-ContainS3Resource` runbook fournit une solution automatisée pour la procédure décrite dans l'article [Support Automation Workflow (SAW) Runbook : Contain a compromise AWS Amazon](https://repost.aws/articles/ARhGc0hDqKRIKAVCbmF1GmuQ) S3 Bucket 

**Important**  
Ce runbook effectue diverses opérations qui nécessitent des privilèges élevés, telles que la modification des politiques relatives aux compartiments Amazon S3, des balises et des configurations d'accès public. Ces actions peuvent potentiellement entraîner une augmentation des privilèges ou avoir un impact sur d'autres charges de travail qui dépendent du compartiment Amazon S3 ciblé. Vous devez vérifier les autorisations accordées au rôle spécifié par le `AutomationAssumeRole` paramètre et vous assurer qu'elles sont adaptées au cas d'utilisation prévu. Vous pouvez consulter la AWS documentation suivante pour plus d'informations sur les autorisations IAM : [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html).
Ce runbook exécute des actions mutatives susceptibles d'entraîner une indisponibilité ou une interruption de vos charges de travail. Plus précisément, l'`Contain`action bloque tout accès au compartiment Amazon S3 spécifié, à l'exception des rôles spécifiés dans le `SecureRoles` paramètre. Cela peut avoir un impact sur les applications ou les services qui dépendent du compartiment Amazon S3 ciblé.
Au cours de l'`Contain`action, ce runbook peut créer un compartiment Amazon S3 supplémentaire (spécifié par le `BackupS3BucketName` paramètre) pour stocker la sauvegarde de la configuration du compartiment d'origine, si celui-ci n'existe pas déjà.
Si le `Action` paramètre est défini sur`Restore`, ce runbook tente de restaurer la configuration du compartiment Amazon S3 à son état d'origine en fonction de la sauvegarde stockée dans le `BackupS3BucketName` compartiment. Cependant, le processus de restauration risque d'échouer, laissant le compartiment Amazon S3 dans un état incohérent. Le manuel d'exécution fournit des instructions pour la restauration manuelle en cas de telles défaillances, mais vous devez être prêt à gérer les problèmes potentiels pendant le processus de restauration.
Il est recommandé de lire attentivement le runbook, de comprendre ses impacts potentiels et de le tester dans un environnement hors production avant de l'exécuter dans votre environnement de production.

 **Fonctionnement** 

Ce runbook fonctionne différemment en fonction du type de ressource et de l'action :
+ Pour le bucket Amazon S3 à usage général `Containment` : l'automatisation bloque l'accès public au bucket, désactive la configuration ACL, impose la propriété de l'objet au propriétaire du bucket et impose une politique restrictive interdisant toutes les actions Amazon S3 sur le bucket, à l'exception des rôles IAM autorisés listés.
+ Pour les objets à usage général Amazon S3 `Containment` : l'automatisation bloque l'accès public au bucket, désactive la configuration ACL, impose la propriété de l'objet au propriétaire du bucket et met en place une politique de bucket restrictive interdisant toutes les actions Amazon S3 sur l'objet, à l'exception des rôles IAM autorisés répertoriés.
+ Pour le compartiment d'annuaire Amazon S3 `Containment` : l'automatisation impose une politique de compartiment restrictive interdisant toutes les actions Amazon S3 sur le compartiment, à l'exception des rôles IAM autorisés répertoriés.
+ Pour le bucket à usage général Amazon S3 `Restore` : l'automatisation rétablit la configuration Block Public Access, la configuration Bucket ACL, la propriété de l'objet par le propriétaire du bucket et la politique du bucket dans leur configuration initiale avant le confinement.
+ Pour l'objet à usage général Amazon S3 `Restore` : l'automatisation rétablit la configuration Block Public Access, la configuration Bucket ACL, la configuration ACL Object, la propriété de l'objet Bucket Owner Object Object Object Object Object Object Object et la politique du bucket dans leur configuration initiale avant le confinement.
+ Pour le compartiment d'annuaire Amazon S3 `Restore` : l'automatisation rétablit la politique du compartiment dans sa configuration initiale avant le confinement.

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

 **Types de document** 

  Automatisation 

 **Propriétaire** 

 Amazon 

 **Plateforme** 

 / 

 **Autorisations IAM nécessaires** 

 Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook. 
+ s3 : CreateBucket
+ s3 : DeleteBucketPolicy
+ s3 : DeleteObjectTagging
+ s3 : GetAccountPublicAccessBlock
+ s3 : GetBucketAcl
+ s3 : GetBucketLocation
+ s3 : GetBucketOwnershipControls
+ s3 : GetBucketPolicy
+ s3 : GetBucketPolicyStatus
+ s3 : GetBucketTagging
+ s3 : GetEncryptionConfiguration
+ s3 : GetObject
+ s3 : GetObjectAcl
+ s3 : GetObjectTagging
+ s3 : GetReplicationConfiguration
+ s3 : ListBucket
+ s3 : PutAccountPublicAccessBlock
+ s3 : PutBucket ACL
+ s3 : PutBucketOwnershipControls
+ s3 : PutBucketPolicy
+ s3 : PutBucketPublicAccessBlock
+ s3 : PutBucketTagging
+ s3 : PutBucketVersioning
+ s3 : PutObject
+ s3 : PutObjectAcl
+ S3 Express : CreateSession
+ S3 Express : DeleteBucketPolicy
+ S3 Express : GetBucketPolicy
+ S3 Express : PutBucketPolicy
+ SMS : DescribeAutomationExecutions

 Voici un exemple de politique IAM qui accorde les autorisations nécessaires pour : `AutomationAssumeRole` 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucketPolicy",
                "s3:DeleteObjectTagging",
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketOwnershipControls",
                "s3:GetBucketPolicy",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketTagging",
                "s3:GetEncryptionConfiguration",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectTagging",
                "s3:GetReplicationConfiguration",
                "s3:ListBucket",
                "s3:PutAccountPublicAccessBlock",
                "s3:PutBucketACL",
                "s3:PutBucketOwnershipControls",
                "s3:PutBucketPolicy",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutBucketTagging",
                "s3:PutBucketVersioning",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "*"
        },
        {
            "Sid": "S3ExpressPermissions",
            "Effect": "Allow",
            "Action": [
                "s3express:CreateSession",
                "s3express:DeleteBucketPolicy",
                "s3express:GetBucketPolicy",
                "s3express:PutBucketPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SSMPermissions",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeAutomationExecutions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 **Instructions** 

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

1. Accédez [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/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 :
   + **BucketName (Obligatoire) :**
     + Description : (Obligatoire) Nom du compartiment Amazon S3.
     + Type : `AWS::S3::Bucket::Name`
   + **Action (obligatoire) :**
     + Description : (Obligatoire) Sélectionnez `Contain` cette option pour isoler la ressource Amazon S3 ou `Restore` pour essayer de restaurer la configuration de la ressource dans son état d'origine à partir d'une sauvegarde précédente.
     + Type : Chaîne
     + Valeurs autorisées : `Contain|Restore`
   + **DryRun (Facultatif) :**
     + Description : (Facultatif) Lorsqu'elle est définie sur true, l'automatisation n'apporte aucune modification à la ressource Amazon S3 cible, mais affiche ce qu'elle aurait tenté de modifier. Valeur par défaut : true.
     + Type : Boolean
     + Valeurs autorisées : `true|false`
   + **BucketKeyName (Facultatif) :**
     + Description : (Facultatif) La clé de l'objet Amazon S3 que vous souhaitez contenir ou restaurer. Utilisé lors du confinement au niveau de l'objet.
     + Type : Chaîne
     + Modèle autorisé : `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`
   + **BucketRestrictAccess(Conditionnel) :**
     + Description : (Conditionnel) L'ARN des utilisateurs ou des rôles IAM qui seront autorisés à accéder à la ressource Amazon S3 cible après avoir exécuté les actions de confinement. Ce paramètre est obligatoire lorsqu'il `Action` est défini sur`Contain`.
     + Type : StringList
     + Modèle autorisé : `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **TagIdentifier (Facultatif) :**
     + Description : (Facultatif) Une balise au format Key=BatchId, Value=78925 qui sera ajoutée aux ressources créées ou modifiées par ce runbook pendant le flux de travail de confinement.
     + Type : Chaîne
     + Modèle autorisé : `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`
   + **BackupS3 BucketName (conditionnel) :**
     + Description : (Conditionnel) Le compartiment Amazon S3 permettant de sauvegarder la configuration des ressources cibles lorsqu'elle `Action` est définie sur `Contain` ou de restaurer la configuration à partir de laquelle elle `Action` est définie sur`Restore`.
     + Type : `AWS::S3::Bucket::Name`
   + **BackupS3 KeyName (conditionnel) :**
     + Description : (Conditionnel) Si ce paramètre `Action` est défini sur`Restore`, cela indique la clé Amazon S3 que l'automatisation utilisera pour tenter de restaurer la configuration des ressources cibles.
     + Type : Chaîne
     + Modèle autorisé : `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`

     
   + **BackupS3 BucketAccess (conditionnel) :**
     + Description : (Conditionnel) L'ARN des utilisateurs ou des rôles IAM qui seront autorisés à accéder au compartiment Amazon S3 de sauvegarde après avoir exécuté les actions de confinement. Ce paramètre est obligatoire quand c'`Action`est le cas`Contain`.
     + Type : StringList
     + Modèle autorisé : `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **AutomationAssumeRole (Facultatif) :**
     + Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle IAM qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
     + Type : `AWS::IAM::Role::Arn`

1. Sélectionnez Exécuter.

1. L'automatisation démarre.

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

     Valide les paramètres d'entrée d'automatisation requis en fonction de l'action spécifiée.
   + **assertBucketExists**

     Vérifie si le compartiment Amazon S3 cible existe et est accessible.
   + **backupBucketPreChèques**

     Vérifie si le compartiment Amazon S3 de sauvegarde accorde potentiellement un accès public en lecture ou en écriture à ses objets.
   + **backupTargetBucketMetadonnées**

     Décrit la configuration actuelle du compartiment Amazon S3 cible et télécharge la sauvegarde dans le compartiment Amazon S3 de sauvegarde spécifié.
   + **Contenir un seau**

     Effectue des opérations au niveau du compartiment pour contenir le compartiment Amazon S3 cible.
   + **BranchOnActionAndMode**

     Branche l'automatisation en fonction des paramètres d'entrée Action et DryRun.
   + **RestoreInstanceConfiguration**

     Restaure la configuration du compartiment Amazon S3 à partir de la sauvegarde.
   + **containFinalOutput**

     Consolide l'activité de confinement dans un format lisible.
   + **ReportContain**

     Affiche les détails du cycle à sec pour les actions de confinement.
   + **ReportRestore**

     Affiche les détails du fonctionnement à sec pour les actions de restauration.
   + **ReportRestoreFailure**

     Fournit des instructions pour restaurer la configuration d'origine du compartiment Amazon S3 lors d'un scénario d'échec du flux de restauration.
   + **ReportContainmentFailure**

     Fournit des instructions pour restaurer la configuration initiale du compartiment Amazon S3 lors d'un scénario d'échec du flux de travail de confinement.
   + **FinalOutput**

     Affiche les détails des actions de confinement.

1. Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
   + **ContainFinalOutput.Sortie**

     Affiche les détails des actions de confinement effectuées par ce runbook lorsqu'il `DryRun` est défini sur False.
   + **RestoreFinalOutput.Sortie**

     Affiche les détails des actions de restauration effectuées par ce runbook lorsqu'il `DryRun` est défini sur False.
   + **Contient S3ResourceDryRun. Sortie**

     Affiche les détails des actions de confinement effectuées par ce runbook lorsqu'il `DryRun` est défini sur True.
   + **Restaure 3ResourceDryRun. Output**

     Affiche les détails des actions de restauration effectuées par ce runbook lorsqu'il `DryRun` est défini sur True.
   + **ReportContainmentFailure.Sortie**

     Fournit des instructions pour restaurer la configuration initiale de la ressource Amazon S3 cible lors d'un scénario d'échec du flux de travail de confinement.
   + **ReportRestoreFailure.Sortie**

     Fournit des instructions pour restaurer la configuration initiale de la ressource Amazon S3 cible lors d'un scénario d'échec du flux de restauration.

**Références**

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/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)
+ [Support des flux de travail automatisés](https://aws.amazon.com/premiumsupport/technology/saw/)