Retrasar la destrucción de las versiones de secretos

En esta página, se explica cómo configurar la destrucción retrasada de versiones de secretos, actualizar o quitar la duración de la demora en la destrucción, y restablecer las versiones de secretos programadas para su destrucción.

De forma predeterminada, cuando un usuario elige destruir una versión del secreto en Secret Manager, el material del secreto se destruye de inmediato y de forma permanente. Sin embargo, los usuarios con el rol de administrador de Secret Manager pueden configurar la destrucción retrasada de versiones de secretos, lo que garantiza que la versión del secreto no se destruya inmediatamente después de la solicitud y siga siendo recuperable durante un período configurable.

Cuando la destrucción retrasada está habilitada en el secreto y destruyes una versión del secreto, ocurre lo siguiente:

  • La versión está inhabilitada, lo que impide su uso.

  • El sistema programa la versión para su destrucción permanente al final del período de demora.

  • Una vez que vence el período de demora, la versión del secreto se destruye de forma permanente e irrevocable.

Beneficios

Esta función proporciona los siguientes beneficios:

  • Una capa adicional de protección contra la destrucción accidental o maliciosa de material secreto crítico. Cualquier usuario con el rol de administrador de versiones de Secret de Secret Manager puede destruir una versión de un secreto. Esta acción es irreversible. Si configuras la destrucción retrasada, puedes evitar la destrucción inmediata de las versiones de secretos. Puedes otorgar a los usuarios el acceso mínimo requerido para administrar el ciclo de vida de las versiones de secretos, de modo que puedas supervisar y evitar la destrucción accidental de datos sensibles.

  • La destrucción de una versión del secreto activa una SECRET_VERSION_DESTROY_SCHEDULED notificación a los temas de Pub/Sub configurados en el secreto. Los usuarios con el rol de administrador de Secret Manager pueden cancelar la destrucción programada y restablecer la versión del secreto habilitándola o inhabilitándola.

