Définition des autorisations pour l’accès au site web - Amazon Simple Storage Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Définition des autorisations pour l’accès au site web

Lorsque vous configurez un compartiment en tant que site web statique, si vous voulez que votre site web soit public, vous pouvez accorder un accès public en lecture. Pour que votre compartiment soit lisible publiquement, vous devez désactiver les paramètres de blocage de l’accès public pour le compartiment et écrire une politique de compartiment qui octroie un accès en lecture public. Si votre compartiment contient des objets qui n’appartiennent pas au propriétaire du compartiment, il se peut que vous ayez également besoin d’ajouter une liste ACL des objets qui accorde l’accès en lecture à tous.

Si vous ne souhaitez pas désactiver les paramètres de blocage de l'accès public pour votre compartiment, mais que vous souhaitez tout de même que votre site Web soit public, vous pouvez créer une CloudFront distribution Amazon pour servir votre site Web statique. Pour plus d'informations, consultez Accélérez votre site Web avec Amazon CloudFront ou utilisez une CloudFront distribution Amazon pour servir un site Web statique dans le guide du développeur Amazon Route 53.

Note

Sur le point de terminaison du site web, si un utilisateur demande un objet qui n’existe pas, Amazon S3 renvoie le code réponse HTTP 404 (Not Found). Si l’objet existe, mais que vous n’avez pas l’autorisation en lecture dessus, le point de terminaison du site Web renvoie un code réponse HTTP 403 (Access Denied). L’utilisateur peut utiliser le code réponse pour déduire si un objet spécifique existe ou non. Si vous ne voulez pas ce type de comportement, vous ne devez pas activer la prise en charge du site Web pour votre compartiment.

Étape 1 : modifier les paramètres de blocage de l’accès public S3

Si vous voulez configurer un compartiment existant en tant que site web statique ayant un accès public, vous devez modifier les paramètres de blocage de l’accès public pour ce compartiment. Vous devrez peut-être également modifier les paramètres de blocage de l’accès public au niveau de votre compte. Amazon S3 applique la combinaison la plus restrictive de paramètres de blocage de l’accès public au niveau du compartiment et du compte.

Par exemple, si vous autorisez l’accès public pour un compartiment, mais que vous bloquez tout accès public au niveau du compte, Amazon S3 continue de bloquer l’accès public au compartiment. Dans ce scénario, vous devez modifier vos paramètres de blocage de l’accès public de niveau compartiment et de niveau compte. Pour plus d’informations, consultez Blocage de l’accès public à votre stockage Amazon S3.

Par défaut, Amazon S3 bloque l’accès public à votre compte et à vos compartiments. Si vous souhaitez utiliser un compartiment pour héberger un site web statique, vous pouvez utiliser ces étapes pour modifier vos paramètres de blocage de l’accès public.

Avertissement

Avant de suivre ces étapes, passez en revue Blocage de l’accès public à votre stockage Amazon S3 pour vous assurer que vous comprenez et acceptez les risques liés à l’autorisation de l’accès public. Lorsque vous désactivez les paramètres de blocage de l’accès public pour rendre votre compartiment public, toute personne sur Internet peut accéder à votre compartiment. Nous vous recommandons de bloquer tous les accès publics à vos compartiments.

  1. Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Choisissez le nom du compartiment que vous avez configuré en tant que site web statique.

  3. Choisissez Permissions.

  4. Sous Block public access (bucket settings) (Bloquer l’accès public (paramètres de compartiment)), choisissez Edit (Modifier).

  5. Décochez Bloquer tous les accès publics et sélectionnez Enregistrer les modifications.

    Console Amazon S3, montrant les paramètres de la fonctionnalité de blocage de l’accès public d’un compartiment.

    Amazon S3 désactive les paramètres de blocage de l’accès public pour votre compartiment. Pour créer un site Web public statique, vous devrez peut-être aussi modifier les paramètres de blocage de l’accès public de votre compte avant d’ajouter une politique de compartiment. Si les paramètres de blocage de l’accès public pour votre compte sont actuellement activés, une note s’affiche sous Bloquer l’accès public (paramètres de compartiment).

Étape 2 : ajouter une politique de compartiment

Pour que les objets de votre compartiment soient publiquement lisibles, vous devez écrire une politique de compartiment qui accorde à tous l’autorisation s3:GetObject.

