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.

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 écraser. resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.create
Lecteur des objets de l'espace de stockage (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.get
resourcemanager.projects.list
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). resourcemanager.projects.get
resourcemanager.projects.list
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. 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 individuel, le contrôle ne concerne que le bucket spécifié et les objets qu'il contient.

firebase.projects.get
resourcemanager.projects.get
resourcemanager.projects.list
storage.buckets.*
storage.objects.*

Rôles primitifs

Les rôles primitifs sont des rôles qui existaient avant IAM. Ces rôles ont des caractéristiques uniques :

  • Les rôles primitifs ne peuvent être octroyé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 primitifs s'appliquent à tous les buckets et objets du projet.

  • Les rôles primitifs 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 octroyées par les rôles primitifs, consultez la section Rôles primitifs.

  • Dans certains cas, les rôles primitifs peuvent être utilisés comme des groupes, ce qui permet à tout membre doté du rôle primitif d'obtenir un accès supplémentaire pour certaines ressources.

    • Un rôle primitif peut être utilisé comme s'il s'agissait d'un groupe lors de l'attribution de rôles pour des buckets.

    • Un rôle primitif peut être utilisé comme s'il s'agissait d'un groupe lors de la définition de LCA pour des objets.

    Pour en savoir plus sur l'accès supplémentaire que les membres de rôles primitifs obtiennent généralement en raison de ce comportement, 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 primitif.

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 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.

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

storage.buckets.create
storage.buckets.delete
storage.buckets.list
storage.hmacKeys.*

Comportement modifiable

Les membres dotés d'un rôle primitif disposent souvent d'un accès supplémentaire allant au-delà des autorisations intrinsèques associées au rôle primitif. En effet, les rôles primitifs peuvent eux-mêmes être assortis d'un accès aux buckets et aux objets. Le tableau suivant décrit l'accès à Cloud Storage supplémentaire généralement associé à chaque rôle primitif. Vous pouvez modifier ou supprimer cet accès supplémentaire accordé aux rôles primitifs.

Rôle Accès supplémentaire obtenu par les membres disposant du rôle
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
Rédacteur des anciens buckets Storage (roles/storage.legacyBucketWriter) Octroie l'autorisation de créer, d'écraser 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
Propriétaire des anciens buckets Storage (roles/storage.legacyBucketOwner) Octroie l'autorisation de créer, d'écraser 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 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.update
storage.buckets.setIamPolicy
storage.buckets.getIamPolicy
storage.objects.list
storage.objects.create
storage.objects.delete

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.

Étapes suivantes