Control de acceso con IAM

Las funciones de administración de identidades y accesos (IAM) prescriben cómo puedes usar la API de Secret Manager. A continuación, se incluye una lista de cada función de IAM disponible para Secret Manager y las capacidades otorgadas a esa función.

Función Permisos

Administrador de Secret Manager
(roles/secretmanager.admin)

Tiene acceso completo para administrar los recursos de Secret Manager.

Recursos de nivel más bajo en los que puedes otorgar esta función:

  • Secret
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • secretmanager.*

Usuario con acceso a secretos de Secret Manager
(roles/secretmanager.secretAccessor)

Permite acceder a la carga útil de los secretos.

Recursos de nivel más bajo en los que puedes otorgar esta función:

  • Secret
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • secretmanager.versions.access

Agregador de versiones de secretos de Secret Manager
(roles/secretmanager.secretVersionAdder)

Permite agregar versiones a los secretos existentes.

Recursos de nivel más bajo en los que puedes otorgar esta función:

  • Secret
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • secretmanager.versions.add

Administrador de versiones de secretos de Secret Manager
(roles/secretmanager.secretVersionManager)

Permite crear y administrar las versiones de los secretos existentes.

Recursos de nivel más bajo en los que puedes otorgar esta función:

  • 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

Visualizador de Secret Manager
(roles/secretmanager.viewer)

Permite ver metadatos de todos los recursos de Secret Manager.

Recursos de nivel más bajo en los que puedes otorgar esta función:

  • Secret
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • secretmanager.locations.*
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.versions.get
  • secretmanager.versions.list

Principio de menor privilegio

Cuando sigues el principio de privilegio mínimo, otorgas el nivel mínimo de acceso a los recursos necesarios para realizar una tarea determinada. Por ejemplo, si un principal necesita acceso a un solo secreto, no le otorgues acceso a otros secretos o a todos los secretos del proyecto o la organización. Si un principal solo necesita leer un secreto, no le otorgues al principal la capacidad de modificar el secreto.

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

En esta tabla, se muestran las capacidades efectivas de una cuenta de servicio, según el nivel de la jerarquía de recursos en la que se otorga la función de descriptor de acceso a secretos de Secret Manager (roles/secretmanager.secretAccessor).

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

Si una principal solo necesita acceder al valor de un solo secreto, no le otorgues al principal la capacidad de acceder a todos los secretos. Por ejemplo, puedes otorgar a una cuenta de servicio la función de descriptor de acceso a secretos de Secret Manager (roles/secretmanager.secretAccessor) en un solo secreto.

Si un principal solo necesita administrar un único secreto, no otorgues a ese principal la capacidad de administrar todos los secretos. Por ejemplo, puedes otorgar la función de administrador de secretos (roles/secretmanager.admin) a una cuenta de servicio en un solo secreto.

Condiciones de IAM

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

En Secret Manager, puedes aplicar el acceso condicional según los siguientes atributos:

  • Atributos de fecha y hora: Se usa para configurar el acceso programado, con vencimiento o de duración limitada en los recursos de Secret Manager. Por ejemplo, puedes permitir que un usuario acceda a un secreto hasta una fecha específica.
  • Atributos de recursos: Se usa para configurar el acceso condicional según el nombre, el tipo o los atributos del servicio de recursos. En Secret Manager, puedes usar atributos de secretos y versiones de secretos para configurar el acceso condicional. Por ejemplo, puedes permitir que un usuario administre versiones de secretos solo en secretos que comienzan con un prefijo específico o que puede acceder a una versión del secreto específica.

Para obtener más información sobre las Condiciones de IAM, consulta Descripción general de las Condiciones.

Próximos pasos