Permissões e papéis

O Storage Transfer Service usa as permissões e os papéis do gerenciamento de Identidade e Acesso (IAM, na sigla em inglês) para controlar quem pode acessar os recursos do Storage Transfer Service. Os principais tipos de recursos disponíveis no Storage Transfer Service são: jobs, operações e pools de agentes. Na hierarquia de políticas do IAM, os jobs são recursos filhos de projetos e as operações são recursos filhos dos jobs.

Para conceder acesso a um recurso, atribua uma ou mais permissões ou papéis a um usuário, grupo ou conta de serviço.

Permissões

Você pode conceder as seguintes permissões do serviço de transferência do Cloud Storage:

Transferir permissão do projeto

Permissão Descrição
storagetransfer.projects.getServiceAccount Pode ler a conta do serviço do Google usada pelo Storage Transfer Service para acessar os buckets do Cloud Storage.

Transferir permissões de job

A tabela a seguir descreve as permissões para jobs do Serviço de transferência do Cloud Storage:

Permissão Descrição
storagetransfer.jobs.create Pode criar novos jobs de transferência.
storagetransfer.jobs.delete Pode excluir jobs de transferência atuais.

Os jobs de transferência são excluídos chamando a função patch. No entanto, os usuários precisam ter essa permissão ao excluir os jobs de transferência para evitar erros de permissão.
storagetransfer.jobs.get Pode recuperar jobs específicos.
storagetransfer.jobs.list Pode listar todos os jobs de transferência.
storagetransfer.jobs.run Pode executar todos os jobs de transferência.
storagetransfer.jobs.update Pode atualizar as configurações do job de transferência sem excluí-las.

Transferir permissões de operações

A tabela a seguir descreve as permissões para operações do Serviço de transferência do Cloud Storage:

Permissão Descrição
storagetransfer.operations.assign Usado por agentes de transferência para atribuir operações.
storagetransfer.operations.cancel Pode cancelar operações de transferência.
storagetransfer.operations.get Pode receber detalhes das operações de transferência.
storagetransfer.operations.list Pode listar todas as operações de job de transferência.
storagetransfer.operations.pause Pode pausar operações de transferência.
storagetransfer.operations.report Usado pelos agentes de transferência para informar o status da operação.
storagetransfer.operations.resume Pode retomar as operações de transferência pausadas.

Permissões do pool de agentes de transferência

A tabela a seguir descreve as permissões para os pools de agentes de transferência do sistema de arquivos:

Permissão Descrição
storagetransfer.agentpools.create Pode criar pools de agentes.
storagetransfer.agentpools.update Pode atualizar os pools de agentes.
storagetransfer.agentpools.delete Pode excluir pools de agentes.
storagetransfer.agentpools.get Pode receber informações sobre pools de agentes específicos.
storagetransfer.agentpools.list Pode listar informações para todos os pools de agentes no projeto.
storagetransfer.agentpools.report Usado pelos agentes de transferência para informar o status.

Papéis predefinidos

Nesta seção, descrevemos os papéis predefinidos do Serviço de transferência do Cloud Storage. Os papéis são a maneira preferencial de definir permissões do IAM.

Comparação dos papéis

É possível atribuir os seguintes papéis do projeto ou predefinidos do serviço de transferência do Cloud Storage:

Capacidade Editor (roles/editor) Transferência do Cloud Storage (roles/storagetransfer.)
Administrador (admin) Usuário (user) Visualizador (viewer)
Listar/receber jobs
Criar jobs
Executar jobs
Atualizar jobs
Excluir jobs
Listar/receber operações de transferência
Pausar/retomar operações de transferência
Leia os detalhes da conta de serviço do Google usados pelo Storage Transfer Service para acessar os buckets do Cloud Storage.
Listar agentes
Listar pools de agentes
Criar pools de agentes
Atualizar pools de agentes
Excluir pools de agentes
Acessar pools de agentes
Ler ou definir a largura de banda do projeto

Detalhes da função

A tabela a seguir descreve detalhadamente os papéis predefinidos do Storage Transfer Service:

