Una versión del secreto contiene los datos del secreto real, junto con el estado y los metadatos del secreto. En este tema, se describe cómo administrar las versiones de un secreto.
Antes de comenzar
Configura Secret Manager y tu entorno local una vez por proyecto.
Estados de versión del secreto
Una versión del secreto puede estar en uno de los siguientes estados en cualquier momento:
Habilitada: En este estado, se puede acceder y describir la versión del secreto. Este es el estado predeterminado de una nueva versión del secreto.
Inhabilitada: En este estado, no se puede acceder a la versión del secreto, pero su contenido aún existe. La versión del secreto se puede volver a habilitar para restablecer el acceso.
Destruida: En este estado, se descarta el contenido de la versión del Secret. La versión del secreto no se puede cambiar a otro estado.
Obtén detalles sobre una versión del Secret
En estos ejemplos, se muestra cómo obtener detalles sobre una versión del secreto, excepto los datos sensibles de la versión del secreto, mediante la visualización de sus metadatos.
Para ver los metadatos de una versión del secreto, se requiere la función de visualizador de secretos (roles/secretmanager.viewer
) en el secreto, el proyecto, la carpeta o la organización.
Las funciones de IAM no se pueden otorgar en una versión del Secret.
Consola
-
Ve a la página Administrador de secretos en Google Cloud Console.
-
En la página de Secret Manager, haz clic en el Nombre de un secreto.
-
En la página Detalles del secreto, en la tabla Versiones, ubica la versión del secreto que deseas obtener.
-
Busca el ID de la versión en la tabla y lee sus metadatos.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets versions describe version-id --secret="secret-id"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Enumera las versiones de un secreto
En la lista de versiones de secretos, se muestran todas las versiones asociadas con el secreto y el estado de cada una, ya sea que estén habilitadas, inhabilitadas o destruidas.
Para mostrar una lista de versiones de secretos, se requiere la función de visualizador de secretos (roles/secretmanager.viewer
) en el secreto, el proyecto, la carpeta o la organización.
Las funciones de IAM no se pueden otorgar en una versión del Secret.
Consola
-
Ve a la página Administrador de secretos en Google Cloud Console.
-
En la página de Secret Manager, haz clic en el Nombre de un secreto.
-
En la página Detalles del secreto, se muestra la lista de versiones en la tabla Versiones.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets versions list secret-id
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Inhabilita una versión del Secret
Cuando inhabilitas una versión del secreto, no se puede acceder a ella. La inhabilitación de un secreto es reversible.
Para inhabilitar una versión del secreto, se requiere la función de administrador de secretos (roles/secretmanager.admin
) en el secreto, el proyecto, la carpeta o la organización.
Las funciones de IAM no se pueden otorgar en una versión del Secret.
Consola
-
Ve a la página Administrador de secretos en Google Cloud Console.
-
En la página de Secret Manager, haz clic en el Nombre de un secreto.
-
En la página Detalles del secreto, en la tabla Versiones, busca una versión de secreto que deseas acceder.
-
En la columna Acciones, haz clic en Ver más
. -
Haz clic en Inhabilitar en el menú.
-
En el cuadro de diálogo Inhabilitar versión de secreto, haz clic en el botón Inhabilitar versiones seleccionadas.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets versions disable version-id --secret="secret-id"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id?updateMask=state" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"state\": \"DISABLED\"}"
Habilita una versión del Secret
Cuando habilitas un secreto inhabilitado, puedes volver a acceder a él.
Para habilitar una versión del secreto, se requiere la función de administrador de secretos (roles/secretmanager.admin
) en el secreto, el proyecto, la carpeta o la organización.
Las funciones de IAM no se pueden otorgar en una versión del Secret.
Consola
-
Ve a la página Administrador de secretos en Google Cloud Console.
-
En la página de Secret Manager, haz clic en el Nombre de un secreto.
-
En la página Detalles del secreto, en la tabla Versiones, busca una versión de secreto que deseas acceder.
-
En la columna Acciones, haz clic en Ver más
. -
Haz clic en Habilitar en el menú.
-
En el cuadro de diálogo Habilitar versión secreta, haz clic en el botón Habilitar versiones seleccionadas.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets versions enable version-id --secret="secret-id"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id?updateMask=state" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"state\": \"ENABLED\"}"
Destruir una versión del secreto
Si destruyes una versión del secreto, no podrás acceder a ella. La destrucción de una versión del secreto es permanente. Antes de destruir una versión del secreto, intenta inhabilitarla y observar el comportamiento de tu aplicación. Puedes volver a habilitar la versión del secreto si encuentras problemas inesperados.
Cuando inhabilitas o destruyes un secreto o una versión de secreto, el cambio tarda en propagarse a través del sistema. Si es necesario, puedes revocar el acceso de IAM al secreto. Los cambios en los permisos de IAM son coherentes en segundos.
Para destruir una versión del secreto, se requiere la función de administrador de secretos (roles/secretmanager.admin
) en el secreto, el proyecto, la carpeta o la organización.
Las funciones de IAM no se pueden otorgar en una versión del Secret.
Consola
-
Ve a la página Administrador de secretos en Google Cloud Console.
-
En la página de Secret Manager, haz clic en el Nombre de un secreto.
-
En la página Detalles del secreto, en la tabla Versiones, busca una versión de secreto que deseas acceder.
-
En la columna Acciones, haz clic en Ver más
. -
Haz clic en Destruir en el menú.
-
En el diálogo Destroy secret version, ingresa el nombre del secreto.
-
Haz clic en el botón Destruir las versiones seleccionadas.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets versions destroy version-id --secret="secret-id"
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:destroy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Asigna un alias a una versión del Secret
Puedes asignar alias a versiones de Secret para acceder más fácilmente.
Para asignar un alias a una versión del secreto, actualiza el campo “version_aliases” en el secreto. Reemplaza key por el alias de la versión y value por el número de versión del secreto. Una vez que se asigna un alias, puedes acceder a las versiones de los secretos con sus alias de la misma manera en la que puedes acceder a las versiones de los secretos mediante sus números de versión.
gcloud CLI
Para usar Secret Manager en la línea de comandos, primero debes instalar o actualizar a la versión 378.0.0 o una posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ gcloud secrets update secret-id \
--update-version-aliases=key=value
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go e instala el SDK de Go para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java e instala el SDK de Java para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js e instala el SDK de Node.js para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
PHP
Para ejecutar este código, primero obtén información a fin de usar PHP en Google Cloud e instala el SDK de PHP para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python e instala el SDK de Python para Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby e instala el SDK de Ruby de Secret Manager. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
API
En estos ejemplos, se usa curl para demostrar el uso de la API. Puedes generar tokens de acceso con gcloud auth print-access-token. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id?updateMask=version_aliases" \
--request "PATCH" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{'version-aliases': {'key': 'value'}}"
Próximos pasos
- Obtén más información para administrar secretos.
- Obtén más información para administrar accesos a secretos.
- Obtén más información para crear secretos y acceder a ellos.