Rôles IAM pour Cloud Storage

Rôles prédéfinis

Le tableau suivant décrit les rôles Cloud Identity and Access Management (Cloud IAM) associés à Cloud Storage et répertorie les autorisations comprises dans chacun d'entre eux. Sauf indication contraire, ces rôles peuvent être appliqués à des projets, des buckets ou des dossiers gérés.

Pour apprendre à contrôler l'accès aux buckets, consultez la page Utiliser les autorisations IAM. Pour savoir comment contrôler l'accès aux dossiers gérés, consultez la page Utiliser IAM pour les dossiers gérés.

Rôle Description Autorisations
Créateur des objets de l'espace de stockage (roles/storage.objectCreator) Permet aux utilisateurs de créer des objets, des dossiers et des dossiers gérés. mais pas de les afficher, de les supprimer ni de les remplacer. Ce rôle ne permet pas d'obtenir des listes de contrôle d'accès (LCA) d'objets ni de les définir dans le cadre d'une requête de mise à jour d'objet. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.create
storage.folders.create
storage.managedFolders.create
storage.multipartUploads.create
storage.multipartUploads.abort
storage.multipartUploads.listParts
Lecteur des objets Storage (roles/storage.objectViewer) Permet d'afficher les objets et leurs métadonnées, à l'exclusion des listes de contrôle d'accès.

Permet également de répertorier les objets, les dossiers et les dossiers gérés d'un bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.get
storage.folders.list
storage.managedFolders.get
storage.managedFolders.list
storage.objects.get
storage.objects.list
Utilisateur d'objets Storage (roles/storage.objectUser) Permet de créer, d'afficher, de lister, de mettre à jour et de supprimer des objets, des dossiers et des dossiers gérés, ainsi que leurs métadonnées. Ce rôle ne permet pas d'obtenir ni de définir des LCA ou des stratégies IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.list
storage.managedFolders.get
storage.multipartUploads.*
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.restore
storage.objects.update
Administrateur des objets de l'espace de stockage (roles/storage.objectAdmin) Accorde un contrôle complet sur les objets et les dossiers, y compris répertorier, créer, afficher, renommer et supprimer des objets et des dossiers et définir des LCA d'objets. Permet également de créer, supprimer, obtenir et répertorier des dossiers gérés. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.objects.*
storage.multipartUploads.*
Administrateur de dossier Storage (roles/storage.folderAdmin) Offre un contrôle complet sur les objets, les dossiers et les dossiers gérés y compris répertorier, créer, afficher, supprimer et gérer les autorisations IAM. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.folders.*
storage.managedFolders.*
storage.multipartUploads.*
storage.objects.*
Administrateur de clés HMAC pour le stockage (roles/storage.hmacKeyAdmin) Octroie le contrôle total des clés HMAC d'un projet. Ce rôle ne peut être appliqué qu'à un projet. orgpolicy.policy.get1
storage.hmacKeys.*
Administrateur de l'espace de stockage (roles/storage.admin) Offre un contrôle complet sur les buckets, les dossiers, les dossiers gérés et les objets, y compris sur l'obtention et la définition de LCA d'objets ou de stratégies IAM. Accorde également un contrôle complet sur les opérations de longue durée.

Lorsque ce rôle est appliqué à un bucket individuel, le contrôle ne concerne que le bucket spécifié, ainsi que les dossiers, objets et opérations de longue durée gérés qu'il contient.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
storage.bucketOperations.*
storage.folders.*
storage.managedFolders.*
storage.objects.*
storage.multipartUploads.*
Administrateur Storage Insights (roles/storageinsights.admin) Accorde le contrôle total des rapports et des configurations d'inventaire Storage Insights. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.*
storageinsights.reportDetails.*
Lecteur Storage Insights (roles/storageinsights.viewer) Accorde un accès en lecture seule aux rapports et aux configurations d'inventaire Storage Insights. cloudresourcemanager.projects.get
cloudresourcemanager.projects.list
storageinsights.reportConfigs.list
storageinsights.reportConfigs.get
storageinsights.reportDetails.list
storageinsights.reportDetails.get
Service du collecteur de Storage Insights (roles/storage.insightsCollectorService) Accorde un accès en lecture aux métadonnées d'objets dans les rapports d'inventaire. resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.getObjectInsights
storage.buckets.get

1 L'autorisation orgpolicy.policy.get permet aux comptes principaux de connaître les contraintes de règles d'administration auxquelles un projet est soumis. Cette autorisation n'est actuellement effective que si le rôle est accordé au niveau du projet ou à un niveau supérieur.

