En esta página, se describe cómo usar la función de bloqueo de depósitos, incluido el trabajo con políticas de retención y sus bloqueos de forma permanente en los depósitos.
Antes de comenzar
Antes de usar esta función en Cloud Storage, debes cumplir con los siguientes requisitos:
Tener permiso suficiente para ver y actualizar buckets en Cloud Storage:
Si propietario del proyecto que contiene el bucket, es probable que tengas los permisos necesarios.
Si usas IAM, deberías tener permisos
storage.buckets.update
ystorage.buckets.get
en el depósito correspondiente. Consulta Usa permisos de IAM a fin de recibir instrucciones para obtener una función que tenga estos permisos, como la de Administrador de almacenamiento.Si usas LCA, debes contar con permiso de PROPIETARIO en el bucket relevante. Consulta Establece LCA a fin de obtener instrucciones sobre cómo hacerlo.
Inhabilitar el control de versiones de objetos para el bucket Consulta Usa el control de versiones de objetos a fin de obtener instrucciones para verificar si el control de versiones de objetos está inhabilitado en un bucket.
A fin de establecer una política de retención en un bucket, haz lo siguiente
A fin de agregar, modificar o quitar una política de retención en un bucket, haz lo siguiente:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de buckets, haz clic en el nombre del bucket cuya política de retención deseas cambiar.
Selecciona la pestaña Protección cerca de la parte superior de la página.
En la sección Política de retención, establece tu política de retención:
Si actualmente no se aplica ninguna política de retención al bucket, haz clic en el vínculo add_box Configurar una política de retención. Elige una unidad de tiempo y una duración para tu período de retención.
Si una política de retención se aplica actualmente a un bucket, aparecerá en la sección. Haz clic en Editar para modificar el tiempo de retención o en Borrar a fin de quitar la política de retención por completo.
Consulta Períodos de retención para conocer cómo la consola de Google Cloud convierte diferentes unidades de tiempo.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
gcloud
Usa el comando gcloud storage buckets update
con la marca adecuada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Aquí:
BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
FLAG
es la configuración deseada para el período de retención del bucket. Usa uno de los siguientes formatos:--retention-period
y un período de retención, si deseas agregar o cambiar una política de retención. Por ejemplo,--retention-period=1d43200s
.--clear-retention-period
, si quieres quitar la política de retención del bucket.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Updating gs://my-bucket/... Completed 1
gsutil
Usa el comando gsutil retention
:
gsutil retention STATE gs://BUCKET_NAME
Aquí:
STATE
es el estado deseado de la política de retención en el bucket. Usa uno de los siguientes formatos:set
y un período de retención, si deseas agregar o cambiar una política de retención Por ejemplo,set 2678400s
.clear
, si quieres quitar la política de retención del bucket
BUCKET_NAME
es el nombre del depósito relevante. Por ejemplo,my-bucket
.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Setting retention policy on gs://my-bucket/...
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
En el siguiente ejemplo, se establece una política de retención en un bucket:
En el siguiente ejemplo, se quita la política de retención de un bucket:
API de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Crea un archivo JSON que contenga la siguiente información:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
en el que
TIME_IN_SECONDS
es la cantidad de tiempo en segundos durante el cual los objetos deben retenerse en el bucket. Por ejemplo,2678400
. Consulta Períodos de retención para conocer cómo se miden las diferentes unidades de tiempo mediante segundos.Para quitar la política de retención de un bucket, usa lo siguiente en el archivo JSON:
{ "retentionPolicy": null }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Aquí:
JSON_FILE_NAME
es la ruta de acceso del archivo JSON que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
API de XML
La API de XML no se puede usar para establecer o quitar una política de retención en un bucket existente. Solo puede usarse para incluir una política de retención con un depósito nuevo.
Bloquea un bucket
A fin de bloquear un bucket y restringir de manera permanente las ediciones a la política de retención, sigue estos pasos:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En la lista de bucket s, haz clic en el nombre del bucket al que deseas bloquear la política de retención.
Selecciona la pestaña Protección cerca de la parte superior de la página.
En la entrada Política de retención, haz clic en el botón Bloquear.
Aparecerá el cuadro de diálogo ¿Deseas bloquear la política de retención?
Lee la notificación permanente.
En el cuadro de texto Nombre del bucket , ingresa el nombre de tu bucket.
Haz clic en Bloquear política.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la consola de Google Cloud, consulta Solución de problemas.
Línea de comandos
gcloud
Usa el comando gcloud storage buckets update
con la marca --lock-retention-period
:
gcloud storage buckets update gs://BUCKET_NAME --lock-retention-period
En el ejemplo anterior, BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo, my-bucket
Si se realiza de forma correcta, la respuesta se verá como el ejemplo siguiente:
Updating gs://my-bucket/... Completed 1
gsutil
Usa el comando
gsutil retention lock
:gsutil retention lock gs://BUCKET_NAME
En el ejemplo anterior,
BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo,my-bucket
.Cuando se te solicite continuar, escribe
y
.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Locking retention policy on gs://my-bucket/...
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPOST
:curl -X POST \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Aquí:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.BUCKET_METAGENERATION_NUMBER
es el valor de metageneración del bucket. Por ejemplo,8
. Puedes conocer el valor de metageneración del bucket llamando a la API de JSON con una solicitud de bucketGET
.
API de XML
La API de XML no se puede usar para bloquear un bucket. Usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud, en su lugar.
Visualiza el estado de bloqueo y la política de retención de un bucket
A fin de ver qué política de retención, si hay alguna, está establecida en un bucket y si está bloqueada, haz lo siguiente:
Console
- En la consola de Google Cloud, ve a la página Buckets de Cloud Storage.
En el menú Opciones de visualización de columnas (
), asegúrate de que la Política de retención esté marcada.
En la lista de buckets, si un bucket tiene una política de retención, el período de retención se muestra en la columna Protección del bucket. Si la política de retención está bloqueada, aparece la imagen de un candado a la izquierda del período de retención.
Línea de comandos
gcloud
Usa el comando gcloud storage buckets describe
con la marca --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(retention_policy)"
En el ejemplo anterior, BUCKET_NAME
es el nombre del bucket cuya política de retención deseas ver. Por ejemplo, my-bucket
Si se realiza de forma correcta y existe una política de retención en el bucket, la respuesta será similar a la siguiente:
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
Si se realiza de forma correcta y no existe una política de retención para el bucket, la respuesta será similar a la siguiente:
null
gsutil
Usa el comando gsutil retention get
:
gsutil retention get gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo, my-bucket
Si se realiza de forma correcta y existe una política de retención en el bucket, la respuesta será similar a la siguiente:
gs://retention-test/: Retention policy LOCK_STATUS: Duration: TIME_LENGTH Effective Time: SET_DATE
Si se realiza de forma correcta y no existe una política de retención para el bucket, la respuesta será similar a la siguiente:
gs://my-bucket/ has no retention policy.
Bibliotecas cliente
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C++.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage C#.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Go.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Java.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Node.js.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage PHP.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Python.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage Ruby.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
API de REST
API de JSON
- Obtén un token de autorización de acceso de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth. Para obtener instrucciones, consulta Autenticación de la API.
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketGET
que incluya losfields
deseados:curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Aquí:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del bucket correspondiente. Por ejemplo,my-bucket
.
Si el bucket tiene configurada una política de retención, la respuesta se ve como el siguiente ejemplo:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
API de XML
La API de XML no se puede usar para ver la política de retención en un bucket. Usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud, en su lugar.
¿Qué sigue?
- Obtén más información sobre las políticas de retención.
- Obtén más información sobre cómo usar conservaciones de objetos.
- Obtén más información sobre la Administración del ciclo de vida de los objetos, que puede borrar de forma automática los archivos una vez que alcanzan su período de retención.