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.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.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.setIpFilter 15 |
|
buckets delete |
storage.buckets.delete |
|
buckets describe |
storage.buckets.get storage.buckets.getIamPolicy 1storage.buckets.getIpFilter 16 |
|
buckets get-iam-policy |
storage.buckets.get storage.buckets.getIamPolicy |
|
buckets list |
storage.buckets.list storage.buckets.getIamPolicy 1 |
|
buckets notifications create |
storage.buckets.get storage.buckets.update pubsub.topics.get (para o projeto que contém o tópico do Pub/Sub)pubsub.topics.create 3 (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.setIamPolicy 3 (para o tópico do Pub/Sub que recebe notificações) |
|
buckets notifications create |
--skip-topic-setup |
storage.buckets.get storage.buckets.update |
buckets notifications delete |
storage.buckets.get storage.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.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
|
buckets set-iam-policy |
storage.buckets.setIamPolicy storage.buckets.update |
|
buckets update |
storage.buckets.update storage.buckets.setIpFilter 15 |
|
buckets update |
--no-requester-pays |
storage.buckets.update resourcemanager.projects.createBillingAssignment 2 |
buckets update |
--recovery-point-objective --rpo --[no-]uniform-bucket-level-access |
storage.buckets.get storage.buckets.update |
buckets update |
--clear-pap --clear-public-access-prevention --[no-]pap --[no-]public-access-prevention |
storage.buckets.get storage.buckets.update storage.buckets.setIamPolicy |
cat |
storage.objects.get storage.objects.list 13 |
|
cp |
storage.objects.get storage.objects.create storage.objects.list 4 (para o contentor de destino)
storage.objects.delete 5storage.buckets.get 12 |
|
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.rename storage.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.get storageinsights.reportConfigs.update |
|
ls (para a ficha de contentor) |
storage.buckets.list storage.buckets.getIamPolicy 6 |
|
ls (para a ficha de objetos) |
storage.objects.get 7storage.objects.list storage.objects.getIamPolicy 8 |
|
ls |
--buckets |
storage.buckets.get storage.buckets.getIamPolicy 6 |
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.get storage.objects.delete storage.objects.create storage.objects.list 4storage.objects.delete 5storage.buckets.get 12 |
|
objects compose |
storage.objects.get storage.objects.create storage.objects.delete 9 |
|
objects describe |
storage.objects.get storage.objects.getIamPolicy 8 |
|
objects list |
storage.objects.list storage.objects.getIamPolicy 8 |
|
objects update |
storage.objects.get storage.objects.list storage.objects.update |
|
objects update |
--storage-class --encryption-key --clear-encryption-key |
storage.objects.get storage.objects.list storage.objects.create storage.objects.delete |
objects update |
--retention-mode --retain-until --clear-retention |
storage.objects.get storage.objects.list storage.objects.update storage.objects.setRetention storage.objects.overrideUnlockedRetention 11 |
operations cancel |
storage.bucketOperations.cancel |
|
operations describe |
storage.bucketOperations.get |
|
operations list |
storage.bucketOperations.list |
|
restore |
storage.objects.create storage.objects.delete 9storage.objects.restore |
|
restore |
--async |
storage.objects.create storage.objects.delete 14storage.objects.restore storage.buckets.restore |
rm |
storage.buckets.delete storage.objects.delete storage.objects.list |
|
rsync |
storage.objects.list storage.objects.get storage.objects.list storage.objects.get storage.objects.create storage.objects.delete 10storage.buckets.get 12 |
|
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 incluir políticas do IAM 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 do 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 que as políticas de IAM sejam incluídas 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.