En este tema, se describe cómo acceder a una versión del Secret. Accede a una versión del Secret
Devuelve el contenido y los metadatos adicionales del Secret
versión. Cuando accedes a una versión del secreto, especificas su version-id
o alias si se asignó. También puedes acceder a la última versión de un
especificando "latest"
como la versión.
Roles obligatorios
Si quieres obtener los permisos que necesitas para acceder a una versión del secreto,
solicita a tu administrador que te otorgue el
Rol de IAM de Administrador de acceso a secretos de Secret Manager (roles/secretmanager.secretAccessor
) en un secreto.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Accede a una versión del Secret
Console
-
Ve a la página Secret Manager en la consola de Google Cloud.
-
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 Ver valor del secreto en el menú.
-
Verás un cuadro de diálogo que muestra el valor de la versión del secreto. Haz clic en Listo para terminar.
gcloud
Para usar Secret Manager en la línea de comandos, primero Instala o actualiza a la versión 378.0.0 o posterior de Google Cloud CLI. En Compute Engine o GKE, debes autenticarte con el permiso cloud-platform.
Accede a la versión de un secreto:
$ gcloud secrets versions access version-id --secret="secret-id"
Accede a una versión del secreto binario:
Para escribir bytes sin procesar en un archivo, usa la marca --out-file:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Para obtener los bytes sin procesar, haz que el SDK de Cloud imprima la respuesta con codificación base64 y la decodifique:
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
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:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
La respuesta payload.data
es el contenido codificado en base64 de la versión del secreto. A continuación, se muestra un ejemplo de extracción del secreto con la herramienta de jq
:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
| jq -r ".payload.data" | base64 --decode
Coherencia del recurso
En Secret Manager, agregar una versión del Secret y acceder a ella de inmediato de un Secret por número de versión es una operación de coherencia sólida.
Otras operaciones dentro de Secret Manager tienen coherencia eventual. Las operaciones de coherencia eventual suelen converger en minutos, pero pueden tardar unas horas.
La propagación de los permisos de IAM tiene coherencia eventual. Esto significa que otorgar o revocar el acceso a los secretos puede no tener efecto de inmediato. Para ver más información, consulta Propagación de cambios de acceso.
¿Qué sigue?
- Obtén más información sobre cómo asignar un alias a una versión del secreto.
- Obtén más información para inhabilitar una versión del secreto.
- Obtén más información para destruir una versión del secreto.