Le tableau suivant répertorie les autorisations IAM (Identity and Access Management) requises pour exécuter les commandes gcloud storage. Les autorisations IAM sont regroupées pour créer des rôles, qui sont attribués aux comptes principaux.
Reportez-vous aux sections situées sous le tableau pour plus d'informations sur l'utilisation des caractères génériques et des options --recursive et --billing-project.
| Commande | Option | Autorisations IAM requises |
|---|---|---|
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 (pour le projet contenant le sujet Pub/Sub)pubsub.topics.create3 (pour le projet contenant le sujet Pub/Sub)pubsub.topics.getIamPolicy (pour les notifications de réception de sujets Pub/Sub)pubsub.topics.setIamPolicy3 (pour les notifications de réception de sujets Pub/Sub) |
|
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 (pour le bucket de destination)
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 (pour la liste des buckets) |
storage.buckets.liststorage.buckets.getIamPolicy6 |
|
ls (pour la création de listes d'objets) |
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 (pour les buckets sources et de destination) |
service-agent |
resourceManager.projects.get |
|
sign-url |
Aucun ; toutefois, le compte de service dont la clé est utilisée dans le cadre de cette commande doit être autorisé à effectuer l'encodage de la requête dans l'URL signée. |
1 Cette autorisation n'est requise que si vous souhaitez que les stratégies IAM soient incluses dans les détails.
2 Cette autorisation n'est nécessaire que si vous n'incluez pas de projet de facturation dans votre requête. Pour plus d'informations, consultez la section Exigences relatives à l'utilisation et aux accès sur la page "Paiements du demandeur".
3 Cette autorisation n'est pas requise si le sujet existe déjà et si le compte de service approprié y a accès.
4 Cette autorisation n'est requise que lorsque la destination dans la commande contient un chemin d'accès à un objet.
5 Cette autorisation n'est requise que si vous utilisez des importations composites parallèles ou si vous n'utilisez pas l'option --no-clobber, mais insérez un objet qui porte le même nom qu'un objet déjà présent dans le bucket.
6 Cette autorisation n'est requise que si vous souhaitez que les stratégies IAM soient incluses dans les détails.
7 Cette autorisation n'est requise que si vous utilisez l'option --fetch-encrypted-object-hashes.
8 Cette autorisation n'est requise que si vous souhaitez que les stratégies IAM soient incluses dans les détails. Elle ne s'applique pas aux buckets pour lesquels l'accès uniforme au niveau du bucket est activé.
9 Cette autorisation n'est requise que si l'opération crée un objet portant le même nom qu'un objet présent dans le bucket.
10 Cette autorisation n'est requise que si vous utilisez l'option --delete-unmatched-destination-objects ou si vous insérez un objet portant le même nom qu'un objet qui existe déjà dans le bucket mais ayant des données différentes.
11 Cette autorisation n'est requise que si la requête nécessite également l'utilisation de l'option --override-unlocked-retention.
12 Cette autorisation est requise pour effectuer des importations composites parallèles si la propriété storage/parallel_composite_upload_compatibility_check de gcloud CLI est définie sur True.
13 Cette autorisation n'est requise que si vous souhaitez utiliser des expressions régulières pour récupérer des objets.
14 Cette autorisation n'est requise que si la requête inclut l'option --allow-overwrite et que l'opération crée un objet portant le même nom qu'un objet présent dans le bucket.
15 Cette autorisation n'est requise que si la requête inclut l'indicateur --ip-filter-file pour créer, modifier ou supprimer les règles de filtrage des adresses IP sur un bucket.
16 Cette autorisation n'est requise que si vous souhaitez obtenir la configuration du filtre d'adresse IP du bucket dans la réponse.
Indicateur de niveau supérieur --billing-project
Si vous utilisez l'option globale --billing-project pour spécifier un projet qui doit être facturé pour votre requête, vous devez obtenir l'autorisation serviceusage.services.use pour le projet que vous spécifiez. L'indicateur --billing-project est utilisé, par exemple, lors de l'accès à un bucket avec l'option Paiements du demandeur activée.
Caractères génériques et indicateurs récursifs
Si vous utilisez des caractères génériques d'URI pour sélectionner plusieurs objets dans une commande, vous devez disposer d'une autorisation storage.objects.list pour le bucket contenant les objets. De même, si vous utilisez des caractères génériques d'URI pour sélectionner plusieurs buckets dans une commande, vous devez disposer d'une autorisation storage.buckets.list pour le ou les projets contenant les buckets.
Si vous utilisez l'option --recursive, vous devez disposer de l'autorisation storage.objects.list pour le bucket concerné, en plus des autorisations requises pour la commande spécifique que vous utilisez.
Étapes suivantes
- Attribuez des rôles IAM au niveau du projet et du bucket.
- Consultez la page Rôles IAM contenant des autorisations Cloud Storage.