Qual política de bucket do S3 posso usar para cumprir a regra s3-bucket-ssl-requests-only do AWS Config?

3 minuto de leitura
0

Ativei a regra “s3-bucket-ssl-requests-only” do AWS Config para que as políticas de bucket do Amazon Simple Storage Service (Amazon S3) exijam criptografia durante o trânsito de dados. Quero ter certeza de que minhas políticas de bucket estão em conformidade com essa regra.

Resolução

Observação: o Amazon S3 oferece criptografia de dados em trânsito e criptografia de dados em repouso. A criptografia de dados em trânsito se refere a HTTPS, e a criptografia de dados em repouso se refere à criptografia do lado do cliente ou do lado do servidor.

O Amazon S3 permite solicitações HTTP e HTTPS. Por padrão, o Amazon S3 faz solicitações por meio do Console de Gerenciamento da AWS, da AWS Command Line Interface (AWS CLI) ou de HTTPS.

Para cumprir a regra s3-bucket-ssl-requests-only, confirme se suas políticas de bucket negam explicitamente o acesso às solicitações HTTP. As políticas de bucket que permitem solicitações HTTPS sem negar explicitamente as solicitações HTTP podem não estar em conformidade com a regra.

Para determinar solicitações HTTP ou HTTPS em uma política de bucket, use uma condição que verifique a chave “aws:SecureTransport”. Quando essa chave é true, o Amazon S3 envia a solicitação por meio de HTTPS. Para cumprir a regra s3-bucket-ssl-requests-only, crie uma política de bucket que negue explicitamente o acesso quando a solicitação atender à condição “aws:SecureTransport”: “false”. Essa política nega explicitamente o acesso às solicitações HTTP.

Política de bucket que está em conformidade com a regra s3-bucket-ssl-requests-only

Este exemplo de política de bucket está em conformidade com a regra s3-bucket-ssl-requests-only. A política nega explicitamente todas as ações no bucket e nos objetos quando a solicitação atende à condição “aws:SecureTransport”: “false”:

{
  "Id": "ExamplePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowSSLRequestsOnly",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      },
      "Principal": "*"
    }
  ]
}

Política de bucket que não está em conformidade com a regra s3-bucket-ssl-requests-only

Esta política de bucket não está em conformidade com a regra s3-bucket-ssl-requests-only. Em vez de uma declaração de negação explícita, a política permite o acesso a solicitações que atendam à condição “aws:SecureTransport”: “true”. Essa declaração permite acesso anônimo a s3:GetObject para todos os objetos no bucket se a solicitação usar HTTPS. Evite esse tipo de política de bucket, a menos que seu caso de uso exija acesso anônimo por HTTPS:

{
  "Id": "ExamplePolicy",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "NOT-RECOMMENDED-FOR__AWSCONFIG-Rule_s3-bucket-ssl-requests-only",
      "Action": "s3:GetObject",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "true"
        }
      },
      "Principal": "*"
    }
  ]
}

Informações relacionadas

How to use bucket policies and apply defense-in-depth to help secure your Amazon S3 data (Como usar políticas de bucket e aplicar uma defesa aprofundada para ajudar a proteger seus dados do Amazon S3)

AWS OFICIAL
AWS OFICIALAtualizada há 8 meses