Qual política de bucket do Amazon S3 eu uso 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

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 você define a condição chave como 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 a solicitações HTTP quando a solicitação atender à condição "aws:SecureTransport": "false".

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

O seguinte 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

A seguinte 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". A declaração permite acesso anônimo a GetObject para todos os objetos no bucket quando a solicitação 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": "*"
        }
    ]
}

Observação: use a política de bucket anterior somente quando seu caso de uso exigir acesso anônimo por meio de HTTPS.

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)