En esta página se describe cómo usar la función Bloqueo de contenedor, incluido cómo trabajar con políticas de conservación y cómo bloquearlas permanentemente en contenedores.
Antes de empezar
Antes de poder usar la función de bloqueo de contenedor, asegúrate de haber completado los pasos que se indican en las siguientes secciones.
Obtener los roles necesarios
Para obtener los permisos que necesitas para usar Bucket Lock, pide a tu administrador que te conceda el rol Administrador de Storage (roles/storage.admin
) en el segmento. Este rol predefinido contiene los permisos necesarios para usar
Bucket Lock. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
storage.buckets.get
storage.buckets.list
- Este permiso solo es necesario si tienes previsto usar la Google Cloud consola para seguir las instrucciones de esta página.
storage.buckets.update
También puedes obtener estos permisos con roles personalizados.
Para obtener información sobre cómo conceder roles en los contenedores, consulta Usar IAM con contenedores.
Configurar una política de retención en un segmento
Para añadir, modificar o eliminar una política de conservación en un contenedor, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de contenedores, haga clic en el nombre del contenedor cuya política de conservación quiera cambiar.
Seleccione la pestaña Protección, situada cerca de la parte superior de la página.
En la sección Política de retención, configura la política de retención:
Si no se aplica ninguna política de retención al segmento, haz clic en el enlace add_box Definir política de retención. Elige una unidad de tiempo y una duración para el periodo de conservación.
Si se aplica una política de retención a un contenedor, aparecerá en la sección. Haz clic en Editar para modificar el tiempo de conservación o en Eliminar para quitar la política de conservación por completo.
Consulta Periodos de conservación para obtener información sobre cómo convierte la consolaGoogle Cloud entre diferentes unidades de tiempo.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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 segmento correspondiente. Por ejemplo,my-bucket
.FLAG
es el ajuste que quieres para el periodo de retención del segmento. Se debe utilizar uno de los formatos indicados a continuación.--retention-period
y un periodo de conservación si quieres añadir o cambiar una política de conservación. Por ejemplo,--retention-period=1d43200s
.--clear-retention-period
si quieres eliminar la política de conservación del segmento.
Si la acción se realiza correctamente, la respuesta tendrá este aspecto:
Updating gs://my-bucket/... Completed 1
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
En el siguiente ejemplo se define una política de retención en un segmento:
En el siguiente ejemplo se elimina la política de conservación de un segmento:
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Crea un archivo JSON que contenga la siguiente información:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS" } }
Donde
TIME_IN_SECONDS
es el tiempo en segundos durante el que se deben conservar los objetos del segmento. Por ejemplo,2678400
. Consulta Periodos de conservación para obtener información sobre cómo se miden las diferentes unidades de tiempo en segundos.Para quitar la política de conservación de un contenedor, usa lo siguiente en el archivo JSON:
{ "retentionPolicy": null }
Usa
cURL
para llamar a la API JSON con una solicitud dePATCH
contenedor: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"
Donde:
JSON_FILE_NAME
es la ruta del archivo JSON que has creado en el paso 2.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.
API XML
La API XML no se puede usar para definir ni quitar una política de retención en un segmento ya creado. Solo se puede usar para incluir una política de conservación con un nuevo segmento.
Bloquear un segmento
Para bloquear un segmento y restringir de forma permanente las modificaciones de su política de retención, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haz clic en el nombre del segmento cuya política de conservación quieras bloquear.
Seleccione la pestaña Protección, situada cerca de la parte superior de la página.
En la sección Política de retención, haz clic en el botón Bloquear.
Aparecerá el cuadro de diálogo ¿Bloquear la política de conservación?
Lee el aviso Permanente.
En el cuadro de texto Nombre del contenedor, escribe el nombre del contenedor.
Haz clic en Bloquear política.
Para saber cómo obtener información detallada sobre los errores de las operaciones de Cloud Storage en la consola, consulta la sección Solución de problemas. Google Cloud
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
Donde BUCKET_NAME
es el nombre del
cubo correspondiente. Por ejemplo, my-bucket
.
Si la solicitud se hace correctamente, la respuesta será similar a la del siguiente ejemplo:
Updating gs://my-bucket/... Completed 1
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitudPOST
Bucket: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"
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.BUCKET_METAGENERATION_NUMBER
es el valor de metageneración del contenedor. Por ejemplo,8
. Para encontrar el valor de metageneration de tu cubo, llama a la API JSON con una solicitudGET
Bucket.
API XML
La API XML no se puede usar para bloquear un contenedor. En su lugar, usa una de las otras herramientas de Cloud Storage, como la Google Cloud consola.
Ver la política de retención y el estado de bloqueo de un segmento
Para ver si se ha definido alguna política de retención en un segmento y si está bloqueada:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
Haga clic en el nombre del segmento cuyo estado quiera ver.
Si un segmento tiene una política de retención, el periodo de retención se muestra en el campo Protección del segmento. Si la política de retención no está bloqueada, aparecerá un icono de candado junto al periodo de retención en estado desbloqueado. Si la política de retención está bloqueada, aparecerá un icono de candado junto al periodo de retención en 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)"
Donde BUCKET_NAME
es el nombre del bucket cuya política de conservación quieres ver. Por ejemplo, my-bucket
.
Si la solicitud se realiza correctamente y el segmento tiene una política de retención, la respuesta será similar a la siguiente:
retention_policy: effectiveTime: '2022-10-04T18:51:22.161000+00:00' retentionPeriod: '129600'
Si se lleva a cabo correctamente y no existe ninguna política de retención para el segmento, la respuesta será similar a la siguiente:
null
Bibliotecas de cliente
C++
Para obtener más información, consulta la documentación de referencia de la API C++ de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
C#
Para obtener más información, consulta la documentación de referencia de la API C# de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Go
Para obtener más información, consulta la documentación de referencia de la API Go de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Java
Para obtener más información, consulta la documentación de referencia de la API Java de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Node.js
Para obtener más información, consulta la documentación de referencia de la API Node.js de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
PHP
Para obtener más información, consulta la documentación de referencia de la API PHP de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Python
Para obtener más información, consulta la documentación de referencia de la API Python de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
Ruby
Para obtener más información, consulta la documentación de referencia de la API Ruby de Cloud Storage.
Para autenticarte en Cloud Storage, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación para bibliotecas de cliente.
APIs REST
API JSON
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Usa
cURL
para llamar a la API JSON con una solicitudGET
Bucket que incluya elfields
que quieras:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=retentionPolicy"
Donde
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.Si el bucket tiene definida una política de retención, la respuesta será similar al siguiente ejemplo:
{ "retentionPolicy": { "retentionPeriod": "TIME_IN_SECONDS", "effectiveTime": "DATETIME", "isLocked": "BOOLEAN" }, }
API XML
La API XML no se puede usar para ver la política de retención de un segmento. Usa otra herramienta de Cloud Storage, como laGoogle Cloud consola.
Siguientes pasos
- Más información sobre las políticas de conservación
- Consulta cómo usar los bloqueos de objetos.
- Consulta información sobre la gestión del ciclo de vida de los objetos, que puede eliminar automáticamente los archivos cuando alcancen su periodo de conservación.