Contrôle des accès avec IAM

Ce document décrit les options de contrôle des accès disponibles dans Secret Manager.

Attribuer des rôles IAM

Secret Manager utilise Identity and Access Management (IAM) pour le contrôle des accès. Pour créer, gérer ou répertorier un secret ou y accéder, vous devez accorder les autorisations IAM appropriées au niveau du projet et des ressources individuelles. Vous pouvez attribuer un ou plusieurs rôles prédéfinis, ou créer et attribuer des rôles personnalisés. Les rôles IAM ne peuvent pas être accordés sur une version de secret.

Pour ajouter un rôle, procédez comme suit :

  1. Accédez à la page IAM de la console Google Cloud.

    Accéder à IAM

  2. Cliquez sur la liste Sélecteur de projet en haut de la page.

  3. Dans la boîte de dialogue Sélectionner qui s'affiche, sélectionnez l'organisation pour laquelle vous souhaitez activer Secret Manager.

  4. Sur la page IAM, à côté de votre nom d'utilisateur, cliquez sur Modifier.

  5. Dans le panneau Modifier les autorisations qui s'affiche, ajoutez les rôles nécessaires.

    1. Cliquez sur Ajouter un autre rôle. Sélectionnez un rôle à ajouter, tel qu'Accesseur de secrets Secret Manager.

    2. Pour ajouter d'autres rôles, répétez l'étape précédente. Cliquez sur Enregistrer.

Les rôles de gestion de l'authentification et des accès (IAM) indiquent comment utiliser l'API Secret Manager. Le tableau suivant répertorie les rôles IAM disponibles pour Secret Manager et les fonctionnalités qui leur sont accordées.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

Principe de moindre privilège

Lorsque vous suivez le principe du moindre privilège, vous accordez le niveau minimal d'accès aux ressources nécessaire pour effectuer une tâche donnée. Par exemple, si un compte principal a besoin d'accéder à un seul secret, ne lui accordez pas l'accès à d'autres secrets ou à tous les secrets du projet ou de l'organisation. Si un compte principal a uniquement besoin de lire un secret, ne lui accordez pas la possibilité de le modifier.

Utilisez IAM pour accorder des rôles et des autorisations IAM au niveau du secret, du projet, du dossier ou de l'organisation Google Cloud. Accordez toujours les autorisations au niveau le plus bas de la hiérarchie des ressources.

Le tableau suivant présente les fonctionnalités effectives d'un compte de service, en fonction du niveau de la hiérarchie des ressources auquel le rôle d'accesseur de secrets Secret Manager (roles/secretmanager.secretAccessor) est attribué.

Hiérarchie des ressources Capacité
Secret Accéder uniquement à ce secret
Projet Accéder à tous les secrets du projet
Dossier Accéder à tous les secrets de tous les projets du dossier
Organisation Accéder à tous les secrets de tous les projets de l'organisation

Si un compte principal a uniquement besoin d'accéder à la valeur d'un seul secret, ne lui accordez pas la possibilité d'accéder à tous les secrets. Par exemple, vous pouvez attribuer le rôle "Accesseur de secrets" de Secret Manager (roles/secretmanager.secretAccessor) à un compte de service sur un seul secret.

Si un compte principal ne doit gérer qu'un seul secret, ne lui accordez pas la possibilité de gérer tous les secrets. Par exemple, vous pouvez attribuer à un compte de service le rôle d'administrateur Secret Manager (roles/secretmanager.admin) sur un seul secret.

Conditions IAM

Les conditions IAM vous permettent de définir et d'appliquer un contrôle d'accès conditionnel basé sur des attributs à certaines ressources Google Cloud, y compris des ressources Secret Manager.

Dans Secret Manager, vous pouvez appliquer un accès conditionnel en fonction des attributs suivants :

  • Attributs de date/heure : permettent de définir un accès pouvant expirer, planifié ou à durée limitée aux ressources Secret Manager. Par exemple, vous pouvez autoriser un utilisateur à accéder à un secret jusqu'à une date donnée.
  • Attributs de ressource : permet de configurer un accès conditionnel en fonction du nom d'une ressource, d'un type de ressource ou des attributs de service d'une ressource. Dans Secret Manager, vous pouvez utiliser les attributs d'un secret et des versions d'un secret pour configurer un accès conditionnel. Par exemple, vous pouvez autoriser un utilisateur à gérer les versions des secrets uniquement pour les secrets commençant par un préfixe spécifique, ou lui permettre d'accéder uniquement à une version spécifique.

Pour en savoir plus sur les conditions IAM, consultez la page Présentation des conditions.

Étapes suivantes