AWS PrivateLink pour Amazon S3 - Amazon Simple Storage Service

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.

AWS PrivateLink pour Amazon S3

Avec AWS PrivateLink Amazon S3, vous pouvez provisionner des points de VPCterminaison d'interface (points de terminaison d'interface) dans votre cloud privé virtuel (VPC). Ces points de terminaison sont directement accessibles depuis des applications installées sur VPN site ou via un autre Région AWS VPC overpeering. AWS Direct Connect

Les points de terminaison d'interface sont représentés par une ou plusieurs interfaces réseau élastiques (ENIs) auxquelles des adresses IP privées sont attribuées à partir de sous-réseaux de votre. 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 de l'interface VPC depuis vos applications locales via AWS Direct Connect ou AWS Virtual Private Network ()AWS VPN. Pour plus d'informations sur la façon de vous connecter VPC à votre réseau local, consultez le guide de l'AWS Direct Connect utilisateur et le guide de l'AWS Site-to-Site VPN utilisateur.

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

Types de VPC points de terminaison pour Amazon S3

Vous pouvez utiliser deux types de points de VPC terminaison 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 VPC depuis votre AWS réseau. Les points de terminaison d'interface étendent les fonctionnalités des points de terminaison de passerelle en utilisant des adresses IP privées pour acheminer les demandes vers Amazon S3 depuis votre siteVPC, ou depuis un autre VPC en Région AWS utilisant le VPC peering ou. AWS Transit Gateway Pour plus d'informations, consultez Qu'est-ce que le VPC peering ? et Transit Gateway contre le VPC peering.

Les points de terminaison d'interface sont compatibles avec les points de terminaison de passerelle. Si vous avez déjà un point de terminaison de passerelle dans leVPC, vous pouvez utiliser les deux types de points de terminaison de la même manièreVPC.

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 AWS réseau.

Utiliser des adresses IP publiques Amazon S3

Utilisez les adresses IP privées de votre compte VPC pour accéder à Amazon S3

Utilisez les mêmes DNS noms Amazon S3

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

N'autorise pas l'accès sur site

Autoriser l'accès depuis vos sites

Ne pas autoriser l'accès depuis un autre Région AWS

Autoriser l'accès d'un point VPC à un autre Région AWS en utilisant le VPC peering ou AWS Transit Gateway

Non facturé

Facturé

Pour plus d'informations sur les points de terminaison de passerelle, voir Points de VPCterminaison de passerelle dans le AWS PrivateLink Guide.

VPCdes restrictions s'appliquent AWS PrivateLink à 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 VPC point de terminaison

Pour créer un point de terminaison d'VPCinterface, voir Création d'un VPC point de terminaison dans le AWS PrivateLink Guide.

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 DNS noms S3 spécifiques au point de terminaison : régional et zonal.

  • Un DNS nom régional inclut un identifiant de point de VPC terminaison unique, un identifiant de service Région AWS, le et vpce.amazonaws.com dans son nom. Par exemple, pour l'identifiant du point de VPC terminaisonvpce-1a2b3c4d, le DNS nom généré peut être similaire àvpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com.

  • Un DNS nom de zone inclut 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 DNS noms S3 spécifiques au point de terminaison peuvent être résolus à partir du domaine public S3. DNS

Privé DNS

DNSLes options privées pour les points de terminaison d'VPCinterface simplifient le routage du trafic S3 sur les VPC points de terminaison et vous aident à tirer parti du chemin réseau le moins coûteux disponible pour votre application. Vous pouvez utiliser des DNS options privées pour acheminer le trafic S3 régional sans mettre à jour vos clients S3 pour qu'ils utilisent les DNS noms spécifiques des points de terminaison de votre interface ou sans gérer l'infrastructure. DNS Lorsque les DNS noms privés sont activés, les DNS requêtes S3 régionales sont résolues vers les adresses IP privées AWS PrivateLink des 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)

