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.
Requisitos
Antes de usar esta función en Cloud Storage, debes llevar a cabo estas acciones:
Tener permiso suficiente para ver y actualizar depósitos 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.
Verifica que el control de versiones de los objetos esté inhabilitado para el depósito.
Establece una política de retención en un bucket
A fin de establecer una política de retención en un bucket, haz lo siguiente:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En la lista de bucket s, haz clic en el nombre del bucket al que quieres agregar una política de retención.
Selecciona la pestaña Retención cerca de la parte superior de la página.
En la entrada Política de retención, haz clic en el vínculo + Configurar una política de retención.
Aparecerá el cuadro de diálogo Configurar una política de retención.
En el menú desplegable, selecciona la unidad de tiempo para tu período de retención.
Consulta períodos de retención a fin de obtener más información sobre cómo Console convierte diferentes unidades de tiempo.
En el cuadro de valor, ingresa la cantidad de tiempo para tu período de retención.
Haz clic en Guardar.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa el comando gsutil retention set
:
gsutil retention set TIME_DURATION gs://BUCKET_NAME
Aquí:
TIME_DURATION
es la cantidad de tiempo durante el cual deben retenerse los objetos en el bucket. Por ejemplo,2678400s
. Consulta Períodos de retención para conocer cómo gsutil convierte diferentes unidades de tiempo.BUCKET_NAME
es el nombre del bucket correspondiente. 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/...
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
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.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Donde:
JSON_FILE_NAME
es el nombre del archivo 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 depósito correspondiente. Por ejemplo,my-bucket
.
API de XML
La API de XML no se puede usar para establecer una política de retención en un bucket existente. Solo se puede usar a fin de incluir una política de retención con un bucket nuevo.
Quita una política de retención de un bucket
A fin de quitar una política de retención de un bucket, haz lo siguiente:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En la lista de bucket s, haz clic en el nombre del bucket al que deseas quitar la política de retención.
Selecciona la pestaña Retención cerca de la parte superior de la página.
En la entrada Política de retención, haz clic en el botón Borrar.
Aparecerá el cuadro de diálogo ¿Deseas borrar una política de retención?
Haz clic en Borrar.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa el comando gsutil retention clear
:
gsutil retention clear gs://BUCKET_NAME
En el ejemplo anterior, BUCKET_NAME
es el nombre del depósito correspondiente. Por ejemplo, my-bucket
.
Si se ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
Clearing retention policy on gs://my-bucket/...
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información:
{ "retentionPolicy": null }
Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Donde:
JSON_FILE_NAME
es el nombre del archivo 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 depósito correspondiente. Por ejemplo,my-bucket
.
API de XML
La API de XML no se puede usar para quitar una política de retención en un bucket. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
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
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador 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 Retenció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.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
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/...
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
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"
En el ejemplo anterior, se ilustra lo siguiente:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del depósito 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. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
Visualiza el estado de bloqueo y la política de retención de un depósito
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
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador 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 bucket s, el período de retención de cada bucket se encuentra en la columna Política de retención. Si la política de retención está bloqueada, aparece la imagen de un candado a la izquierda del período de retención.
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 ejecuta de forma correcta, la respuesta se ve de la siguiente manera:
gs://my-bucket/ has no retention policy.
o:
gs://retention-test/: Retention policy LOCK_STATUS: Duration: TIME_LENGTH Effective Time: SET_DATE
Ejemplos de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
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"
En la que:
OAUTH2_TOKEN
es el nombre del token de acceso que generaste en el paso 1.BUCKET_NAME
es el nombre del depósito 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. En su lugar, usa una de las otras herramientas de Cloud Storage, como gsutil.
Pasos siguientes
- 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.