Compartilhamento e colaboração

Neste documento, apresentamos cenários comuns de compartilhamento e colaboração de dados. Ele inclui como configurar as políticas de gerenciamento de identidade e acesso (IAM) de projetos e intervalos e as listas de controle de acesso (ACLs) de objetos para implementar os cenários.

Como armazenar e manter os dados particulares

Neste cenário, a analista de marketing de uma empresa quer usar o Cloud Storage para fazer backup de dados confidenciais sobre previsões de receita e projeções de vendas. Os dados só podem ser acessados pela analista de marketing. O departamento de TI da empresa supervisiona e gerencia a conta do Cloud Storage da empresa. Suas principais responsabilidades de gerenciamento incluem criar e compartilhar intervalos para que vários departamentos da empresa tenham acesso ao Cloud Storage.

Para atender às necessidades de confidencialidade e privacidade da analista de marketing, as permissões de intervalo e objeto precisam assegurar que a equipe de TI possa fazer a manutenção do intervalo em que as planilhas estão armazenadas com a garantia de que essa equipe não conseguirá visualizar/fazer o download dos dados armazenados no intervalo. Para isso, crie um intervalo chamado finance-marketing e conceda os papéis a seguir para os recursos listados aos membros especificados:

Papel Recurso Membro Descrição
roles/storage.legacyBucketOwner O intervalo finance-marketing Equipe de TI Com o papel roles/storage.legacyBucketOwner do intervalo, a equipe de TI pode executar tarefas comuns de gerenciamento de intervalos, como excluir objetos e alterar a política de IAM no intervalo. Também é possível listar o conteúdo do intervalo finance-marketing, mas não visualizar ou fazer o download de qualquer conteúdo.
roles/storage.objectCreator O intervalo finance-marketing Analista de marketing Com o papel roles/storage.objectCreator do intervalo, a analista de marketing pode fazer upload de objetos para o intervalo. Ao fazer isso, ela se torna a proprietária do objeto, podendo visualizá-lo, atualizá-lo e excluí-lo.

Com esses papéis, somente a analista de marketing poderá visualizar/fazer o download dos objetos que ela adicionar ao intervalo. No entanto, ela pode conceder acesso a outros usuários alterando as ACLs do objeto. A equipe de TI ainda pode listar o conteúdo do intervalo finance-marketing e pode excluir e substituir os arquivos armazenados no intervalo em caso de necessidade.

Como implementar esse cenário

Suas ações

Execute as ações a seguir para implementar o cenário:

  1. Crie um intervalo com o nome finance-marketing. Para instruções passo a passo, consulte Como criar um intervalo.

  2. Atribua a cada membro da equipe de TI o papel roles/storage.legacyBucketOwner do intervalo. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do intervalo.

Ações da equipe de TI

A equipe de TI precisa realizar as seguintes ações para implementar o cenário:

  1. Conceder à analista de marketing o papel roles/storage.objectCreator do intervalo. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do intervalo.

Caixa de depósito do fornecedor

Neste exemplo, uma construtora trabalha com várias firmas de arquitetura que fornecem planos de construção de diversos projetos. A construtora quer configurar uma caixa de depósito para as firmas fornecedoras, de modo que elas possam fazer o upload de planos de arquitetura em diversos marcos do projeto. A caixa de depósito precisa assegurar a privacidade dos clientes da construtora, o que significa que ela não pode permitir que os fornecedores vejam o trabalho uns dos outros. Para isso, crie um intervalo separado para cada empresa de arquitetura e conceda os seguintes papéis para os recursos listados aos membros especificados:

Papel Recurso Membro Descrição
roles/owner Projeto geral Gerente da construtora Com o papel roles/owner no nível do projeto, a gerente da construtora pode criar intervalos para cada fornecedor.
roles/storage.objectViewer Projeto geral Gerente da construtora O papel roles/storage.objectViewer permite que a gerente da construtura faça o download dos objetos que os fornecedores estão enviando.
roles/storage.legacyBucketOwner Cada intervalo de fornecedores Gerente da construtora Com o papel roles/storage.legacyBucketOwner, a gerente da construtora pode listar o conteúdo de cada intervalo e excluir objetos ao final de cada marco do projeto.
roles/storage.objectAdmin Cada intervalo de fornecedores Fornecedor associado ao intervalo Se cada fornecedor tiver o papel roles/storage.objectAdmin do próprio intervalo, eles terão controle total sobre os objetos nos intervalos deles, incluindo a capacidade de fazer upload de objetos, listar objetos no intervalo e controlar quem tem acesso a cada objeto. Isso não permite que eles alterem ou exibam metadados, como papéis no intervalo como um todo, nem permite listar ou exibir outros intervalos do projeto, preservando a privacidade entre fornecedores.

Como implementar esse cenário

Suas ações

Execute as ações a seguir para implementar o cenário:

  1. Atribua à gerente da construtora os papéis roles/owner e roles/storage.objectViewer do projeto. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do projeto.

Ações da gerente da construtora

