For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/storage-and-backup/object-storage/s3-private-endpoint.md.

Object Storage - Premiers pas avec Private Endpoint (Beta)

Voir en Markdown

Découvrez comment accéder à vos buckets Object Storage en privé depuis un réseau privé Public Cloud, sans connectivité publique, grâce à un Private Endpoint

Warning

Fonctionnalité en Beta. Private Endpoint pour Object Storage est actuellement en Beta. Les fonctionnalités, les routes API et les noms de champs peuvent évoluer d'ici la disponibilité générale, et ce guide sera mis à jour en conséquence. Pendant la Beta, vous pouvez gérer vos Private Endpoints depuis la console OVHcloud, via l'API OVHcloud ou avec Terraform. Ce guide couvre la console et l'API.

Objectif

Un Private Endpoint permet aux ressources d'un sous-réseau d'un réseau privé Public Cloud d'accéder à votre Object Storage compatible S31 via le réseau OVHcloud, sans Gateway. Votre trafic reste privé, sans nécessiter de connectivité publique.

Ce guide vous explique comment créer un Private Endpoint, y connecter votre client S3 et faire en sorte que vos buckets ne soient accessibles que par ce chemin privé.

Info

Private Endpoint est disponible uniquement pour l'Object Storage compatible S3. L'Object Storage basé sur Swift n'est pas pris en charge.

Prérequis

Les clients qui utilisent le Private Endpoint sont les ressources de ce sous-réseau, comme des instances ou des serveurs Bare Metal connectés via le vRack.


Accès à la console OVHcloud

  • Lien direct :
  • Chemin d'accès : Public Cloud > Sélectionnez votre projet > Réseau > Private Endpoint

En pratique

Fonctionnement

Lorsque vous créez un Private Endpoint, OVHcloud le place dans le sous-réseau de votre choix et lui attribue :

  • une adresse IP privée (VIP) dans ce sous-réseau ;
  • un nom d'hôte, de la forme pe-<pe_id>.s3.{region}.endpoint.cloud.ovh.net.

