¿Qué política de bucket de Amazon S3 utilizo 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 los datos en tránsito. Quiero asegurarme de que mis políticas de bucket cumplan esta regla.

Resolución

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. Cuando establece la condición clave en 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 a solicitudes HTTP cuando la solicitud cumpla la condición «aws:SecureTransport»: «false».

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. La 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

La siguiente política de bucket no cumple la regla s3-bucket-ssl-requests-only. En lugar de utilizar una instrucción Deny 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 GetObject para todos los objetos del bucket cuando la solicitud usa 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": "*"
        }
    ]
}

Nota: Use la política de bucket anterior solo cuando su caso de uso requiera un acceso anónimo a través de HTTPS.

Información relacionada

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