A gerente da construtora precisa realizar as seguintes ações para implementar o cenário:

  1. Criar um intervalo separado para cada fornecedor. Para instruções passo a passo, consulte Como criar um intervalo.

    Como a gerente da construtora tem o papel roles/owner, ela recebe automaticamente o papel roles/storage.legacyBucketOwner de cada intervalo que cria.

  2. Dê a cada fornecedor o papel roles/storage.objectAdmin dos intervalos deles. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do intervalo.

  3. Se algum fornecedor quiser usar o Console do Google Cloud, forneça um link para o intervalo, que tem o seguinte formato:

    console.cloud.google.com/storage/browser/[BUCKET_NAME]

    [BUCKET_NAME] é o nome do intervalo do fornecedor.

Ações do fornecedor

Cada fornecedor realiza as seguintes ações para implementar o cenário:

  1. Fazer o upload de objetos no intervalo atribuído. A maneira mais fácil de fazer isso é por meio do Console do Google Cloud. Outros métodos, como a ferramenta de linha de comando gsutil, exigem mais configuração antes que possam ser usados. Para instruções passo a passo, consulte Como fazer upload de um objeto.

Downloads em navegadores autenticados

Neste cenário, um cliente quer disponibilizar a indivíduos arquivos específicos para download simples em navegadores. Isso pode ser feito usando a autenticação baseada em cookies do Cloud Storage. Para usar esse recurso, conceda a um usuário a permissão user para um objeto e forneça a ele um URL especial para o objeto. Quando o usuário clicar no URL, o Cloud Storage solicitará que ele faça login na Conta do Google (se ainda não estiver conectado) e o objeto será baixado no computador. Os seguintes usuários poderão fazer o download do objeto:

Todos os outros usuários recebem um erro 403 Forbidden (access denied).

Como implementar esse cenário

É possível implementar a autenticação baseada em cookies em quatro etapas simples:

  1. Crie um intervalo. Para instruções passo a passo, consulte Como criar um intervalo.

    Supondo que o intervalo será criado em um projeto seu, você automaticamente receberá as permissões que permitem fazer upload de objetos para o intervalo e alterar quem tem acesso a ele.

  2. Faça o upload do objeto que você quer compartilhar. Para instruções passo a passo, consulte Como fazer upload de um objeto.

    Quando faz upload de um objeto, você se torna proprietário desse objeto, o que significa que pode modificar as ACLs do objeto.

  3. Conceda aos usuários acesso ao objeto. Isso pode ser feito de duas maneiras:

    1. Modifique a política de IAM do intervalo para dar a cada usuário desejado o papel roles/storage.objectViewer, que se aplica a todos os objetos no intervalo. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do intervalo.

    2. Modifique as ACLs do objeto para que cada usuário apontado receba a permissão READ para o objeto individual. Para instruções passo a passo, consulte Como definir ACLs.

  4. Forneça aos usuários um URL especial para o objeto.

    Para fazer o download, navegadores autenticados acessam o Cloud Storage por meio de um endpoint com URL específico. Use o URL a seguir, substituindo [VALUES_IN_BRACKETS] pelos valores adequados:

    https://storage.cloud.google.com/[BUCKET_NAME]/[OBJECT_NAME]

    Como somente os usuários com as permissões adequadas da ACL ou do IAM podem visualizá-lo, não importa como você disponibilizará esse URL. É possível enviá-lo diretamente ou postá-lo em uma página da Web.

Como usar um grupo para controlar o acesso

Neste cenário, você quer disponibilizar objetos para pessoas específicas, como usuários convidados a testar um software novo. Além disso, você quer convidar muitos usuários, sem definir permissões individualmente. Ao mesmo tempo, não é recomendável tornar os objetos públicos e enviar links de acesso aos clientes convidados, porque há risco de envio dos links para usuários que não foram convidados.

Uma maneira de resolver esse cenário é usando os Grupos do Google. É possível criar um grupo e adicionar a ele somente usuários convidados. Então, você pode dar acesso aos objetos para o grupo como um todo:

Papel Recurso Membro Descrição
roles/storage.objectViewer Seu intervalo na "lista de permissões" Grupo do Google Ao atribuir ao grupo do Google o papel roles/storage.objectViewer do intervalo, qualquer cliente que faz parte desse grupo pode ver os objetos no intervalo. Ninguém fora do grupo tem acesso a esses objetos.

Como implementar esse cenário

  1. Crie um grupo do Google e adicione os clientes a ele. Para instruções passo a passo, consulte Criar um grupo.

  2. Crie um intervalo. Para instruções passo a passo, consulte Como criar um intervalo.

  3. Faça o upload dos objetos no intervalo. Para instruções passo a passo, consulte Como fazer upload de um objeto.

  4. Conceda ao grupo do Google acesso aos objetos.

    • É possível usar o papel storage.objectViewer do IAM para permitir a visualização de todos os objetos do intervalo. Para instruções passo a passo, consulte Como adicionar um membro a uma política no nível do intervalo.

    • Caso queira dar acesso a apenas alguns dos objetos do intervalo, defina a ACL do Reader nesses objetos individuais. Para instruções passo a passo, consulte Como definir ACLs.