A tabela seguinte lista as autorizações da gestão de identidade e de acesso (IAM)
necessárias para executar gcloud storage comandos. As autorizações de IAM são agrupadas para criar funções. Concede funções a principais.
Consulte as secções abaixo da tabela para ver notas sobre a utilização de carateres universais, a flag --recursive
e a flag --billing-project.
| Comando | Bandeira | Autorizações de IAM necessárias | 
|---|---|---|
batch-operations jobs create | 
      storagebatchoperations.jobs.create | 
    |
batch-operations jobs cancel | 
      storagebatchoperations.jobs.cancel | 
    |
batch-operations jobs delete | 
      storagebatchoperations.jobs.delete | 
    |
batch-operations jobs get | 
      storagebatchoperations.jobs.get | 
    |
batch-operations jobs list | 
      storagebatchoperations.jobs.list | 
    |
buckets add-iam-policy-binding | 
      storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
    |
buckets anywhere-caches create | 
      storage.anywhereCaches.create | 
    |
buckets anywhere-caches describe | 
      storage.anywhereCaches.get | 
    |
buckets anywhere-caches list | 
      storage.anywhereCaches.list | 
    |
buckets anywhere-caches update | 
      storage.anywhereCaches.update | 
    |
buckets anywhere-caches pause | 
      storage.anywhereCaches.pause | 
    |
buckets anywhere-caches resume | 
      storage.anywhereCaches.resume | 
    |
buckets anywhere-caches disable | 
      storage.anywhereCaches.disable | 
    |
buckets create | 
      storage.buckets.create
        storage.buckets.setIpFilter15 | 
    |
buckets delete | 
      storage.buckets.delete | 
    |
buckets describe | 
      storage.buckets.getstorage.buckets.getIamPolicy1storage.buckets.getIpFilter16 | 
    |
buckets get-iam-policy | 
      storage.buckets.getstorage.buckets.getIamPolicy | 
    |
buckets list | 
      storage.buckets.liststorage.buckets.getIamPolicy1 | 
    |
buckets notifications create | 
      storage.buckets.getstorage.buckets.updatepubsub.topics.get (para o projeto que contém o tópico do Pub/Sub)pubsub.topics.create3 (para o projeto que contém o tópico do Pub/Sub)pubsub.topics.getIamPolicy (para o tópico do Pub/Sub que recebe notificações)pubsub.topics.setIamPolicy3 (para o tópico do Pub/Sub que recebe notificações) | 
    |
buckets notifications create | 
      --skip-topic-setup | 
      storage.buckets.getstorage.buckets.update | 
    
buckets notifications delete | 
      storage.buckets.getstorage.buckets.update | 
    |
buckets notifications describe | 
      storage.buckets.get | 
    |
buckets notifications list | 
      storage.buckets.get | 
    |
buckets relocate | 
      storage.buckets.relocate | 
    |
buckets remove-iam-policy-binding | 
      storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update | 
    |
buckets set-iam-policy | 
      storage.buckets.setIamPolicystorage.buckets.update | 
    |
buckets update | 
      storage.buckets.updatestorage.buckets.setIpFilter15 | 
    |
buckets update | 
      --no-requester-pays | 
      storage.buckets.updateresourcemanager.projects.createBillingAssignment2 | 
    
buckets update | 
     
      --recovery-point-objective--rpo--[no-]uniform-bucket-level-access | 
     
      storage.buckets.getstorage.buckets.update | 
    
buckets update | 
      --clear-pap--clear-public-access-prevention--[no-]pap--[no-]public-access-prevention | 
      storage.buckets.getstorage.buckets.updatestorage.buckets.setIamPolicy | 
    
cat | 
      storage.objects.getstorage.objects.list13 | 
    |
cp | 
      storage.objects.getstorage.objects.createstorage.objects.list4 (para o contentor de destino)
        storage.objects.delete5storage.buckets.get12 | 
    |
du | 
      storage.objects.list | 
    |
folders create | 
      storage.folders.create | 
    |
folders delete | 
      storage.folders.delete | 
    |
folders describe | 
      storage.folders.get | 
    |
folders list | 
      storage.folders.list | 
    |
folders rename | 
      storage.folders.renamestorage.folders.create | 
    |
hash | 
      storage.objects.get | 
    |
hmac create | 
      storage.hmacKeys.create | 
    |
hmac delete | 
      storage.hmacKeys.delete | 
    |
hmac describe | 
      storage.hmacKeys.get | 
    |
hmac list | 
      storage.hmacKeys.list | 
    |
hmac update | 
      storage.hmacKeys.update | 
    |
insights dataset-configs create | 
      storageinsights.datasetConfigs.create | 
    |
insights dataset-configs create-link | 
      storageinsights.datasetConfigs.linkDataset | 
    |
insights dataset-configs delete | 
      storageinsights.datasetConfigs.delete | 
    |
insights dataset-configs delete-link | 
      storageinsights.datasetConfigs.unlinkDataset | 
    |
insights dataset-configs describe | 
      storageinsights.datasetConfigs.get | 
    |
insights dataset-configs list | 
      storageinsights.datasetConfigs.list | 
    |
insights dataset-configs update | 
      storageinsights.datasetConfigs.update | 
    |
insights inventory-reports create | 
      storageinsights.reportConfigs.create | 
    |
insights inventory-reports delete | 
      storageinsights.reportConfigs.delete | 
    |
insights inventory-reports details list | 
      storageinsights.reportDetails.list | 
    |
insights inventory-reports details describe | 
      storageinsights.reportDetails.get | 
    |
insights inventory-reports list | 
      storageinsights.reportConfigs.list | 
    |
insights inventory-reports update | 
      storageinsights.reportConfigs.getstorageinsights.reportConfigs.update | 
    |
