Restreindre l'accès à une origine Amazon Simple Storage Service - Amazon CloudFront

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.

Restreindre l'accès à une origine Amazon Simple Storage Service

CloudFront propose deux méthodes pour envoyer des demandes authentifiées à une origine Amazon S3 : le contrôle d'accès à l'origine (OAC) et l'identité d'accès à l'origine (OAI). OAC vous aide à sécuriser vos origines, par exemple pour Amazon S3. Nous vous recommandons d'utiliser OAC car il prend en charge :

  • Tous les compartiments Amazon S3 en tout Régions AWS, y compris les régions optionnelles lancées après décembre 2022

  • Chiffrement côté serveur avec AWS KMS (SSE-KMS) Amazon S3

  • Demandes dynamiques (PUT et DELETE) vers Amazon S3

L'identité d'accès d'origine ne fonctionne pas pour les scénarios de la liste précédente ou nécessite des solutions de contournement supplémentaires dans ces scénarios. Les rubriques suivantes décrivent comment utiliser le contrôle d'origine d'accès (OAC) avec une origine Amazon S3. Pour plus d'informations sur la migration de l'identité d'accès d'origine (OAI) vers le contrôle d'accès d'origine (OAC), consultez Migration de l'identité d'accès à l'origine (OAI) vers le contrôle d'accès à l'origine (OAC).

Remarques
  • Lorsque vous utilisez l' CloudFront OAC avec les origines des compartiments Amazon S3, vous devez définir Amazon S3 Object Ownership pour que le propriétaire du compartiment soit appliqué, ce qui est le cas par défaut pour les nouveaux compartiments Amazon S3. Si vous avez besoin d'ACL, utilisez le paramètre préféré du propriétaire du compartiment pour garder le contrôle sur les objets chargés via CloudFront.

  • Si votre origine est un compartiment Amazon S3 configuré comme point de terminaison de site Web, vous devez le configurer en CloudFront tant qu'origine personnalisée. Cela signifie que vous ne pouvez pas utiliser OAC (ou OAI). OAC ne prend pas en charge la redirection d'origine à l'aide de Lambda @Edge.

Rubriques

Création d'un nouveau contrôle d'accès à l'origine

Suivez les étapes décrites dans les rubriques suivantes pour configurer un nouveau contrôle d'accès à l'origine dans CloudFront.

Prérequis

Avant de créer et de configurer le contrôle d'accès à l'origine (OAC), vous devez disposer d'une CloudFront distribution avec une origine de compartiment Amazon S3. Cette origine doit être un compartiment S3 normal, et non un compartiment configuré en tant que point de terminaison. Pour plus d'informations sur la configuration d'une CloudFront distribution avec une origine de compartiment S3, consultezCommencez avec une CloudFront distribution de base.

Note

Lorsque vous utilisez OAC pour sécuriser l'origine de votre compartiment S3, la communication entre Amazon S3 CloudFront et Amazon S3 s'effectue toujours via HTTPS, quels que soient vos paramètres spécifiques.

Donnez à l'origine l'autorisation de contrôle d'accès d'accéder au compartiment S3

Avant de créer un contrôle d'accès à l'origine (OAC) ou de le configurer dans une CloudFront distribution, assurez-vous que l'OAC est autorisé à accéder à l'origine du compartiment S3. Procédez ainsi après avoir créé une CloudFront distribution, mais avant d'ajouter l'OAC à l'origine S3 dans la configuration de distribution.

Pour autoriser l'OAC à accéder au compartiment S3, utilisez une politique de compartiment S3 pour autoriser le principal de CloudFront service (cloudfront.amazonaws.com) à accéder au compartiment. Utilisez un Condition élément de la politique CloudFront pour autoriser l'accès au compartiment uniquement lorsque la demande provient de la CloudFront distribution contenant l'origine S3.

Pour plus d'informations sur l'ajout ou la modification d'une stratégie de compartiment, consultez Ajout d'une stratégie de compartiment à l'aide de la console Amazon S3 dans le Guide de l’utilisateur Amazon S3.

