Quale policy del bucket S3 devo usare per rispettare la regola di AWS Config s3-bucket-ssl-requests-only?

3 minuti di lettura
0

Ho abilitato la regola AWS Config "s3-bucket-ssl-requests-only" per le policy dei bucket di Amazon Simple Storage Service (Amazon S3) per richiedere la crittografia durante il transito dei dati. Voglio assicurarmi che le mie policy dei bucket rispettino questa regola.

Risoluzione

Nota: Amazon S3 offre crittografia in transito e crittografia a riposo. La crittografia in transito si riferisce a HTTPS e la crittografia a riposo si riferisce alla crittografia lato client o lato server.

Amazon S3 consente sia le richieste HTTP sia le HTTPS. Per impostazione predefinita, Amazon S3 effettua richieste tramite la Console di gestione AWS, l'interfaccia a riga di comando AWS (AWS CLI) o HTTPS.

Per rispettare la regola s3-bucket-ssl-requests-only, verifica che le tue policy del bucket neghino esplicitamente l'accesso alle richieste HTTP. Le policy dei bucket che consentono le richieste HTTPS senza negare esplicitamente le richieste HTTP potrebbero non essere conformi alla regola.

Per determinare le richieste HTTP o HTTPS in una policy dei bucket, utilizza una condizione che controlli la chiave "aws:SecureTransport". Quando questa chiave è impostata su true, Amazon S3 invia la richiesta tramite HTTPS. Per rispettare la regola s3-bucket-ssl-requests-only, crea una policy del bucket che neghi esplicitamente l'accesso quando la richiesta soddisfa la condizione "aws:SecureTransport": "false". Questa policy nega esplicitamente l'accesso alle richieste HTTP.

Politica dei bucket conforme alla regola s3-bucket-ssl-requests-only

Questo esempio di policy dei bucket è conforme alla regola s3-bucket-ssl-requests-only. Questa policy nega esplicitamente tutte le azioni sul bucket e sugli oggetti quando la richiesta soddisfa la condizione "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": "*"
    }
  ]
}

Policy del bucket non conforme alla regola s3-bucket-ssl-requests-only

Questa policy dei bucket non è conforme alla regola s3-bucket-ssl-requests-only. Invece di una dichiarazione di negazione esplicita, la policy consente l'accesso alle richieste che soddisfano la condizione "aws:SecureTransport": "true". Questa dichiarazione consente l'accesso anonimo a s3:GetObject per tutti gli oggetti nel bucket se la richiesta utilizza HTTPS. Evita questo tipo di policy del bucket a meno che il tuo caso d'uso non richieda l'accesso anonimo tramite 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": "*"
    }
  ]
}

Informazioni correlate

Come utilizzare le policy dei bucket e applicare una difesa approfondita per proteggere i dati di Amazon S3

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa