AWS PrivateLink pour Amazon S3 - Amazon Simple Storage Service

AWS PrivateLink pour Amazon S3

Avec la technologie AWS PrivateLink pour Amazon S3, vous pouvez allouer des points de terminaison de VPC d’interface (points de terminaison d’interface) dans votre cloud privé virtuel (VPC). Ces points de terminaison sont directement accessibles à partir d’applications sur site via VPN et Direct Connect, ou dans une Région Région AWS différente via un appairage de VPC.

Les points de terminaison d'interface sont représentés par une ou plusieurs interfaces réseau Elastic (ENI) auxquelles des adresses IP privées sont attribuées à partir de sous-réseaux VPC. Les demandes adressées à Amazon S3 via les points de terminaison d’interface restent sur le réseau Amazon. Vous pouvez également accéder aux points de terminaison d’interface dans votre VPC à partir d’applications sur site via AWS Direct Connect ou AWS Virtual Private Network (Site-to-Site VPN). Pour plus d’informations sur la façon de connecter votre VPC à votre réseau sur site, consultez le Guide de l’utilisateur Direct Connect et le Guide de l’utilisateur AWS Site-to-Site VPN.

Pour des informations générales sur les points de terminaison d'interface, consultez Points de terminaison de VPC d'interface (AWS PrivateLink) dans le Guide AWS PrivateLink.

Types de points de terminaison de VPC pour Amazon S3

Vous pouvez utiliser deux types de points de terminaison d’un VPC pour accéder à Amazon S3 : les points de terminaison de passerelle et les points de terminaison d’interface (en utilisant AWS PrivateLink). Un point de terminaison de passerelle est une passerelle que vous spécifiez dans votre table de routage pour accéder à Amazon S3 depuis votre VPC via le réseau AWS. Les points de terminaison d’interface étendent la fonctionnalité des points de terminaison de passerelle en utilisant des adresses IP privées pour acheminer les demandes vers Amazon S3 depuis votre VPC, sur site ou depuis un VPC dans une autre Région AWS à l’aide d’un appairage de VPC ou d’une AWS Transit Gateway. Pour plus d’informations, consultez Qu’est-ce que l’appairage de VPC ? et Transit Gateway vs VPC peering (Passerelle de transit ou appairage de VPC).

Les points de terminaison d’interface sont compatibles avec les points de terminaison de passerelle. Si vous avez un point de terminaison de passerelle existant dans votre VPC, vous pouvez utiliser les deux types de points de terminaison dans le même VPC.

Points de terminaison de passerelle pour Amazon S3

Points de terminaison d’interface pour Amazon S3

Dans les deux cas, votre trafic réseau reste sur le réseau AWS.

Utiliser des adresses IP publiques Amazon S3

Utiliser des adresses IP privées depuis votre VPC pour accéder à Amazon S3

Utiliser les mêmes noms DNS Amazon S3

Exiger des noms DNS Amazon S3 spécifiques aux points de terminaison

N’autorise pas l’accès sur site

Autoriser l’accès depuis vos sites

N’autorise pas l’accès depuis une autre Région AWS

Autorise l’accès à partir d’un VPC situé dans une autre Région AWS en utilisant un appairage de VPC ou AWS Transit Gateway

Non facturé

Facturé

Pour plus d’informations sur les points de terminaison de passerelle, consultez Points de terminaison de VPC de passerelle dans le Guide AWS PrivateLink.

Les limitations de VPC s’appliquent à AWS PrivateLink pour Amazon S3. Pour plus d’informations, consultez Considérations sur les points de terminaison d’interface et Quotas AWS PrivateLink dans le Guide AWS PrivateLink. En outre, les restrictions suivantes s’appliquent.

AWS PrivateLink pour Amazon S3 ne prend pas en charge les éléments suivants :

Création d’un point de terminaison d’un VPC

Pour créer un point de terminaison d’interface de VPC, consultez Création d’un point de terminaison de VPC dans le Guide AWS PrivateLink.

Accès aux points de terminaison d’interface d’Amazon S3

Lorsque vous créez un point de terminaison d’interface, Amazon S3 génère deux types de noms DNS S3 spécifiques au point de terminaison : des noms Régionaux et des noms zonaux.

  • Les noms DNS régionaux incluent un ID de point de terminaison d’un VPC unique, un identifiant de service, la Région AWS, et vpce.amazonaws.com dans son nom. Par exemple, pour l’ID de point de terminaison de VPC vpce-1a2b3c4d, le nom DNS généré peut être similaire à vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • Les noms DNS zonaux incluent la zone de disponibilité, par exemple, vpce-1a2b3c4d-5e6f-us-east-1a.s3.us-east-1.vpce.amazonaws.com. Vous pouvez utiliser cette option si votre architecture isole les zones de disponibilité. Par exemple, vous pouvez l’utiliser pour contenir les pannes ou réduire les coûts de transfert de données Régionaux.

Les noms DNS S3 spécifiques au point de terminaison peuvent être résolus depuis le domaine DNS public S3.

Private DNS

Les options de DNS privé pour les points de terminaison de l’interface d’un VPC simplifient le routage du trafic S3 vers les points de terminaison d’un VPC et vous aident à tirer parti du chemin réseau le plus économique disponible pour votre application. Vous pouvez utiliser des options de DNS privé pour acheminer le trafic S3 régional sans mettre à jour vos clients S3 pour utiliser les noms DNS spécifiques aux points de terminaison de vos points de terminaison d’interface, ni gérer l’infrastructure DNS. Lorsque les noms de DNS privé sont activés, les requêtes DNS S3 régionales sont résolues vers les adresses IP privées de AWS PrivateLink pour les points de terminaison suivants :

  • Points de terminaison régionaux de compartiment (par exemple, s3.us-east-1.amazonaws.com)

  • Points de contrôle (par exemple, s3-control.us-east-1.amazonaws.com)

  • Points de terminaison des points d’accès (par exemple, s3-accesspoint.us-east-1.amazonaws.com)

AWS PrivateLink pour Amazon S3 ne prend pas en charge l’utilisation des points de terminaison double pile Amazon S3. Si vous utilisez un nom de DNS S3 à double pile comme nom de DNS privé, le trafic IPv6 sera soit abandonné, soit, si votre cloud privé virtuel (VPC) possède une passerelle Internet, le trafic IPv6 sera acheminé via la passerelle Internet de votre VPC.

Si votre VPC comporte un point de terminaison de passerelle, vous pouvez automatiquement acheminer les demandes internes au VPC via votre point de terminaison de passerelle S3 existant et les demandes sur site via le point de terminaison de votre interface. Cette approche vous permet d’optimiser vos coûts de mise en réseau en utilisant des points de terminaison de passerelle, qui ne sont pas facturés, pour votre trafic interne au VPC. Vos applications sur site peuvent utiliser AWS PrivateLink avec l’aide du point de terminaison du résolveur entrant. Amazon fournit un serveur DNS pour votre VPC, appelé Route 53 Resolver. Un point de terminaison Resolver entrant réachemine des requêtes DNS à partir du réseau sur site vers Route 53 Resolver.

Important

Pour bénéficier du chemin réseau le plus économique lorsque vous utilisez l’option Activer le DNS privé uniquement pour les points de terminaison entrants, un point de terminaison de passerelle doit être présent dans votre VPC. La présence d’un point de terminaison de passerelle permet de garantir que le trafic interne au VPC passe toujours par le réseau privé d’AWS lorsque l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée. Vous devez conserver ce point de terminaison de passerelle tant que l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée. Si vous souhaitez supprimer le point de terminaison de votre passerelle, vous devez d’abord désactiver Activer le DNS privé uniquement pour les points de terminaison entrants.

Si vous souhaitez mettre à jour un point de terminaison d’interface existant pour Activer le DNS privé uniquement pour les points de terminaison entrants, vérifiez d’abord que votre VPC possède un point de terminaison de passerelle S3. Pour plus d’informations sur les points de terminaison de passerelle et la gestion des noms DNS privés, consultez Points de terminaison de passerelle et Gestion des noms DNS privés dans le Guide AWS PrivateLink.

L’option Activer le DNS privé uniquement pour les points de terminaison entrants n’est disponible que pour les services qui prennent en charge les points de terminaison de passerelle.

Pour plus d’informations sur la création d’un point de terminaison d’un VPC utilisant l’option Activer le DNS privé uniquement pour les points de terminaison entrants, consultez Créer un point de terminaison d’interface dans le Guide AWS PrivateLink.

Utilisation de la console du VPC

Dans la console, vous avez deux options : Activer le nom DNS et Activer le DNS privé uniquement pour les points de terminaison entrants. L’option Activer le nom DNS est prise en charge par AWS PrivateLink. En utilisant l’option Activer le nom DNS, vous pouvez utiliser la connectivité privée d’Amazon à Amazon S3, tout en envoyant des demandes aux noms DNS des points de terminaison publics par défaut. Lorsque cette option est activée, les clients peuvent bénéficier du chemin réseau le plus économique disponible pour leur application.

Lorsque vous activez les noms DNS privés sur un point de terminaison d’interface de VPC existant ou nouveau pour Amazon S3, l’option Activer le DNS privé uniquement pour les points de terminaison entrants est sélectionnée par défaut. Si cette option est sélectionnée, vos applications utilisent uniquement des points de terminaison d’interface pour votre trafic sur site. Ce trafic interne au VPC utilise automatiquement les points de terminaison de passerelle les moins coûteux. Vous pouvez également désactiver l’option Activer le DNS privé uniquement pour les points de terminaison entrants afin d’acheminer toutes les demandes S3 via le point de terminaison de votre interface.

Utilisation de l AWS CLI

Si vous ne spécifiez pas de valeur pour PrivateDnsOnlyForInboundResolverEndpoint, la valeur par défaut est true. Toutefois, avant que votre VPC n’applique vos paramètres, il vérifie qu’un point de terminaison de passerelle est présent dans le VPC. Si un point de terminaison de passerelle est présent dans le VPC, l’appel aboutit. Sinon, le message d’erreur suivant s’affiche :

Pour définir PrivateDnsOnlyForInboundResolverEndpoint sur true, le VPC vpce_id doit disposer d’un point de terminaison de passerelle pour le service.

Pour un nouveau point de terminaison d’interface de VPC

Utilisez les attributs private-dns-enabled et dns-options pour activer le DNS privé via la ligne de commande. L’option PrivateDnsOnlyForInboundResolverEndpoint de l’attribut dns-options doit être définie sur true. Remplacez user input placeholders par vos propres informations.

aws ec2 create-vpc-endpoint \ --region us-east-1 \ --service-name s3-service-name \ --vpc-id client-vpc-id \ --subnet-ids client-subnet-id \ --vpc-endpoint-type Interface \ --private-dns-enabled \ --ip-address-type ip-address-type \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true \ --security-group-ids client-sg-id

Pour un point de terminaison d’un VPC existant

Si vous souhaitez utiliser un DNS privé pour un point de terminaison d’un VPC existant, utilisez l’exemple de commande suivant et remplacez user input placeholders par vos propres informations.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=false

Si vous souhaitez mettre à jour un point de terminaison d’un VPC existant afin d’activer le DNS privé uniquement pour le résolveur entrant, utilisez l’exemple suivant et remplacez les exemples de valeurs par les vôtres.

