Visão geral do controle de acesso

É possível controlar quem tem acesso aos seus buckets e objetos do Cloud Storage e o nível de acesso que essas pessoas têm.

Escolher entre acesso uniforme e refinado

Ao criar um bucket, decida se você quer aplicar permissões usando o acesso uniforme ou refinado.

Se você tiver objetos que contenham dados confidenciais, como informações de identificação pessoal, recomendamos armazenar esses dados em um bucket com acesso uniforme ativado para simplificar as permissões. Exemplo:

Recomendado Não recomendado
Controle de acesso: uniforme Controle de acesso: refinado
Uniforme Refinado
Essa configuração tem uma chance menor de exposição de dados. A adição de permissões no nível do bucket garante que Max e Bella não possam ver os dados uns dos outros, mesmo que novos arquivos sejam adicionados aos buckets. Essa configuração tem uma chance maior de exposição de dados. Se você não definir as permissões do objeto corretamente, Max e Bella poderão ver as fotos uns dos outros, bem como novos arquivos adicionados ao bucket.

Como usar as permissões do Cloud IAM com ACLs

O Cloud Storage oferece dois sistemas para conceder aos usuários permissão de acesso aos seus buckets e objetos: Cloud IAM e Access Control Lists (ACLs). Eles atuam em paralelo. Para que um usuário acesse um recurso do Cloud Storage, basta receber a permissão de um dos sistemas.

Na maioria dos casos, o Cloud IAM é o método recomendado para controlar o acesso aos seus recursos. O Cloud IAM controla as permissões em todo o Google Cloud e permite que você conceda permissões nos níveis do bucket e do projeto. Use o Cloud IAM para todas as permissões aplicáveis a vários objetos em um bucket para reduzir os riscos de exposição não intencional. Para usar exclusivamente o Cloud IAM, ative o acesso uniforme no nível do bucket para não permitir ACLs para todos os recursos do Cloud Storage.

As ACLs controlam a permissão apenas para recursos do Cloud Storage e têm opções de permissão limitadas, mas permitem que você conceda permissões por objetos individuais. É provável que você queira usar ACLs para os seguintes casos de uso:

  • Personalize o acesso a objetos individuais em um bucket.
  • Migrar dados do Amazon S3.

Opções adicionais de controle de acesso

Além do Cloud IAM e das ACLs, as seguintes ferramentas estão disponíveis para ajudar você a controlar o acesso aos seus recursos:

URLs assinados (Autenticação de string de consulta)

Use URLs assinados para conceder acesso de leitura ou gravação por tempo limitado a um objeto por meio de um URL gerado por você. Qualquer pessoa com quem você compartilhar o URL poderá acessar o objeto pelo tempo especificado, independentemente de ter ou não uma conta do Google.

É possível usar URLs assinados, além do Cloud IAM e das ACLs. Por exemplo, você pode usar o Cloud IAM para conceder acesso a um bucket apenas para algumas pessoas e criar um URL assinado que permita que outras pessoas acessem um recurso específico dentro do bucket.

Saiba como criar URLs assinados:

Documentos de política assinados

Use documentos de política assinados para especificar o que pode ser enviado para um bucket. Documentos de política permitem maior controle sobre o tamanho, tipo de conteúdo e outras características de upload do que URLs assinadas. Eles também podem ser usados por proprietários de sites para permitir que os visitantes façam o upload de arquivos no Cloud Storage.

É possível usar documentos de política assinados, além do Cloud IAM e das ACLs. Por exemplo, você pode usar o Cloud IAM para permitir que as pessoas na sua organização façam upload de qualquer objeto e criar um documento de política assinado que permita aos visitantes enviar somente objetos que atendam a critérios específicos.

Regras de segurança do Firebase

Use as regras de segurança do Firebase para fornecer controle de acesso refinado e baseado em atributos a aplicativos para dispositivos móveis e Web usando os SDKs do Firebase para Cloud Storage. Por exemplo, é possível especificar quem pode fazer o upload ou download de objetos, o tamanho de um objeto ou quando pode ser feito o download de um objeto.

Limites de acesso a credenciais

Use Limites de acesso a credenciais para reduzir as permissões disponíveis para um token de acesso do OAuth 2.0. Primeiro, defina um Limite de acesso a credenciais que especifique quais buckets o token pode acessar, bem como um limite superior nas permissões disponíveis nesse bucket. Em seguida, você pode criar um token de acesso do OAuth 2.0 e trocá-lo por um novo token de acesso que respeite o limite de acesso a credenciais

A seguir