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

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

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, il se peut que vous ayez également besoin d'ajouter une liste ACL des objets qui accorde l'accès en lecture à tous.

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 réponse HTTP 404 (Not Found). Si l’objet existe mais que vous n’avez pas accordé l’autorisation de lecture, le point de terminaison du site web renvoie le code de réponse HTTP 403 (Access Denied). L’utilisateur peut utiliser le code de réponse pour déduire si un objet spécifique existe. 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 d’accès public

Si vous voulez configurer un compartiment existant comme un site web statique ayant un accès public, vous devez modifier les paramètres de blocage de l'accès public pour ce compartiment. Il se peut également que vous ayez à modifier vos paramètres de blocage de l'accès public de niveau compte. Amazon S3 applique la combinaison la plus restrictive des paramètres de blocage de l'accès public de niveau compartiment et de niveau compte.

Par exemple, si vous autorisez l'accès public pour un compartiment, mais que vous bloquez tout l'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 Utilisation d'Amazon S3 Block Public Access,

Par défaut, Amazon S3 bloque l'accès publique à 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 cette étape, revoyez Utilisation du blocage de l'accès public Amazon S3 pour vous assurer que vous comprenez et acceptez les risques liés à l'autorisation d'accès public. Lorsque vous désactivez les paramètres de blocage d'accès public pour rendre votre compartiment public, toute personne sur Internet peut accéder à votre compartiment. Nous vous recommandons de bloquer tout accès public à 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. Choisissez Modifier.

  5. Effacez Block all public access (Bloquer tous les accès publics) et choisissez Save (Enregistrer).

    Avertissement

    Avant de terminer cette étape, revoyez Utilisation du blocage de l'accès public Amazon S3 pour vous assurer que vous comprenez et acceptez les risques liés à l'autorisation d'accès public. Lorsque vous désactivez les paramètres de blocage d'accès public pour rendre votre compartiment public, toute personne sur Internet peut accéder à votre compartiment. Nous vous recommandons de bloquer tout accès public à vos compartiments.

  6. Dans la zone de confirmation, entrez confirm, puis choisissez Confirm (Confirmer).

    Sous S3 buckets (Compartiments S3), l'Access (Accès) de votre compartiment devient Objects can be public (Les objets peuvent être publics). Vous pouvez désormais ajouter une stratégie de compartiment pour rendre les objets du compartiment lisibles publiquement. Si l'Access (Accès) continue de s'afficher comme Bucket and objects not public (Compartiment et objets non publics), vous devrez peut-être modifier les paramètres de blocage de l'accès public pour votre compte avant d'ajouter une stratégie de 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 S3 Block Public Access, 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 de réaliser cette étape, consultez Comment puis-je sécuriser les fichiers de mon compartiment Amazon S3 ?, pour vous assurer que vous comprenez les meilleures pratiques pour sécuriser les fichiers dans votre compartiment S3 et les risques liés à l'octroi d'un accès public.

  1. Dans Buckets (Compartiments), choisissez le nom de votre compartiment.

  2. Choisissez Permissions.

  3. Choisissez Stratégie de compartiment.

  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:::example.com/*" ] } ] }
  5. Mettez à jour Resource pour inclure le nom de votre compartiment.

    Dans l'exemple de stratégie de compartiment précédent, example.com est le nom de compartiment. 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.

    Un avertissement s'affiche et indique que le compartiment a un accès public. Dans Bucket Policy (Stratégie de compartiment), une étiquette Public apparaît.

    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 stratégie de compartiment, consultez Comment puis-je ajouter une stratégie de compartiment S3 ?

    Si vous recevez un avertissement Error - Access denied (Erreur - Accès refusé) et que l’ Buket policy editor (Éditeur de stratégie de compartiment) ne vous permet pas d'enregistrer la stratégie de compartiment, vérifiez vos paramètres d'accès public au niveau du compte et du 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, l'autorisation READ publique sur ces objets doit être accordée à l'aide de la liste ACL des objets.

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 des listes ACL, consultez la section Gestion de l'accès grâce aux listes 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>