Vos instances envoient alors leurs requêtes S3 à ce nom d'hôte, au lieu du point de terminaison public d'Object Storage. Vos identifiants (clé d'accès et clé secrète) ne changent pas.

Le trafic est chiffré en TLS de bout en bout, de votre client S3 jusqu'à Object Storage. Le Private Endpoint le transmet sans le déchiffrer.

Un Private Endpoint possède deux identifiants. Veillez à utiliser le bon :

IdentifiantExempleOù le trouverUtilisé pour
Identifiant du Private Endpointpe-a1b2c3d4Dans la console, le champ ID de la page de détails du Private Endpoint. Dans l'API, le champ currentState.endpointId. Il s'agit aussi de la première partie du nom d'hôte, avant .s3. : pe- suivi de 8 caractères hexadécimaux générés par OVHcloud, par exemple pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.netLes politiques d'accès (voir l'étape 5)
Identifiant de ressource (UUID)5d297126-f4bd-46f9-a4c4-2ffd134121b6Le champ id de la réponse de l'APILes appels API uniquement : il s'agit du {privateEndpointId} dans les routes
Utiliser l'API : fonctionnement et routes utilisées dans ce guide

Private Endpoint utilise l'API v2 OVHcloud. Au lieu d'exécuter des actions une à une, vous décrivez la configuration souhaitée dans un objet targetSpec. OVHcloud l'applique ensuite en arrière-plan. Vous pouvez suivre l'avancement grâce au champ resourceStatus, et la liste currentTasks indique les opérations en cours.

Les routes utilisées dans ce guide sont les suivantes :

MéthodeRouteDescription
GETLister les services et les niveaux de connectivité disponibles
GETLister les Private Endpoints d'un projet
POSTCréer un Private Endpoint
GETAfficher le détail d'un Private Endpoint
PUTRenommer un Private Endpoint ou modifier sa description
DELETESupprimer un Private Endpoint
GETAfficher la disponibilité d'un service
Info

Aucun outil local n'est nécessaire pour exécuter ces appels : vous pouvez les lancer directement depuis la . Ouvrez la route, renseignez projectId et le corps de la requête, puis cliquez sur Execute. De la même manière, vous pouvez suivre la création de votre Private Endpoint avec la route GET, et lister les noms de services et niveaux de connectivité disponibles avec la route serviceAvailability.

Étape 1 - Choisir un niveau de connectivité

Chaque Private Endpoint dispose d'un niveau de connectivité, qui détermine sa bande passante :

NiveauBande passanteRecommandé pour
S500 Mbit/sCharges de travail à débit modéré (niveau par défaut)
M2 Gbit/sCharges de travail à débit plus élevé
L4 Gbit/sTransferts de données importants : sauvegardes, analytique, pipelines de machine learning

Les valeurs de bande passante s'appliquent à la Beta et peuvent évoluer.

Warning

Limitations de la Beta. Pendant la Beta :

  • seul le niveau S est disponible ;
  • vous pouvez créer jusqu'à 2 Private Endpoints par projet. Si vous avez besoin de davantage, contactez-nous ;
  • les Private Endpoints sont gratuits, et aucun SLA ne s'applique ;
  • Private Endpoint est disponible dans les régions suivantes : GRA, RBX, SBG, EU-WEST-PAR, EU-SOUTH-MIL, LIM et BHS.
Via la console OVHcloud
Via l'API OVHcloud

Vous choisissez le niveau lors de la création du Private Endpoint (voir l'étape 2), dans la section Service et taille du formulaire de création :

  1. Dans Service, sélectionnez S3. La liste affiche les services disponibles dans la région du réseau privé sélectionné.
  2. Dans Taille, sélectionnez le niveau. Les niveaux sont présentés sous forme de tailles : pendant la Beta, sélectionnez S.

Étape 2 - Créer le Private Endpoint

Avant de commencer, décidez comment le nom d'hôte du Private Endpoint sera résolu. Vous faites ce choix lors de la création du Private Endpoint, avec l'option DNS public (publicDnsEnabled dans l'API) :

Votre situationOption DNS publicCe que vous faites ensuite
Vos instances peuvent utiliser un résolveur DNS publicActivéeRien : OVHcloud publie et gère l'enregistrement DNS pour vous. L'enregistrement pointe vers une adresse IP privée, joignable uniquement depuis votre réseau privé.
Vos instances ne peuvent pas utiliser de résolveur DNS public, ou vous ne souhaitez pas que l'enregistrement soit publicDésactivée (par défaut)Vous gérez vous-même la résolution, par exemple dans une zone DNS privée.

Le détail de chaque option est donné à l'étape 3.

Via la console OVHcloud
Via l'API OVHcloud
  1. Ouvrez Public Cloud et sélectionnez votre projet, puis ouvrez Réseau > Private Endpoint.
  2. Cliquez sur Créer un Private Endpoint.
  3. Dans la section Nom du Private Endpoint, saisissez un nom pour votre Private Endpoint.
  4. Dans la section Connectivité :
    • sélectionnez votre Réseau privé. La région du Private Endpoint est celle de ce réseau privé ;
    • sélectionnez le Subnet dans lequel placer le Private Endpoint ;
    • si vous le souhaitez, saisissez une adresse IP de votre choix dans Sélection de la VIP. Si vous laissez ce champ vide, une adresse du sous-réseau est attribuée automatiquement.
  5. Dans la section Service et taille, sélectionnez le service S3 et le niveau de connectivité (voir l'étape 1). Pendant la Beta, seule la taille S est disponible.
  6. Dans la section DNS public, activez l'option ou laissez-la désactivée, selon votre choix ci-dessus.
  7. Si vous le souhaitez, ajoutez une Description.
  8. Vérifiez le récapitulatif à droite, puis cliquez sur Créer un Private Endpoint.

Le Private Endpoint est créé en arrière-plan et apparaît sur la page Private Endpoints. Il est prêt lorsque son statut est READY.

Cliquez sur son nom pour ouvrir sa page de détails, et notez les valeurs ci-dessous : vous en aurez besoin dans les étapes suivantes.

  • ID, dans la section Informations générales : l'identifiant du Private Endpoint (pe-…) ;
  • Endpoint VIP, dans la section Détails de connexion : son adresse IP dans le sous-réseau ;
  • Nom d'hôte, dans la section Détails de connexion.

Chaque valeur dispose d'un bouton de copie.

Étape 3 - Configurer la résolution de noms

Le point de terminaison public standard d'Object Storage (s3.{region}.io.cloud.ovh.net) n'est pas redirigé automatiquement vers votre Private Endpoint. Vos applications doivent utiliser explicitement le nom d'hôte du Private Endpoint, par exemple pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.net.

La marche à suivre dépend du choix DNS public effectué à l'étape 2 :

  • DNS public activé : vous n'avez rien à configurer. Passez à l'étape 4.
  • DNS public désactivé : dans votre service DNS, par exemple une zone DNS privée, faites pointer les noms suivants vers l'adresse IP du Private Endpoint (Endpoint VIP dans la console, currentState.vipAddress dans l'API) :
    • pe-<pe_id>.s3.{region}.endpoint.cloud.ovh.net ;
    • *.pe-<pe_id>.s3.{region}.endpoint.cloud.ovh.net, qui couvre les URL incluant le nom du bucket.

Étape 4 - Connecter votre client S3 au Private Endpoint

Une fois le Private Endpoint à l'état READY, remplacez le point de terminaison Object Storage de votre client S3 par le nom d'hôte du Private Endpoint. Dans les exemples ci-dessous, remplacez pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.net par votre propre nom d'hôte.

AWS CLI
boto3 (Python)
s3cmd
aws --endpoint-url https://pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.net s3 ls
aws --endpoint-url https://pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.net s3 cp /data/myfile.txt s3://<bucket_name>

Pour éviter d'ajouter --endpoint-url à chaque commande, vous pouvez enregistrer le point de terminaison dans un profil du fichier ~/.aws/config :

[profile private-endpoint]
region = gra
endpoint_url = https://pe-a1b2c3d4.s3.gra.endpoint.cloud.ovh.net

Vous pouvez continuer à utiliser la clé d'accès et la clé secrète de votre utilisateur Object Storage existant.

Étape 5 - Restreindre l'accès à vos buckets au Private Endpoint

Créer un Private Endpoint offre à vos instances un chemin privé vers Object Storage, mais ne bloque pas l'accès depuis le point de terminaison public. Pour que le Private Endpoint soit le seul moyen d'accéder à vos données, ajoutez une restriction à la politique de votre utilisateur Object Storage.

L'instruction suivante refuse toute requête qui ne passe pas par votre Private Endpoint. Remplacez pe-<pe_id> par l'identifiant de votre Private Endpoint, affiché dans le champ ID de sa page de détails dans la console, ou dans le champ currentState.endpointId de l'API :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyUnlessViaPrivateEndpoint",
      "Effect": "Deny",
      "Action": "s3:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:SourceVpce": "pe-<pe_id>"
        }
      }
    }
  ]
}
Warning

