Autorisations IAM pour les méthodes JSON

Le tableau ci-dessous répertorie les autorisations Cloud Identity and Access Management (Cloud IAM) requises pour exécuter chaque méthode JSON Cloud Storage sur une ressource donnée. Les autorisations Cloud IAM sont regroupées pour créer des rôles, qui sont attribués aux utilisateurs et aux groupes.

Pour connaître les méthodes supplémentaires qui s'appliquent uniquement aux buckets pour lesquels l'accès uniforme au niveau du bucket est désactivé, consultez le tableau des méthodes de LCA.

Ressource Méthode Autorisations IAM requises1
Buckets delete storage.buckets.delete
Buckets get storage.buckets.get
storage.buckets.getIamPolicy2
storage.buckets.getIpFilter13
Buckets getIamPolicy storage.buckets.getIamPolicy
Buckets insert storage.buckets.create
storage.buckets.enableObjectRetention3
storage.buckets.setIpFilter14
Buckets list storage.buckets.list
storage.buckets.getIamPolicy2
storage.buckets.getIpFilter13
Buckets listChannels storage.buckets.get
Buckets lockRetentionPolicy storage.buckets.update
Buckets patch storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
storage.buckets.setIpFilter14
storage.buckets.getIpFilter13
Buckets setIamPolicy storage.buckets.setIamPolicy
Buckets testIamPermissions Aucun
Buckets update storage.buckets.update
storage.buckets.getIamPolicy4
storage.buckets.setIamPolicy5
storage.buckets.setIpFilter14
storage.buckets.getIpFilter13
Channels stop Aucun
Folders get storage.folders.get
Folders insert storage.folders.create
Folders list storage.folders.list
Folders rename storage.folders.rename (pour le dossier source)
storage.folders.create (pour le dossier de destination)
Folders delete storage.folders.delete
ManagedFolders delete storage.managedfolders.delete
storage.managedfolders.setIamPolicy10
ManagedFolders get storage.managedfolders.get
ManagedFolders getIamPolicy storage.managedfolders.getIamPolicy
ManagedFolders insert storage.managedfolders.create
ManagedFolders list storage.managedfolders.list
ManagedFolders update storage.managedfolders.update
ManagedFolders setIamPolicy storage.managedfolders.setIamPolicy
Notifications delete storage.buckets.update
Notifications get storage.buckets.get
Notifications insert storage.buckets.update
Notifications list storage.buckets.get
Objects bulkRestore storage.buckets.restore
storage.objects.create
storage.objects.delete11
storage.objects.restore
storage.objects.setIamPolicy6,12
Objects compose storage.objects.get
storage.objects.create
storage.objects.delete7
storage.objects.getIamPolicy2,6
storage.objects.setRetention8
Objects copy storage.objects.get (pour le bucket source)
storage.objects.create (pour le bucket de destination)
storage.objects.delete (pour le bucket de destination)7
storage.objects.setRetention (pour le bucket de destination)8
Objects delete storage.objects.delete
Objects get storage.objects.get
storage.objects.getIamPolicy2,6
Objects insert storage.objects.create
storage.objects.delete7
storage.objects.setRetention8
Objects list storage.objects.list
storage.objects.getIamPolicy2,6
Objects patch storage.objects.update
storage.objects.setRetention8
storage.objects.overrideUnlockedRetention9
storage.objects.getIamPolicy4,6
storage.objects.setIamPolicy5,6
Objects restore storage.objects.create
storage.objects.delete7
storage.objects.restore
storage.objects.getIamPolicy2,6
storage.objects.setIamPolicy6,12
Objects rewrite storage.objects.get (pour le bucket source)
storage.objects.create (pour le bucket de destination)
storage.objects.delete (pour le bucket de destination)7
storage.objects.setRetention (pour le bucket de destination)8
Objects update storage.objects.update
storage.objects.setRetention8
storage.objects.overrideUnlockedRetention9
storage.objects.getIamPolicy4,6
storage.objects.setIamPolicy5,6
Objects watchAll storage.buckets.update
Projects.hmacKeys create storage.hmacKeys.create
Projects.hmacKeys delete storage.hmacKeys.delete
Projects.hmacKeys get storage.hmacKeys.get
Projects.hmacKeys list storage.hmacKeys.list
Projects.hmacKeys update storage.hmacKeys.update
Projects.serviceAccount get resourceManager.projects.get
ReportConfigs delete storageinsights.reportConfigs.delete
ReportConfigs get storageinsights.reportConfigs.get
ReportConfigs list storageinsights.reportConfigs.list
ReportConfigs insert storageinsights.reportConfigs.create
ReportConfigs update storageinsights.reportConfigs.update
ReportDetails get storageinsights.reportDetails.get
ReportDetails list storageinsights.reportDetails.list

