Points de terminaison localisés pour la conformité avec la réglementation ITAR

Cette page explique comment utiliser des points de terminaison localisés pour accéder à Cloud Storage. Les points de terminaison localisés vous permettent d'exécuter vos charges de travail conformément à la réglementation ITAR (International Traffic in Arms Regulations).

Pour plus d'informations sur les restrictions liées à l'utilisation de Cloud Storage conformément aux exigences de la réglementation ITAR, consultez la section Restrictions et limitations relatives à la réglementation ITAR.

Présentation

Les points de terminaison localisés sont des points de terminaison de requêtes qui ne permettent de traiter les requêtes que si la ressource concernée existe dans l'emplacement spécifié par le point de terminaison. Par exemple, lorsque vous utilisez le point de terminaison https://us-central1-storage.googleapis.com pour une requête de suppression de bucket, la requête n'est exécutée que si le bucket se trouve dans US-CENTRAL1.

Contrairement aux points de terminaison mondiaux, où les requêtes peuvent être traitées dans un emplacement différent de celui où se trouve la ressource, les points de terminaison géographiques garantissent que vos requêtes ne sont traitées que dans l'emplacement spécifié par le point de terminaison, où réside la ressource. En utilisant des points de terminaison localisés, vous pouvez vous assurer que vos données au repos et en transit restent dans la juridiction, afin de satisfaire aux exigences de résidence des données.

L'utilisation de points de terminaison localisés permet de garantir ce qui suit :

  • Vos données stockées dans Cloud Storage ne quittent pas l'emplacement spécifié.

  • Vos données font l'objet d'une terminaison TLS dans la région spécifiée par le point de terminaison lors du transit depuis l'environnement sur site vers Google Cloud.

  • Vos données restent dans la juridiction lors du transit entre les services Google Cloud.

Lorsque vous utilisez des points de terminaison localisés, vous assumez les responsabilités suivantes :

  • Pour obtenir des garanties de résidence des données, les requêtes effectuées sur un point de terminaison localisé doivent provenir du même emplacement que celui spécifié par le point de terminaison. Par exemple, si vous utilisez une machine virtuelle Compute Engine pour envoyer une requête à un bucket résidant dans US-CENTRAL1 via le point de terminaison us-central1-storage.googleapis.com, la machine virtuelle doit également résider dans US-CENTRAL1.

  • Les points de terminaison localisés ne doivent être utilisés que pour effectuer des opérations compatibles. L'exécution d'opérations non compatibles génère une erreur.

Les points de terminaison localisés acceptent le trafic en transit entre l'environnement sur site et Google Cloud via Interconnect ou un VPN, ainsi que le trafic en transit entre les services Google Cloud (par exemple, de BigQuery vers Cloud Storage). Le trafic Internet n'est pas accepté.

Opérations compatibles

Le tableau suivant récapitule les opérations pouvant ou non être effectuées avec des points de terminaison localisés. En général, les opérations intra-emplacement peuvent être effectuées avec des points de terminaison localisés, contrairement aux opérations inter-emplacements.

Si vous tentez d'effectuer une opération non compatible avec les points de terminaison localisés, Cloud Storage renvoie un code d'erreur HTTP 400 avec le message suivant : "Ce point de terminaison n'implémente pas cette opération." Veuillez utiliser le point de terminaison global."

Opération Mute les données d'objet Compatible avec les points de terminaison localisés
objects compose Oui Oui1
objects delete Non Oui1
objects get Oui Oui1
objects insert Oui Oui1
objects list Non Oui1
objects patch Non Oui1
objects copy Oui Oui4
objects rewrite Oui Oui4
buckets insert Non Oui2
buckets delete Non Oui3
buckets get Non Oui2
buckets patch Non Oui2
buckets update Non Oui2
buckets getIamPolicy Non Oui2
buckets setIamPolicy Non Oui2
buckets testIamPermissions Non Oui2
buckets lockRetentionPolicy Non Oui2
buckets BucketAccessControls Non Oui2
buckets DefaultObjectAccessControls Non Oui2
buckets ObjectAccessControls Non Oui2
Opérations de clé HMAC Non Non
Opérations de compte de service Non Non
Opérations de notification Pub/Sub Varie selon l'opération Non
Opérations de notification de modification d'objet Varie selon l'opération Non
Opérations par lot Varie selon l'opération Non

1 Pour effectuer cette opération à l'aide de points de terminaison localisés, le bucket contenant l'objet concerné doit exister à l'emplacement spécifié par le point de terminaison. Par exemple, une requête de suppression d'objet pour us-central1-storage.googleapis.com ne peut être utilisée que pour supprimer des objets de buckets résidant dans la région US-CENTRAL1. Si vous essayez de supprimer un objet dans un emplacement autre que US-CENTRAL1, l'opération renvoie une erreur NOT_FOUND.

2 Pour effectuer cette opération à l'aide de points de terminaison localisés, le bucket doit exister à l'emplacement spécifié par le point de terminaison. Par exemple, une requête de création de bucket envoyée à us-central1-storage.googleapis.com ne peut être utilisée que pour créer un bucket dans la région US-CENTRAL1. Si vous tentez de créer le bucket dans un emplacement autre que US-CENTRAL1, l'opération renvoie une erreur INVALID_ARGUMENT.

