Comment puis-je résoudre les problèmes liés à l'octroi d'un accès public en lecture à un objet Amazon S3 à l'aide d'une politique de compartiment ou d'une ACL relative à l'objet ?

Lecture de 6 minute(s)
0

J'essaie d'accorder un accès public en lecture aux objets de mon compartiment Amazon Simple Storage Service (Amazon S3) à l'aide d'une politique de compartiment ou d'une liste de contrôle d'accès aux objets (ACL). Toutefois, je reçois des messages d'erreur « Autorisations insuffisantes » ou « Accès refusé ».

Brève description

Supposons que vous utilisiez la politique de compartiment suivante pour accorder un accès public en lecture aux objets de votre compartiment :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::example-bucket/*"
            ]
        }
    ]
}

Les erreurs Autorisations insuffisantes ou Accès refusé peuvent s'afficher pour les raisons suivantes :

  • Vous n'avez pas l'autorisation s3:PutBucketPolicy de mettre à jour ou de créer une politique de compartiment pour votre compartiment Amazon S3.
  • Vous ne disposez pas de l'autorisation s3:PutObjectAcl pour modifier la liste de contrôle d’accès aux objets.
  • La politique du compartiment S3 ou la liste de contrôle d’accès aux objets est en conflit avec vos paramètres de blocage de l’accès public S3.

Résolution

Accordez les autorisations requises

Assurez-vous que l'utilisateur ou le rôle AWS Identity and Access Management (IAM) que vous utilisez dispose des autorisations suivantes :

  • s3:PutBucketPolicy pour créer ou mettre à jour la politique de compartiment pour votre compartiment S3
  • s3:PutObjectAcl pour mettre à jour la liste de contrôle d’accès aux objets afin d'accorder un accès public en lecture

Mettre à jour les paramètres de blocage de l'accès public

Par défaut, toutes les ressources Amazon S3, telles que les compartiments, les objets et les sous-ressources associées, sont privées et ne sont pas accessibles au public. Les paramètres de blocage de l'accès public pour les points d'accès, les compartiments et les comptes vous aident à gérer l'accès public aux ressources Amazon S3. Ces paramètres remplacent les politiques de compartiment S3 et les listes de contrôle d'accès aux objets afin que vous puissiez limiter l'accès public à ces ressources. Lorsque la politique de compartiment ou la liste de contrôle d’accès aux objets que vous avez configurée entre en conflit avec le paramètre Blocage de l'accès public, vous ne pouvez pas créer de politique de compartiment pour accorder un accès public en lecture. S3 refuse également les autorisations permettant de modifier la politique du compartiment ou les listes de contrôle d’accès aux objets afin d'accorder un accès public en lecture.

Amazon S3 Block Public Access fournit quatre paramètres pour bloquer l'accès public aux compartiments et aux objets. Ces paramètres sont indépendants et peuvent être utilisés dans n'importe quelle combinaison.

  • BlockPublicAcls - Bloquez l'accès public accordé à l'aide de nouvelles listes de contrôle d’accès : Amazon S3 bloque les autorisations d'accès public que vous appliquez aux compartiments ou aux objets récemment ajoutés. S3 refuse également la création de nouvelles la liste de contrôle d’accès public pour les compartiments et les objets existants. Ce paramètre ne modifie aucune autorisation existante qui autorise l'accès public aux ressources S3 qui utilisent des listes de contrôle d’accès.
  • IgnoRepublicAcls - Bloquez l'accès public accordé à l'aide de n'importe quelle liste de contrôle d’accès : Amazon S3 ignore toutes les listes de contrôle d’accès qui accordent un accès public aux compartiments et aux objets.
  • BlockPublicPolicy - Bloquez l'accès public accordé à l'aide d'un nouveau compartiment public ou de nouvelles politiques de point d'accès : Amazon S3 bloque l'utilisation de nouvelles règles relatives aux compartiments et aux points d'accès qui accordent un accès public aux compartiments et aux objets. Ce paramètre ne modifie aucune politique existante qui autorise l'accès public aux ressources S3.
  • RestrictPublicBuckets - Bloquez l'accès public et intercompte accordé conformément à n'importe quelle politique de compartiment ou de point d'accès public : Amazon S3 ignore l'accès public et intercompte aux compartiments ou aux points d'accès grâce à des politiques qui accordent un accès public aux compartiments et aux objets.

Pour plus d'informations, consultez Blocage de l'accès public Amazon S3 : un autre niveau de protection pour vos comptes et vos compartiments.

Veillez à mettre à jour les paramètres de blocage de l'accès public de S3 en fonction de votre cas d'utilisation.

Remarque :

  • Si vous accordez un accès public en lecture à des objets à l'aide de listes de contrôle d'accès, désactivez les paramètres de blocage de l'accès public suivants :
  • Si vous accordez un accès public en lecture à des objets à l'aide d'une politique de compartiment S3, désactivez les paramètres de blocage de l'accès public suivants :
  • Vous ne pouvez pas utiliser les listes de contrôle d'accès aux compartiment ou aux objets pour accorder un accès public en lecture aux compartiments dont la propriété de l'objet S3 est définie sur Propriétaire du compartiment imposé. Dans ce cas, vous devez utiliser des politiques pour accorder l'accès à votre compartiment et aux objets qu'il contient. Les demandes de définition ou de mise à jour des listes de contrôle d’accès échouent et le message d'erreur AccessControlListNotSupported s'affiche. Les demandes de lecture des listes de contrôle d’accès sont toujours prises en charge.

Si vous avez activé les paramètres de blocage de l'accès public pour tous les compartiments S3 de votre compte, le message Le compartiment et les objets ne sont pas publics s'affiche. Pour plus d'informations, consultez Configuration des paramètres de blocage de l'accès public pour votre compte.

**Important :**Lorsque vous accordez un accès public en lecture aux objets, n'importe qui sur Internet peut accéder à ces objets. Si ce n'est pas ce que vous souhaitez, assurez-vous que votre compartiment S3 n'est pas accessible au public. Pour plus d'informations, consultez les bonnes pratiques de sécurité d'Amazon S3.

Informations connexes

Comment puis-je accorder l'accès public en lecture à certains objets de mon compartiment Amazon S3 ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an