aws ec2 modify-vpc-endpoint \ --region us-east-1 \ --vpc-endpoint-id client-vpc-id \ --private-dns-enabled \ --dns-options PrivateDnsOnlyForInboundResolverEndpoint=true

Accès aux compartiments, aux points d’accès et aux opérations d’API de contrôle Amazon S3 depuis les points de terminaison de l’interface S3

Vous pouvez utiliser l’AWS CLI ou les kits SDK AWS pour accéder aux compartiments, aux points d’accès S3 et aux opérations d’API de contrôle Amazon S3 via des points de terminaison d’interface S3.

L’image suivante illustre l’onglet Détails de la console VPC, où vous pouvez trouver le nom DNS d’un point de terminaison de VPC. Dans cet exemple, l’ID de point de terminaison de VPC (vpce-id) est vpce-0e25b8cdd720f900e et le nom DNS est *.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com.

L’onglet Détails dans la console VPC.

Lorsque vous utilisez le nom DNS pour accéder à une ressource, remplacez * par la valeur appropriée. Les valeurs appropriées à utiliser à la place de * sont les suivantes :

  • bucket

  • accesspoint

  • control

Par exemple, pour accéder à un compartiment, utilisez un nom DNS comme celui-ci :

bucket.vpce-0e25b8cdd720f900e-argc85vg.s3.us-east-1.vpce.amazonaws.com

Pour obtenir des exemples d’utilisation des noms DNS pour accéder aux compartiments, aux points d’accès et aux opérations d’API de contrôle Amazon S3, consultez les sections suivantes de Exemples avec l’AWS CLI et Exemples avec les kits AWS SDK.

Pour plus d’informations sur la façon d’afficher vos noms DNS spécifiques aux terminaux, consultez Viewing endpoint service private DNS name configuration (Affichage de la configuration du nom DNS privé du service de point de terminaison) dans le Guide de l’utilisateur VPC.

Pour accéder aux compartiments S3, aux points d’accès S3 ou aux opérations d’API de contrôle Amazon S3 via les points de terminaison de l’interface S3 dans les commandes AWS CLI, utilisez les paramètres --region et --endpoint-url.

Exemple : utilisez une URL de point de terminaison pour répertorier les objets dans votre compartiment

Dans l’exemple suivant, remplacez le nom du compartiment my-bucket, la région us-east-1 et le nom DNS de l’ID du point de terminaison de VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

aws s3 ls s3://my-bucket/ --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

Exemple : utilisez une URL de point de terminaison pour répertorier les objets depuis un point d’accès

  • Méthode 1 : utilisation de l’Amazon Resource Name (ARN) du point d’accès avec le point de terminaison du point d’accès

    Remplacez l’ARN us-east-1:123456789012:accesspoint/accesspointexamplename, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

    aws s3api list-objects-v2 --bucket arn:aws:s3:us-east-1:123456789012:accesspoint/accesspointexamplename --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com

    Si vous ne parvenez pas à exécuter la commande correctement, mettez à jour l’AWS CLI vers la version la plus récente et réessayez. Pour plus d’informations sur les instructions de mise à jour, consultez Installation ou mise à jour de la dernière version de l’interface AWS CLI dans le Guide de l’utilisateur AWS Command Line Interface.

  • Méthode 2 : utilisation de l’alias du point d’accès avec le point de terminaison régional du compartiment

    Dans l’exemple suivant, remplacez l’alias du point d’accès accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
  • Méthode 3 : utilisation de l’alias du point d’accès avec le point de terminaison du point d’accès

    Tout d’abord, pour construire un point de terminaison S3 avec le compartiment inclus dans le nom d’hôte, définissez le style d’adressage sur virtual pour aws s3api. Pour plus d’informations sur AWS configure, consultez Configuration and credential file settings (Paramètres des fichiers de configuration et d’informations d’identification) dans le Guide de l’utilisateur AWS Command Line Interface.

    aws configure set default.s3.addressing_style virtual

    Ensuite, dans l’exemple suivant, remplacez l’alias du point d’accès accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations. Pour plus d’informations sur les alias de point d’accès, consultez Alias de point d'accès.

    aws s3api list-objects-v2 --bucket accesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias --region us-east-1 --endpoint-url https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com