Si vous avez un point de terminaison de passerelle dans votreVPC, vous pouvez automatiquement acheminer les VPC demandes entrantes via votre point de terminaison de passerelle S3 existant et les demandes locales via le point de terminaison de votre interface. Cette approche vous permet d'optimiser vos coûts réseau en utilisant des points de terminaison de passerelle, qui ne sont pas facturés, pour votre trafic entrant. VPC Vos applications sur site peuvent être utilisées à l' AWS PrivateLink aide du point de terminaison Resolver entrant. Amazon fournit un DNS serveur, appelé Route 53 Resolver, pour votreVPC. Un point de terminaison de résolution entrant transmet les DNS requêtes du réseau local à Route 53 Resolver.

Important

Pour tirer parti du chemin réseau le moins coûteux lorsque vous utilisez Enable private DNS 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 VPC trafic entrant est toujours acheminé via le réseau AWS privé lorsque l'option Activer le privé DNS uniquement pour les points de terminaison entrants est sélectionnée. Vous devez maintenir ce point de terminaison de passerelle tant que l'option Activer le mode privé DNS 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 l'option Activer le mode privé DNS uniquement pour les points de terminaison entrants.

Si vous souhaitez mettre à jour un point de terminaison d'interface existant pour activer le mode privé DNS uniquement pour les points de terminaison entrants, vérifiez d'abord que vous disposez VPC d'un point de terminaison de passerelle S3. Pour plus d'informations sur les points de terminaison de passerelle et la gestion des DNS noms privés, consultez respectivement les sections VPCPoints de terminaison de passerelle et Gérer les DNS noms dans le AWS PrivateLink Guide.

L'option Activer le mode privé DNS 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 VPC point de terminaison qui utilise Enable private DNS uniquement pour les points de terminaison entrants, consultez la section Créer un point de terminaison d'interface dans le AWS PrivateLink Guide.

Utilisation de la console VPC

Dans la console, vous avez deux options : Activer le DNS nom et Activer le mode privé DNS uniquement pour les points de terminaison entrants. Activer DNS le nom est une option prise en charge par AWS PrivateLink. En utilisant l'option Activer le DNS nom, vous pouvez utiliser la connectivité privée d'Amazon à Amazon S3, tout en envoyant des demandes aux DNS noms de 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 DNS noms privés sur un point de terminaison d'VPCinterface existant ou nouveau pour Amazon S3, l'option Activer le privé DNS 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 VPC trafic entrant utilise automatiquement les points de terminaison de passerelle les moins coûteux. Vous pouvez également désactiver l'option Activer le mode privé DNS uniquement pour les points de terminaison entrants afin d'acheminer toutes les demandes S3 via le point de terminaison de votre interface.

En utilisant le AWS CLI

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

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

Pour un nouveau point de terminaison VPC d'interface

Utilisez les dns-options attributs private-dns-enabled et pour activer le mode privé DNS 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 VPC terminaison existant

Si vous souhaitez utiliser private DNS pour un point de VPC terminaison existant, utilisez l'exemple de commande suivant et remplacez-le 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 VPC terminaison existant afin d'activer le mode privé DNS uniquement pour le résolveur entrant, utilisez l'exemple suivant et remplacez les valeurs d'échantillon 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 API opérations Amazon S3 Control depuis les points de terminaison de l'interface S3

Vous pouvez utiliser le AWS CLI ou AWS SDKs pour accéder aux buckets, aux points d'accès S3 et aux API opérations Amazon S3 Control via les points de terminaison de l'interface S3.

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

L'onglet Détails de la VPC console.

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

  • bucket

  • accesspoint

  • control

Par exemple, pour accéder à un bucket, utilisez un DNSnom comme celui-ci :

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

Pour des exemples d'utilisation de DNS noms pour accéder aux compartiments, aux points d'accès et aux API opérations Amazon S3 Control, consultez les sections suivantes de AWS CLI exemples etAWS SDKexemples.

Pour plus d'informations sur la façon d'afficher les DNS noms spécifiques à vos points de terminaison, consultez la section Affichage de la configuration des noms privés DNS des services de point de terminaison dans le guide de l'VPCutilisateur.

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

Exemple : utilisez un point de terminaison URL pour répertorier les objets de votre bucket

