View a markdown version of this page

Restreindre l'accès à l'origine d'un point Multi-Region d'accès Amazon S3 - 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 à l'origine d'un point Multi-Region d'accès Amazon S3

Vous pouvez utiliser le contrôle d'accès à l'origine (OAC) pour restreindre l'accès à une origine Amazon S3 Multi-Region Access Point. Les points Multi-Region d'accès S3 fournissent un point de terminaison global qui achemine les demandes vers le compartiment S3 le plus proche en fonction de la latence du réseau.

Note

L'OAC avec points Multi-Region d'accès S3 n'est pas pris en charge pour les points de terminaison MRAP soutenus par des compartiments dans les régions optionnelles. Les demandes acheminées vers un bucket situé dans une région optionnelle échoueront. Tous les compartiments associés au point Multi-Region d'accès doivent se trouver dans des régions activées par défaut.

Pour plus d'informations sur l'utilisation de l'OAC avec l'origine d'un compartiment Amazon S3 standard, consultezRestriction de l’accès à une origine Amazon S3.

Conditions préalables

Avant de créer et de configurer l'OAC, vous devez disposer d'une CloudFront distribution ayant pour origine un point d' Multi-Region accès Amazon S3. Le nom de domaine d'origine doit utiliser le format de nom d'hôte S3 Multi-Region Access Point :

multi-region-access-point-alias.accesspoint.s3-global.amazonaws.com

Pour plus d'informations sur la création d'un point d' Multi-Region accès S3, consultez la section Création de points Multi-Region d'accès dans le guide de l'utilisateur d'Amazon Simple Storage Service.

CloudFront Autoriser l'accès au point Multi-Region d'accès S3

Mettez à jour la politique du point d' Multi-Region accès pour permettre au principal du CloudFront service (cloudfront.amazonaws.com) d'accéder au point Multi-Region d'accès. Utilisez un Condition élément de la politique CloudFront pour autoriser l' Multi-Region accès au point d'accès uniquement lorsque la demande provient de la CloudFront distribution qui contient l'origine.

Pour plus d'informations sur l'ajout ou la modification d'une Multi-Region politique de point d'Multi-Regionaccès, consultez des exemples de politiques de point d'accès dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Exemple Multi-Region Politique relative aux points d'accès pour l' CloudFront OAC
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccess", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap/object/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Accorder CloudFront l'autorisation d'accéder aux compartiments S3 sous-jacents

Outre la politique de point Multi-Region d'accès, vous devez également CloudFront autoriser l'accès à chacun des compartiments S3 sous-jacents associés au point Multi-Region d'accès. Vous pouvez effectuer cette opération de deux manières :

Important

Vous devez ajouter cette politique de compartiment à chaque compartiment S3 associé au point Multi-Region d'accès. Si la politique n'est pas respectée dans un compartiment, les CloudFront demandes acheminées vers ce compartiment seront refusées.

Option 1 : accorder l'accès uniquement à CloudFront

Ajoutez une politique de compartiment à chaque compartiment S3 qui permet au principal CloudFront de service d'accéder au compartiment. Utilisez cette option lorsque vous devez également autoriser l'accès direct au bucket depuis d'autres sources.

Exemple Politique de compartiment S3 pour un compartiment sous-jacent
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontOACAccessViaMRAP", "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:cloudfront::111122223333:distribution/CloudFront distribution ID" } } } ] }

Option 2 : déléguer l'accès complet au bucket au point Multi-Region d'accès

Accordez Multi-Region au point d'accès un accès complet à chaque compartiment sous-jacent. Avec cette approche, tous les accès au bucket sont contrôlés par la politique des points Multi-Region d'accès, ce qui simplifie la gestion des accès. Nous recommandons cette option pour les cas d'utilisation ne nécessitant pas d'accès direct au bucket.

Exemple Politique de compartiment S3 qui délègue l'accès au point Multi-Region d'accès
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateAccessToMRAP", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1", "arn:aws:s3:::amzn-s3-demo-bucket-us-east-1/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3::111122223333:accesspoint/Multi-Region-Access-Point-Alias.mrap" } } } ] }

Pour plus d'informations, consultez Multi-Region un exemple de politique de point d'accès dans le guide de l'utilisateur d'Amazon Simple Storage Service.

SSE-KMS

Si les objets des compartiments S3 sous-jacents sont chiffrés à l'aide du chiffrement côté serveur avec AWS KMS (SSE-KMS), vous devez vous assurer que la CloudFront distribution est autorisée à utiliser la clé. AWS KMS Étant donné que les points Multi-Region d'accès S3 peuvent acheminer des demandes vers des compartiments de plusieurs régions, vous devez ajouter une instruction à la politique de clé KMS dans chaque région utilisée SSE-KMS par un compartiment sous-jacent. Pour plus d’informations sur la modification d’une stratégie de clé, consultez Modification d’une stratégie de clé dans le Guide du développeur AWS Key Management Service .

Exemple Déclaration de stratégie de clé KMS

L'exemple suivant montre une déclaration de politique de clé KMS qui permet à la CloudFront distribution avec 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" } } }
Important

Vous devez ajouter cette déclaration de politique de clé à la clé KMS dans chaque région où un compartiment S3 sous-jacent utilise SSE-KMS le chiffrement.

Création du contrôle d’accès d’origine

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

Note

Les déclencheurs de requêtes d'origine Lambda @Edge sont incompatibles avec les origines qui utilisent un OAC SigV4a, que l'accès à l'origine soit direct ou via un groupe d'origine.

Console
Pour créer un contrôle d’accès à l’origine
  1. Connectez-vous à Console de gestion AWS et ouvrez la CloudFront console à 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 de plus amples informations, veuillez consulter Paramètres avancés pour le contrôle d'accès à l'origine.

  5. Choisissez S3 dans la liste déroulante Type d'origine et sélectionnez l'option Utiliser le protocole de signature SigV4a.

  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 d'origine à l'origine d'un point d' Multi-Region accès 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 de point d' Multi-Region accès S3 à laquelle vous souhaitez ajouter l'OAC, puis choisissez l'onglet Origins.

  3. Sélectionnez l'origine du point d' Multi-Region accès S3 à laquelle vous souhaitez ajouter l'OAC, puis choisissez Modifier.

  4. Pour Accès d’origine, sélectionnez Paramètres de contrôle d’accès d’origine (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 point d' Multi-Region accès S3.

CLI

Utilisez la commande create-origin-access-control :

aws cloudfront create-origin-access-control \ --origin-access-control-config '{ "Name": "my-s3-mrap-oac", "Description": "OAC for S3 Multi-Region Access Point", "SigningProtocol": "sigv4a", "SigningBehavior": "always", "OriginAccessControlOriginType": "s3" }'
CloudFormation

Spécifiez les valeurs suivantes dans OriginAccessControlConfig :

  • SigningProtocol: sigv4a

  • SigningBehavior:always,never, ou no-override

  • OriginAccessControlOriginType: s3

Exemple CloudFormation modèle
Type: AWS::CloudFront::OriginAccessControl Properties: OriginAccessControlConfig: Description: An optional description for the origin access control Name: my-s3-mrap-oac OriginAccessControlOriginType: s3 SigningBehavior: always SigningProtocol: sigv4a

Comportement de signature

Les options de comportement de signature pour les origines des points d' Multi-Region accès S3 sont les mêmes que celles pour les origines des compartiments Amazon S3 classiques. Pour plus d'informations, consultez Paramètres avancés pour le contrôle d'accès à l'origine la section Restreindre l'accès à une origine Amazon S3.