

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# `AWSSupport-ContainS3Resource`
<a name="automation-awssupport-contains3resource"></a>

 **Descrição** 

 O `AWSSupport-ContainS3Resource` runbook fornece uma solução automatizada para o procedimento descrito no artigo [Support Automation Workflow (SAW) Runbook: Contain a compromised Amazon AWS S3](https://repost.aws/articles/ARhGc0hDqKRIKAVCbmF1GmuQ) Bucket 

**Importante**  
Esse runbook executa várias operações que exigem privilégios elevados, como modificar políticas de bucket, tags e configurações de acesso público do Amazon S3. Essas ações podem potencialmente levar à escalação de privilégios ou impactar outras cargas de trabalho que dependem do bucket do Amazon S3 de destino. Você deve analisar as permissões concedidas à função especificada pelo `AutomationAssumeRole` parâmetro e garantir que elas sejam apropriadas para o caso de uso pretendido. Você pode consultar a AWS documentação a seguir para obter mais informações sobre as permissões do IAM: [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html).
Esse runbook executa ações mutativas que podem causar indisponibilidade ou interrupção em suas cargas de trabalho. Especificamente, a `Contain` ação bloqueia todo o acesso ao bucket especificado do Amazon S3, exceto as funções especificadas no `SecureRoles` parâmetro. Isso pode afetar qualquer aplicativo ou serviço que dependa do bucket Amazon S3 de destino.
Durante a `Contain` ação, esse runbook pode criar um bucket adicional do Amazon S3 (especificado pelo `BackupS3BucketName` parâmetro) para armazenar o backup da configuração do bucket original, caso ela ainda não exista.
Se o `Action` parâmetro estiver definido como`Restore`, esse runbook tentará restaurar a configuração do bucket do Amazon S3 para seu estado original com base no backup armazenado no `BackupS3BucketName` bucket. No entanto, existe o risco de que o processo de restauração falhe, deixando o bucket do Amazon S3 em um estado inconsistente. O runbook fornece instruções para restauração manual em caso de falhas desse tipo, mas você deve estar preparado para lidar com possíveis problemas durante o processo de restauração.
É recomendável revisar o runbook minuciosamente, entender seus possíveis impactos e testá-lo em um ambiente que não seja de produção antes de executá-lo em seu ambiente de produção.

 **Como funciona?** 

Esse runbook opera de forma diferente com base no tipo de recurso e na ação:
+ Para Amazon S3 General Purpose Bucket`Containment`: a automação bloqueia o acesso público ao bucket, desativa a configuração da ACL, impõe a propriedade do Bucket Owner Object e impõe uma política restritiva de bucket negando todas as ações do Amazon S3 ao bucket, exceto para permitir funções do IAM listadas.
+ Para o objeto de uso geral do Amazon S3`Containment`: a automação bloqueia o acesso público ao bucket, desativa a configuração da ACL, impõe a propriedade do objeto do proprietário do bucket e impõe uma política restritiva de bucket negando todas as ações do Amazon S3 no objeto, exceto as funções do IAM listadas como permitidas.
+ Para o Amazon S3 Directory Bucket`Containment`: a automação coloca uma política restritiva de bucket negando todas as ações do Amazon S3 ao bucket, exceto as funções do IAM listadas como permitidas.
+ Para o Amazon S3 General Purpose Bucket`Restore`: a automação restaura a configuração de acesso público do bloco, a configuração da ACL do bucket, a propriedade do objeto do proprietário do bucket e a política do bucket para a configuração inicial antes da contenção.
+ Para o objeto de uso geral do Amazon S3`Restore`: a automação restaura a configuração de acesso público do bloco, a configuração da ACL do bucket, a configuração da ACL do objeto, a propriedade do objeto do proprietário do bucket e a política do bucket para a configuração inicial antes da contenção.
+ Para o Amazon S3 Directory Bucket`Restore`: a automação restaura a política do bucket para a configuração inicial antes da contenção.

 [Executar esta automação (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainS3Resource) 

 **Tipo de documento** 

 Automação 

 **Proprietário** 

 Amazon 

 **Plataforma** 

 / 

 **Permissões obrigatórias do IAM** 

 O parâmetro `AutomationAssumeRole` requer as seguintes ações para usar o runbook com êxito. 
+ 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: ACL PutBucket
+ s3: PutBucketOwnershipControls
+ s3: PutBucketPolicy
+ s3: PutBucketPublicAccessBlock
+ s3: PutBucketTagging
+ s3: PutBucketVersioning
+ s3: PutObject
+ s3: PutObjectAcl
+ s3 express diz: CreateSession
+ s3 express diz: DeleteBucketPolicy
+ s3 express diz: GetBucketPolicy
+ s3 express diz: PutBucketPolicy
+ sms: DescribeAutomationExecutions

 Aqui está um exemplo de uma política do IAM que concede as permissões necessárias para`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": "*"
        }
    ]
}
```

------

 **Instruções** 

Siga estas etapas para configurar a automação:

1. Navegue até [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description)em Systems Manager em Documentos.

1. Selecione Execute automation (Executar automação).

1. Para os parâmetros de entrada, insira o seguinte:
   + **BucketName (Obrigatório):**
     + Descrição: (Obrigatório) O nome do bucket do Amazon S3.
     + Tipo: `AWS::S3::Bucket::Name`
   + **Ação (obrigatória):**
     + Descrição: (Obrigatório) Selecione `Contain` para isolar o recurso Amazon S3 `Restore` ou tentar restaurar a configuração do recurso ao seu estado original a partir de um backup anterior.
     + Tipo: string
     + Valores permitidos: `Contain|Restore`
   + **DryRun (Opcional):**
     + Descrição: (Opcional) Quando definida como verdadeira, a automação não fará nenhuma alteração no recurso de destino do Amazon S3; em vez disso, ela exibirá o que teria tentado alterar. Valor padrão: true.
     + Tipo: booliano
     + Valores permitidos: `true|false`
   + **BucketKeyName (Opcional):**
     + Descrição: (Opcional) A chave do objeto Amazon S3 que você deseja conter ou restaurar. Usado durante a contenção em nível de objeto.
     + Tipo: string
     + Allowed-pattern: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`
   + **BucketRestrictAccess(Condicional):**
     + Descrição: (Condicional) O ARN dos usuários ou funções do IAM que terão acesso ao recurso de destino do Amazon S3 após a execução das ações de contenção. Esse parâmetro é necessário quando `Action` está definido como `Contain`.
     + Tipo: StringList
     + Allowed-pattern: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **TagIdentifier (Opcional):**
     + Descrição: (Opcional) Uma tag no formato Key=BatchId, Value=78925 que será adicionada aos recursos criados ou modificados por esse runbook durante o fluxo de trabalho de contenção.
     + Tipo: string
     + Allowed-pattern: `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`
   + **Backups 3 BucketName (condicionais):**
     + Descrição: (Condicional) O bucket do Amazon S3 para fazer backup da configuração do recurso de destino quando definido como ou `Contain` para restaurar `Action` a configuração a partir `Action` do momento em que está definido. `Restore`
     + Tipo: `AWS::S3::Bucket::Name`
   + **Backups 3 KeyName (condicionais):**
     + Descrição: (Condicional) Se `Action` estiver definido como`Restore`, isso especifica a chave do Amazon S3 que a automação usará para tentar restaurar a configuração do recurso de destino.
     + Tipo: string
     + Allowed-pattern: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`

     
   + **Backups 3 BucketAccess (condicionais):**
     + Descrição: (Condicional) O ARN dos usuários ou funções do IAM que terão acesso ao bucket de backup do Amazon S3 após a execução das ações de contenção. Esse parâmetro é necessário quando `Action` é`Contain`.
     + Tipo: StringList
     + Allowed-pattern: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **AutomationAssumeRole (Opcional):**
     + Descrição: (Opcional) O Amazon Resource Name (ARN) da função do IAM que permite que o Systems Manager Automation execute as ações em seu nome.
     + Tipo: `AWS::IAM::Role::Arn`

1. Selecione Executar.

1. A automação é iniciada.

1. O bucket realiza as seguintes etapas:
   + **validateRequiredInputs**

     Valida os parâmetros de entrada de automação necessários com base na Ação especificada.
   + **assertBucketExists**

     Verifica se o bucket de destino do Amazon S3 existe e está acessível.
   + **backupBucketPreCheques**

     Verifica se o bucket de backup do Amazon S3 potencialmente concede acesso público de leitura ou gravação a seus objetos.
   + **backupTargetBucketMetadados**

     Descreve a configuração atual do bucket do Amazon S3 de destino e carrega o backup para o bucket de backup especificado do Amazon S3.
   + **Contenha um balde**

     Executa operações em nível de bucket para conter o bucket de destino do Amazon S3.
   + **BranchOnActionAndMode**

     Ramifica a automação com base nos parâmetros de entrada Action DryRun e.
   + **RestoreInstanceConfiguration**

     Restaura a configuração do bucket do Amazon S3 a partir do backup.
   + **containFinalOutput**

     Consolida a atividade de contenção em formato legível.
   + **ReportContain**

     Produz detalhes de funcionamento a seco para as ações de contenção.
   + **ReportRestore**

     Produz detalhes de funcionamento a seco para as ações de restauração.
   + **ReportRestoreFailure**

     Fornece instruções para restaurar a configuração original do bucket do Amazon S3 durante um cenário de falha no fluxo de trabalho de restauração.
   + **ReportContainmentFailure**

     Fornece instruções para restaurar a configuração original do bucket Amazon S3 durante um cenário de falha no fluxo de trabalho de contenção.
   + **FinalOutput**

     Exibe os detalhes das ações de contenção.

1. Após a conclusão da execução, revise a seção Saídas para obter os resultados detalhados da execução:
   + **ContainFinalOutput.Saída**

     Exibe os detalhes das ações de contenção realizadas por esse runbook quando `DryRun` está definido como False.
   + **RestoreFinalOutput.Saída**

     Exibe os detalhes das ações de restauração executadas por esse runbook quando `DryRun` está definido como False.
   + **Contém 3. Saída ResourceDryRun**

     Exibe os detalhes das ações de contenção realizadas por esse runbook quando `DryRun` está definido como True.
   + **Restore S3. Saída ResourceDryRun**

     Exibe os detalhes das ações de restauração executadas por esse runbook quando `DryRun` está definido como True.
   + **ReportContainmentFailure.Saída**

     Fornece instruções para restaurar a configuração original do recurso Amazon S3 de destino durante um cenário de falha no fluxo de trabalho de contenção.
   + **ReportRestoreFailure.Saída**

     Fornece instruções para restaurar a configuração original do recurso Amazon S3 de destino durante um cenário de falha no fluxo de trabalho de restauração.

**Referências**

Automação do Systems Manager
+ [Execute esta automação (console)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainS3Resource/description)
+ [Executar uma automação](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configurar a automação](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Fluxos de trabalho de automação de suporte](https://aws.amazon.com/premiumsupport/technology/saw/)