Dans l'exemple suivant, remplacez le nom du compartiment my-bucketus-east-1, la région et le DNS nom de l'ID du VPC point de terminaison 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 : utiliser un point de terminaison URL 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 le ARNus-east-1:123456789012:accesspoint/accesspointexamplename, la région us-east-1 et l'ID du VPC point de terminaison 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 correctement la commande, AWS CLI installez la dernière version 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èsaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l'ID du VPC point de terminaison 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

    Dans l'exemple suivant, remplacez ensuite l'alias du point d'accèsaccesspointexamplename-8tyekmigicmhun8n9kwpfur39dnw4use1a-s3alias, la région us-east-1 et l'ID du VPC point de terminaison vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com par vos propres informations. Pour plus d'informations sur l'alias du point d'accès, consultezUtilisation d'un alias de type compartiment pour votre point d'accès de compartiment S3.

    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 : utiliser un point de terminaison URL pour répertorier les tâches avec une API opération de contrôle S3

Dans l'exemple suivant, remplacez la régionus-east-1, l'identifiant vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com du VPC point de terminaison et l'identifiant 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 ou aux API opérations Amazon S3 Control via les points de terminaison de l'interface S3 lorsque vous utilisez le AWS SDKs, installez SDKs la dernière version. Configurez ensuite vos clients pour qu'ils utilisent un point de terminaison URL pour accéder à un compartiment, à un point d'accès ou aux API opérations Amazon S3 Control via les points de terminaison de l'interface S3.

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

Dans l'exemple suivant, remplacez la région us-east-1 et l'ID du point de VPC terminaison 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 un point de terminaison URL 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 VPC terminaison 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 : utiliser un point URL de terminaison pour accéder à Amazon S3 Control API

Dans l'exemple suivant, remplacez la région us-east-1 et l'ID du point de VPC terminaison 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 un point de terminaison URL pour accéder à un compartiment S3

Dans l'exemple suivant, remplacez l'ID du VPC point de terminaison 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 un point de terminaison URL pour accéder à un point d'accès S3

Dans l'exemple suivant, remplacez l'ID du VPC point vpce-1a2b3c4d-5e6f.s3.us-east-1.vpce.amazonaws.com de terminaison 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 : utiliser un point de terminaison URL pour accéder à une API opération Amazon S3 Control

Dans l'exemple suivant, remplacez l'ID du VPC point de terminaison 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 un point de terminaison URL pour accéder à un compartiment S3

Dans l'exemple suivant, remplacez l'ID du VPC point de terminaison 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 un point de terminaison URL pour accéder à un point d'accès S3

Dans l'exemple suivant, remplacez l'ID du VPC point de terminaison 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 : utiliser un point URL de terminaison pour accéder à Amazon S3 Control API

Dans l'exemple suivant, remplacez l'ID du VPC point de terminaison 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()

Mettre à jour une configuration locale DNS

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

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

Les points de terminaison de votre interface VPC peuvent acheminer à la fois VPC des applications internes et des applications sur site vers Amazon S3 via le réseau Amazon, comme illustré dans le schéma suivant.

Schéma de flux de données illustrant l'accès à Amazon S3 à l'aide d'un point de terminaison d'interface et AWS PrivateLink.

Le diagramme illustre les éléments suivants :

  • Votre réseau local utilise AWS Direct Connect ou AWS VPN pour se connecter à A. VPC

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

  • Les applications locales envoient des données au point de terminaison de l'interface VPC par le biais AWS Direct Connect (ou AWS VPN). AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

  • VPCLes applications internes envoient également du trafic vers le point de terminaison de l'interface. AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

Utilisation conjointe des points de terminaison de passerelle et des points de terminaison d'interface 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 celui-ciVPC, comme le montre le schéma suivant. En adoptant cette approche, vous autorisez les VPC applications internes à continuer d'accéder à Amazon S3 via le point de terminaison de la passerelle, qui n'est pas facturé. Dans ce cas, seules vos applications sur site utiliseront les points de terminaison d'interface pour accéder à Amazon S3. Pour accéder à Amazon S3 de cette manière, vous devez mettre à jour vos applications sur site afin d'utiliser des noms spécifiques aux points de terminaison pour DNS Amazon S3.

