Nesta tabela, descrevemos as permissões do Identity and Access Management (IAM)
necessárias para executar comandos do gcloud storage. As permissões do IAM são agrupadas para criar
papéis. Você
concede papéis aos principais.
Para mais informações sobre como usar caracteres curinga e as sinalizações --recursive e --billing-project, consulte as seções abaixo da tabela.
| Comando | Flag | Permissões de IAM obrigató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 bucket 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 listagem de buckets) |
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 buckets de origem e destino) |
service-agent |
resourceManager.projects.get |
|
sign-url |
Nenhum. No entanto, a conta de serviço cuja chave é usada como parte deste comando precisa ter permissão para executar a solicitação codificada no URL assinado. |
1Essa permissão é obrigatória somente se você quiser incluir as políticas de IAM nos detalhes.
2Essa permissão só será obrigatória se você não incluir um projeto de faturamento na solicitação. Consulte Requisitos de uso e acesso dos pagamentos do solicitante para mais informações.
3Essas permissões não são obrigatórias se o tópico já existe e a conta de serviço relevante tem acesso a ele.
4Essa permissão é obrigatória somente quando o destino no comando contém um caminho de objeto.
5Essa permissão é obrigatória somente se você usa
uploads compostos paralelos ou se não usa a sinalização --no-clobber, mas insere um
objeto que tem o mesmo nome de um objeto que já existe no bucket.
6Essa permissão é obrigatória somente se você quiser incluir as políticas de IAM nos detalhes.
7Essa permissão só será obrigatória se você usar a
flag --fetch-encrypted-object-hashes.
8Essa permissão é obrigatória somente se você quiser incluir as políticas de IAM nos detalhes e não se aplica a buckets com o acesso uniforme no nível do bucket ativado.
9Essa permissão só será obrigatória se a operação criar um objeto com o mesmo nome de um objeto atual no bucket.
10Essa permissão é obrigatória somente se você usar a sinalização --delete-unmatched-destination-objects ou se
inserir um objeto com o mesmo nome de dados diferentes que
Um objeto que já existe no bucket.
11Essa permissão só será obrigatória se a solicitação também exigir que você
use a sinalização --override-unlocked-retention.
12Essa permissão será necessária para fazer uploads compostos paralelos se a property storage/parallel_composite_upload_compatibility_check da gcloud CLI estiver definida como True.
13Essa permissão só será obrigatória se você quiser usar expressões regulares para extrair objetos.
14Essa permissão só será obrigatória se a solicitação incluir a
flag --allow-overwrite e a operação criar um objeto com o mesmo nome
de um objeto que já existe no bucket.
15Essa permissão só será obrigatória se a solicitação incluir a flag --ip-filter-file para criar, atualizar ou excluir as regras de filtragem de IP
em um bucket.
16Essa permissão só é obrigatória se você quiser receber a configuração de filtro de IP do bucket como parte da resposta.
Sinalização de nível superior --billing-project
Se você usar a sinalização global --billing-project para especificar um projeto que deverá ser
faturado na solicitação, será necessário ter a permissão serviceusage.services.use
no projeto especificado. A sinalização --billing-project é usada, por exemplo, ao acessar um bucket com pagamentos do solicitante ativados.
Caracteres curinga e sinalizações recursivas
Se você usar caracteres curinga de URI para selecionar vários objetos em um comando, será necessário ter a permissão storage.objects.list para o bucket que contém os objetos. Da mesma forma, se usar caracteres curinga de URI para selecionar vários buckets em um comando, será necessário ter a permissão storage.buckets.list nos projetos que contêm os buckets.
Se você usar a sinalização --recursive, será necessário ter a permissão storage.objects.list para o bucket relevante, além das permissões necessárias para o comando específico que você está usando.
A seguir
- Atribua papéis do IAM no nível do projeto e do bucket.
- Consulte os papéis do IAM que contêm permissões do Cloud Storage.