Control de acceso con la gestión de identidades y accesos

En esta página se describen los roles de Gestión de Identidades y Accesos (IAM) que puedes usar para configurar Secret Manager. Los roles limitan la capacidad de una entidad principal para acceder a los recursos. Concede siempre el conjunto mínimo de permisos necesarios para realizar una tarea determinada.

Roles de Secret Manager

A continuación se indican los roles de gestión de identidades y accesos asociados a Secret Manager. Para saber cómo conceder, cambiar o revocar el acceso a los recursos mediante roles de gestión de identidades y accesos, consulta Conceder, cambiar y revocar el acceso a los recursos.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

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

Principio de mínimos accesos

Si sigues el principio de privilegio mínimo, concederás el nivel mínimo de acceso a los recursos necesarios para llevar a cabo una tarea determinada. Por ejemplo, si una entidad necesita acceder a un solo secreto, no le concedas acceso a otros secretos ni a todos los secretos del proyecto o de la organización. Si una entidad de seguridad solo necesita leer un secreto, no le concedas la capacidad de modificarlo.

Puedes usar IAM para conceder roles y permisos de IAM a nivel de Google Cloud secreto, proyecto, carpeta u organización. Aplica siempre los permisos en el nivel más bajo de la jerarquía de recursos.

En la siguiente tabla se muestran las funciones efectivas de una cuenta de servicio en función del nivel de la jerarquía de recursos en el que se le haya concedido el rol Permiso para acceder a los recursos de Secret Manager (roles/secretmanager.secretAccessor).

Jerarquía de recursos Competencia
Secret Acceder solo a ese secreto
Proyecto Acceder a todos los secretos del proyecto
Carpeta Acceder a todos los secretos de todos los proyectos de la carpeta
Organización Acceder a todos los secretos de todos los proyectos de la organización

El rol roles/owner incluye el permiso `secretmanager.versions.access`, pero los roles roles/editor y roles/viewer no.

Si una entidad de seguridad solo necesita acceder al valor de un secreto, no le concedas la capacidad de acceder a todos los secretos. Por ejemplo, puedes conceder a una cuenta de servicio el rol Permiso para acceder a los recursos de Secret Manager (roles/secretmanager.secretAccessor) en un solo secreto.

Si una entidad principal solo necesita gestionar un secreto, no le concedas la capacidad de gestionar todos los secretos. Por ejemplo, puedes asignar a una cuenta de servicio el rol Administrador de Secret Manager (roles/secretmanager.admin) en un solo secreto.

Condiciones de gestión de identidades y accesos

Condiciones de IAM te permiten definir y aplicar el control de acceso condicional basado en atributos para algunos Google Cloud recursos, incluidos los recursos de Secret Manager.

En Secret Manager, puedes aplicar el acceso condicional en función de los siguientes atributos:

  • Atributos de fecha y hora: Se usan para definir el acceso a los recursos de Secret Manager con fecha de vencimiento, programado o de duración limitada. Por ejemplo, puedes permitir que un usuario acceda a un secreto hasta una fecha concreta.
  • Atributos de recursos: se usan para configurar el acceso condicional en función del nombre, el tipo o los atributos de servicio de un recurso. En Secret Manager, puedes usar atributos de secretos y versiones de secretos para configurar el acceso condicional. Por ejemplo, puedes permitir que un usuario gestione versiones de secretos solo en los secretos que empiecen por un prefijo específico o que acceda únicamente a una versión de un secreto concreto.

Para obtener más información sobre las condiciones de gestión de identidades y accesos, consulta la descripción general de las condiciones.

Siguientes pasos