1 Si vous utilisez le paramètre userProject ou l'en-tête x-goog-user-project dans votre requête, vous devez disposer de l'autorisation serviceusage.services.use pour l'ID du projet que vous spécifiez, en plus des autorisations Cloud IAM normales requises pour effectuer la requête.

2 Cette autorisation n'est requise que si vous souhaitez inclure des LCA ou des stratégies IAM dans une projection full. Si vous ne disposez pas de cette autorisation et que vous demandez une projection full, vous ne recevrez qu'une projection partielle.

3 Cette autorisation n'est requise que lorsque la requête inclut le paramètre de requête enableObjectRetention.

3 Cette autorisation n'est requise que si vous souhaitez inclure des LCA dans la réponse.

5 Cette autorisation est requise si vous souhaitez inclure des LCA ou des modifications du paramètre Protection contre l'accès public dans le cadre de la requête.

6 Cette autorisation ne s'applique pas aux buckets pour lesquels l'accès uniforme au niveau du bucket est activé.

7 Cette autorisation n'est requise que si la requête entraîne l'écrasement d'un objet portant le même nom.

8 Cette autorisation est requise lorsque le corps de la requête inclut la propriété retention ou lors d'une requête UPDATE pour un objet disposant d'une configuration de conservation existante.

9 Cette autorisation n'est requise que lorsque la requête inclut le paramètre de requête overrideUnlockedRetention=true.

10 Cette autorisation n'est requise que lorsque la requête inclut le paramètre de requête allowNonEmpty=true.

11 Cette autorisation n'est requise que lorsque la requête inclut le paramètre de requête allowOverwrite=true et qu'elle entraîne l'écrasement d'un objet portant le même nom.

12 Cette autorisation n'est requise que lorsque la requête inclut le paramètre de requête copySourceAcl=true.

13 Cette autorisation n'est requise que si vous souhaitez inclure des règles de filtrage des adresses IP des buckets dans le cadre d'une projection full. Si vous ne disposez pas de cette autorisation et que vous demandez une projection full, vous ne recevrez qu'une projection partielle. Si vous souhaitez exclure les règles de filtrage des adresses IP des buckets dans votre réponse, vous pouvez demander une projection noAcl.

14 Cette autorisation n'est requise que si vous souhaitez créer, lister, supprimer et mettre à jour des règles de filtrage des adresses IP des buckets.

Méthodes associées aux LCA

Le tableau suivant répertorie les autorisations Cloud IAM requises pour exécuter des méthodes JSON qui s'appliquent spécifiquement à la gestion des LCA. Ces méthodes s'appliquent uniquement aux buckets pour lesquels l'accès uniforme au niveau du bucket est désactivé.

Ressource Méthode Autorisations IAM requises1
BucketAccessControls delete storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
BucketAccessControls get storage.buckets.get
storage.buckets.getIamPolicy
BucketAccessControls insert storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
BucketAccessControls list storage.buckets.get
storage.buckets.getIamPolicy
BucketAccessControls patch storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
BucketAccessControls update storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
DefaultObjectAccessControls delete storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
DefaultObjectAccessControls get storage.buckets.get
storage.buckets.getIamPolicy
DefaultObjectAccessControls insert storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
DefaultObjectAccessControls list storage.buckets.get
storage.buckets.getIamPolicy
DefaultObjectAccessControls patch storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
DefaultObjectAccessControls update storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
ObjectAccessControls delete storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
ObjectAccessControls get storage.objects.get
storage.objects.getIamPolicy
ObjectAccessControls insert storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
ObjectAccessControls list storage.objects.get
storage.objects.getIamPolicy
ObjectAccessControls patch storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
ObjectAccessControls update storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update

1 Si vous utilisez le paramètre userProject ou l'en-tête x-goog-user-project dans votre requête, vous devez disposer de l'autorisation serviceusage.services.use pour l'ID du projet que vous spécifiez, en plus des autorisations Cloud IAM normales requises pour effectuer la requête.

Étape suivante