Dans aws:SourceVpce, utilisez l'identifiant du Private Endpoint, préfixe pe- compris. Copiez telle quelle la valeur du champ ID de la console, ou de currentState.endpointId : elle inclut déjà le préfixe. Par exemple, avec "endpointId": "pe-9d34106b", utilisez "aws:SourceVpce": "pe-9d34106b".

N'utilisez pas l'identifiant de ressource (UUID) renvoyé par l'API, et n'omettez pas le préfixe pe-. Sinon, la condition n'est jamais remplie et l'utilisateur est bloqué sur tous les chemins, y compris via le Private Endpoint.

Si votre utilisateur possède déjà une politique, ajoutez cette instruction à sa liste Statement existante plutôt que de la remplacer.

Pour appliquer la politique, utilisez l'une des méthodes suivantes.

Via la console OVHcloud
Via l'AWS CLI
Via l'API OVHcloud

La console ne propose pas encore d'option dédiée aux Private Endpoints, mais vous pouvez modifier la politique de l'utilisateur sous forme de fichier JSON :

  1. Dans la section Object Storage, ouvrez l'onglet des utilisateurs et téléchargez la politique actuelle de votre utilisateur (Télécharger la politique).
  2. Ajoutez l'instruction ci-dessus au fichier téléchargé.
  3. Importez le fichier modifié sur le même utilisateur (Importer une politique).