2 Pour en savoir plus sur les autorisations resourcemanager.projects.*, consultez la page Contrôle des accès aux projets avec IAM.

Rôles de base

Les rôles de base existaient avant IAM. Ces rôles ont des caractéristiques uniques :

  • Les rôles de base ne peuvent être accordés que pour un projet entier, et non pour certains buckets du projet. Comme les autres rôles que vous accordez pour un projet, les rôles de base s'appliquent à tous les buckets et objets du projet.

  • Les rôles de base contiennent des autorisations supplémentaires pour d'autres services Google Cloud, qui ne sont pas traités dans cette section. Pour en savoir plus sur les autorisations accordées par les rôles de base, consultez la section Rôles de base.

  • Chaque rôle de base possède une valeur d'usage qui vous permet d'utiliser le rôle de base comme s'il s'agissait d'un groupe. Lorsqu'il est utilisé de cette manière, toute entité principale disposant du rôle de base est considérée comme faisant partie du groupe. Tous les membres du groupe obtiennent un accès supplémentaire aux ressources en fonction du niveau d'accès dont ils disposent.

    • Les valeurs pratiques peuvent être utilisées lors de l'attribution de rôles pour des buckets.

    • Les valeurs d'usage peuvent être utilisées lors de la définition de LCA sur des objets.

  • Les rôles de base n'accordent pas naturellement un accès aux ressources Cloud Storage, comme leurs noms peuvent suggérer. À la place, ils fournissent une partie de l'accès attendu de manière intrinsèque, et le reste de l'accès attendu, à l'aide de valeurs d'usage. Étant donné que les valeurs d'usage peuvent être ajoutées manuellement ou supprimées comme n'importe quel autre entité principale IAM, il est possible de révoquer l'accès que les entités principales pourraient autrement s'attendre à avoir.

    Pour en savoir plus sur l'accès supplémentaire que les entités principales bénéficiant de rôles de base obtiennent généralement en raison de ces valeurs d'usage, consultez la section Comportement modifiable.

Autorisations intrinsèques

Le tableau suivant décrit les autorisations Cloud Storage qui sont toujours associées à chaque rôle de base.

Rôle Description Autorisations Cloud Storage
Lecteur (roles/viewer) Octroie l'autorisation de répertorier les buckets du projet, d'afficher leurs métadonnées lors de la création d'une liste (à l'exclusion des LCA), ainsi que de répertorier et d'obtenir les clés HMAC du projet. storage.buckets.list
storage.hmacKeys.get
storage.hmacKeys.list
Éditeur (roles/editor) Octroie l'autorisation de créer, de répertorier et de supprimer des buckets dans le projet, d'afficher leurs métadonnées lors de la création d'une liste (à l'exclusion des LCA), ainsi que de contrôler les clés HMAC du projet. storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*
Propriétaire (roles/owner)

Octroie l'autorisation de créer, de répertorier et de supprimer des buckets dans le projet, d'afficher les métadonnées des buckets lors de la création d'une liste (à l'exclusion des LCA), de créer, supprimer et répertorier des liaisons de tags, et de contrôler les clés HMAC du projet.

Plus généralement, dans Google Cloud, les entités principales dotées de ce rôle peuvent effectuer des tâches administratives, telles que la modification des rôles des entités principales pour le projet ou la modification de la facturation.

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.hmacKeys.*

Comportement modifiable

Les comptes principaux avec des rôles de base disposent souvent d'un accès supplémentaire aux buckets et aux objets d'un projet en raison des valeurs d'usage. Lors de la création d'un bucket, des valeurs d'usage sont accordées à certains buckets. Toutefois, vous pouvez modifier vos stratégies IAM de bucket et vos LCA d'objet pour supprimer ou modifier l'accès.

Lorsque vous créez un bucket pour lequel l'accès uniforme au niveau du bucket est activé, l'accès suivant est accordé via des valeurs d'usage :

  • Les comptes principaux ayant le rôle roles/viewer obtiennent les rôles roles/storage.legacyBucketReader et roles/storage.legacyObjectReader pour le bucket.

  • Les comptes principaux ayant le rôle roles/editor obtiennent les rôles roles/storage.legacyBucketOwner et roles/storage.legacyObjectOwner pour le bucket

  • Les comptes principaux ayant le rôle roles/owner obtiennent les rôles roles/storage.legacyBucketOwner et roles/storage.legacyObjectOwner pour le bucket.

