Autorizzazioni IAM per i comandi gcloud storage

La seguente tabella elenca le autorizzazioni Identity and Access Management (IAM) necessarie per eseguire i comandi gcloud storage. Le autorizzazioni IAM sono raggruppate per formare i ruoli. Puoi concedere ruoli alle entità.

Consulta le sezioni sotto la tabella per note sull'utilizzo dei caratteri jolly, del flag --recursive e del flag --billing-project.

Comando Flag Autorizzazioni IAM obbligatorie
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.setIpFilter14
buckets delete storage.buckets.delete
buckets describe storage.buckets.get
storage.buckets.getIamPolicy1
storage.buckets.getIpFilter15
buckets get-iam-policy storage.buckets.get
storage.buckets.getIamPolicy
buckets list storage.buckets.list
storage.buckets.getIamPolicy1
buckets notifications create storage.buckets.get
storage.buckets.update
pubsub.topics.get (per il progetto contenente l'argomento Pub/Sub)
pubsub.topics.create3 (per il progetto contenente l'argomento Pub/Sub)
pubsub.topics.getIamPolicy (per l'argomento Pub/Sub che riceve le notifiche)
pubsub.topics.setIamPolicy3 (per l'argomento Pub/Sub che riceve le notifiche)
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.setIpFilter14
buckets update --no-requester-pays storage.buckets.update
resourcemanager.projects.createBillingAssignment2
buckets update --[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
cp storage.objects.get (per gli oggetti di origine)
storage.objects.create (per il bucket di destinazione)
storage.objects.list4 (per il bucket di destinazione)
storage.objects.delete5 (per il bucket di destinazione)
storage.buckets.get12 (per il bucket di destinazione)
du storage.objects.list
feature-configs create storage.featureConfigs.create
feature-configs delete storage.featureConfigs.delete
feature-configs describe storage.featureConfigs.get
feature-configs list storage.featureConfigs.list
feature-configs update storage.featureConfigs.update
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 (per il bucket di origine)
storage.folders.create (per il bucket di destinazione)
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
intelligence-configs describe storage.intelligenceConfigs.get
intelligence-configs disable storage.intelligenceConfigs.update
intelligence-configs enable storage.intelligenceConfigs.update
intelligence-configs update storage.intelligenceConfigs.update
ls (per l'elenco dei bucket) storage.buckets.list
storage.buckets.getIamPolicy6
ls (per l'elenco degli oggetti) storage.objects.get7
storage.objects.list
storage.objects.getIamPolicy8
ls --buckets storage.buckets.get
storage.buckets.getIamPolicy6
mv storage.objects.get (per gli oggetti di origine)
storage.objects.delete (per il bucket di origine)
storage.objects.create (per il bucket di destinazione)
storage.objects.list4 (per il bucket di destinazione)
storage.objects.delete5 (per il bucket di destinazione)
storage.buckets.get12 (per il bucket di destinazione)
objects compose storage.objects.get
storage.objects.create
storage.objects.delete9
objects describe storage.objects.get
storage.objects.getIamPolicy8
objects list storage.objects.list
storage.objects.getIamPolicy8
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.overrideUnlockedRetention11
operations cancel storage.bucketOperations.cancel
operations describe storage.bucketOperations.get
operations list storage.bucketOperations.list
restore storage.objects.create
storage.objects.delete9
storage.objects.restore
restore --async storage.objects.create
storage.objects.delete13
storage.objects.restore
storage.buckets.restore
rm storage.buckets.delete
storage.objects.delete
storage.objects.list
rsync storage.objects.list (per il bucket di origine)
storage.objects.get (per gli oggetti di origine)
storage.objects.list (per il bucket di destinazione)
storage.objects.get (per il bucket di destinazione)
storage.objects.create (per il bucket di destinazione)
storage.objects.delete10 (per il bucket di destinazione)
storage.buckets.get16 (per il bucket di destinazione)
rsync --dry-run storage.objects.list (per i bucket di origine e di destinazione)
service-agent resourceManager.projects.get
sign-url Nessuna; tuttavia, il account di servizio la cui chiave viene utilizzata come parte di questo comando deve disporre dell'autorizzazione per eseguire la richiesta codificata nell'URL firmato.

1Questa autorizzazione è necessaria solo se vuoi includere le norme IAM nei dettagli.

2 Questa autorizzazione è necessaria solo se non includi un progetto di fatturazione nella richiesta. Per saperne di più, consulta i requisiti di utilizzo e accesso per i pagamenti a carico del richiedente.

3Queste autorizzazioni non sono necessarie se l'argomento esiste già e il account di servizio pertinente ha accesso.

4 Questa autorizzazione è obbligatoria solo quando la destinazione nel comando contiene un percorso dell'oggetto.

5 Questa autorizzazione è richiesta solo se utilizzi i caricamenti compositi paralleli o se non utilizzi il flag --no-clobber, ma inserisci un oggetto con lo stesso nome di un oggetto già esistente nel bucket.

6 Questa autorizzazione è necessaria solo se vuoi che le policy IAM siano incluse nei dettagli.

7 Questa autorizzazione è obbligatoria solo se utilizzi il flag --fetch-encrypted-object-hashes.

8Questa autorizzazione è necessaria solo se vuoi includere i criteri IAM nei dettagli e non si applica ai bucket con l'accesso uniforme a livello di bucket attivato.

9 Questa autorizzazione è richiesta solo se l'operazione crea un oggetto con lo stesso nome di un oggetto già esistente nel bucket.

10Questa autorizzazione è necessaria solo se utilizzi il flag --delete-unmatched-destination-objects o se inserisci un oggetto che ha lo stesso nome, ma dati diversi, di un oggetto che esiste già nel bucket.

11 Questa autorizzazione è obbligatoria solo se la richiesta richiede anche l'utilizzo del flag --override-unlocked-retention.

12 Questa autorizzazione è necessaria per eseguire caricamenti compositi paralleli se la proprietà gcloud CLI storage/parallel_composite_upload_compatibility_check è impostata su True. Quando questa proprietà è impostata su True, gcloud CLI esegue un controllo di compatibilità a livello di bucket prima di eseguire il caricamento composito parallelo. Se la proprietà storage/parallel_composite_upload_compatibility_check o storage/parallel_composite_upload_enabled è impostata su False, il controllo di compatibilità viene ignorato e questa autorizzazione non è richiesta, tranne in alcuni casi.

13Questa autorizzazione è necessaria solo se la richiesta include il flag --allow-overwrite e l'operazione crea un oggetto con lo stesso nome di un oggetto già esistente nel bucket.

16Questa autorizzazione è obbligatoria quando la destinazione è la radice di un bucket, ad esempio gs://BUCKET, indipendentemente dalle impostazioni di caricamento composito parallelo. Quando la destinazione include un prefisso, ad esempio gs://BUCKET/PREFIX, l'esecuzione di rsync richiede invece l'autorizzazione storage.objects.list. Per saperne di più, consulta Risoluzione dei problemi relativi all'errore 403.

Il flag di primo livello --billing-project

Se utilizzi il flag globale --billing-project per specificare un progetto che deve essere fatturato per la tua richiesta, devi disporre dell'autorizzazione serviceusage.services.use per il progetto specificato. Il flag --billing-project viene utilizzato, ad esempio, quando si accede a un bucket con l'opzione Pagamenti a carico del richiedente abilitata.

Caratteri jolly, espressioni regolari e flag ricorsivi

Se utilizzi caratteri jolly URI o espressioni regolari per selezionare più oggetti in un comando, devi disporre dell'autorizzazione storage.objects.list per il bucket contenente gli oggetti. Analogamente, se utilizzi caratteri jolly o espressioni regolari URI per selezionare più bucket in un comando, devi disporre dell'autorizzazione storage.buckets.list per i progetti contenenti i bucket.

Se utilizzi il flag --recursive, devi disporre dell'autorizzazione storage.objects.list per il bucket pertinente, oltre alle autorizzazioni richieste per il comando specifico che stai utilizzando.

Passaggi successivi