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 terminaison VPC 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 site via VPN et/ou via un autre Région AWS système de peering VPC. AWS Direct Connect

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 de l'interface de votre VPC à partir d'applications sur site AWS Direct Connect via AWS Virtual Private Network ou ().AWS VPN Pour plus d'informations sur la façon de connecter votre VPC à votre réseau sur site, consultez le AWS Direct Connect Guide de l'utilisateur et le AWS Site-to-Site VPN Guide de l'utilisateur .

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 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 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 VPC, sur site, ou depuis un VPC dans un autre en utilisant Région AWS le peering VPC ou. 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 AWS réseau.

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

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

Autoriser l'accès d'un VPC à un autre en utilisant le Région AWS peering 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 limites du VPC 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 point de terminaison d'un VPC

Pour créer un point de terminaison d'interface de VPC, veuillez consulter 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.

  • Un nom DNS régional inclut un ID de point de terminaison VPC unique, un identifiant de service Région AWS, le 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.

DNS privé

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 DNS privés sont activés, les requêtes DNS 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 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 être utilisées à l' AWS PrivateLink aide du point de terminaison Resolver 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. Activer le nom DNS est une option 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.

En utilisant le 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 que ce paramètre PrivateDnsOnlyForInboundResolverEndpoint soit défini 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 les AWS SDK AWS CLI ou pour accéder aux compartiments, aux points d'accès S3 et aux opérations de l'API Amazon S3 Control via les points de terminaison de l'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 AWS CLI exemples et AWS Exemples de 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 de l'API 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 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 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è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 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 : 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 ou aux opérations de l'API Amazon S3 Control via les points de terminaison de l'interface S3 lorsque vous utilisez les AWS SDK, mettez à jour vos SDK avec 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.

Schéma de flux de données montrant 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 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 locales envoient des données au point de terminaison de l'interface dans le VPC AWS Direct Connect via (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.

  • Les applications in-VPC 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 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.

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 noms DNS spécifiques au point de terminaison pour envoyer des données au point de terminaison de l'interface au sein du VPC via (ou). AWS Direct Connect 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 applications intégrées au VPC 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 sectionPoints de terminaison d'un VPC de passerelle du 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 politique est utile si d'autres Services AWS politiques de votre VPC utilisent des buckets. La stratégie de compartiment suivante restreint l'accès à example-s3-bucket1 uniquement. Pour utiliser cette politique de point de terminaison, remplacez example-s3-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:::example-s3-bucket1", "arn:aws:s3:::example-s3-bucket1/*"] } ] }

Vous pouvez créer une politique de point de terminaison qui restreint l'accès aux compartiments S3 d'un point spécifique. Compte AWS 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

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é dans votre politique IAM. Sachez toutefois que certains Services AWS dépendent de l'accès à des buckets AWS gérés. 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, example-s3-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 example-s3-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, veuillez consulter Ma politique 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 AWS Support Centre 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 stratégie désactive l'accès à la console du compartiment spécifié, car les demandes de la console ne proviennent pas du point de terminaison du VPC défini.

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

Pour plus d'exemples de stratégie, consultez la section Points de terminaison pour Amazon S3 du Guide de l'utilisateur VPC.

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