En esta página, se describe cómo recuperar una lista de todas las versiones diferentes de un secreto que se crearon con el tiempo y ver los metadatos de una versión específica del secreto.
Roles obligatorios
Para obtener los permisos que necesitas para enumerar las versiones de secretos y ver sus detalles, pídele a tu administrador que te otorgue el rol de IAM de Visualizador de Secret Manager (roles/secretmanager.viewer
) en el secreto, el proyecto, la carpeta o la organización.
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.
Genera una lista de las versiones de un secreto
Enumerar las versiones de un secreto es útil de las siguientes maneras:
-
Puedes ver cómo cambió un secreto con el tiempo, quién realizó los cambios y cuándo. Esto es obligatorio para la auditoría y el cumplimiento.
-
Puedes revertir a una versión anterior conocida como buena si un secreto se actualiza o se vulnera accidentalmente.
-
Puedes identificar las versiones que ya no están en uso y que se pueden borrar de forma segura.
-
Puedes solucionar problemas. Por ejemplo, si una aplicación tiene problemas, puedes examinar las versiones anteriores de un secreto para ver si un cambio en él es la causa.
Para enumerar todas las versiones de un secreto, usa uno de los siguientes métodos:
Console
-
Ve a la página de Secret Manager en la consola de Google Cloud.
-
En la página de Secret Manager, haz clic en la pestaña Secretos regionales.
-
Haz clic en un Secret para acceder a sus versiones.
Las versiones que pertenecen al secreto se muestran en la tabla Versiones.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- SECRET_ID: El ID del secreto o el identificador completamente calificado del secreto.
- LOCATION: La ubicación de Google Cloud del secreto
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets versions list SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions list SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions list SECRET_ID --location=LOCATION
La respuesta contiene el Secret.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de Google Cloud del secreto
- PROJECT_ID: El ID del proyecto de Google Cloud
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
Método HTTP y URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions
Cuerpo JSON de la solicitud:
{}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "versions": [ { "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-04T06:41:57.859674Z", "state": "ENABLED", "etag": "\"1621457b3c1459\"" } ], "totalSize": 1 }
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.
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.
Obtén detalles sobre una versión de Secret
Este proceso te permite ver los metadatos de una versión del secreto, como el ID de la versión, la fecha y hora de creación, los detalles de encriptación y el estado. Ver los metadatos de una versión del secreto significa acceder a información sobre la versión del secreto, pero no al valor real del secreto. Para ver el valor secreto, consulta Cómo acceder a una versión regional de Secret.
Para ver los metadatos de una versión de secreto, usa uno de los siguientes métodos:
Console
-
Ve a la página de Secret Manager en la consola de Google Cloud.
-
En la página de Secret Manager, haz clic en la pestaña Secretos regionales.
-
Haz clic en un Secret para acceder a sus versiones.
Las versiones que pertenecen al secreto se muestran en la tabla Versiones. Para cada versión, el ID de la versión y sus metadatos también se muestran en la tabla.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- VERSION_ID: El ID de la versión del Secret
- SECRET_ID: El ID del secreto o el identificador completamente calificado del secreto.
- LOCATION: La ubicación de Google Cloud del secreto
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions describe VERSION_ID --secret=SECRET_ID --location=LOCATION
La respuesta contiene el Secret.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: La ubicación de Google Cloud del secreto
- PROJECT_ID: El ID del proyecto de Google Cloud
- SECRET_ID: El ID del Secret o el identificador completamente calificado del Secret
- VERSION_ID: El ID de la versión del Secret
Método HTTP y URL:
GET https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID
Cuerpo JSON de la solicitud:
{}
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID"
PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-04T06:41:57.859674Z", "state": "ENABLED", "etag": "\"1621457b3c1459\"" }
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.
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.