Voici des exemples de politiques de compartiment S3 qui permettent à un CloudFront OAC d'accéder à une origine S3.

Exemple Politique de compartiment S3 qui autorise l'accès en lecture seule à un OAC CloudFront
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowCloudFrontServicePrincipalReadOnly", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<S3 bucket name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" } } } }
Exemple Politique de compartiment S3 qui autorise l'accès en lecture et en écriture à un CloudFront OAC
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowCloudFrontServicePrincipalReadWrite", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::<S3 bucket name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" } } } }

SSE-KMS

Si les objets de l'origine du compartiment S3 sont chiffrés à l'aide du chiffrement côté serveur avec AWS Key Management Service (SSE-KMS), vous devez vous assurer que l'OAC est autorisé à utiliser la clé. AWS KMS Pour accorder à l'identité d'accès l'autorisation d'utiliser la clé KMS, ajoutez une instruction à la Stratégie de clé KMS. Pour plus d'informations sur la modification d'une stratégie de clé, consultez Modification d'une stratégie de clé dans le Manuel du développeur AWS Key Management Service .

L'exemple suivant montre une déclaration de stratégie de clé KMS qui permet à l'OAC d'utiliser la clé KMS.

Exemple Déclaration de politique relative aux clés KMS qui permet à un CloudFront OAC d'accéder à une clé KMS pour SSE-KMS
{ "Sid": "AllowCloudFrontServicePrincipalSSE-KMS", "Effect": "Allow", "Principal": { "Service": [ "cloudfront.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" } } }

Création du contrôle d'accès à l'origine

Pour créer un contrôle d'accès à l'origine (OAC), vous pouvez utiliser le AWS Management Console AWS CloudFormation, AWS CLI, ou l' CloudFront API.

