Quelle stratégie de compartiment S3 puis-je utiliser pour me conformer à la règle AWS Config s3-bucket-ssl-requests-only ?

Lecture de 3 minute(s)
0

J'ai activé la règle AWS Config « s3-bucket-ssl-requests-only » pour les politiques de compartiment Amazon Simple Storage Service (Amazon S3) afin d'exiger le chiffrement pendant le transit des données. Je veux m'assurer que mes stratégies de compartiment sont conformes à cette règle.

Résolution

**Remarque :**Amazon S3 propose le chiffrement en transit et le chiffrement au repos. Le chiffrement en transit fait référence au protocole HTTPS, et le chiffrement au repos fait référence au chiffrement côté client ou côté serveur.

Amazon S3 autorise à la fois les requêtes HTTP et HTTPS. Par défaut, Amazon S3 envoie des requêtes via AWS Management Console, AWS Command Line Interface (AWS CLI) ou le protocole HTTPS.

Pour respecter la règle s3-bucket-ssl-requests-only, vérifiez que vos stratégies de compartiment refusent explicitement l'accès aux requêtes HTTP. Les stratégies de compartiment qui autorisent les requêtes HTTPS mais ne refusent pas explicitement les requêtes HTTP risquent de ne pas être conformes à la règle.

Pour déterminer les requêtes HTTP ou HTTPS dans une stratégie de compartiment, utilisez une condition qui vérifie la clé « aws:SecureTransport ». Lorsque cette clé a la valeur true, Amazon S3 envoie la demande via HTTPS. Pour respecter la règle s3-bucket-ssl-requests-only, créez une stratégie de compartiment qui refuse explicitement l'accès lorsque la requête répond à la condition "aws:SecureTransport": "false". Cette politique refuse explicitement l'accès aux requêtes HTTP.

Stratégie de compartiment conforme à la règle s3-bucket-ssl-requests-only

Cet exemple de politique de compartiment est conforme à la règle s3-bucket-ssl-requests-only. Cette politique refuse explicitement toutes les actions sur le compartiment et les objets lorsque la requête répond à la condition "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": "*"
    }
  ]
}

Politique de compartiment non conforme à la règle s3-bucket-ssl-requests-only

Cette politique de compartiment n'est pas conforme à la règle s3-bucket-ssl-requests-only. Au lieu d'une instruction de refus explicite, la politique autorise l'accès aux requêtes qui répondent à la condition "aws:SecureTransport": "true". Cette instruction autorise un accès anonyme à s3:GetObject pour tous les objets du compartiment si la requête utilise le protocole HTTPS. Évitez ce type de stratégie de compartiment, sauf si votre cas d'utilisation nécessite un accès anonyme via 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": "*"
    }
  ]
}

Informations connexes

Comment utiliser les stratégies de compartiment et appliquer une défense en profondeur pour protéger vos données Amazon S3 (langue française non garantie)

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois