La tabella seguente elenca le autorizzazioni Identity and Access Management (IAM)
necessaria per eseguire i comandi gcloud storage
. Autorizzazioni IAM
vengono raggruppati per creare i ruoli. Tu
concedere ruoli alle entità.
Consulta le sezioni sotto la tabella per le note sull'utilizzo dei caratteri jolly, la --recursive
e il flag --billing-project
.
Comando | Bandiera | Autorizzazioni IAM richieste | |
---|---|---|---|
buckets add-iam-policy-binding |
storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
||
buckets create |
storage.buckets.create |
||
buckets delete |
storage.buckets.delete |
||
buckets describe |
storage.buckets.get storage.buckets.getIamPolicy 1 |
||
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 (per il progetto contenente l'argomento Pub/Sub)pubsub.topics.create 3 (per il progetto contenente l'argomento Pub/Sub)pubsub.topics.getIamPolicy (per l'argomento Pub/Sub che riceve notifiche)pubsub.topics.setIamPolicy 3 (per l'argomento Pub/Sub che riceve 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 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 |
||
buckets update |
--no-requester-pays |
storage.buckets.update resourcemanager.projects.createBillingAssignment 2 |
|
buckets update |
--recovery-point-objective --rpo --[no-]uniform-bucket-level-access |
--[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.buckets.get 12storage.objects.list 4 (per il bucket di destinazione)
storage.objects.create storage.objects.delete 5storageinsights.reportDetails.get 15 |
||
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 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 (per l'elenco dei bucket) |
storage.buckets.list storage.buckets.getIamPolicy 6 |
||
ls (per l'elenco degli oggetti) |
storage.objects.get 7storage.objects.list storage.objects.getIamPolicy 8 |
||
ls |
--buckets |
storage.buckets.get storage.buckets.getIamPolicy 6 |
|
mv |
storage.objects.list 4 (per il bucket di destinazione)storage.objects.get (per gli oggetti di origine)storage.objects.create (per il bucket di destinazione)storage.objects.delete (per il bucket di origine)storage.objects.delete 5 (per il bucket di destinazione) |
||
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 |
|
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.get storage.objects.create storage.objects.delete 10storage.objects.list |
||
rsync |
--dry-run |
storage.objects.list (per i bucket di origine e di destinazione) |
|
service-agent |
resourceManager.projects.get |
||
sign-url |
Nessuno; ma l'account di servizio la cui chiave viene utilizzata deve disporre dell'autorizzazione per eseguire la richiesta l'URL firmato. |
1Questa autorizzazione è necessaria solo se vuoi IAM inclusi nei dettagli.
2Questa autorizzazione è necessaria solo se non includi un indirizzo di fatturazione progetto nella tua richiesta. Consulta i requisiti di utilizzo e accesso per i pagamenti a carico del richiedente. per ulteriori informazioni.
3 Queste autorizzazioni non sono necessarie se l'argomento esiste già e a cui può accedere l'account di servizio pertinente.
4 Questa autorizzazione è richiesta solo quando la destinazione nel campo contiene un percorso dell'oggetto.
5Questa autorizzazione è richiesta solo se utilizzi
caricamenti compositi paralleli o se non usi il flag --no-clobber
ma
inserire un oggetto che ha lo stesso nome di un oggetto già esistente
di sincronizzare la directory di una VM
con un bucket.
6Questa autorizzazione è necessaria solo se vuoi IAM inclusi nei dettagli.
7Questa autorizzazione è richiesta solo se utilizzi
Flag --fetch-encrypted-object-hashes
.
8Questa autorizzazione è necessaria solo se vuoi IAM inclusi nei dettagli e non si applica ai bucket con accesso uniforme a livello di bucket abilitato.
9Questa autorizzazione è richiesta solo se l'operazione crea un oggetto con lo stesso nome di un oggetto già esistente nel bucket.
10Questa autorizzazione è richiesta solo se utilizzi il
--delete-unmatched-destination-objects
o se inserisci un oggetto che
ha lo stesso nome, ma dati diversi rispetto a un oggetto che già
nel bucket.
11Questa autorizzazione è necessaria solo se la richiesta ti richiede anche
per utilizzare il flag --override-unlocked-retention
.
12Questa autorizzazione è necessaria per eseguire
caricamenti compositi paralleli se la proprietà gcloud CLI
storage/parallel_composite_upload_compatibility_check
è impostato su True
.
13Questa autorizzazione è necessaria solo se vuoi usare normali per recuperare gli oggetti.
14Questa autorizzazione è necessaria solo se la richiesta include i campi
--allow-overwrite
e l'operazione crea un oggetto con lo stesso nome
come oggetto già esistente nel bucket.
15Questa autorizzazione è richiesta solo per scaricare i report sull'inventario.
La bandiera di primo livello --billing-project
Se usi il flag globale --billing-project
per specificare un progetto che
ricevere gli addebiti per la tua richiesta, devi disporre di serviceusage.services.use
per il progetto specificato. Viene utilizzato il flag --billing-project
,
ad esempio quando si accede a un bucket in cui è abilitato Requester Pays (Pagamenti a carico del richiedente).
Caratteri jolly e flag ricorsivi
Se utilizzi i caratteri jolly URI per selezionare più oggetti in un comando,
deve disporre dell'autorizzazione storage.objects.list
per il bucket contenente
di oggetti strutturati. Allo stesso modo, se utilizzi caratteri jolly URI per selezionare più bucket
in un comando, devi avere l'autorizzazione storage.buckets.list
per
progetti contenenti i bucket.
Se utilizzi il flag --recursive
, devi avere storage.objects.list
per il bucket pertinente, oltre alle autorizzazioni necessarie per
il comando specifico che stai utilizzando.
Passaggi successivi
- Concedi ruoli IAM a livello di progetto e bucket.
- Esamina i ruoli IAM che contengono autorizzazioni di Cloud Storage.