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 terminaisonus-central1-storage.googleapis.com
, la machine virtuelle doit également résider dansUS-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 :
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 :
Assurez-vous d'encoder correctement les caractères spéciaux qui apparaissent dans le nom d'objet ou la chaîne de requête d'un URI de requête.
Familiarisez-vous avec les notions d'attribution de noms pour les noms de buckets et les noms d'objets.
Contraintes connues
Les points de terminaison mTLS ne sont pas acceptés.