Pour plus de détails, consultez notre guide sur la gestion des identités et des accès.

Warning

Une fois cette politique appliquée, l'utilisateur ne peut plus accéder à Object Storage via le point de terminaison public, quel que soit l'endroit d'où il se connecte. Avant de l'appliquer à un utilisateur de production, testez-la sur un utilisateur dédié et vérifiez que vos applications accèdent bien à Object Storage via le Private Endpoint.

Étape 6 (facultative) - Accéder au Private Endpoint depuis plusieurs sous-réseaux

Un Private Endpoint est placé dans un seul sous-réseau. Si des instances situées dans d'autres sous-réseaux du même réseau privé ont également besoin d'un accès privé à Object Storage, vous avez deux options :

  • Créer un Private Endpoint par sous-réseau. C'est l'option la plus simple, sans routage à configurer. Pendant la Beta, les Private Endpoints sont gratuits, mais chacun compte dans la limite de 2 Private Endpoints par projet.
  • Utiliser un seul Private Endpoint et une instance routeur. Placez le Private Endpoint dans un sous-réseau, puis faites transiter le trafic des autres sous-réseaux par une instance dédiée faisant office de routeur, connectée à ces sous-réseaux. Un seul Private Endpoint dessert alors tous vos sous-réseaux, mais vous devez gérer cette instance vous-même.

Les instances du sous-réseau A accèdent directement au Private Endpoint. Les instances du sous-réseau B y accèdent via l'instance routeur qui relie les deux sous-réseaux.

Gérer vos Private Endpoints

L'IAM OVHcloud gère les droits de consultation, de création, de modification et de suppression des Private Endpoints. Les actions s'appliquent au projet Public Cloud (type de ressource publicCloudProject) :

  • publicCloudProject:apiovh:privateEndpoint/get
  • publicCloudProject:apiovh:privateEndpoint/create
  • publicCloudProject:apiovh:privateEndpoint/edit
  • publicCloudProject:apiovh:privateEndpoint/delete
  • publicCloudProject:apiovh:reference/privateEndpoint/serviceAvailability/get

Seuls le nom et la description sont modifiables. Le niveau, le réseau privé et le sous-réseau ne peuvent pas être modifiés après la création : pour les changer, créez un nouveau Private Endpoint, puis supprimez l'ancien.

Via la console OVHcloud
Via l'API OVHcloud

Ouvrez Réseau > Private Endpoint. La page affiche les Private Endpoints de votre projet, avec leur région, leur réseau privé, leur sous-réseau, leur service, leur taille, leur VIP, leur nom d'hôte et leur statut. Utilisez Rechercher pour en retrouver un.

Modifier la description : cliquez sur le nom du Private Endpoint, puis sur l'icône en forme de crayon à côté de Description, dans la section Informations générales.

Supprimer un Private Endpoint : cliquez sur l'icône en forme de corbeille dans la colonne Actions de la liste, ou sur Supprimer sur la page de détails du Private Endpoint.

Warning

Si la politique de votre utilisateur Object Storage n'autorise l'accès que via ce Private Endpoint (voir l'étape 5), modifiez-la avant de supprimer le Private Endpoint. Sinon, l'utilisateur ne pourra plus accéder à vos buckets.

Prochainement

Les fonctionnalités suivantes sont prévues après la Beta :

  • la restriction de l'accès à vos buckets via des politiques de bucket ;
  • la restriction de l'accès à vos buckets via des politiques IAM OVHcloud, une fois Object Storage intégré à l'IAM OVHcloud.

Aller plus loin

Object Storage - Gestion des identités et des accès

Object Storage - Comment connecter mon bucket Object Storage avec d'autres ressources dans un réseau privé vRack

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Échangez avec notre communauté d'utilisateurs.

1 : S3 est une marque déposée appartenant à Amazon Technologies, Inc. Les services OVHcloud ne sont pas sponsorisés, approuvés, ou affiliés de quelque manière que ce soit.

Cette page vous a-t-elle aidé ?