Transfiere carpetas administradas de Cloud Storage

Las carpetas administradas de Cloud Storage proporcionan un control de acceso detallado a los objetos en los buckets de Cloud Storage. Los permisos se pueden establecer a nivel de carpeta en los buckets que usan el acceso uniforme a nivel de bucket. Cuando se transfieren objetos entre buckets de Cloud Storage con el Servicio de transferencia de almacenamiento, se pueden conservar estos permisos de carpetas administradas.

Limitaciones

Se aplican las siguientes limitaciones a las transferencias de carpetas administradas:

  • El bucket de destino debe usar el acceso uniforme a nivel de bucket.
  • Las transferencias de carpetas administradas no admiten las opciones deleteObjectsUniqueInSink ni deleteObjectsFromSourceAfterTransfer.
  • No debe haber ninguna condición de IAM en el bucket de destino o en su proyecto que use el tipo de recurso bucket (storage.googleapis.com/Bucket) o el tipo de recurso object (storage.googleapis.com/Object). Si algún bucket dentro de un proyecto tiene una condición de IAM que usa cualquiera de estos tipos de recursos, no se pueden transferir carpetas administradas a ninguno de los buckets dentro de ese proyecto, incluso si se quita la condición más adelante.
  • No se admiten las transferencias controladas por eventos.
  • No se admiten las transferencias de manifiestos.

Permisos de IAM

La cuenta de servicio administrada por Google requiere los siguientes permisos de Google Cloud Identity and Access Management (IAM).

Tanto para el origen como para el destino, los permisos se pueden establecer a nivel del bucket o en la carpeta administrada. Para establecer permisos en una carpeta administrada de destino, esa carpeta ya debe existir.

No recomendamos establecer permisos de carpetas administradas a nivel del proyecto. Consulta Consideraciones de seguridad para obtener más información.

En el bucket o la carpeta administrada de origen, haz lo siguiente:

  • storage.managedFolders.getIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.get

En el bucket o la carpeta administrada de destino, haz lo siguiente:

  • storage.managedFolders.setIamPolicy
  • storage.managedFolders.list
  • storage.managedFolders.create

Estos se suman a los permisos estándar que requiere el Servicio de transferencia de almacenamiento:

Para otorgar los permisos necesarios de la carpeta administrada, crea un rol personalizado con solo los permisos requeridos.

Crea una transferencia de carpeta administrada

Para crear una transferencia que contenga una carpeta administrada, especifica managedFolderTransferEnabled: true en tu transferSpec. De manera opcional, puedes especificar un valor de path para transferir solo una carpeta administrada específica.

POST https://storagetransfer.googleapis.com/v1/transferJobs
{
  "name": "transferjobs/NAME",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "gcsDataSource": {
      "bucketName": "SOURCE_BUCKET",
      "path": "SOURCE_PATH",
      "managedFolderTransferEnabled": true
    },
    "gcsDataSink": {
      "bucketName": "DESTINATION_BUCKET",
      "path": "DESTINATION_PATH",
    }
  },
  "status": "ENABLED"
}

Si no se configuran los permisos de transferencia administrada correctos en la fuente y el destino, la transferencia fallará.

Consulta Crea transferencias para obtener detalles sobre cómo crear una transferencia con la API de REST o consulta la referencia de transferJobs.create.

Consideraciones de seguridad

Otorgar permisos de carpeta administrada a una cuenta de servicio administrada por Google permite que la cuenta modifique las políticas de IAM en las carpetas de destino o en todas las carpetas si el rol se otorga a nivel del proyecto. Esto supone un riesgo de seguridad, ya que un usuario con permisos de edición de trabajos podría aprovechar esta situación para otorgar privilegios a un actor malicioso. Para mitigar este riesgo, considera aislar las transferencias de carpetas administradas dentro de un proyecto de Google Cloud dedicado.

Cloud Logging

Cloud Logging registra las acciones de carpetas administradas. Consulta Cloud Logging para el Servicio de transferencia de almacenamiento para obtener más información.

Soluciona problemas

Si deseas obtener ayuda para crear y administrar carpetas administradas, consulta la página de solución de problemas.