View a markdown version of this page

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

Vous pouvez utiliser le contrôle d'accès à l'origine (OAC) pour restreindre l'accès à un point d'accès multirégional Amazon S3. Les points d'accès multirégionaux 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.

Pour plus d'informations sur l'utilisation d'OAC avec une origine de 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 avec une origine de point d'accès multirégional Amazon S3. Le nom de domaine d'origine doit utiliser le format de nom d'hôte du point d'accès multirégional S3 :

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

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

Accorder CloudFront l'autorisation d'accéder au point d'accès multirégional S3

Mettez à jour la politique de point d'accès multirégional pour autoriser le principal de CloudFront service (cloudfront.amazonaws.com) à accéder au point d'accès multirégional. Utilisez un Condition élément de la politique pour autoriser l'accès CloudFront au point d'accès multirégional uniquement lorsque la demande est présentée au nom de la CloudFront distribution qui contient l'origine.

Pour plus d'informations sur l'ajout ou la modification d'une politique de point d'accès multirégional, consultez les exemples de politique de points d'accès multirégionaux dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Exemple Politique de point d'accès multirégional pour CloudFront l'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 d'accès multirégional, vous devez également accorder CloudFront l'autorisation d'accéder à chacun des compartiments S3 sous-jacents associés au point d'accès multirégional. Vous pouvez effectuer cette opération de deux manières :

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

Ajoutez une politique de compartiment à chaque compartiment S3 qui autorise le principal du CloudFront service à 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 d'accès multirégional

Accordez au point d'accès multirégional 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 d'accès multirégionaux, qui simplifie la gestion des accès. Nous recommandons cette option pour les cas d'utilisation qui ne nécessitent pas un accès direct au bucket.

Exemple Politique de compartiment S3 qui délègue l'accès au point d'accès multirégional
{ "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 l'exemple de politique de point d'accès multirégional dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Important

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

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 d'accès multirégionaux S3 peuvent acheminer les demandes vers des compartiments situés dans plusieurs régions, vous devez ajouter une déclaration à la politique de clé KMS dans chaque région où un compartiment sous-jacent utilise SSE-KMS. 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 via 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 clé à la clé KMS dans chaque région où un compartiment S3 sous-jacent utilise le chiffrement SSE-KMS.

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 AWS Management Console 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 de plus amples informations, veuillez consulter Paramètres avancés pour le contrôle d'accès à l'origine.

  5. Choisissez le point d'accès multirégional S3 dans la liste déroulante du type d'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 d'origine à l'origine d'un point d'accès multirégional 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'accès multirégional S3 à laquelle vous souhaitez ajouter l'OAC, puis choisissez l'onglet Origins.

  3. Sélectionnez l'origine du point d'accès multirégional 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'accès multirégional 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": "s3mrap" }'
CloudFormation

Spécifiez les valeurs suivantes dans OriginAccessControlConfig :

  • SigningProtocol: sigv4a

  • SigningBehavior: alwaysnever, ou no-override

  • OriginAccessControlOriginType: s3mrap

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: s3mrap SigningBehavior: always SigningProtocol: sigv4a

Comportement de signature

Les options de comportement de signature pour les origines de points d'accès multirégionaux S3 sont les mêmes que pour les origines de 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.