3 Pour effectuer cette opération à l'aide de points de terminaison localisés, le bucket doit exister à l'emplacement spécifié par le point de terminaison. Par exemple, une demande de suppression de bucket envoyée à us-central1-storage.googleapis.com ne peut être utilisée que pour supprimer un bucket dans la région US-CENTRAL1. Si vous essayez de supprimer un bucket dans un emplacement autre que US-CENTRAL1, l'opération renvoie une erreur NOT_FOUND.

4 Pour effectuer cette opération à l'aide de points de terminaison localisés, les buckets source et de destination doivent exister à l'emplacement spécifié par le point de terminaison. Par exemple, vous pouvez utiliser des points de terminaison localisés pour copier un objet d'un bucket à un autre si les deux buckets se trouvent dans le même emplacement. Toutefois, vous ne pouvez pas utiliser de points de terminaison localisés pour copier un objet d'un bucket à un autre si les buckets se trouvent dans des emplacements différents. Si le bucket source ou de destination existe dans un emplacement différent de celui spécifié par le point de terminaison, l'opération renvoie une erreur NOT_FOUND.

Régions où le service est disponible

Les points de terminaison géographiques sont compatibles avec toutes les régions des États-Unis, ainsi que dans l'emplacement multirégional US et dans l'emplacement birégional prédéfini NAM4. Pour en savoir plus sur les régions pouvant être spécifiées, consultez la section Emplacements des buckets.

Envoyer des requêtes

Console

Consultez la section Restrictions et limitations relatives à la réglementation ITAR pour savoir comment effectuer des opérations conformes aux exigences de la réglementation ITAR à l'aide de la console Google Cloud.

Ligne de commande

Pour configurer Google Cloud CLI afin de l'utiliser avec des points de terminaison localisés, procédez comme suit :

  1. Définissez la propriété api_endpoint_overrides/storage sur le point de terminaison local que vous souhaitez utiliser :

    gcloud config set api_endpoint_overrides/storage https://LOCATION-storage.googleapis.com/

Une fois cette propriété définie, vous pouvez utiliser les commandes de gcloud CLI comme vous le feriez normalement.

Vous pouvez également utiliser des points de terminaison localisés pour des commandes individuelles en définissant la variable d'environnement CLOUDSDK_API_ENDPOINT_OVERRIDES_STORAGE dans chaque commande. Exemple :

CLOUDSDK_API_ENDPOINT_OVERRIDES_STORAGE=https://LOCATION-storage.googleapis.com/ gcloud ls gs://my-bucket

Bibliothèques clientes

Les bibliothèques clientes Cloud Storage gèrent automatiquement les points de terminaison des requêtes, mais vous pouvez définir manuellement des points de terminaison localisés. Pour savoir comment définir des points de terminaison localisés, consultez les exemples de code de bibliothèque cliente utilisant des points de terminaison de requêtes.

API REST

API JSON

Lorsque vous envoyez des requêtes à des points de terminaison localisés, utilisez les URI suivants :

  • Pour les requêtes API JSON générales, à l'exclusion des importations d'objets, utilisez le point de terminaison suivant :

    https://LOCATION-storage.googleapis.com

    Remplacez LOCATION par un emplacement de bucket compatible. Exemple : us-central1.

  • Pour les importations d'objets via l'API JSON, utilisez le point de terminaison suivant :

    https://LOCATION-storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o

    Remplacez :

    • LOCATION par un emplacement de bucket compatible. Exemple : us-central1.

    • BUCKET_NAME par le nom du bucket dans lequel vous souhaitez importer un objet. Exemple :my-example-bucket

  • Pour les téléchargements d'objets via l'API JSON, utilisez le point de terminaison suivant :

    https://LOCATION-storage.googleapis.com/download/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media

    Remplacez :

    • LOCATION par un emplacement de bucket compatible. Exemple : us-central1.

    • BUCKET_NAME par le nom du bucket contenant l'objet que vous souhaitez télécharger. Exemple : my-example-bucket.

    • OBJECT_NAME par le nom de l'objet que vous souhaitez télécharger. Exemple :waterfall.png

Notez que les points de terminaison de l'API JSON n'acceptent que les requêtes HTTPS.

API XML

Lorsque vous utilisez l'API XML pour envoyer des requêtes à des points de terminaison localisés, vous pouvez utiliser un point de terminaison de type hébergé virtuellement ou avec chemin :

  • Point de terminaison de type hébergé virtuellement :

    https://BUCKET_NAME.LOCATION-storage.googleapis.com
  • Point de terminaison avec chemin d'accès :

    https://LOCATION-storage.googleapis.com/BUCKET_NAME

Pour les deux types de points de terminaison, remplacez :

  • LOCATION par un emplacement de bucket compatible. Exemple : us-central1.

  • BUCKET_NAME par un nom de bucket valide. Exemple : my-example-bucket.

Les points de terminaison de l'API XML sont compatibles avec le chiffrement SSL (Secure Socket Layer), ce qui signifie que vous pouvez utiliser HTTP ou HTTPS. L'utilisation de HTTPS est recommandée, en particulier si vous vous authentifiez auprès de Cloud Storage à l'aide d'OAuth 2.0.

Mettre en forme les requêtes correctement

Pour vous assurer que vos requêtes sont compatibles avec les outils Cloud Storage, procédez comme suit :

Contraintes connues

Les points de terminaison mTLS ne sont pas acceptés.