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 poder usar la función de bloqueo de buckets, asegúrate de que se hayan completado los pasos de las siguientes secciones.
Obtén los roles necesarios
A fin de obtener los permisos que necesitas para usar el bloqueo de buckets, pídele a tu administrador que te otorgue el rol de Administrador de almacenamiento (roles/storage.admin
) en el bucket. Este rol predefinido contiene los permisos necesarios para usar el bloqueo del bucket. Para ver los permisos exactos necesarios, expande la sección Permisos necesarios:
Permisos necesarios
storage.buckets.get
storage.buckets.list
- Este permiso solo es necesario si planeas usar la consola de Google Cloud para ejecutar las instrucciones en esta página.
storage.buckets.update
También puedes obtener estos permisos con roles personalizados.
Para obtener más información sobre cómo otorgar roles en los buckets, consulta Usa IAM con buckets.
Inhabilita el control de versiones de objetos
Asegúrate de que el control de versiones de objetos esté inhabilitado para el bucket que deseas usar. Consulta Usa el control de versiones de objetos para obtener instrucciones para inhabilitarlo y verificar si este está habilitado 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
Usa el comando gcloud storage buckets update
con la marca adecuada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Donde:
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
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
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.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 $(gcloud auth print-access-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.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 buckets, 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
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 bucket 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
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
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketPOST
:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/lockRetentionPolicy?ifMetagenerationMatch=BUCKET_METAGENERATION_NUMBER"
Aquí:
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. En su lugar, usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud.
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.
Haz clic en el nombre del bucket cuyo estado deseas ver.
Si un bucket tiene una política de retención, el período de retención se muestra en el campo Protección del bucket. Si la política de retención no está bloqueada, aparecerá un ícono de bloqueo junto al período de retención en un estado de desbloqueo. Si la política de retención está bloqueada, aparece un ícono de bloqueo junto al período de retención en un estado bloqueado.
Línea de comandos
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
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
Tener la gcloud CLI instalada e inicializadaa fin de generar un token de acceso para el encabezado
Authorization
.Como alternativa, puedes crear un token de acceso con OAuth 2.0 Playground y, luego, incluirlo en el encabezado
Authorization
.Usa
cURL
para llamar a la API de JSON con una solicitud de bucketGET
que incluya losfields
deseados:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
En el que
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. En su lugar, usa una de las otras herramientas de Cloud Storage, como la consola de Google Cloud.
¿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.