Endpoints locais para conformidade com ITAR

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 endpoint us-central1-storage.googleapis.com, a máquina virtual também precisa residir em US-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:

  1. 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:

Restrições conhecidas

Não há suporte para endpoints mTLS.