Console
Pour créer un contrôle d'accès à l'origine
  1. Connectez-vous à la CloudFront console AWS Management Console et ouvrez-la à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Dans le panneau de navigation de gauche, choisissez Accès à l'origine.

  3. Choisissez Créer un paramètre de contrôle.

  4. Sur l'écran Créer un paramètre de contrôle, procédez comme suit :

    1. Dans le volet Détails, entrez un Nom et (éventuellement) une Description pour le contrôle d'accès à l'origine.

    2. Dans le volet Paramètres, nous vous recommandons de conserver le paramètre par défaut (Signer les demandes (recommandé)). Pour plus d’informations, consultez Paramètres avancés pour le contrôle d'accès à l'origine.

  5. Choisissez S3 dans la liste déroulante Origin type (Type de l'origine).

  6. Choisissez Créer.

    Après avoir créé l'OAC, prenez note de Nom. Vous en aurez besoin au cours de la procédure suivante.

Pour ajouter un contrôle d'accès à une origine S3 dans une distribution
  1. Ouvrez la CloudFront console à l'adressehttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Choisissez une distribution avec une origine S3 à laquelle vous souhaitez ajouter l'OAC, puis choisissez l'onglet Origines.

  3. Sélectionnez l'origine S3 que vous souhaitez ajouter à l'origine, puis choisissez Modifier.

  4. Pour l'accès à Origin, choisissez les paramètres de contrôle d'accès Origin (recommandé).

  5. Dans le menu déroulant Origin access control (Contrôle d'accès d'origine), choisissez l'OAC que vous souhaitez utiliser.

  6. Sélectionnez Enregistrer les modifications.

La distribution commence à se déployer sur tous les emplacements CloudFront périphériques. Lorsqu'un emplacement périphérique reçoit la nouvelle configuration, il signe toutes les demandes qu'il envoie à l'origine du compartiment S3.

CloudFormation

Pour créer un contrôle d'accès à l'origine (OAC) avec AWS CloudFormation, utilisez le type de AWS::CloudFront::OriginAccessControl ressource. L'exemple suivant montre la syntaxe du AWS CloudFormation modèle, au format YAML, pour créer un contrôle d'accès à l'origine.

Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: ExampleOAC OriginAccessControlOriginType: s3 SigningBehavior: always SigningProtocol: sigv4

Pour plus d'informations, consultez la section AWS::CloudFront::OriginAccessContrôle dans le guide de AWS CloudFormation l'utilisateur.

CLI

Pour créer un contrôle d'accès à l'origine avec le AWS Command Line Interface (AWS CLI), utilisez la aws cloudfront create-origin-access-control commande. Vous pouvez utiliser un fichier d'entrée pour fournir les paramètres d'entrée de la commande, plutôt que de spécifier chaque paramètre individuel comme entrée de ligne de commande.

Pour créer un contrôle d'accès à l'origine (CLI avec un fichier d'entrée)
  1. Utilisez la commande suivante pour créer un fichier nommé origin-access-control.yaml. Ce fichier contient tous les paramètres d’entrée de la commande create-origin-access-control.

    aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
  2. Ouvrez le fichier origin-access-control.yaml que vous venez de créer. Modifiez le fichier pour ajouter un nom à l'OAC, une description (facultative) et remplacez SigningBehavior par always. Ensuite, enregistrez le fichier.

    Pour plus d'informations sur paramètres OAC, consultez Paramètres avancés pour le contrôle d'accès à l'origine.

  3. Utilisez la commande suivante pour créer le contrôle d'accès à l'origine à l'aide des paramètres d'entrée du fichier origin-access-control.yaml.

    aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml

    Notez la valeur de Id dans la sortie de la commande. Vous en avez besoin pour ajouter l'OAC à l'origine d'un compartiment S3 dans une CloudFront distribution.

Pour attacher un OAC à l'origine d'un compartiment S3 dans une distribution existante (CLI avec un fichier d'entrée)
  1. Utilisez la commande suivante pour enregistrer la configuration de distribution pour la CloudFront distribution à laquelle vous souhaitez ajouter l'OAC. La distribution doit avoir une origine de compartiment S3.

    aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
  2. Ouvrez le fichier nommé dist-config.yaml que vous venez de créer. Modifiez le fichier en apportant les modifications suivantes :

    • Dans l'objet Origins, ajoutez l'ID de l'OAC au champ nommé OriginAccessControlId.

    • Supprimez la valeur du champ nommé OriginAccessIdentity, le cas échéant.

    • Renommez le champ ETag en IfMatch, mais ne modifiez pas la valeur du champ.

    Enregistrez le fichier lorsque vous avez terminé.

  3. Utilisez la commande suivante pour mettre à jour la distribution afin d'utiliser le contrôle d'accès à l'origine.

    aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml

La distribution commence à se déployer sur tous les emplacements CloudFront périphériques. Lorsqu'un emplacement périphérique reçoit la nouvelle configuration, il signe toutes les demandes qu'il envoie à l'origine du compartiment S3.

API

Pour créer un contrôle d'accès à l'origine avec l' CloudFront API, utilisez CreateOriginAccessControl. Pour plus d'informations sur les champs que vous spécifiez dans cet appel d'API, consultez la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

Après avoir créé un contrôle d'accès à l'origine, vous pouvez l'attacher à l'origine d'un compartiment S3 dans une distribution, à l'aide de l'un des appels d'API suivants :

Pour ces deux appels d'API, indiquez l'ID de contrôle d'accès à l'origine dans le champ OriginAccessControlId, à l'intérieur d'une origine. Pour plus d'informations sur les autres champs que vous spécifiez dans ces appels d'API, consultez Référence des paramètres de distribution la documentation de référence de l'API pour votre AWS SDK ou autre client d'API.

Supprimer une distribution avec un OAC attaché à un compartiment S3

Si vous devez supprimer une distribution avec un OAC attaché à un compartiment S3, vous devez supprimer la distribution avant de supprimer l'origine du compartiment S3. Vous pouvez également inclure la région dans le nom de domaine d'origine. Si cela n'est pas possible, vous pouvez supprimer l'OAC de la distribution en passant au mode public avant de le supprimer. Pour plus d’informations, consultez Supprimer une distribution .

Migration de l'identité d'accès à l'origine (OAI) vers le contrôle d'accès à l'origine (OAC)

Pour migrer d'une ancienne identité d'accès à l'origine (OAI) vers un contrôle d'accès à l'origine (OAC), commencez par mettre à jour l'origine du compartiment S3 afin de permettre à l'OAI et à l'OAC d'accéder au contenu du compartiment. Cela garantit qu'il CloudFront ne perdra jamais l'accès au bucket pendant la transition. Pour permettre à l'OAI et à l'OAC d'accéder à un compartiment S3, mettez à jour la Stratégie de compartiment de façon à inclure deux déclarations, une pour chaque type de principal.

L'exemple de stratégie de compartiment S3 suivant permet à la fois à une OAI et à un OAC d'accéder à une origine S3.

Exemple Stratégie de compartiment S3 autorisant l'accès en lecture seule à une OAI et à un OAC
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontServicePrincipalReadOnly", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<S3 bucket name>/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::111122223333:distribution/<CloudFront distribution ID>" } } }, { "Sid": "AllowLegacyOAIReadOnly", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <origin access identity ID>" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<S3 bucket name>/*" } ] }

