A tabela a seguir lista as permissões mínimas necessárias para executar cada método do serviço de transferência do Cloud Storage.
Recurso | Método | Permissões necessárias |
---|---|---|
googleServiceAccount |
get |
storagetransfer.projects.getServiceAccount |
transferJobs |
create |
Ambas as permissões são necessárias:
|
transferjobs |
get |
storagetransfer.jobs.get |
transferjobs |
list |
storagetransfer.jobs.list |
transferjobs |
patch |
Para atualizações de exclusão: storagetransfer.jobs.delete Para atualizações de não exclusão: storagetransfer.jobs.update |
transferoperations |
cancel |
storagetransfer.operations.cancel |
transferOperations |
get |
storagetransfer.operations.get |
transferOperations |
list |
storagetransfer.operations.list |
transferOperations |
pause |
storagetransfer.operations.pause |
transferOperations |
resume |
storagetransfer.operations.resume |
Permissões de origem
Cloud Storage
O serviço de transferência do Cloud Storage usa a conta de serviço project-[$PROJECT_NUMBER]@storage-transfer-service.iam.gserviceaccount.com
para mover dados de um bucket de origem do Cloud Storage. A conta de serviço precisa ter as seguintes permissões para o bucket de origem:
Permissão | Descrição | Uso |
---|---|---|
storage.buckets.get |
Permite a localização do bucket pela conta de serviço. | Sempre obrigatório. |
storage.objects.list |
Permite a listagem dos objetos no bucket pela conta de serviço. | Sempre obrigatório. |
storage.objects.get |
Permite a leitura dos objetos no bucket pela conta de serviço. | Sempre obrigatório. |
storage.objects.delete |
Permite a exclusão de objetos no bucket pela conta de serviço. | Obrigatório se você definir deleteObjectsFromSourceAfterTransfer como true . |
Os papéis roles/storage.objectViewer
e roles/storage.legacyBucketReader
juntos contêm as permissões que são sempre necessárias. O papel roles/storage.legacyBucketWriter
contém as permissões storage.objects.delete
. É necessário atribuir os papéis que você quer à conta de serviço usada para executar a transferência.
Para uma lista completa dos papéis do Cloud Storage e das respectivas permissões, consulte papéis do IAM.
Amazon S3
Para usar o Storage Transfer Service para mover dados de um intervalo do Amazon S3,
você precisa ter uma conta de usuário de gerenciamento de identidade e acesso da AWS que tenha determinadas permissões para o bucket:
Permissão | Descrição | Uso |
---|---|---|
s3:ListBucket |
Permite a listagem de objetos no bucket pelo Storage Transfer Service. | Sempre obrigatório. |
s3:GetObject |
Permite a leitura de objetos no bucket pelo Storage Transfer Service. | Sempre obrigatório. |
s3:GetBucketLocation |
Permite a localização do bucket pelo Storage Transfer Service. | Sempre obrigatório. |
s3:DeleteObject |
Permite a exclusão de objetos no bucket pelo Storage Transfer Service. | Obrigatório se você definir deleteObjectsFromSourceAfterTransfer como true . |
Lista de URLs
Se a origem de dados for uma lista de URLs, verifique se os objetos listados estão acessíveis ao público.
Permissões de coletor
No Storage Transfer Service, uma conta de serviço é usada para mover dados para um bucket do coletor do Cloud Storage. É preciso que a conta de serviço tenha determinadas permissões para o bucket do coletor:
Permissão | Descrição | Uso |
---|---|---|
storage.buckets.get |
Permite a localização do bucket pela conta de serviço. | Sempre obrigatório. |
storage.objects.create |
Permite a adição de objetos no bucket pela conta de serviço. | Sempre obrigatório. |
storage.objects.delete |
Permite a exclusão de objetos no bucket pela conta de serviço. | Obrigatório se você definir overwriteObjectsAlreadyExistingInSink ou deleteObjectsUniqueInSink como true . |
storage.objects.list |
Permite a listagem dos objetos no bucket pela conta de serviço. | Obrigatório se você definir overwriteObjectsAlreadyExistingInSink como false ou deleteObjectsUniqueInSink como true . |
Todas essas permissões estão contidas no papel roles/storage.legacyBucketWriter
, que pode ser atribuído à conta de serviço. Para uma lista completa dos papéis do Cloud Storage e das respectivas permissões, consulte Papéis do IAM.
Permissões do Pub/Sub
Se você planeja usar o Pub/Sub para transferências, conceda à conta de serviço o papel do IAM roles/pubsub.publisher
para o respectivo tópico do Pub/Sub.