En esta página se describe cómo usar la función de bloqueo de conservación de objetos, lo que incluye habilitarla en un contenedor y definir configuraciones de conservación para los objetos del contenedor.
Roles obligatorios
Para obtener los permisos que necesitas para habilitar la función de bloqueo de conservación de objetos en un segmento y definir configuraciones de conservación en objetos, pide a tu administrador que te conceda el rol de administrador de Storage (roles/storage.admin
) de gestión de identidades y accesos en el segmento o en el proyecto que contiene el segmento. Este rol predefinido contiene los permisos necesarios para definir y gestionar configuraciones de conservación. Para ver los permisos exactos que se necesitan, despliega la sección Permisos obligatorios:
Permisos obligatorios
storage.buckets.create
storage.buckets.enableObjectRetention
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.objects.get
storage.objects.list
- Este permiso solo es necesario si tienes previsto usar la Google Cloud consola para seguir las instrucciones de esta página.
storage.objects.overrideUnlockedRetention
- Este permiso solo es necesario si tienes previsto bloquear o acortar una configuración de conservación.
storage.objects.setRetention
storage.objects.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. Para obtener información sobre cómo asignar roles en proyectos, consulta Gestionar el acceso a proyectos.
Habilitar la retención de objetos en un segmento
Sigue estas instrucciones para permitir las configuraciones de retención de objetos en un segmento. Si quiere habilitar las configuraciones de conservación de objetos en un segmento, debe seguir las Google Cloud instrucciones de la consola.
Consola
Para habilitar las configuraciones de retención de objetos en un segmento nuevo, sigue estos pasos:
- Crea un bucket como lo harías normalmente y, en el paso Elige cómo proteger los datos de los objetos, selecciona Conservación (para cumplir los requisitos) y, a continuación, Habilitar la conservación de objetos.
Para habilitar las configuraciones de conservación de objetos en un segmento:
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento en el que quiera habilitar la retención de objetos.
Seleccione la pestaña Protección, situada cerca de la parte superior de la página.
El estado de conservación de objetos del cubo se muestra en la sección Conservación de objetos.
En la sección Retención de objetos, haz clic en Retención de objetos no habilitada.
En el cuadro de diálogo que aparece, haz clic en Confirmar.
Línea de comandos
Cree un segmento como lo haría normalmente e incluya la marca --enable-per-object-retention
en el comando.
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.
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.
APIs REST
API JSON
Cree un contenedor como lo haría normalmente e incluya el parámetro de consulta enableObjectRetention=true
como parte de la solicitud.
API XML
Crea un contenedor como lo harías normalmente e incluye el encabezado x-goog-bucket-object-lock-enabled: True
en la solicitud.
Ver el estado de retención de objetos de un segmento
Para ver si se pueden definir configuraciones de conservación para los objetos de un segmento, haz lo siguiente:
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 consultar.
Haz clic en la pestaña Protección.
El estado de conservación de objetos del cubo se muestra en la sección Conservación de objetos.
Línea de comandos
Usa el comando gcloud storage buckets describe
con la marca --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
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:
per_object_retention: mode: Enabled
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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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.
Para ver la configuración de conservación de objetos de un contenedor, sigue las instrucciones para mostrar los metadatos de un contenedor y busca el campo de conservación de objetos en la respuesta.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 el campoobjectRetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
Donde
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.
API XML
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 XML con una solicitud deGET
Bucket con el ámbito?object-lock
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?object-lock"
Donde
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.
Definir la configuración de conservación de un objeto
Para definir una configuración de conservación de un objeto, este debe almacenarse en un segmento en el que se haya habilitado la conservación de objetos. Para definir una configuración de retención de un objeto, sigue estos pasos:
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento que contiene el objeto cuya configuración de conservación quiera definir o modificar.
Se abrirá la página Detalles del segmento, con la pestaña Objetos seleccionada.
Desplázate hasta el objeto, que puede estar en una carpeta.
Haz clic en el nombre del objeto.
Se abrirá la página Detalles del objeto, donde se muestran los metadatos del objeto.
En la sección Protección, haga clic en el icono Editar (edit) asociado a Configuración de retención de objetos.
Se abrirá el panel Editar conservación.
En la sección Configuración de retención de objetos, haga clic en Habilitado o Inhabilitado.
- Si la configuración de conservación está habilitada, selecciona una fecha y una hora para la configuración en la sección Conservar hasta y haz clic en Desbloqueado o Bloqueado en la sección Modo de conservación.
Haz clic en Confirmar.
Línea de comandos
Usa el comando gcloud storage objects update
con las marcas adecuadas. Para añadir o modificar una configuración de conservación, usa el siguiente comando. Ten en cuenta que también debes incluir la marca --override-unlocked-retention
si modificas una configuración que ya existe de forma que se bloquee o se acorte el tiempo de conservación:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,kitten.png
.DATETIME
es la fecha y hora más próximas en las que se puede eliminar el objeto. Por ejemplo,2028-02-15T05:30:00Z
.STATE
puede serLocked
oUnlocked
.
Si la solicitud se hace correctamente, la respuesta será similar a la del siguiente ejemplo:
Updating gs://my-bucket/kitten.png... Completed 1
Para quitar una configuración de conservación de un objeto, usa el siguiente comando:
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,kitten.png
.
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.
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.
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:
{ "retention": { "mode": STATE, "retainUntilTime": "DATETIME" } }
Donde:
STATE
puede serLocked
oUnlocked
.DATETIME
es la fecha y hora más próximas en las que se puede eliminar el objeto. Por ejemplo,2028-02-15T05:30:00Z
.
Usa
cURL
para llamar a la API JSON con una solicitud dePATCH
Object: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/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
Donde:
JSON_FILE_NAME
es la ruta del archivo que has creado en el paso 2.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto correspondiente. Por ejemplo,pets/kitten.png
, codificada como URLpets%2Fkitten.png
.BOOLEAN
debe sertrue
si la solicitud acorta, elimina o bloquea una configuración de conservación ya existente. De lo contrario, el parámetrooverrideUnlockedRetention
se puede excluir por completo de la solicitud.
API XML
Tener instalada e inicializadala CLI de gcloud, que te permite generar un token de acceso para el encabezado
Authorization
.Crea un archivo XML que contenga la siguiente información:
<Retention> <Mode> STATE </Mode> <RetainUntilDate> DATETIME </RetainUntilDate> </Retention>
Donde:
STATE
puede serGOVERNANCE
oCOMPLIANCE
.DATETIME
es la fecha y hora más próximas en las que se puede eliminar el objeto. Por ejemplo,2028-02-15T05:30:00Z
.
Usa
cURL
para llamar a la API XML con una solicitud dePUT
Object con el ámbito?retention
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-bypass-governance-retention: BOOLEAN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Donde:
XML_FILE_NAME
es la ruta del archivo XML que has creado en el paso 2.BOOLEAN
debe sertrue
si la solicitud acorta, elimina o bloquea una configuración de conservación ya existente. De lo contrario, el encabezadox-goog-bypass-governance-retention
se puede excluir por completo de la solicitud.BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre codificado como URL del objeto correspondiente. Por ejemplo,pets/kitten.png
, codificada como URLpets%2Fkitten.png
.
Ver la configuración de retención de un objeto
Para ver qué configuración de retención se ha definido en un objeto (si la hay):
Consola
- En la Google Cloud consola, ve a la página Segmentos de Cloud Storage.
En la lista de segmentos, haga clic en el nombre del segmento que contiene el objeto cuya configuración de conservación quiere ver.
Se abrirá la página Detalles del segmento, con la pestaña Objetos seleccionada.
Desplázate hasta el objeto, que puede estar en una carpeta.
Haz clic en el nombre del objeto.
Se abrirá la página Detalles del objeto, donde se muestran los metadatos del objeto. En la sección Protección se muestra información sobre cualquier configuración de conservación que tenga el objeto.
Línea de comandos
Usa el comando gcloud storage objects describe
con la marca --format
:
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,kitten.png
.
Si la solicitud se hace correctamente y hay una configuración de retención para el objeto, la respuesta será similar a la siguiente:
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
Si la solicitud se realiza correctamente y no existe ninguna configuración de conservación para el objeto, 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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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.
Para ver la configuración de conservación de un objeto, siga las instrucciones para mostrar los metadatos de un objeto y busque el campo de conservación en la respuesta.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 solicitud deGET
Object que incluya el camporetention
:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,kitten.png
.
API XML
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 XML con una solicitud deGET
Object con el ámbito?retention
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
Donde:
BUCKET_NAME
es el nombre del segmento correspondiente. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto correspondiente. Por ejemplo,kitten.png
.
Siguientes pasos
- Más información sobre las configuraciones de conservación
- Consulta otras funciones que protegen tus datos de Cloud Storage.
- 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.