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 remplacer. resourcemanager.projects.get
resourcemanager.projects.list
storage.objects.create
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.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 spécifique, 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 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, tout membre disposant du rôle de base est considéré 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 membre IAM, il est possible de révoquer l'accès que les membres pourraient autrement s'attendre à avoir.

    Pour en savoir plus sur l'accès supplémentaire que les membres 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 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

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

Étape suivante