Après avoir modifié les paramètres de blocage de l’accès public S3, vous devez ajouter une politique de compartiment pour accorder un accès public en lecture à votre compartiment. Lorsque vous accordez un accès public en lecture, tout le monde sur Internet peut accéder à votre compartiment.

Important

La stratégie suivante est uniquement un exemple et autorise un accès complet au contenu de votre compartiment. Avant d’effectuer cette étape, consultez Comment assurer la sécurité des fichiers de mon compartiment Amazon S3 ?, pour vous assurer que vous comprenez les bonnes pratiques pour sécuriser les fichiers dans votre compartiment S3 et les risques liés à l’octroi d’un accès public.

  1. Dans Compartiments, choisissez le nom de votre compartiment.

  2. Choisissez Permissions.

  3. Sous Politique de compartiment, choisissez Modifier.

  4. Pour accorder l’accès public en lecture à votre site web, copiez la politique de compartiment suivante et collez-la dans l’Éditeur de politique de compartiment.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::Bucket-Name/*" ] } ] }
  5. Mettez à jour Resource pour inclure le nom de votre compartiment.

    Dans l'exemple de politique de compartiment précédent, Bucket-Name il s'agit d'un espace réservé pour le nom du compartiment. Pour utiliser cette politique de compartiment avec votre propre compartiment, vous devez mettre à jour ce nom pour qu’il corresponde à celui de votre compartiment.

  6. Sélectionnez Enregistrer les modifications.

    Un message s’affiche indiquant que la politique de compartiment a été ajoutée avec succès.

    Si une erreur indique Policy has invalid resource, confirmez que le nom du compartiment dans la politique de compartiment correspond au nom de votre compartiment. Pour plus d’informations sur l’ajout d’une politique de compartiment, consultez Comment ajouter une politique de compartiment S3 ?

    Si vous recevez un message d’erreur et que vous ne pouvez pas enregistrer la politique de compartiment, vérifiez les paramètres de blocage de l’accès public de votre compte et de votre compartiment pour confirmer que vous autorisez l’accès public au compartiment.

Listes de contrôle d’accès à l’objet

Vous pouvez utiliser une politique de compartiment pour accorder des autorisations à vos objets. Cependant, la politique de compartiment s’applique uniquement aux objets appartenant au propriétaire du compartiment. Si votre compartiment contient des objets qui n’appartiennent pas au propriétaire du compartiment, l’autorisation READ publique sur ces objets doit être accordée à l’aide de la liste ACL des objets.

La propriété des objets S3 est un paramètre au niveau du compartiment Amazon S3 que vous pouvez utiliser à la fois pour contrôler la propriété des objets chargés dans votre compartiment et pour les désactiver ou les activer. ACLs Par défaut, Object Ownership est défini sur le paramètre imposé par le propriétaire du bucket, et tous ACLs sont désactivés. Lorsqu'ils ACLs sont désactivés, le propriétaire du compartiment possède tous les objets du compartiment et gère l'accès à ceux-ci exclusivement à l'aide de politiques de gestion des accès.

La majorité des cas d'utilisation modernes d'Amazon S3 ne nécessitent plus l'utilisation de ACLs. Nous vous recommandons de rester ACLs désactivé, sauf dans des circonstances exceptionnelles où vous devez contrôler l'accès à chaque objet individuellement. Lorsque cette ACLs option est désactivée, vous pouvez utiliser des politiques pour contrôler l'accès à tous les objets de votre compartiment, quelle que soit la personne qui les a chargés dans votre compartiment. Pour de plus amples informations, veuillez consulter Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment.

Important

Si votre compartiment à usage général utilise le paramètre imposé par le propriétaire du compartiment pour la propriété des objets S3, vous devez utiliser des politiques pour accorder l'accès à votre compartiment à usage général et aux objets qu'il contient. Lorsque le paramètre Bucket owner forced est activé, les demandes de définition de listes de contrôle d'accès (ACLs) ou de mise à jour ACLs échouent et renvoient le code AccessControlListNotSupported d'erreur. Les demandes de lecture ACLs sont toujours prises en charge.

Pour qu’un objet soit accessible en lecture publiquement à l’aide d’une liste ACL, accordez une autorisation READ au groupe AllUsers, comme indiqué dans l’élément « grant » suivant. Ajoutez cet élément « grant » à la liste ACL d’objet. Pour plus d'informations sur la gestion ACLs, consultezPrésentation de la liste de contrôle d’accès (ACL).

<Grant> <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI> </Grantee> <Permission>READ</Permission> </Grant>