Après avoir mis à jour la stratégie de compartiment de l'origine S3 pour autoriser l'accès à la fois à l'OAI et à l'OAC, vous pouvez mettre à jour la configuration de distribution pour utiliser l'OAC au lieu de l'OAI. Pour plus d’informations, consultez Création d'un nouveau contrôle d'accès à l'origine.

Une fois la distribution entièrement déployée, vous pouvez supprimer l'instruction de la politique de compartiment qui autorise l'accès à l'OAI. Pour plus d’informations, consultez Donnez à l'origine l'autorisation de contrôle d'accès d'accéder au compartiment S3.

Paramètres avancés pour le contrôle d'accès à l'origine

La fonctionnalité de contrôle CloudFront d'accès à l'origine inclut des paramètres avancés destinés uniquement à des cas d'utilisation spécifiques. Utilisez les paramètres recommandés, sauf si vous avez des besoins spécifiques en matière de paramètres avancés.

Le contrôle d'accès à Origin contient un paramètre nommé Comportement de signature (dans la console) ou SigningBehavior (dans l'API, la CLI et AWS CloudFormation). Ce paramètre fournit les options suivantes :

Toujours signer les demandes d'origine (paramètre recommandé)

Nous vous recommandons d'utiliser ce paramètre, nommé Signer les demandes (recommandé) dans la console ou always dans l'API, la CLI et AWS CloudFormation. Avec ce paramètre, il signe CloudFront toujours toutes les demandes qu'il envoie à l'origine du compartiment S3.

Ne jamais signer les demandes d'origine

Ce paramètre est nommé Ne pas signer les demandes dans la console ou never dans l'API, la CLI et AWS CloudFormation. Utilisez ce paramètre pour désactiver le contrôle d'accès à l'origine pour toutes les origines dans toutes les distributions qui utilisent ce contrôle d'accès à l'origine. Cela permet d'économiser du temps et des efforts par rapport à la suppression d'un contrôle d'accès à l'origine de toutes les origines et distributions qui l'utilisent, une par une. Avec ce paramètre, il CloudFront ne signe aucune demande envoyée à l'origine du compartiment S3.

Avertissement

Pour utiliser ce paramètre, l'origine du compartiment S3 doit être accessible au public. Si vous utilisez ce paramètre avec une origine de compartiment S3 qui n'est pas accessible au public, vous CloudFront ne pouvez pas accéder à l'origine. L'origine du compartiment S3 renvoie les erreurs aux utilisateurs CloudFront et les CloudFront transmet aux utilisateurs.

Ne remplacez pas l'en-tête Authorization de l'utilisateur (client)

Ce paramètre est nommé Ne pas remplacer l'en-tête d'autorisation dans la console ou no-override dans l'API, la CLI et AWS CloudFormation. Utilisez ce paramètre lorsque vous CloudFront souhaitez signer des demandes d'origine uniquement lorsque la demande d'affichage correspondante ne contient pas d'Authorizationen-tête. Avec ce paramètre, CloudFront transmet l'Authorizationen-tête de la demande du visualiseur lorsqu'il y en a un, mais signe la demande d'origine (en ajoutant son propre Authorization en-tête) lorsque la demande du visualiseur n'inclut pas d'Authorizationen-tête.

