En esta página, se describe cómo inhabilitar la función de eliminación no definitiva en todos los buckets nuevos y existentes de tu organización.
La eliminación no definitiva está habilitada en buckets nuevos de forma predeterminada para evitar la pérdida de datos. Si es necesario, puedes inhabilitar la eliminación no definitiva para los buckets existentes si modificas la política de eliminación no definitiva. También puedes inhabilitar la eliminación no definitiva de forma predeterminada para los buckets nuevos si configuras una etiqueta predeterminada para toda la organización. Ten en cuenta que, una vez que inhabilites la opción de borrar de forma no definitiva, no podrás recuperar los datos borrados, incluidas las eliminaciones accidentales o maliciosas.
Roles obligatorios
Para obtener los permisos que necesitas para borrar de forma no definitiva, pide a tu administrador que te otorgue los siguientes roles de IAM a nivel de la organización:
- Administrador de almacenamiento (
roles/storage.admin) - Administrador de etiquetas (
roles/resourcemanager.tagAdmin) - Visualizador de la organización (
roles/resourcemanager.organizationViewer)
Estos roles predefinidos contienen los permisos necesarios para inhabilitar la eliminación no definitiva. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para inhabilitar la eliminación no definitiva:
-
storage.buckets.get -
storage.buckets.update -
storage.buckets.list(este permiso es necesario si planeas usar la Cloud de Confiance console para ejecutar las instrucciones en esta página)Para conocer los permisos necesarios que se incluyen como parte del rol de administrador de etiquetas(
roles/resourcemanager.tagAdmin), consultaPermisos necesarios para administrar etiquetas.
Para obtener más información sobre cómo otorgar roles, consulta Configura y administra políticas de IAM en buckets o Administra el acceso a los/las proyectos.
Inhabilita la eliminación no definitiva para un bucket específico
Antes de comenzar, considera lo siguiente:
Si inhabilitas una política de eliminación no definitiva de tu bucket que tiene objetos borrados de forma no definitiva durante la inhabilitación, los objetos borrados de forma no definitiva existentes se retienen hasta que venza el período de retención aplicado anteriormente.
Después de inhabilitar una política de eliminación no definitiva en tu bucket, Cloud Storage no conserva los objetos borrados recientemente.
Cuando inhabilitas una política de eliminación no definitiva en tu bucket, el cambio no es instantáneo en Cloud Storage debido al almacenamiento en caché de metadatos. Por lo tanto, te recomendamos que esperes al menos treinta segundos antes de iniciar cualquier otra operación de eliminación, como la eliminación masiva, después de inhabilitar una política de eliminación no definitiva. Esto garantiza que tus datos se borren de forma permanente en lugar de borrarse de forma no definitiva. Para obtener más información sobre la coherencia en las operaciones de Cloud Storage, consulta Coherencia de Cloud Storage.
Usa las siguientes instrucciones para inhabilitar el borrado de forma no definitiva para un bucket específico:
Console
- En la Cloud de Confiance consola, 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 borrado de forma no definitiva deseas inhabilitar.
Haz clic en la pestaña Protección.
En la sección Política de eliminación no definitiva, haz clic en Inhabilitar para inhabilitar la política de eliminación no definitiva.
Haz clic en Confirmar.
Para obtener información sobre cómo ver detalles de errores acerca de operaciones fallidas de Cloud Storage en la Cloud de Confiance console, consulta Solución de problemas.
Línea de comandos
Ejecuta el gcloud storage buckets update comando con la
--clear-soft-delete marca:
gcloud storage buckets update --clear-soft-delete gs://BUCKET_NAME
Donde:
BUCKET_NAMEes el nombre del depósito. Por ejemplo,my-bucket.
API de REST
API de JSON
Tener la gcloud CLI instalada e inicializada, lo que te permite generar un token de acceso para el encabezado
Authorization.Crea un archivo JSON que contenga la siguiente información:
{ "softDeletePolicy": { "retentionDurationSeconds": "0" } }
Usa
cURLpara llamar a la API de JSON con unaPATCHsolicitud de bucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME"
Donde:
JSON_FILE_NAMEes la ruta de acceso del archivo JSON que creaste en el paso 2.BUCKET_NAMEes el nombre del bucket correspondiente. Por ejemplo,my-bucket.
Inhabilita la eliminación no definitiva para los 100 buckets más grandes de un proyecto
Con la Cloud de Confiance console, puedes inhabilitar la eliminación no definitiva para hasta 100 buckets a la vez, con buckets ordenados por la mayor cantidad de bytes borrados de forma no definitiva o la proporción más alta de bytes borrados de forma no definitiva a bytes activos, lo que te permite administrar buckets con el mayor impacto en tus costos de eliminación no definitiva.
- En la Cloud de Confiance console, ve a la página Buckets de Cloud Storage.
En la página de Cloud Storage, haz clic en Configuración.
Haz clic en la pestaña Borrar de forma no definitiva.
En la lista Buckets principales por bytes borrados, selecciona los buckets para los que deseas inhabilitar el borrado de forma no definitiva.
Haz clic en Desactivar el borrado de forma no definitiva.
La eliminación no definitiva está inhabilitada en los buckets que seleccionaste.
Inhabilita el borrado de forma no definitiva para varios o todos los buckets de un proyecto
Con Google Cloud CLI, ejecuta el gcloud storage buckets update
comando con la marca --project y el comodín * para inhabilitar de forma masiva la eliminación no definitiva para varios o todos los buckets de un proyecto:
gcloud storage buckets update --project=PROJECT_ID --clear-soft-delete gs://*
Donde:
PROJECT_IDes el ID del proyecto. Por ejemplo,my-project.
Inhabilita el borrado de forma no definitiva en todos los buckets de una carpeta
Con Google Cloud CLI, ejecuta los comandos gcloud projects list y
gcloud storage buckets update para inhabilitar el borrado de forma no definitiva en los buckets
de todos los proyectos de una carpeta especificada.
Ejecuta los gcloud projects list y gcloud storage buckets update
comandos para enumerar todos los buckets en una carpeta especificada y, luego, inhabilita la
eliminación no definitiva para todos los buckets de la carpeta:
gcloud projects list --filter="parent.id: FOLDER_ID" --format="value(projectId)" | while read project do gcloud storage buckets update --project=$project --clear-soft-delete gs://* done
Donde:
FOLDER_IDes el nombre de la carpeta. Por ejemplo,123456.
Inhabilita la opción de borrar de forma no definitiva a nivel de la organización
Con Google Cloud CLI, ejecuta el gcloud storage buckets update
comando con la marca --clear-soft-delete y el comodín * para
inhabilitar el borrado de forma no definitiva a nivel de la organización:
Ejecuta el gcloud storage buckets update comando con la
--clear-soft-delete marca y el * comodín para inhabilitar
el borrado de forma no definitiva para todos los buckets de tu organización:
gcloud projects list --format="value(projectId)" | while read project do gcloud storage buckets update --project=$project --clear-soft-delete gs://* done
Cloud Storage inhabilita la eliminación no definitiva en los buckets existentes. Los objetos que ya se borraron de forma no definitiva permanecerán en los buckets hasta que se complete su período de retención de eliminación no definitiva, después del cual, se borrarán de forma permanente.
Inhabilita la eliminación no definitiva para buckets nuevos
Si bien la eliminación no definitiva está habilitada de forma predeterminada en buckets nuevos, puedes evitar que se habilite de forma predeterminada con etiquetas.
Las etiquetas usan la clave storage.defaultSoftDeletePolicy para aplicar una política de eliminación no definitiva 0d (cero días) a nivel de la organización, lo que inhabilita la función y evita la retención futura de datos eliminados.
Usa las siguientes instrucciones para inhabilitar la función borrar de forma no definitiva de forma predeterminada cuando creas buckets nuevos. Ten en cuenta que las siguientes instrucciones no equivalen a configurar una política de la organización que exija una política de eliminación no definitiva en particular, lo que significa que, si es necesario, puedes habilitar la opción de borrar de forma no definitiva en buckets específicos especificando una política.
Con Google Cloud CLI, crea la etiqueta
storage.defaultSoftDeletePolicyque se usa para cambiar la duración de retención de eliminación no definitiva predeterminada en los buckets nuevos. Ten en cuenta que solo el nombre de la etiquetastorage.defaultSoftDeletePolicyactualiza la duración predeterminada de la retención de borrado de forma no definitiva.Crea una etiqueta con el
gcloud resource-manager tags keys createcomando.gcloud resource-manager tags keys create storage.defaultSoftDeletePolicy \ --parent=organizations/ORGANIZATION_ID \ --description="Configures the default softDeletePolicy for new Storage buckets."
Donde:
ORGANIZATION_IDes el ID numérico de la organización para la que deseas establecer una duración de retención predeterminada de eliminación no definitiva. Por ejemplo,12345678901. Para obtener información para encontrar el ID de la organización, consulta Obtén el ID de tu recurso de organización.
Crea un valor de etiqueta para
0d(cero días) para inhabilitar el período de retención de eliminación no definitiva de forma predeterminada en buckets nuevos con elgcloud resource-manager tags values createcomando:gcloud resource-manager tags values create 0d \ --parent=ORGANIZATION_ID/storage.defaultSoftDeletePolicy \ --description="Disables soft delete for new Storage buckets."
Donde:
ORGANIZATION_IDes el ID numérico de la organización para la que deseas establecer la duración de retención predeterminada de eliminación no definitiva. Por ejemplo,12345678901.
Adjunta la etiqueta a tu recurso con el
gcloud resource-manager tags bindings createcomando:gcloud resource-manager tags bindings create \ --tag-value=ORGANIZATION_ID/storage.defaultSoftDeletePolicy/0d \ --parent=RESOURCE_ID
Donde:
ORGANIZATION_IDes el ID numérico de la organización en la que se creó la etiqueta. Por ejemplo,12345678901.RESOURCE_IDes el nombre completo de la organización para la que deseas crear la vinculación de etiquetas. Por ejemplo, para adjuntar una etiqueta aorganizations/7890123456, ingresa//cloudresourcemanager.googleapis.com/organizations/7890123456.
Inhabilita el borrado de forma no definitiva para los buckets que superan un umbral de costo especificado
Con las bibliotecas cliente de Cloud para Python, puedes inhabilitar la eliminación no definitiva para los buckets que superan un umbral de costo relativo especificado con una muestra de la biblioteca cliente de Python. La muestra hace lo siguiente:
Calcula el costo relativo del almacenamiento para cada clase de almacenamiento.
Evalúa el costo de eliminación no definitiva acumulado por tus buckets.
Establece un umbral de costo para el uso de la eliminación no definitiva y muestra los buckets que superan el umbral que estableciste, y te permite inhabilitar la eliminación no definitiva para los buckets que superan el umbral.
Para obtener más información sobre cómo configurar la biblioteca cliente de Python y usar la muestra,
consulta la
página README.md del analizador de costos de eliminación no definitiva de Cloud Storage.
En el siguiente ejemplo, se inhabilita la eliminación no definitiva para los buckets que superan un umbral de costo especificado:
¿Qué sigue?
Revisa las consideraciones antes de volver a habilitar la eliminación no definitiva.
Obtén información sobre cómo interactúa la eliminación no definitiva con otras funciones de Cloud Storage.