Lorsque vous créez un bucket pour lequel l'accès uniforme au niveau du bucket n'est pas activé, l'accès suivant est accordé à l'aide des valeurs d'usage :

  • Les comptes principaux ayant le rôle roles/viewer obtiennent le rôle roles/storage.legacyBucketReader pour le bucket.

  • Les comptes principaux ayant le rôle roles/editor obtiennent le rôle roles/storage.legacyBucketOwner pour le bucket.

  • Les comptes principaux ayant le rôle roles/owner obtiennent le rôle roles/storage.legacyBucketOwner pour le bucket.

  • De plus, le bucket dispose d'une Liste de contrôle d'accès (LCA) d'objet par défaut. Cette LCA par défaut est souvent appliquée aux nouveaux objets du bucket et accorde souvent un accès supplémentaire aux valeurs d'usage.

Anciens rôles prédéfinis

Le tableau suivant répertorie les rôles IAM équivalant aux autorisations LCA (Liste de contrôle d'accès). Vous ne pouvez octroyer des anciens rôles que pour certains buckets, et non pour des projets.

Rôle Description Autorisations
Lecteur des anciens objets de l'espace de stockage (roles/storage.legacyObjectReader) Octroie l'autorisation d'afficher des objets et leurs métadonnées, à l'exclusion des LCA. storage.objects.get
Propriétaire des anciens objets de l'espace de stockage (roles/storage.legacyObjectOwner) Octroie l'autorisation d'afficher et de modifier des objets et leurs métadonnées, y compris les LCA. storage.objects.get
storage.objects.update
storage.objects.setRetention
storage.objects.overrideUnlockedRetention
storage.objects.setIamPolicy
storage.objects.getIamPolicy
Lecteur des anciens buckets Storage (roles/storage.legacyBucketReader) Octroie l'autorisation de répertorier le contenu d'un bucket et de lire ses métadonnées, à l'exclusion des stratégies IAM. Permet également de lire les métadonnées des objets lors de la création d'une liste des objets et des dossiers gérés (à l'exclusion des stratégies IAM).

L'utilisation de ce rôle est également reflétée dans les LCA du bucket. Pour en savoir plus, consultez la section sur le lien entre Cloud IAM et les LCA.

storage.buckets.get
storage.objects.list
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.list
Rédacteur des anciens buckets Storage (roles/storage.legacyBucketWriter) Accorde l'autorisation de créer, remplacer, lister et supprimer des objets et des dossiers gérés ; de créer des objets ayant une configuration de conservation ; de lire les métadonnées des objets et des dossiers gérés lors de la création des listes (à l'exclusion des stratégies IAM) ; et de lire les métadonnées des buckets, à l'exclusion des stratégies IAM.

L'utilisation de ce rôle est également reflétée dans les LCA du bucket. Pour en savoir plus, consultez la section sur le lien entre Cloud IAM et les LCA.

storage.buckets.get
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.managedFolders.create
storage.managedFolders.delete
storage.managedFolders.get
storage.managedFolders.list
storage.multipartUploads.*
Propriétaire des anciens buckets Storage (roles/storage.legacyBucketOwner) Octroie l'autorisation de créer, de remplacer, de répertorier et de supprimer des objets et des dossiers gérés ; de créer des objets ayant une configuration de conservation ; de créer, supprimer et répertorier des liaisons de tags ; de lire les métadonnées des objets lors de la création d'une liste (à l'exclusion des stratégies IAM) ; de lire les métadonnées des dossiers gérés lors de la création d'une liste (y compris les stratégies IAM) ; de lire et modifier les métadonnées des buckets (y compris les stratégies IAM) ; et de gérer les opérations de longue durée.

L'utilisation de ce rôle est également reflétée dans les LCA du bucket. Pour en savoir plus, consultez la section sur le lien entre Cloud IAM et les LCA.

storage.buckets.get
storage.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.buckets.update
storage.buckets.enableObjectRetention
storage.buckets.restore
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.bucketOperations.*
storage.managedFolders.*
storage.objects.list
storage.objects.create
storage.objects.delete
storage.objects.restore
storage.objects.setRetention
storage.multipartUploads.*

Rôles personnalisés

Vous pouvez définir vos propres rôles. Ils regroupent les autorisations que vous spécifiez. Pour ce faire, IAM propose des rôles personnalisés.

Étape suivante