En esta página, se describe cómo destruir una versión secreta. En el estado destruido, se descarta el contenido de la versión del secreto. Destruir una versión de secreto es una acción permanente. Después de que se destruye una versión, no puedes acceder a los datos secretos ni restablecer la versión a otro estado.
Antes de destruir una versión de secreto, intenta inhabilitarla primero y observa el comportamiento de tu aplicación. Puedes volver a habilitar la versión secreta si surgen problemas inesperados.
Cuando inhabilitas o destruyes un secreto o una versión del secreto, el cambio tarda en propagarse por el sistema. Si es necesario, puedes revocar el acceso al secreto. Los cambios en los permisos de IAM son coherentes en segundos.
Roles obligatorios
Para obtener los permisos que necesitas para destruir una versión secreta, pídele a tu administrador que te otorgue el rol de IAM de Administrador de versiones de Secret Manager (roles/secretmanager.secretVersionManager
) 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.
Destruye una versión del secreto
Para destruir una versión secreta, usa uno de los siguientes métodos:
Console
-
En la consola de Google Cloud , ve a la página Secret Manager.
-
En la página de Secret Manager, haz clic en un secreto para acceder a sus versiones.
-
En la página de detalles del secreto, en la pestaña Versiones, selecciona la versión del secreto que deseas destruir.
-
Haz clic en
Acciones y, luego, en Destruir. -
En el diálogo de confirmación que aparece, ingresa el ID secreto para confirmar y, luego, haz clic en Destruir versiones seleccionadas.
gcloud
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
- VERSION_ID: Es el nombre del recurso de la versión del secreto.
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
Windows (PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
Windows (cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: El Google Cloud ID del proyecto
- SECRET_ID: ID del secreto o identificador completamente calificado del secreto
- VERSION_ID: ID de la versión del secreto
Método HTTP y URL:
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy
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 POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy"
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 POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:destroy" | 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-02T07:16:34.566706Z", "destroyTime": "2024-09-04T06:29:01.893743728Z", "state": "DESTROYED", "etag": "\"1621454a37ce7f\"" }
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.
Destrucción demorada de versiones del secreto
El administrador de Secret Manager puede configurar la destrucción demorada de versiones de secretos configurando la función Retrasar la destrucción de la versión del secreto en el secreto. Si esta función está habilitada, la versión del secreto no se destruye inmediatamente cuando se solicita. En su lugar, la versión del secreto se inhabilita y se programa para su destrucción en una fecha posterior. Durante este tiempo, el administrador de Secret Manager puede restablecer la versión del secreto.
¿Qué sigue?
- Obtén más información para garantizar la integridad de los datos.
- Obtén más información sobre las prácticas recomendadas.