ls (para a ficha de contentor) | 
      storage.buckets.liststorage.buckets.getIamPolicy6 | 
    |
ls (para a listagem de objetos) | 
      storage.objects.get7storage.objects.liststorage.objects.getIamPolicy8 | 
    |
ls | 
      --buckets | 
      storage.buckets.getstorage.buckets.getIamPolicy6 | 
    
storage intelligence-config enable | 
      storage.intelligenceConfigs.update | 
    |
storage-intelligence disable | 
      storage.intelligenceConfigs.update | 
    |
storage-intelligence describe | 
      storage.intelligenceConfigs.get | 
    |
storage-intelligence update | 
      storage.intelligenceConfigs.update | 
    |
mv | 
      storage.objects.getstorage.objects.deletestorage.objects.createstorage.objects.list4storage.objects.delete5storage.buckets.get12 | 
    |
objects compose | 
      storage.objects.getstorage.objects.createstorage.objects.delete9 | 
    |
objects describe | 
      storage.objects.getstorage.objects.getIamPolicy8 | 
    |
objects list | 
      storage.objects.liststorage.objects.getIamPolicy8 | 
    |
objects update | 
      storage.objects.getstorage.objects.liststorage.objects.update | 
    |
objects update | 
      --storage-class--encryption-key--clear-encryption-key | 
      storage.objects.getstorage.objects.liststorage.objects.createstorage.objects.delete | 
    
objects update | 
      --retention-mode--retain-until--clear-retention | 
      storage.objects.getstorage.objects.liststorage.objects.updatestorage.objects.setRetentionstorage.objects.overrideUnlockedRetention11 | 
    
operations cancel | 
      storage.bucketOperations.cancel | 
    |
operations describe | 
      storage.bucketOperations.get | 
    |
operations list | 
      storage.bucketOperations.list | 
    |
restore | 
      storage.objects.createstorage.objects.delete9storage.objects.restore | 
    |
restore | 
      --async | 
      storage.objects.createstorage.objects.delete14storage.objects.restorestorage.buckets.restore | 
    
rm | 
      storage.buckets.deletestorage.objects.deletestorage.objects.list | 
    |
rsync | 
      storage.objects.liststorage.objects.getstorage.objects.liststorage.objects.getstorage.objects.createstorage.objects.delete10storage.buckets.get12 | 
    |
rsync | 
      --dry-run | 
      storage.objects.list (para os contentores de origem e destino) | 
    
service-agent | 
      resourceManager.projects.get | 
    |
sign-url | 
      Nenhuma; no entanto, a conta de serviço cuja chave é usada como parte deste comando tem de ter autorização para executar o pedido que está a ser codificado no URL assinado. | 
1Esta autorização só é necessária se quiser que as políticas de IAM sejam incluídas nos detalhes.
2Esta autorização só é necessária se não incluir um projeto de faturação no seu pedido. Consulte os requisitos de utilização e acesso do Requester Pays para mais informações.
3Estas autorizações não são necessárias se o tópico já existir e a conta de serviço relevante tiver acesso ao mesmo.
4Esta autorização só é necessária quando o destino no comando contém um caminho de objeto.
5Esta autorização só é necessária se usar
carregamentos compostos paralelos ou se não usar a flag --no-clobber, mas
inserir um objeto com o mesmo nome de um objeto que já existe no
contentor.
6Esta autorização só é necessária se quiser que as políticas de IAM sejam incluídas nos detalhes.
7Esta autorização só é necessária se usar a flag --fetch-encrypted-object-hashes.
8Esta autorização só é necessária se quiser incluir políticas de IAM nos detalhes e não se aplica a contentores com o acesso uniforme ao nível do contentor ativado.
9Esta autorização só é necessária se a operação criar um objeto com o mesmo nome de um objeto que já existe no contentor.
10Esta autorização só é necessária se usar a flag --delete-unmatched-destination-objects ou se inserir um objeto que tenha o mesmo nome, mas dados diferentes de um objeto que já exista no contentor.
11Esta autorização só é necessária se o pedido também exigir que use a flag --override-unlocked-retention.
12Esta autorização é necessária para realizar
carregamentos compostos paralelos se a propriedade da CLI gcloud
storage/parallel_composite_upload_compatibility_check estiver definida como True.
13Esta autorização só é necessária se quiser usar expressões regulares para obter objetos.
14Esta autorização só é necessária se o pedido incluir a flag --allow-overwrite e a operação criar um objeto com o mesmo nome que um objeto que já existe no contentor.
15Esta autorização só é necessária se o pedido incluir a flag --ip-filter-file para criar, atualizar ou eliminar as regras de filtragem de IP num contentor.
16 Esta autorização só é necessária se quiser obter a configuração do filtro de IP do contentor como parte da resposta.
A bandeira de nível superior --billing-project
Se usar a --billing-project flag global para especificar um projeto que
deve ser faturado pelo seu pedido, tem de ter serviceusage.services.use
autorização para o projeto que especificar. A flag --billing-project é usada, por exemplo, quando acede a um contentor com a opção Requester Pays ativada.
Carateres universais e flags recursivas
Se usar carateres universais de URI para selecionar vários objetos num comando, tem de ter autorização storage.objects.list para o contentor que contém os objetos. Da mesma forma, se usar carateres universais URI para selecionar vários contentores num comando, tem de ter a autorização storage.buckets.list para os projetos que contêm os contentores.
Se usar a flag --recursive, tem de ter autorização para o contentor relevante, além das autorizações necessárias para o comando específico que está a usar.storage.objects.list
O que se segue?
- Conceda funções do IAM ao nível do projeto e do contentor.
 - Reveja as funções de IAM que contêm autorizações do Cloud Storage.