Transferir carpetas gestionadas de Cloud Storage

Las carpetas gestionadas de Cloud Storage proporcionan un control de acceso detallado a los objetos de los segmentos de Cloud Storage. Los permisos se pueden definir a nivel de carpeta en los segmentos que usan el acceso universal a nivel de segmento. Al transferir objetos entre segmentos de Cloud Storage con el Servicio de transferencia de Storage, se pueden conservar estos permisos de carpetas gestionadas.

Limitaciones

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

  • El segmento de destino debe usar el acceso uniforme a nivel de segmento.
  • Las transferencias de carpetas gestionadas no admiten las opciones deleteObjectsUniqueInSink ni deleteObjectsFromSourceAfterTransfer.
  • No debe haber condiciones de gestión de identidades y accesos en el segmento de destino ni en su proyecto que usen el tipo de recurso segmento (storage.googleapis.com/Bucket) o el tipo de recurso objeto (storage.googleapis.com/Object). Si algún segmento de un proyecto tiene una condición de gestión de identidades y accesos que usa alguno de estos tipos de recursos, las carpetas gestionadas no se pueden transferir a ninguno de los segmentos de ese proyecto, aunque se elimine la condición más adelante.
  • No se admiten las transferencias basadas en eventos.
  • No se admiten las transferencias de manifiestos.

Permisos de gestión de identidades y accesos

La cuenta de servicio gestionada por Google requiere los siguientes permisos de Google Cloud Gestión de Identidades y Accesos (IAM) .

Tanto en el origen como en el destino, los permisos se pueden definir a nivel de contenedor o en la carpeta gestionada. Para definir permisos en una carpeta gestionada de destino, esa carpeta ya debe existir.

No recomendamos definir permisos de carpetas gestionadas a nivel de proyecto. Consulta las consideraciones de seguridad para obtener más información.

En el segmento de origen o en la carpeta gestionada:

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

En el segmento de destino o en la carpeta gestionada:

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

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

Para conceder los permisos necesarios para la carpeta gestionada, crea un rol personalizado con los permisos necesarios.

Crear una transferencia de carpetas gestionadas

Para crear una transferencia que contenga una carpeta gestionada, especifica managedFolderTransferEnabled: true en tu transferSpec. También puedes especificar un valor de path para transferir solo una carpeta gestionada concreta.

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 han definido los permisos de transferencia gestionada correctos en el origen y el destino, la transferencia fallará.

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

Cuestiones sobre seguridad

Si se conceden permisos de carpeta gestionada a una cuenta de servicio gestionada por Google, la cuenta podrá modificar las políticas de IAM de las carpetas de destino o de todas las carpetas si el rol se concede a nivel de proyecto. Esto supone un riesgo de seguridad, ya que un usuario con permisos de edición de trabajos podría aprovecharlo para conceder privilegios a un agente malintencionado. Para mitigar este riesgo, aísla las transferencias de carpetas gestionadas en un Google Cloud proyecto específico.

Cloud Logging

Cloud Logging registra las acciones de carpetas gestionadas. Consulta más información en Cloud Logging para el Servicio de transferencia de Storage.

Solución de problemas

Para obtener ayuda sobre cómo crear y gestionar carpetas gestionadas, consulta la página Solución de problemas.