Compartilhamento e colaboração

Neste documento, você conhecerá cenários comuns de compartilhamento e colaboração no uso de dados. Ele inclui como configurar as políticas de gerenciamento de identidade e acesso (IAM, na sigla em inglês) de projetos e intervalos e as listas de controle de acesso (ACLs, na sigla em inglês) 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, é criado um intervalo chamado finance-marketing e são concedidos os seguintes papéis nos recursos listados aos membros especificados:

Papel Recurso Membro Descrição
roles/storage.legacyBucketOwner O intervalo finance-marketing Equipe de TI Quando atribuído à equipe de TI, o papel roles/storage.legacyBucketOwner do intervalo permite que eles executem tarefas comuns de gerenciamento de intervalos, como excluir objetos e alterar a política do IAM do intervalo. Ele também permite que a equipe liste o conteúdo do intervalo finance-marketing, mas sem poder visualizar ou fazer o download do conteúdo.
roles/storage.objectCreator O intervalo finance-marketing Analista de marketing Quando atribuído à analista de marketing, o papel roles/storage.objectCreator do intervalo permite fazer o upload de objetos no 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, além de excluir e substituir os arquivos armazenados no intervalo, caso seja necessário.

Como implementar esse cenário

Suas ações

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

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

  2. Dê a cada membro da equipe de TI o papel roles/storage.legacyBucketOwner para o 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. Dar à analista de marketing roles/storage.objectCreator para o 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, é necessário criar um intervalo separado para cada firma de arquitetura e conceder os seguintes papéis nos recursos listados aos membros especificados:

Papel Recurso Membro Descrição
roles/owner Projeto geral Gerente da construtora Concede à gerente da construtora o papel roles/owner no nível do projeto, permitindo que ela crie intervalos para cada fornecedor.
roles/storage.objectViewer Projeto geral Gerente da construtora O papel roles/storage.objectViewer permite que a gerente da construtora faça o download dos objetos enviados pelos fornecedores.
roles/storage.legacyBucketOwner Cada intervalo de fornecedores Gerente da construtora O papel roles/storage.legacyBucketOwner permite que a gerente da construtora liste o conteúdo de cada intervalo e exclua objetos no final de cada etapa do projeto.
roles/storage.objectAdmin Cada intervalo de fornecedores Fornecedor associado ao intervalo Ao atribuir a cada fornecedor o papel roles/storage.objectAdmin para os próprios intervalos, eles passam a ter controle total sobre os objetos nos respectivos intervalos, incluindo poder 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. Dê à 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 para cada intervalo que ela criar.

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

  3. Se algum fornecedor pretende usar o console do Google Cloud Platform, fornecer um link para o intervalo, no 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 é usando o console do Google Cloud Platform. Outros métodos, como a ferramenta de linha de comando do 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 arquivos específicos para que determinados indivíduos consigam fazer download deles usando simplesmente 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:

  • Usuários com permissão READ ou FULL_CONTROL que constem na ACL do objeto.

  • Usuários com permissão storage.objects.get na política de IAM do intervalo ou projeto que contém o 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 ao intervalo.

  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 do IAM do intervalo para que cada usuário apontado receba o papel roles/storage.objectViewer, que se aplica a 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.

    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 ponto de extremidade 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, você não quer tornar os objetos públicos e enviar links de acesso aos clientes convidados, porque há o risco de os links serem enviados 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 Atribuir o papel roles/storage.objectViewer para o intervalo ao grupo do Google permite que qualquer cliente que faça parte desse grupo visualize os objetos do 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 acesso aos objetos para o grupo do Google.

    • É 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.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.