Avertissement

Pour parcourir l'en-tête Authorization de la demande de l'utilisateur, vous devez ajouter l'en-tête Authorization à une stratégie de mise en cache pour tous les comportements de cache qui utilisent les origines du compartiment S3 associées à ce contrôle d'accès à l'origine.

Utiliser une identité d'accès d'origine (ancienne, non recommandée)

CloudFront L'identité d'accès à l'origine (OAI) fournit des fonctionnalités similaires à celles du contrôle d'accès à l'origine (OAC), mais elle ne fonctionne pas dans tous les scénarios. C'est pourquoi nous vous recommandons d'utiliser OAC à la place. Plus précisément, l'OAI ne prend pas en charge :

  • Tous les compartiments Amazon S3 Régions AWS, y compris les régions optionnelles

  • Chiffrement côté serveur avec AWS KMS (SSE-KMS) Amazon S3

  • Demandes dynamiques (PUT, POST ou DELETE) vers Amazon S3

  • Nouveau Régions AWS lancé après décembre 2022

Pour plus d'informations sur la migration d'OAI vers OAC, consultez Migration de l'identité d'accès à l'origine (OAI) vers le contrôle d'accès à l'origine (OAC).

Lorsque vous créez un OAI ou que vous en ajoutez un à une distribution à l'aide de la CloudFront console, vous pouvez automatiquement mettre à jour la politique de compartiment Amazon S3 pour autoriser l'OAI à accéder à votre compartiment. Vous pouvez également choisir de créer ou de mettre à jour manuellement la politique de compartiment. Quelle que soit la méthode que vous utilisez, vous devez toujours vérifier les autorisations pour vous assurer que :

  • Votre CloudFront OAI peut accéder aux fichiers du bucket pour le compte des utilisateurs qui les demandent. CloudFront

  • Les utilisateurs ne peuvent pas utiliser les URL Amazon S3 pour accéder à vos fichiers en dehors de CloudFront.

Important

Si vous configurez CloudFront pour accepter et transférer toutes les méthodes HTTP compatibles, CloudFront assurez-vous d'accorder à votre CloudFront OAI les autorisations souhaitées. Par exemple, si vous configurez CloudFront pour accepter et transférer les demandes qui utilisent cette DELETE méthode, configurez votre politique de compartiment de manière à gérer les DELETE demandes de manière appropriée afin que les utilisateurs puissent supprimer uniquement les fichiers que vous souhaitez qu'ils souhaitent.

Utiliser les politiques relatives aux compartiments Amazon S3

Vous pouvez accorder à un CloudFront OAI l'accès aux fichiers d'un compartiment Amazon S3 en créant ou en mettant à jour la politique de compartiment de la manière suivante :

  • Utilisation de l’onglet Autorisations du compartiment Amazon S3 dans la console Amazon S3.

  • Utilisation PutBucketPolicydans l'API Amazon S3.

  • En utilisant la console CloudFront. Lorsque vous ajoutez un OAI à vos paramètres d'origine dans la CloudFront console, vous pouvez choisir Oui, mettre à jour la politique de compartiment pour indiquer de mettre CloudFront à jour la politique de compartiment en votre nom.

Si vous mettez à jour manuellement la politique de compartiment, assurez-vous que vous :

  • Spécifiez l’identité d’accès à l’origine correcte comme Principal dans la politique.

  • Accordez à l’identité d’accès à l’origine les autorisations dont elle a besoin pour accéder aux objets pour le compte des utilisateurs.

Pour plus d’informations, consultez les sections suivantes.

Spécification d’une OAI comme Principal dans une politique de compartiment

Pour spécifier une OAI comme Principal dans une politique de compartiment Amazon S3, utilisez l’Amazon Resource Name (ARN) qui inclut son ID. Par exemple :

"Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <origin access identity ID>" }

Trouvez l'ID OAI dans la CloudFront console sous Security, Origin access, Identities (legacy). Vous pouvez également l'utiliser ListCloudFrontOriginAccessIdentitiesdans l' CloudFrontAPI.

