Transferir pastas gerenciadas do Cloud Storage

As pastas gerenciadas do Cloud Storage oferecem controle de acesso refinado a objetos em buckets do Cloud Storage. As permissões podem ser definidas no nível da pasta em buckets que usam acesso uniforme no nível do bucket. Ao transferir objetos entre buckets do Cloud Storage com o Serviço de transferência do Cloud Storage, essas permissões de pasta gerenciada podem ser mantidas.

Limitações

As seguintes limitações se aplicam a transferências de pastas gerenciadas:

  • O bucket de destino precisa usar acesso uniforme no nível do bucket.
  • As transferências de pastas gerenciadas não oferecem suporte às opções deleteObjectsUniqueInSink ou deleteObjectsFromSourceAfterTransfer.
  • Não pode haver condições do IAM no bucket de destino ou no projeto que usem o tipo de recurso bucket (storage.googleapis.com/Bucket) ou o tipo de recurso objeto (storage.googleapis.com/Object). Se algum bucket em um projeto tiver uma condição do IAM que usa um desses tipos de recurso, não será possível transferir pastas gerenciadas para nenhum dos buckets desse projeto, mesmo que a condição seja removida posteriormente.
  • As transferências orientadas por eventos não são aceitas.
  • As transferências de manifesto não são aceitas.

Permissões do IAM

As seguintes permissões do Google Cloud Identity and Access Management (IAM) são necessárias para o agente de serviço do Serviço de transferência do Cloud Storage.

Tanto para a origem quanto para o destino, as permissões podem ser definidas no nível do bucket ou podem ser definidas na pasta gerenciada. Para definir permissões em uma pasta gerenciada de destino, ela já precisa existir.

Não recomendamos definir permissões de pasta gerenciada no nível do projeto. Consulte Considerações sobre segurança para mais informações.

No bucket de origem ou na pasta gerenciada:

  • storage.managedFolders.getIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.get

No bucket de destino ou na pasta gerenciada:

  • storage.managedFolders.setIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.create

Essas permissões são adicionadas às permissões padrão exigidas pelo Serviço de transferência do Cloud Storage:

Para conceder as permissões de pasta gerenciada necessárias, crie um papel personalizado com apenas as permissões necessárias.

Criar uma transferência de pasta gerenciada

Para criar uma transferência que contenha uma pasta gerenciada, especifique managedFolderTransferEnabled: true no transferSpec. Opcionalmente, você pode especificar um valor path para transferir apenas uma pasta gerenciada específica.

POST https://storagetransfer.googleapis.com/v1/transferJobs
{
  "name": "transferjobs/NAME",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "gcsDataSource": {
      "bucketName": "SOURCE_BUCKET",
      "path": "SOURCE_PATH",
      "managedFolderTransferEnabled": true
    },
    "gcsDataSink": {
      "bucketName": "DESTINATION_BUCKET",
      "path": "DESTINATION_PATH",
    }
  },
  "status": "ENABLED"
}

Se as permissões de transferência gerenciada corretas não forem definidas na origem e no destino, a transferência vai falhar.

Consulte Criar transferências para detalhes sobre como criar uma transferência usando a API REST ou consulte a transferJobs.create referência.

Considerações sobre segurança

A concessão de permissões de pasta gerenciada a um agente de serviço permite que a conta modifique as políticas do IAM em pastas de destino ou em todas as pastas se o papel for concedido no nível do projeto. Isso representa um risco de segurança: um usuário com permissões de edição de jobs pode aproveitar isso para conceder privilégios a um agente malicioso. Para mitigar esse risco, considere isolar as transferências de pastas gerenciadas em um projeto na nuvem dedicado do Google Cloud.

Cloud Logging

As ações de pastas gerenciadas são registradas pelo Cloud Logging. Consulte Cloud Logging para o Serviço de transferência do Cloud Storage para mais detalhes.

Solução de problemas

Para receber ajuda na criação e no gerenciamento de pastas gerenciadas, consulte a Solução de problemas página.