Controle de acesso com o IAM

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 dois tipos principais de recursos disponíveis no Storage Transfer Service são as operações e os jobs. 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.patch 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.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.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 pools de agentes de transferência local:

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.

Papéis do Serviço de transferência do Cloud Storage

Esta seção descreve os papéis que você pode definir para o serviço de transferência do Cloud Storage e as orientações para criar papéis personalizados.

Comparação dos papéis predefinidos do Serviço de transferência do Cloud Storage

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

Capacidade Editor (roles/editor) Storage Transfer (roles/storagetransfer.)
Administrador (admin) Usuário (user) Visualizador (viewer)
Listar/receber jobs
Criar 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.

A permissão Atualizar jobs não inclui permissão para excluir jobs.

Para Transferir no local, o papel Administrador de transferência do Storage (roles/storagetransfer.admin) é necessário para:

  • Listar agentes
  • Ler o limite de largura de banda do projeto
  • Definir o limite de largura de banda do projeto

Detalhes dos papéis predefinidos do Serviço de transferência do Cloud Storage

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
)

Fornece 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.

Todas as permissões concedidas
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.

  • storagetransfer.projects.getServiceAccount
  • storagetransfer.jobs.create
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.jobs.patch
  • storagetransfer.operations.get
  • storagetransfer.operations.list
  • storagetransfer.operations.pause
  • storagetransfer.operations.resume
Leitor de transferências do Storage
(roles/storagetransfer.
viewer
)

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.

  • storagetransfer.projects.getServiceAccount
  • storagetransfer.jobs.get
  • storagetransfer.jobs.list
  • storagetransfer.operations.get
  • storagetransfer.operations.list

Papéis do pool de agentes de transferência

Nesta seção, descrevemos os papéis que você pode definir para pools de agentes de transferência local.

Comparação dos papéis do pool de agentes de transferência

É possível atribuir os seguintes papéis predefinidos do pool de agentes de transferência local:

Capacidade AgentPool de transferência do Storage (roles/storagetransfer.agentpools.)
Administrador (admin) Usuário (user) Visualizador (viewer)
Listar pools de agentes
Criar pools de agentes
Atualizar pools de agentes
Excluir pools de agentes
Acessar pools de agentes

Detalhes do pool de agentes de transferência

A tabela a seguir descreve em detalhes os papéis predefinidos dos pools de agentes de transferência local:

Administrador do pool de agentes do Storage Transfer
(roles/storagetransfer.agentpools.
admin
)

Concede todas as permissões de pool de agentes de transferência local, incluindo a exclusão de pools de agentes.

Lógica: este é o papel de nível mais alto com as permissões de pools de agentes mais amplas para o superusuário que aceita a configuração e o gerenciamento de pools de agente para usuários transferidos. Ele é mais adequado a pessoas que administrarão transferências, como administradores de TI.

  • storagetransfer.agentpools.create
  • storagetransfer.agentpools.update
  • storagetransfer.agentpools.delete
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
Usuário do AgentPool do Storage Transfer
(roles/storagetransfer.agentpools.
user
)

Concede permissões para que o usuário crie, atualize, receba e liste pools de agentes no projeto. No entanto, não é possível excluir os próprios pools de agentes.

Lógica: este papel permite a separação e criação de pools de agentes para a exclusão deles. Esse papel é mais adequado para os usuários que precisam configurar e monitorar pools de agentes, como os funcionários.

  • storagetransfer.agentpools.create
  • storagetransfer.agentpools.update
  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list
Leitor do AgentPool do Storage Transfer
(roles/storagetransfer.agentpools.
viewer
)

Concede permissões para que o usuário receba e liste pools de agentes no projeto.

Lógica: este papel permite a separação de pools de agentes para manter ou excluir pools de agentes. Esse papel é mais adequado para os usuários que precisam executar transferências como parte da função, como funcionários.

  • storagetransfer.agentpools.get
  • storagetransfer.agentpools.list

Papéis personalizados

A prática recomendada ao criar papéis personalizados é criar papéis usando papéis predefinidos, para que a combinação certa de permissões seja incluída.

O Console do Cloud não funcionará corretamente se a função personalizada estiver sem as permissões necessárias. Por exemplo, algumas partes do Console do 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 Cloud da maneira apropriada.

A seguir