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 entiers ou à des buckets spécifiques.

Pour savoir comment contrôler l'accès aux buckets et aux objets, consultez la page Utiliser des autorisations IAM.

Rôle Description Autorisations
Créateur des objets de l'espace de stockage (roles/storage.objectCreator) Permet aux utilisateurs de créer des objets, mais pas de les afficher, de les supprimer ni de les remplacer. orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.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.

Peut aussi répertorier les objets d'un bucket.

resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.get
storage.objects.list
Administrateur des objets de l'espace de stockage (roles/storage.objectAdmin) Offre un contrôle complet sur les objets (répertorier, créer, afficher et supprimer des objets). orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.objects.*
storage.multipartUploads.*
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) Octroie le contrôle total des buckets et des objets.

Lorsque ce rôle est appliqué à un bucket spécifique, le contrôle ne concerne que le bucket spécifié et les objets qu'il contient.

firebase.projects.get
orgpolicy.policy.get1
resourcemanager.projects.get2
resourcemanager.projects.list2
storage.buckets.*
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

Le tableau suivant décrit l'accès à Cloud Storage supplémentaire généralement associé à chaque rôle de base en raison de valeurs d'usage. Cet accès supplémentaire est accordé au moment de la création du bucket, mais vous pouvez ultérieurement modifier vos stratégies IAM de bucket et vos LCA d'objets pour les supprimer ou les modifier.

Rôle Accès supplémentaire obtenu en raison de valeurs d'usage
Lecteur (roles/viewer)
Éditeur (roles/editor)
Propriétaire (roles/owner)

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.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 (à 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.multipartUploads.list
Rédacteur des anciens buckets Storage (roles/storage.legacyBucketWriter) Octroie l'autorisation de créer, de remplacer et de supprimer des objets, de répertorier les objets d'un bucket et de lire les métadonnées des objets lors de la création d'une liste (à l'exclusion des stratégies IAM). Ce rôle permet également de lire les métadonnées d'un bucket (à 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.multipartUploads.*
Propriétaire des anciens buckets Storage (roles/storage.legacyBucketOwner) Octroie l'autorisation de créer, de remplacer et de supprimer des objets ; de répertorier les objets d'un bucket ; de créer, de supprimer et de répertorier des liaisons de tags ; de lire les métadonnées d'objet lorsque vous les répertoriez (à l'exclusion des stratégies IAM) ; ainsi que de lire et de modifier les métadonnées d'un bucket, y compris les 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.buckets.createTagBinding
storage.buckets.deleteTagBinding
storage.buckets.listEffectiveTags
storage.buckets.listTagBindings
storage.buckets.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete
storage.multipartUploads.*

Rôles personnalisés

Vous pouvez définir vos propres rôles et y associer plusieurs autorisations. Pour ce faire, utilisez les rôles personnalisés dans IAM.

Étape suivante