Configure o acesso a um destino: Cloud Storage

O Cloud Storage usa uma conta de serviço gerida pela Google, conhecida como um agente de serviço, para mover dados para um contentor do Cloud Storage. Este agente de serviço é criado na primeira vez que chama o googleServiceAccounts.get.

O contentor de destino não tem de pertencer ao mesmo projeto que o agente do serviço. Os passos são os mesmos, independentemente do projeto em que o contentor se encontra.

Autorizações do utilizador

Para conceder as autorizações necessárias ao agente de serviço, tem de ter as autorizações relevantes no contentor de destino:

  • storage.buckets.getIamPolicy
  • storage.buckets.setIamPolicy

A função Proprietário de contentores antigos do Storage (roles/storage.legacyBucketOwner) ou a função Administrador do Storage (roles/storage.admin) concedem as autorizações necessárias.

Concessão automática de autorizações na Google Cloud consola

Se estiver a usar a Google Cloud consola para criar a transferência e tiver as autorizações indicadas em Autorizações do utilizador, o agente de serviço recebe automaticamente as autorizações necessárias no seu contentor de destino.

Pode ignorar os passos nesta página. Se necessário, configure o acesso à sua origem, e crie uma transferência.

Autorizações necessárias

O agente do serviço tem de ter as seguintes autorizações para o contentor de destino:

Autorização Descrição
storage.buckets.get Permite que a conta de serviço obtenha a localização do contentor.
storage.objects.get Permite que a conta de serviço veja objetos e os respetivos metadados, exceto ACLs. Obrigatório se a transferência estiver configurada para [substituir objetos](/storage-transfer/docs/reference/rest/v1/TransferOptions#OverwriteWhen) no destino quando forem diferentes ou nunca. Não é necessário se a sua definição de transferência for para substituir sempre.
storage.objects.create Permite que a conta de serviço adicione objetos ao contentor.
storage.objects.delete

Permite que a conta de serviço elimine objetos no contentor. Obrigatório se definir overwriteObjectsAlreadyExistingInSink ou deleteObjectsUniqueInSink como true.

Tenha em atenção que, se o contentor de destino tiver a aplicação de versões de objetos ativada, nem overwriteObjectsAlreadyExistingInSink nem deleteObjectsUniqueInSink eliminam permanentemente objetos. Em vez disso, as versões de objetos publicados relevantes tornam-se não atuais.

storage.objects.list Permite que a conta de serviço liste objetos no contentor. Obrigatório se definir overwriteObjectsAlreadyExistingInSink como false ou deleteObjectsUniqueInSink como true.

A seguinte função predefinida concede as autorizações necessárias:

  • Storage Legacy Bucket Writer (roles/storage.legacyBucketWriter)

Além disso, para transferências configuradas para