Papel Descrição Permissões incluídas
Administrador de transferências do Storage
(roles/storagetransfer.
admin
)

Concede todas as permissões do Serviço de transferência do Cloud Storage, incluindo a exclusão de jobs.

Lógica: este é o papel de mais alto nível com as responsabilidades mais amplas, o superusuário que dá suporte a seus colegas quando eles realizam transferências. Ele é mais adequado a pessoas que administrarão transferências, como administradores de TI.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.*
Usuário de transferência do Storage
(roles/storagetransfer.
user
)

Fornece permissões para o usuário criar, receber, atualizar e listar jobs de transferência dentro do projeto. No entanto, eles não podem excluir os próprios jobs.

Lógica: este papel permite a separação da criação e manutenção da exclusão de jobs. Esse papel é mais adequado para os usuários que precisam executar transferências como parte da função do job, como um funcionário. Esse papel não permite que a transferência seja excluída, para que os auditores ou a equipe de segurança possam visualizar um registro totalmente preservado de transferências passadas.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.create
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.agentpools.report
  • storagetransfer.agentpools.update
  • storagetransfer.jobs.create
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.jobs.run
  • storagetransfer.jobs.update
  • storagetransfer.operations.*
  • storagetransfer.projects.getServiceAccount
Leitor de transferências do Storage
(roles/storagetransfer.
viewer
)

Fornece permissões para listar e receber jobs e operações de transferência dentro do projeto. O usuário não pode programar, atualizar ou excluir jobs.

Lógica: o papel de visualizador é destinado ao acesso somente leitura para visualizar jobs e operações de transferência. Esse papel permite separar as tarefas de relatório e auditoria dos jobs de criação e manutenção. Esse papel é mais adequado a usuários ou equipes internas que auditam o uso da transferência, como líderes de unidade de negócios, segurança e conformidade.

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.operations.get
  • storagetransfer.operations.list
  • storagetransfer.projects.getServiceAccount
Agente de transferência do Cloud Storage (roles/storagetransfer.transferAgent)

Concede aos agentes de transferência as permissões do Storage Transfer Service e do Pub/Sub necessárias para concluir uma transferência.

Conceda esse papel à conta de usuário ou de serviço que está sendo usada pelos agentes.

  • storagetransfer.operations.get
  • storagetransfer.operations.report
  • storagetransfer.operations.assign
  • storagetransfer.agentpools.report
  • pubsub.topics.create
  • pubsub.topics.get
  • pubsub.topics.list
  • pubsub.subscriptions.create
  • pubsub.subscriptions.get
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.consume
  • pubsub.topics.attachSubscription
  • pubsub.topics.publish
Agente do Serviço de transferência do Cloud Storage (roles/storagetransfer.serviceAgent)

Concede ao agente do serviço de transferência do Cloud Storage as permissões necessárias para criar e modificar tópicos do Pub/Sub para se comunicar do Google Cloud para agentes de transferência.

Conceda esse papel ao agente de serviço do Serviço de transferência do Cloud Storage.

  • pubsub.subscriptions.consume
  • pubsub.subscriptions.create
  • pubsub.subscriptions.delete
  • pubsub.subscriptions.get
  • pubsub.subscriptions.update
  • pubsub.topics.attachSubscription
  • pubsub.topics.create
  • pubsub.topics.delete
  • pubsub.topics.get
  • pubsub.topics.publish
  • pubsub.topics.update

Papéis personalizados

É possível criar e aplicar papéis de IAM personalizados para atender aos requisitos de acesso da sua organização.

Ao criar papéis personalizados, recomendamos o uso de uma combinação de papéis predefinidos para garantir que as permissões corretas sejam incluídas juntas.

O Console do Google Cloud não funcionará corretamente se a função personalizada estiver sem as permissões necessárias. Por exemplo, algumas partes do Console do Google Cloud supõem que o papel tenha acesso de leitura para exibir um item antes de editá-lo. Portanto, um papel com permissões somente de gravação não conseguirá acessar o Console do Google Cloud da maneira apropriada.