Exemple : utilisez une URL de point de terminaison pour répertorier les tâches avec une opération d’API de contrôle S3

Dans l’exemple suivant, remplacez la région us-east-1, l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et l’ID du compte 12345678 par vos propres informations.

aws s3control --region us-east-1 --endpoint-url https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com list-jobs --account-id 12345678

Pour accéder aux compartiments S3, aux points d’accès S3 et aux opérations d’API de contrôle Amazon S3 via des points de terminaison d’interface S3 avec les kits AWS SDK, mettez à jour vos kits SDK vers la dernière version. Configurez ensuite vos clients pour qu’ils utilisent une URL de point de terminaison afin d’accéder à un compartiment, un point d’accès ou des opérations d’API de contrôle Amazon S3 via des points de terminaison d’interface S3.

SDK for Python (Boto3)
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

s3_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

ap_client = session.client( service_name='s3', region_name='us-east-1', endpoint_url='https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
Exemple : utilisez une URL de point de terminaison pour accéder à l’API de contrôle Amazon S3

Dans l’exemple suivant, remplacez la région us-east-1 et l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

control_client = session.client( service_name='s3control', region_name='us-east-1', endpoint_url='https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com' )
SDK for Java 1.x
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

// bucket client final AmazonS3 s3 = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); List<Bucket> buckets = s3.listBuckets();
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et l’ARN us-east-1:123456789012:accesspoint/prod par vos propres informations.

// accesspoint client final AmazonS3 s3accesspoint = AmazonS3ClientBuilder.standard().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); ObjectListing objects = s3accesspoint.listObjects("arn:aws:s3:us-east-1:123456789012:accesspoint/prod");
Exemple : utilisez une URL de point de terminaison pour accéder à une opération d’API de contrôle Amazon S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations.

// control client final AWSS3Control s3control = AWSS3ControlClient.builder().withEndpointConfiguration( new AwsClientBuilder.EndpointConfiguration( "https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com", Regions.DEFAULT_REGION.getName() ) ).build(); final ListJobsResult jobs = s3control.listJobs(new ListJobsRequest());
SDK for Java 2.x
Exemple : Utiliser une URL de point de terminaison pour accéder à un compartiment S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et la région Region.US_EAST_1 par vos propres informations.

// bucket client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://bucket.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Exemple : Utiliser une URL de point de terminaison pour accéder à un point d’accès S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et la région Region.US_EAST_1 par vos propres informations.

// accesspoint client Region region = Region.US_EAST_1; s3Client = S3Client.builder().region(region) .endpointOverride(URI.create("https://accesspoint.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()
Exemple : utilisez une URL de point de terminaison pour accéder à l’API de contrôle Amazon S3

Dans l’exemple suivant, remplacez l’ID du point de terminaison d’un VPC vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com et la région Region.US_EAST_1 par vos propres informations.

// control client Region region = Region.US_EAST_1; s3ControlClient = S3ControlClient.builder().region(region) .endpointOverride(URI.create("https://control.vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com")) .build()

Mise à jour d'une configuration DNS sur site

Lorsque vous utilisez des noms DNS spécifiques aux points de terminaison pour accéder aux points de terminaison d’interface pour Amazon S3, vous n’avez pas besoin de mettre à jour votre résolveur DNS sur site. Vous pouvez résoudre le nom DNS spécifique au point de terminaison avec l’adresse IP privée du point de terminaison d’interface depuis le domaine DNS public Amazon S3.

Utilisation de points de terminaison d’interface pour accéder à Amazon S3 sans point de terminaison de passerelle ou passerelle Internet dans le VPC

Les points de terminaison d’interface de votre VPC peuvent acheminer les applications de VPC et les applications sur site vers Amazon S3 via le réseau Amazon, comme illustré dans le diagramme suivant.

Le diagramme de flux de données montre l’accès à Amazon S3 avec un point de terminaison d’interface et AWS PrivateLink.

Le diagramme illustre les éléments suivants :

  • Votre réseau local utilise Direct Connect ou Site-to-Site VPN pour se connecter au VPC A.

  • Vos applications sur site et dans le VPC A utilisent des noms DNS spécifiques aux points de terminaison pour accéder à Amazon S3 via le point de terminaison d’interface S3.

  • Les applications sur site envoient des données au point de terminaison d’interface dans le VPC via Direct Connect (ou Site-to-Site VPN). La technologie AWS PrivateLink déplace les données du point de terminaison d’interface vers Amazon S3 via le réseau AWS.

  • Les applications dans le VPC envoient également du trafic au point de terminaison d’interface. La technologie AWS PrivateLink déplace les données du point de terminaison d’interface vers Amazon S3 via le réseau AWS.

Utilisation conjointe de points de terminaison de passerelle et de points de terminaison d’interface dans le même VPC pour accéder à Amazon S3

Vous pouvez créer des points de terminaison d’interface et conserver le point de terminaison de passerelle existant dans le même VPC, comme le montre le diagramme suivant. En adoptant cette approche, vous autorisez les applications internes au VPC à continuer d’accéder à Amazon S3 via le point de terminaison de la passerelle, ce qui n’est pas facturé. Ensuite, seules vos applications sur site utilisent des points de terminaison d’interface pour accéder à Amazon S3. Pour accéder à Amazon S3 de cette façon, vous devez mettre à jour vos applications sur site afin d’utiliser des noms DNS spécifiques du point de terminaison pour Amazon S3.

Le diagramme de flux de données montre l’accès à Amazon S3 avec des points de terminaison de passerelle et des points de terminaison d’interface.

Le diagramme illustre les éléments suivants :

  • Les applications sur site utilisent des noms DNS spécifiques du point de terminaison pour envoyer des données au point de terminaison d’interface dans le VPC via Direct Connect (ou Site-to-Site VPN). La technologie AWS PrivateLink déplace les données du point de terminaison d’interface vers Amazon S3 via le réseau AWS.

  • En utilisant des noms Amazon S3 Régionaux par défaut, les applications dans le VPC envoient des données au point de terminaison de passerelle qui se connecte à Amazon S3 via le réseau AWS.

Pour plus d’informations sur les points de terminaison de passerelle, consultez Points de terminaison d’un VPC de passerelle dans le Guide de l’utilisateur VPC.

Création d’une stratégie de point de terminaison de VPC pour Amazon S3

Vous pouvez attacher une stratégie de point de terminaison à votre point de terminaison de VPC qui contrôle l’accès à Amazon S3. La stratégie spécifie les informations suivantes :

  • Le principal AWS Identity and Access Management (IAM) qui peut effectuer des actions.

  • Les actions qui peuvent être effectuées.

  • Les ressources sur lesquelles les actions peuvent être exécutées.

Vous pouvez également utiliser des stratégies de compartiment Amazon S3 pour restreindre l’accès à des compartiments spécifiques depuis un point de terminaison d’un VPC spécifique en utilisant la condition aws:sourceVpce de votre stratégie de compartiment. Les exemples suivants montrent les stratégies qui restreignent l’accès à un compartiment ou à un point de terminaison.

Vous pouvez créer une stratégie de point de terminaison qui restreint l’accès à des compartiments Amazon S3 spécifiques uniquement. Ce type de stratégie est utile si d’autres Services AWS dans votre VPC utilisent des compartiments. La stratégie de compartiment suivante restreint l’accès à amzn-s3-demo-bucket1 uniquement. Pour utiliser cette politique de point de terminaison, remplacez amzn-s3-demo-bucket1 par le nom de votre compartiment.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909151", "Statement": [ { "Sid": "Access-to-specific-bucket-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket1", "arn:aws:s3:::amzn-s3-demo-bucket1/*"] } ] }

Vous pouvez créer une stratégie de point de terminaison qui limite l’accès aux compartiments S3 uniquement dans un Compte AWS spécifique. Pour empêcher les clients de votre VPC d’accéder aux compartiments dont vous n’êtes pas le propriétaire, utilisez la déclaration suivante dans votre stratégie de point de terminaison. L’exemple de déclaration suivant crée une stratégie qui restreint l’accès aux ressources appartenant à un seul ID de Compte AWS, 111122223333.

{ "Statement": [ { "Sid": "Access-to-bucket-in-specific-account-only", "Principal": "*", "Action": [ "s3:GetObject", "s3:PutObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": "111122223333" } } } ] }
Note

Vous pouvez utiliser la clé Compte AWS ou aws:ResourceAccount dans votre politique IAM pour spécifier l’ID de s3:ResourceAccount de la ressource en cours d’accès. Cependant, n’oubliez pas que certains Services AWS reposent sur l’accès aux compartiments gérés par AWS. Par conséquent, l’utilisation de la clé aws:ResourceAccount ou s3:ResourceAccount dans votre politique IAM risque également d’avoir un impact sur l’accès à ces ressources.

Exemple : restriction de l’accès au point de terminaison d’un VPC spécifique dans la stratégie de compartiment S3

La stratégie de compartiment Amazon S3 suivante autorise l’accès à un compartiment spécifique, amzn-s3-demo-bucket2, depuis le point de terminaison d’un VPC vpce-1a2b3c4d uniquement. La politique refuse tout accès au compartiment si le point de terminaison spécifié n’est pas utilisé. La condition aws:sourceVpce spécifie le point de terminaison et ne requiert pas d’Amazon Resource Name (ARN) pour la ressource de point de terminaison d’un VPC, mais uniquement l’ID du point de terminaison. Pour utiliser cette stratégie de point de terminaison, remplacez amzn-s3-demo-bucket2 et vpce-1a2b3c4d par le nom et le point de terminaison de votre compartiment.

Important
  • Lors de l’application de la stratégie de compartiment Amazon S3 suivante afin de restreindre l’accès à certains points de terminaison d’un VPC uniquement, vous pouvez bloquer involontairement votre accès au compartiment. Les stratégies de compartiment dans le but de restreindre l’accès aux connexions issues du point de terminaison de votre VPC peuvent bloquer toutes les connexions à ce compartiment. Pour des informations sur la correction de ce problème, consultez Ma stratégie de compartiment n’a pas le bon VPC ou ID de point de terminaison d’un VPC. Comment puis-je corriger la politique de façon à pouvoir accéder au compartiment ? que vous trouverez dans le SupportCentre de connaissances.

  • Avant d’utiliser l’exemple de stratégie suivant, remplacez l’ID de point de terminaison du VPC par une valeur appropriée pour votre cas d’utilisation. Dans le cas contraire, vous ne parviendrez pas à accéder à votre compartiment.

  • Cette politique désactive l’accès de la console au compartiment spécifié, car les demandes de la console ne proviennent pas du point de terminaison du VPC défini.

JSON
{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket2", "arn:aws:s3:::amzn-s3-demo-bucket2/*"], "Condition": {"StringNotEquals": {"aws:sourceVpce": "vpce-1a2b3c4d"}} } ] }

Pour plus d’exemples de stratégie, consultez Points de terminaison pour Amazon S3 dans le Guide de l’utilisateur VPC.

Pour plus d'informations sur la connectivité VPC, consultez la section Options de connectivité réseau vers VPC du livre blanc AWS Options de connectivité du cloud privé virtuel Amazon.