Schéma de flux de données illustrant l'accès à Amazon S3 à l'aide de points de terminaison de passerelle et de points de terminaison d'interface.

Le diagramme illustre les éléments suivants :

  • Les applications locales utilisent des DNS noms spécifiques au point de terminaison pour envoyer des données au point de terminaison de l'interface VPC via AWS Direct Connect (ou). AWS VPN AWS PrivateLink déplace les données du point de terminaison de l'interface vers Amazon S3 via le AWS réseau.

  • À l'aide des noms régionaux Amazon S3 par défaut, les VPC applications intégrées envoient des données au point de terminaison de la passerelle qui se connecte à Amazon S3 via le AWS réseau.

Pour plus d'informations sur les points de terminaison de passerelle, consultez la section Points de VPCterminaison de passerelle dans le Guide de l'VPCutilisateur.

Création d'une politique de VPC point de terminaison pour Amazon S3

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

  • Le AWS Identity and Access Management (IAM) principal 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 les politiques de compartiment Amazon S3 pour restreindre l'accès à des compartiments spécifiques à partir d'un point de VPC terminaison spécifique en utilisant la aws:sourceVpce condition figurant dans votre politique 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 politique est utile si vous AWS services en avez d'autres VPC qui utilisent des buckets. 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.

{ "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 politique de point de terminaison qui restreint l'accès uniquement aux compartiments S3 d'un point spécifique. Compte AWS Pour VPC empêcher vos clients d'accéder à des compartiments dont vous n'êtes pas le propriétaire, utilisez l'instruction suivante dans votre politique de point de terminaison. L'exemple d'instruction suivant crée une politique qui restreint l'accès aux ressources détenues par un seul Compte AWS identifiant, 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

Pour spécifier l' Compte AWS ID de la ressource à laquelle vous accédez, vous pouvez utiliser la clé aws:ResourceAccount ou la s3:ResourceAccount clé de votre IAM politique. Sachez toutefois que certains AWS services dépendent de l'accès à des buckets AWS gérés. Par conséquent, l'utilisation de la s3:ResourceAccount touche aws:ResourceAccount ou dans votre IAM politique peut également affecter l'accès à ces ressources.

Exemple : restriction de l'accès à un point de VPC terminaison spécifique dans la politique du compartiment S3

La politique de compartiment Amazon S3 suivante autorise l'accès à un compartiment spécifiqueamzn-s3-demo-bucket2, uniquement à partir du point de VPC terminaisonvpce-1a2b3c4d. La politique refuse tout accès au compartiment si le point de terminaison spécifié n'est pas utilisé. La aws:sourceVpce condition spécifie le point de terminaison et ne nécessite pas de nom de ressource Amazon (ARN) pour la ressource de point de VPC terminaison, 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
  • Lorsque vous appliquez la politique de compartiment Amazon S3 suivante pour restreindre l'accès à certains VPC points de terminaison uniquement, vous pouvez bloquer votre accès au compartiment sans en avoir l'intention. Les politiques de compartiment destinées à limiter spécifiquement l'accès au compartiment aux connexions provenant de votre VPC point de terminaison peuvent bloquer toutes les connexions au compartiment. Pour plus d'informations sur la manière de résoudre ce problème, consultez la section My bucket policy has the wrong VPC or VPC endpoint ID incorrect. Comment puis-je corriger la politique de façon à pouvoir accéder au compartiment ? que vous trouverez dans le AWS Support Centre de connaissances.

  • Avant d'utiliser l'exemple de politique suivant, remplacez l'ID du point de VPC terminaison par une valeur adaptée à 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 console ne proviennent pas du point de VPC terminaison spécifié.

{ "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 politiques, consultez Endpoints for Amazon S3 dans le guide de l'VPCutilisateur.

Pour plus d'informations sur la VPC connectivité, consultez la section Options de VPC connectivité réseau dans le AWS livre blanc Amazon Virtual Private Cloud Connectivity Options.