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 stratégie 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, vous devrez peut-être également ajouter une liste de contrôle d'accès aux objets (ACL) qui accorde à tous un accès en lecture.

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 de HTTP réponse404 (Not Found). Si l'objet existe mais que vous n'avez pas accordé d'autorisation de lecture, le point de terminaison du site Web renvoie le code de HTTP réponse403 (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 terminer ces étapes, vérifiez Blocage de l'accès public à votre stockage Amazon S3 que vous comprenez et acceptez les risques liés à l'autorisation d'un 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. Effacez Block all public access (Bloquer tous les accès publics) et choisissez Enregistrer les modifications.

    La console Amazon S3, qui affiche les paramètres de blocage du compartiment d'accès public.

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

Étape 2 : Ajouter une stratégie de compartiment

Pour que les objets de votre compartiment soient publiquement lisibles, vous devez écrire une stratégie 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 stratégie 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, veuillez consulter 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 Bucket Policy (Stratégie de compartiment), choisissez Edit (Modifier).

  4. Pour accorder l'accès public en lecture à votre site web, copiez la stratégie de compartiment suivante et collez-la dans l'Éditeur de stratégie 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 est un espace réservé pour le nom du bucket. Pour utiliser cette stratégie de compartiment avec votre propre compartiment, vous devez mettre à jour ce nom pour qu'il corresponde à celui de votre compartiment.

  6. Choisissez Enregistrer les modifications.

    Un message s'affiche indiquant que la stratégie 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 stratégie 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 stratégie 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 stratégie de compartiment pour accorder des autorisations à vos objets. Cependant, la stratégie 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, celui-ci doit utiliser la liste de contrôle d'accès aux objets (ACL) pour accorder une READ autorisation publique sur ces 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 deACLs. 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 plus d’informations, consultez Contrôle de la propriété des objets et désactivation ACLs pour votre compartiment.

Important

Si votre compartiment utilise le paramètre Propriétaire du compartiment appliqué pour la propriété des objets S3, vous devez utiliser des politiques pour accorder l’accès à votre compartiment 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 rendre un objet lisible par le public à l'aide d'unACL, accordez l'READautorisation au AllUsers groupe, comme indiqué dans l'élément de subvention suivant. Ajoutez cet élément de subvention à l'objetACL. Pour plus d'informations sur la gestionACLs, consultezVue d'ensemble 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>