Comment puis-je restreindre le chargement de fichiers dans mon compartiment Amazon S3 à certains types de fichiers ?

Date de la dernière mise à jour : 08/12/2020

Je souhaite restreindre à certains types de fichiers le contenu stocké dans mon compartiment Amazon Simple Storage Service (Amazon S3). Comment puis-je restreindre les types de fichiers pouvant être chargés dans mon compartiment ?

Résolution

Ajouter des instructions à votre stratégie de compartiment, qui :

  • autorisent l’action s3 : PutObject uniquement pour les objets qui possèdent l'extension du type de fichier que vous souhaitez ;
  • refusent explicitement l'action s3:PutObject pour les objets qui ne possèdent pas l'extension du type de fichier que vous souhaitez.
    Remarque : cette instruction de refus explicite applique les exigences en matière de type de fichier aux utilisateurs disposant d'un accès complet à vos ressources Amazon S3.

Par exemple, la stratégie de compartiment suivante autorise l'action s3:PutObject à exampleuser uniquement pour les objets qui possèdent l'extension .jpg, .png ou .gif :

Avertissement : cet exemple de stratégie de compartiment inclut une instruction de refus explicite. Même l'utilisateur qui a saisi la stratégie de compartiment peut se voir refuser l'accès au compartiment s'il ne répond pas aux conditions. Vous devez examiner attentivement la stratégie de compartiment avant de l'enregistrer. Si vous êtes accidentellement bloqué, consultez J'ai accidentellement refusé l'accès à mon compartiment Amazon S3 à tout le monde. Comment puis-je rétablir l'accès ?

{
  "Version": "2012-10-17",
  "Id": "Policy1464968545158",
  "Statement": [
    {
      "Sid": "Stmt1464968483619",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111111111111:user/exampleuser"
      },
      "Action": "s3:PutObject",
      "Resource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.jpg",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.png",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.gif"
      ]
    },
    {
      "Sid": "Stmt1464968483619",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:PutObject",
      "NotResource": [
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.jpg",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.png",
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*.gif"
      ]
    }
  ]
}

Remarque : pour la première valeur Principal, répertoriez les Amazon Resource Names (ARN) des utilisateurs auxquels vous souhaitez accorder des autorisations de chargement. Pour les valeurs Resource et NotResource, veillez à bien remplacer DOC-EXAMPLE-BUCKET par le nom de votre compartiment.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?