¿Qué política de bucket de S3 debo utilizar para cumplir la regla s3-bucket-ssl-requests-only de AWS Config?

3 minutos de lectura
0

He activado la regla «s3-bucket-ssl-requests-only» de AWS Config para que mis políticas de bucket de Amazon Simple Storage Service (Amazon S3) exijan el cifrado durante el tránsito de datos. Quiero asegurarme de que mis políticas de bucket cumplan esta regla.

Resolución

Nota: Amazon S3 ofrece cifrado en tránsito y cifrado en reposo. El cifrado en tránsito se refiere a HTTPS, mientras que el cifrado en reposo se refiere al cifrado del lado del cliente o del lado del servidor.

Amazon S3 permite solicitudes HTTP y HTTPS. De forma predeterminada, Amazon S3 realiza las solicitudes a través de la Consola de administración de AWS, la Interfaz de la línea de comandos de AWS (AWS CLI) o HTTPS.

Para cumplir la regla s3-bucket-ssl-requests-only, confirme si sus políticas de bucket deniegan explícitamente el acceso a las solicitudes HTTP. Es posible que las políticas de bucket que permitan solicitudes de HTTPS sin denegar explícitamente las solicitudes HTTP no cumplan la regla.

Para determinar las solicitudes HTTP o HTTPS en una política de bucket, utilice una condición que compruebe la clave «aws:SecureTransport». Si la clave es verdadera (true), Amazon S3 envía la solicitud a través de HTTPS. Para cumplir la regla s3-bucket-ssl-requests-only, cree una política de bucket que deniegue explícitamente el acceso cuando la solicitud cumpla la condición «aws:SecureTransport»: «false». Esta política deniega explícitamente el acceso a las solicitudes HTTP.

Política de bucket que cumple la regla s3-bucket-ssl-requests-only

Este ejemplo de política de bucket cumple la regla s3-bucket-ssl-requests-only. Esta política deniega explícitamente todas las acciones del bucket y los objetos cuando la solicitud cumple la condición «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 no cumple la regla s3-bucket-ssl-requests-only

Esta política de bucket no cumple la regla s3-bucket-ssl-requests-only. En lugar de utilizar una instrucción de denegación explícita, la política permite el acceso a las solicitudes que cumplan la condición «aws:SecureTransport»: «true». Esta instrucción permite el acceso anónimo a s3:GetObject para todos los objetos del bucket si la solicitud usa HTTPS. Evite este tipo de política de bucket, a menos que su caso de uso requiera un acceso anónimo a través de 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": "*"
    }
  ]
}

Información relacionada

How to use bucket policies and apply defense-in-depth to help secure your Amazon S3 data

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 6 meses