Octroi d’autorisations à une OAI

Pour donner à l’identité d’accès à l’origine les autorisations pour accéder aux objets de votre compartiment Amazon S3, utilisez des actions dans la politique qui se rapportent à des opérations d’API Amazon S3 spécifiques. Par exemple, l'action s3:GetObject permet à l'identité d'accès à l'origine de lire des objets dans le compartiment. Pour plus d’informations, consultez les exemples de la section suivante ou la section Actions Amazon S3 du Guide de l’utilisateur Amazon Simple Storage Service.

Exemples de politique de compartiment Amazon S3

Les exemples suivants présentent les politiques de compartiment Amazon S3 qui permettent à CloudFront OAI d'accéder à un compartiment S3.

Trouvez l'ID OAI dans la CloudFront console sous Security, Origin access, Identities (legacy). Vous pouvez également l'utiliser ListCloudFrontOriginAccessIdentitiesdans l' CloudFrontAPI.

Exemple Politique de compartiment Amazon S3 qui donne à l’identité d’accès à l’origine un accès en lecture

L’exemple suivant permet à l’identité d’accès à l’origine de lire des objets dans le compartiment spécifié (s3:GetObject).

{ "Version": "2012-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <origin access identity ID>" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::<S3 bucket name>/*" } ] }
Exemple Politique de compartiment Amazon S3 qui donne à l’identité d’accès à l’origine un accès en lecture et en écriture

L’exemple suivant permet à l’identité d’accès à l’origine de lire et d’écrire des objets dans le compartiment spécifié (s3:GetObject et s3:PutObject). Cela permet aux utilisateurs de télécharger des fichiers dans votre compartiment Amazon S3 via CloudFront.

{ "Version": "2012-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity <origin access identity ID>" }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::<S3 bucket name>/*" } ] }

Utiliser les ACL d'objets Amazon S3 (non recommandé)

Important

Il est recommandé d’utiliser les politiques du compartiment Amazon S3 pour attribuer à une OAI l’accès à un compartiment S3. Vous pouvez utiliser des listes de contrôle d'accès (ACL) comme décrit dans cette section, mais nous le déconseillons.

Amazon S3 recommande de définir S3 Object Ownership (Propriété de l’objet S3) sur bucket owner enforced (appliqué par le propriétaire du compartiment), ce qui signifie que les listes ACL sont désactivées pour le compartiment et les objets à l’intérieur. Lorsque vous appliquez ce paramètre à Object Ownership (Propriété de l’objet), vous devez utiliser des politiques du compartiment pour donner l’accès à l’OAI (consultez la section précédente).

La section suivante concerne uniquement les cas d’utilisation hérités nécessitant des listes ACL.

Vous pouvez accorder à un CloudFront OAI l'accès aux fichiers d'un compartiment Amazon S3 en créant ou en mettant à jour l'ACL du fichier de la manière suivante :

Lorsque vous accordez l’accès à une identité d’accès à l’origine à l’aide d’une liste ACL, vous devez spécifier l’identité d’accès à l’origine à l’aide de son ID d’utilisateur canonique Amazon S3. Dans la CloudFront console, vous pouvez trouver cet identifiant sous Sécurité, Accès à l'origine, Identités (ancienne). Si vous utilisez l' CloudFront API, utilisez la valeur de l'S3CanonicalUserIdélément renvoyé lorsque vous avez créé l'OAI, ou appelez ListCloudFrontOriginAccessIdentitiesl' CloudFrontAPI.

Les régions Amazon S3 plus récentes requièrent que vous utilisiez Signature version 4 pour les demandes authentifiées. (Pour connaître les versions de signatures prises en charge dans chaque région Amazon S3, consultez la section Points de terminaison et quotas Amazon Simple Storage Service de la Références générales AWS.) Si vous utilisez une identité d’accès à l’origine et que votre compartiment se trouve dans l’une des régions qui nécessitent Signature version 4, notez les points suivants :

  • Les demandes DELETE, GET, HEAD, OPTIONS etPATCH sont prises en charge sans qualifications.

  • Les demandes POST ne sont pas prises en charge.