En esta página, se describe cómo destruir una versión del Secret. En el estado destruido, se descarta el contenido de la versión del secreto. La destrucción de una versión del secreto es una acción permanente. Después de un versión se destruye, no puedes acceder a los datos del Secret ni restablecer la versión a otro estado.
Antes de destruir una versión de un secreto, inhabilita primero y observa el comportamiento de tu aplicación. Puedes volver a habilitar la versión secreta si encuentras problemas inesperados.
Cuando inhabilitas o destruyes un secreto o una versión de secreto, el cambio demora en se propaguen en el sistema. Si es necesario, puedes revocar el acceso al secreto. Los cambios en los permisos de IAM son coherentes en segundos.
Roles obligatorios
A fin de obtener los permisos que necesitas para destruir una versión del secreto,
solicita a tu administrador que te otorgue el
Rol de IAM de Administrador de versiones de secretos 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
Usa uno de los siguientes métodos para destruir una versión del secreto:
Console
-
Ve a la página de Secret Manager en la consola de Google Cloud.
-
En la página 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 cuadro de 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: El ID del Secret o el identificador completamente calificado del Secret
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 ID del proyecto de Google Cloud
- SECRET_ID: Es el ID del secreto o el identificador completamente calificado del secreto.
- VERSION_ID: El ID de la versión del Secret
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 las versiones de secretos
El administrador de Secret Manager puede configurar la destrucción demorada de las versiones de secretos si configura 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 de inmediato cuando se solicita. En cambio, la versión del Secret se inhabilita y se programa su destrucción más adelante fecha. 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 información sobre las prácticas recomendadas.