Antes de comenzar

  1. Enable the Secret Manager API.

    Enable the API

  2. Configura la autenticación.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      In the Google Cloud console, activate Cloud Shell.

      Activate Cloud Shell

      At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Si deseas obtener más información, consulta Autentica para usar REST en la Google Cloud documentación de autenticación.

      Roles obligatorios

      Para obtener los permisos que necesitas para configurar la destrucción retrasada de versiones de secretos, pídele a tu administrador que te otorgue el rol de IAM de administrador de Secret Manager (roles/secretmanager.admin) 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.

      Cómo configurar la destrucción demorada

      Puedes habilitar la destrucción retrasada de una versión del secreto cuando creas el secreto o cuando lo actualizas. Para configurar la destrucción retrasada, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. En la página de Secret Manager, haz clic en Crear secreto.

      3. En la página Crear secreto, ingresa un nombre para el secreto en el campo Nombre.

      4. Ingresa un valor para el secreto (por ejemplo, abcd1234). También puedes subir un archivo de texto que contenga el valor del secreto con la opción Subir archivo. Esta acción crea automáticamente la versión del secreto.

      5. Ve a la sección Demorar la destrucción de la versión del secreto y, luego, selecciona la casilla de verificación Establecer la duración de la destrucción demorada.

      6. En el campo Duración del retraso de la destrucción, ingresa la duración en días. El valor mínimo que puedes ingresar es 1 día, y el valor máximo es 1,000 días.

      7. Haz clic en Crear secreto.

        Para habilitar esta función en un secreto existente, ve a la página Editar secreto y, luego, configura la duración del retraso de destrucción.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_ID: Es el ID del secreto o el identificador completamente calificado del secreto.
      • TTL_DURATION: Es la duración de la demora en la destrucción de las versiones del secreto. Puedes ingresar la duración en cualquier formato, por ejemplo, días, horas o segundos. La duración mínima requerida es de 1 día, mientras que la duración máxima se puede establecer en 1,000 días.

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets create SECRET_ID --version-destroy-ttl=TTL_DURATION

      Windows (PowerShell)

      gcloud secrets create SECRET_ID --version-destroy-ttl=TTL_DURATION

      Windows (cmd.exe)

      gcloud secrets create SECRET_ID --version-destroy-ttl=TTL_DURATION

      La respuesta contiene el secreto recién creado.

      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.
      • TTL_DURATION: Es la duración de la demora en la destrucción de las versiones del secreto. Ingresa la duración en segundos. Ten en cuenta que la duración mínima requerida es de 1 día, mientras que la duración máxima se puede establecer en 1,000 días.

      Método HTTP y URL:

      POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID

      Cuerpo JSON de la solicitud:

      {"replication": {"automatic": {}}, "version_destroy_ttl":"TTL_DURATION"}

      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?secretId=SECRET_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 POST `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -InFile request.json `
      -Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content

      Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

      {
      "name":"projects/PROJECT_ID/secrets/SECRET_ID",
      "replication":{
         "automatic":{
      
         }
      },
      "createTime":"2023-10-16T17:10:16.345401Z",
      "etag":"\"1607d90ee3d84c\"",
      "versionDestroyTtl":"TTL_DURATION"
      }
      

      La destrucción retrasada no se aplica en los siguientes casos:

      • Cuando se borra un secreto, se borran de inmediato todo el material secreto y las versiones de secretos relacionadas.

      • Cuando se establece una fecha de vencimiento en el secreto y este vence, todas las versiones del secreto se destruyen de inmediato, incluso si la destrucción retrasada está habilitada en el secreto.

      Actualiza la duración del retraso de la destrucción

      Para actualizar la duración del retraso de destrucción, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. Para editar un secreto, usa uno de los siguientes métodos:

        • Haz clic en Acciones en el secreto que deseas editar y, luego, en Editar.

        • Haz clic en el nombre del secreto para ir a la página de detalles. En la página de detalles del secreto, haz clic en Editar secreto.

      3. En la página Editar secreto, ve a la sección Retrasar la destrucción de la versión del secreto. Actualiza la duración de la demora según sea necesario y, luego, haz clic en Actualizar secreto.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_ID: ID del secreto o identificador completamente calificado del secreto
      • TTL_DURATION: Es la duración de la demora en la destrucción de las versiones del secreto.

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets update SECRET_ID --version-destroy-ttl=TTL_DURATION

      Windows (PowerShell)

      gcloud secrets update SECRET_ID --version-destroy-ttl=TTL_DURATION

      Windows (cmd.exe)

      gcloud secrets update SECRET_ID --version-destroy-ttl=TTL_DURATION

      La respuesta contiene el secreto recién creado.

      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
      • TTL_DURATION: Es la duración de la demora en la destrucción de las versiones del secreto.

      Método HTTP y URL:

      PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=version_destroy_ttl

      Cuerpo JSON de la solicitud:

      {
        "version_destroy_ttl":"TTL_DURATION"
      }
      

      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 PATCH \
      -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?updateMask=version_destroy_ttl"

      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 PATCH `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -InFile request.json `
      -Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=version_destroy_ttl" | Select-Object -Expand Content

      Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

      {
        "name":"projects/PROJECT_ID/secrets/SECRET_ID",
        "replication":{
           "automatic":{
      
           }
        },
        "createTime":"2023-10-16T17:10:16.345401Z",
        "etag":"\"1607d90ee3d84c\"",
        "versionDestroyTtl":"TTL_DURATION"
      }
      

      Las versiones de secretos afectadas por la duración de la demora en la destrucción dependen de lo siguiente:

      • Cuando se establece la destrucción retrasada por primera vez en el secreto, la duración del retraso en la destrucción afecta a todas las versiones activas (habilitadas y deshabilitadas) del secreto.

      • Cuando se actualiza o quita la duración del retraso de destrucción, los cambios se reflejan solo en las versiones nuevas del secreto en las que se intenta la acción de destrucción. Las versiones del Secret que ya están programadas para su destrucción se seguirán destruyendo en el momento programado.

      Cómo inhabilitar la demora en la destrucción

      Para inhabilitar la destrucción retrasada de versiones, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. Para editar un secreto, usa uno de los siguientes métodos:

        • Haz clic en Acciones en el secreto que deseas editar y, luego, en Editar.

        • Haz clic en el nombre del secreto para ir a la página de detalles. En la página de detalles del secreto, haz clic en Editar secreto.

      3. En la página Editar secreto, ve a la sección Retrasar la destrucción de la versión del secreto. Desmarca la casilla de verificación Establecer la duración de la destrucción demorada y, luego, haz clic en Actualizar secreto.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_ID: ID del secreto o identificador completamente calificado del secreto

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets update SECRET_ID --remove-version-destroy-ttl

      Windows (PowerShell)

      gcloud secrets update SECRET_ID --remove-version-destroy-ttl

      Windows (cmd.exe)

      gcloud secrets update SECRET_ID --remove-version-destroy-ttl

      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

      Método HTTP y URL:

      PATCH https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=version_destroy_ttl

      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 PATCH \
      -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?updateMask=version_destroy_ttl"

      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 PATCH `
      -Headers $headers `
      -ContentType: "application/json; charset=utf-8" `
      -InFile request.json `
      -Uri "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID?updateMask=version_destroy_ttl" | Select-Object -Expand Content

      Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

      {
        "name":"projects/PROJECT_ID/secrets/SECRET_ID",
        "replication":{
           "automatic":{
      
           }
        },
        "createTime":"2023-10-16T17:10:16.345401Z",
        "etag":"\"1607d90ee3d84c\""
      }
      

      Programa versiones del secreto para su destrucción demorada

      Para programar la destrucción demorada de una versión del secreto, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. En la página de Secret Manager, haz clic en un secreto para acceder a sus versiones. Se debe configurar la destrucción demorada de versiones en este Secret.

      3. En la página de detalles del secreto, en la pestaña Versiones, selecciona la versión del secreto que deseas destruir.

      4. Haz clic en Acciones y, luego, en Destruir.

      5. En el cuadro de diálogo de confirmación que aparece, ingresa el ID del Secret para confirmar y, luego, haz clic en Programar la destrucción de las versiones seleccionadas.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_VERSION_ID: ID de la versión o identificador completamente calificado de la versión
      • SECRET_ID: ID del secreto o identificador completamente calificado del secreto

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets versions destroy SECRET_VERSION_ID --secret=SECRET_ID

      Windows (PowerShell)

      gcloud secrets versions destroy SECRET_VERSION_ID --secret=SECRET_ID

      Windows (cmd.exe)

      gcloud secrets versions destroy SECRET_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 o identificador completamente calificado de la versión

      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/secrets/SECRET_ID/versions/VERSION_ID",
        "createTime":"2023-10-16T17:21:55.920036Z",
        "state":"DISABLED",
        "replicationStatus":{
           "automatic":{
      
           }
        },
        "etag":"\"1607d8b2fc1cf4\"",
        "scheduledDestroyTime":"2023-10-16T17:26:57.459395960Z"
      }
      

      La versión del secreto se inhabilita de inmediato y se programa para su destrucción después de que vence el período de demora en la destrucción. Puedes ver la fecha y la hora exactas en las que se destruirá la versión en la columna Programada para su destrucción el de la tabla Versiones.

      Restablece versiones de secretos

      Puedes restablecer una versión del secreto que está programada para su destrucción habilitando o inhabilitando la versión del secreto.

      Habilita una versión del Secret programada para su destrucción

      Para habilitar una versión secreta programada para su destrucción, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. En la página de Secret Manager, haz clic en un secreto para acceder a sus versiones.

      3. En la página de detalles del secreto, en la pestaña Versiones, selecciona la versión del secreto que está programada para su destrucción.

      4. Haz clic en Acciones y, luego, en Habilitar.

      5. En el diálogo de confirmación que aparece, haz clic en Habilitar las versiones seleccionadas.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_VERSION_ID: ID de la versión o identificador completamente calificado de la versión
      • SECRET_ID: ID del secreto o identificador completamente calificado del secreto

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets versions enable SECRET_VERSION_ID --secret=SECRET_ID

      Windows (PowerShell)

      gcloud secrets versions enable SECRET_VERSION_ID --secret=SECRET_ID

      Windows (cmd.exe)

      gcloud secrets versions enable SECRET_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 o identificador completamente calificado de la versión

      Método HTTP y URL:

      POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:enable

      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:enable"

      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:enable" | Select-Object -Expand Content

      Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

      {
        "name":"projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID",
        "createTime":"2023-10-16T17:21:55.920036Z",
        "state":"ENABLED",
        "replicationStatus":{
           "automatic":{
      
           }
        },
        "etag":"\"1607d8b3e8e1bc\""
      }
      

      Inhabilita una versión del Secret programada para su destrucción

      Para inhabilitar una versión de un secreto que está programada para su destrucción, usa uno de los siguientes métodos:

      Console

      1. En la consola de Google Cloud , ve a la página Secret Manager.

        Ir a Secret Manager

      2. En la página de Secret Manager, haz clic en un secreto para acceder a sus versiones.

      3. En la página de detalles del secreto, en la pestaña Versiones, selecciona la versión del secreto que está programada para su destrucción.

      4. Haz clic en Acciones y, luego, en Inhabilitar.

      5. En el diálogo de confirmación que aparece, haz clic en Inhabilitar las versiones seleccionadas.

      gcloud

      Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

      • SECRET_VERSION_ID: ID de la versión o identificador completamente calificado de la versión
      • SECRET_ID: ID del secreto o identificador completamente calificado del secreto

      Ejecuta el siguiente comando:

      Linux, macOS o Cloud Shell

      gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID

      Windows (PowerShell)

      gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID

      Windows (cmd.exe)

      gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID

      La respuesta contiene la versión inhabilitada del secreto.

      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 o identificador completamente calificado de la versión

      Método HTTP y URL:

      POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID:disable

      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:disable"

      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:disable" | Select-Object -Expand Content

      Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

      {
        "name":"projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID",
        "createTime":"2023-10-16T17:21:55.920036Z",
        "state":"DISABLED",
        "replicationStatus":{
           "automatic":{
      
           }
        },
        "etag":"\"1607d8b3e8e1bc\""
      }
      

      ¿Qué sigue?