Saiba nesta página como usar endpoints de local para acessar o Cloud Storage. Os endpoints de local permitem executar as cargas de trabalho de maneira em conformidade com os requisitos da International Traffic in Arms Regulations (ITAR).
Para informações sobre restrições ao usar o Cloud Storage de maneira compatível com a ITAR, consulte Restrições e limitações para a ITAR.
Informações gerais
Os endpoints de locais são endpoints de solicitação que só permitem
o processamento do recurso afetado, que está no local
especificado pelo endpoint. Por exemplo, ao usar o endpoint https://us-central1-storage.googleapis.com
em uma solicitação de exclusão de bucket, a solicitação só prosseguirá se o bucket estiver localizado em US-CENTRAL1
.
Ao contrário dos endpoints globais, em que as solicitações podem ser processadas em um local diferente de onde o recurso reside, os endpoints de locais garantem que as solicitações sejam processadas apenas no local especificado pelo endpoint onde o recurso reside. Ao usar endpoints de locais, você garante que os dados em repouso e em trânsito permaneçam dentro da jurisdição para atender aos requisitos de residência de dados.
O uso de endpoints de local garante que:
Os dados armazenados no Cloud Storage não saem do local especificado.
Os dados são encerrados por TLS na região especificada pelo endpoint ao transitar do local para o Google Cloud.
Seus dados permanecem em jurisdição ao fazer a transição entre serviços do Google Cloud.
Ao usar endpoints de local, você assume as seguintes responsabilidades:
Para receber garantias de residência de dados, as solicitações feitas para um endpoint local precisam ser originadas do mesmo local especificado pelo endpoint. Por exemplo, se você estiver usando uma máquina virtual do Compute Engine para executar uma solicitação a um bucket que reside em
US-CENTRAL1
pelo endpointus-central1-storage.googleapis.com
, a máquina virtual também precisa residir emUS-CENTRAL1
.Os endpoints de local só podem ser usados ao realizar operações compatíveis. A execução de operações incompatíveis resulta em erro.
Os endpoints de local são compatíveis com o tráfego em trânsito entre o local e o Google Cloud por interconexão ou VPN e o tráfego em trânsito entre os serviços do Google Cloud, como do BigQuery para o Cloud Storage. O tráfego da Internet não é compatível.
Operações suportadas
Veja na tabela a seguir um resumo das operações que podem ou não ser realizadas com os endpoints de local. Em geral, as operações entre locais podem ser realizadas com endpoints locais, enquanto as operações entre locais não podem.
Se você tentar executar uma operação incompatível usando um endpoint de local, o Cloud Storage retornará um código de erro HTTP 400 com a mensagem: "Este endpoint não implementa essa operação. Use o endpoint global."
Operação | Muda os dados do objeto | Compatível com o uso com endpoints locais |
---|---|---|
objetos compor | Sim | Sim1 |
Objetos excluir | Não | Sim1 |
Objetos pegar | Sim | Sim1 |
Objetos: inserir | Sim | Sim1 |
Objectos lista | Não | Sim1 |
Objetos patch | Não | Sim1 |
Objetos cópia | Sim | Sim4 |
objetos reescrever | Sim | Sim4 |
Buckets inserir | Não | Sim2 |
Buckets excluir | Não | Sim3 |
Buckets pegar | Não | Sim2 |
Buckets patch | Não | Sim2 |
Buckets update | Não | Sim2 |
buckets getIamPolicy | Não | Sim2 |
buckets setIamPolicy | Não | Sim2 |
buckets testIamPermissions | Não | Sim2 |
buckets lockRetentionPolicy | Não | Sim2 |
buckets BucketAccessControls | Não | Sim2 |
buckets DefaultObjectAccessControls | Não | Sim2 |
buckets ObjectAccessControls | Não | Sim2 |
Operações de chave HMAC | Não | Não |
Operações da conta de serviço | Não | Não |
Operações de notificação do Pub/Sub | Varia de acordo com a operação | Não |
Operações de notificação de alteração de objetos | Varia de acordo com a operação | Não |
Operações em lote | Varia de acordo com a operação | Não |
1 Para executar essa operação usando endpoints por local, o bucket que contém o objeto afetado precisa existir no local especificado pelo endpoint. Por exemplo: uma solicitação de exclusão de objetos para
us-central1-storage.googleapis.com
só pode ser usada para excluir objetos em
buckets que residem na região US-CENTRAL1
. Se você tentar excluir um objeto em um local que não seja US-CENTRAL1
, a operação retornará um erro NOT_FOUND
.
2 Para executar essa operação usando endpoints por local, o bucket precisa existir no local especificado pelo endpoint. Por exemplo: uma solicitação de criação de bucket para us-central1-storage.googleapis.com
só pode ser usada para criar um bucket na região US-CENTRAL1
. Se você tentar criar o bucket em um local
que não seja US-CENTRAL1
, a operação de criação de bucket retornará um
erro INVALID_ARGUMENT
.
3 Para executar essa operação usando endpoints por local, o bucket precisa existir no local especificado pelo endpoint. Por exemplo: uma solicitação de exclusão de bucket para us-central1-storage.googleapis.com
só pode ser usada para excluir um bucket na região US-CENTRAL1
. Se você tentar excluir um bucket em um local que não seja US-CENTRAL1
, a operação retornará um erro NOT_FOUND
.
4 Para executar essa operação usando endpoints por local, os buckets de origem e de destino precisam existir no local especificado pelo endpoint. Por exemplo, é possível usar endpoints locais para copiar um objeto de
um bucket para outro se os dois existirem no mesmo local. No entanto, não
é possível usar endpoints locais para copiar um objeto de um bucket para outro se
eles existirem em locais diferentes. Se o bucket de origem ou de destino
existir em um local diferente do local especificado pelo endpoint, a
operação retornará um erro NOT_FOUND
.
Regiões com suporte
Os endpoints de local são compatíveis com todas as regiões dos EUA, a multirregião US
e a birregional predefinida NAM4
. Para mais informações sobre quais regiões
podem ser especificadas, consulte Locais de buckets.
Como fazer solicitações
Console
Consulte Restrições e limitações para ITAR para informações sobre como executar operações usando o console do Google Cloud de uma maneira compatível com a ITAR.
Linha de comando
Para configurar a CLI do Google Cloud para uso com endpoints locais:
Defina a propriedade
api_endpoint_overrides/storage
como o endpoint regional que você quer usar:gcloud config set api_endpoint_overrides/storage https://LOCATION-storage.googleapis.com/
Depois que essa propriedade for definida, será possível usar os comandos da CLI gcloud normalmente.
Também é possível usar endpoints locais para comandos individuais definindo a variável de ambiente CLOUDSDK_API_ENDPOINT_OVERRIDES_STORAGE
em cada comando. Exemplo:
CLOUDSDK_API_ENDPOINT_OVERRIDES_STORAGE=https://LOCATION-storage.googleapis.com/ gcloud ls gs://my-bucket
Bibliotecas de cliente
As bibliotecas de cliente do Cloud Storage gerenciam endpoints de solicitação automaticamente, mas é possível definir manualmente os endpoints de local. Para saber como definir endpoints de local, consulte as amostras de código da biblioteca de cliente usando endpoints de solicitação.
APIs REST
API JSON
Ao fazer solicitações para endpoints locais, use os seguintes URIs:
Para solicitações gerais de API em JSON, exceto uploads de objetos, use o seguinte endpoint:
https://LOCATION-storage.googleapis.com
Substitua LOCATION por um local de bucket compatível. Por exemplo,
us-central1
.Para uploads de objetos da API JSON, use o seguinte endpoint:
https://LOCATION-storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o
Substitua:
LOCATION por um local de bucket compatível. Por exemplo,
us-central1
.BUCKET_NAME pelo nome do bucket em que você quer fazer upload de um objeto. Por exemplo,
my-example-bucket
.
Para downloads de objetos da API JSON, use o seguinte endpoint:
https://LOCATION-storage.googleapis.com/download/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media
Substitua:
LOCATION por um local de bucket compatível. Por exemplo,
us-central1
.BUCKET_NAME pelo nome do bucket que contém o objeto que você quer transferir por download. Por exemplo,
my-example-bucket
.OBJECT_NAME pelo nome do objeto que você quer baixar. Por exemplo,
waterfall.png
.
Observe que os endpoints da API JSON aceitam apenas solicitações HTTPS.
API XML
Ao usar a API XML para fazer solicitações para endpoints locais, é possível usar um endpoint de estilo hospedado virtualmente ou um endpoint em estilo de caminho:
Endpoint de estilo hospedado virtual:
https://BUCKET_NAME.LOCATION-storage.googleapis.com
Endpoint no estilo de caminho:
https://LOCATION-storage.googleapis.com/BUCKET_NAME
Nos dois tipos de endpoint, substitua:
LOCATION por um local de bucket compatível. Por exemplo,
us-central1
.BUCKET_NAME por um nome de bucket válido. Por exemplo,
my-example-bucket
.
Os endpoints da API XML dão suporte à criptografia secure socket layer (SSL), o que significa que você pode usar HTTP ou HTTPS. Recomendamos o uso de HTTPS, especialmente se você faz autenticação no Cloud Storage usando o OAuth 2.0.
Formatar solicitações corretamente
Para garantir que suas solicitações sejam compatíveis com as ferramentas do Cloud Storage:
Codifique corretamente os caracteres especiais que aparecem no nome do objeto ou na string de consulta de um URI de solicitação.
Familiarize-se com a nomeação do bucket e as considerações de nomeação de objetos.
Restrições conhecidas
Não há suporte para endpoints mTLS.