Nella tabella seguente sono elencate le autorizzazioni di Identity and Access Management (IAM) necessarie per eseguire i comandi gcloud storage
. Le autorizzazioni IAM
vengono raggruppate per creare i ruoli. Puoi
concedere i ruoli alle entità.
Consulta le sezioni sotto la tabella per le note sull'utilizzo dei caratteri jolly, il flag --recursive
e il flag --billing-project
.
Comando | Flag | 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 le notifiche)pubsub.topics.setIamPolicy 3 (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 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 5 |
||
du |
storage.objects.list |
||
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 |
||
ls (per l'elenco dei bucket) |
storage.buckets.list storage.buckets.getIamPolicy 6 |
||
ls (per la scheda 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 |
Nessuna; tuttavia, l'account di servizio la cui chiave viene utilizzata come parte di questo comando deve disporre dell'autorizzazione per eseguire la richiesta di codifica nell'URL firmato. |
1 Questa autorizzazione è necessaria solo se vuoi includere i criteri IAM nei dettagli.
2 Questa autorizzazione è necessaria solo se non includi un progetto di fatturazione nella richiesta. Per ulteriori informazioni, consulta i requisiti di utilizzo e accesso per i pagamenti a carico del richiedente.
3 Queste autorizzazioni non sono necessarie se l'argomento esiste già e l'account di servizio pertinente ha accesso all'argomento.
4 Questa autorizzazione è richiesta solo quando la destinazione nel comando contiene un percorso dell'oggetto.
5 Questa autorizzazione è necessaria solo se utilizzi
caricamenti composti paralleli o se non usi il flag --no-clobber
ma
inserisci un oggetto con lo stesso nome di un oggetto già esistente nel
bucket.
6 Questa autorizzazione è richiesta solo se vuoi includere i criteri IAM nei dettagli.
7 Questa autorizzazione è necessaria solo se utilizzi il flag --fetch-encrypted-object-hashes
.
8 Questa autorizzazione è richiesta solo se vuoi includere i criteri IAM nei dettagli e non si applica ai bucket in cui è abilitato l'accesso uniforme a livello di bucket.
9Questa 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 di un oggetto già esistente nel bucket, ma dati diversi da quelli di un oggetto già esistente nel bucket.
11Questa autorizzazione è necessaria solo se la richiesta richiede anche l'utilizzo del flag --override-unlocked-retention
.
12Questa autorizzazione è necessaria per eseguire
caricamenti composti paralleli se la proprietàgcloud CLId
storage/parallel_composite_upload_compatibility_check
è impostata su True
.
13Questa autorizzazione è richiesta solo se vuoi utilizzare espressioni regolari per recuperare gli oggetti.
14Questa 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.
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 in cui è abilitata l'opzione Pagamenti a carico del richiedente.
Caratteri jolly e flag ricorsivi
Se utilizzi caratteri jolly URI per selezionare più oggetti in un comando, devi disporre dell'autorizzazione storage.objects.list
per il bucket che contiene gli oggetti. Analogamente, se utilizzi caratteri jolly nell'URI per selezionare più bucket in un comando, devi disporre dell'autorizzazione storage.buckets.list
per i progetti che contengono i bucket.
Se utilizzi il flag --recursive
, devi disporre dell'autorizzazione storage.objects.list
per il bucket pertinente, oltre alle autorizzazioni richieste per lo specifico comando in uso.
Passaggi successivi
- Concedi ruoli IAM a livello di progetto e bucket.
- Esamina i ruoli IAM che contengono autorizzazioni Cloud Storage.