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 dentro de los buckets que usan acceso universal a nivel de bucket. Cuando se transfieren objetos entre buckets de Cloud Storage con el Servicio de transferencia de almacenamiento, se pueden retener estos permisos de carpeta administrados.
Limitaciones
Las siguientes limitaciones se aplican 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
nideleteObjectsFromSourceAfterTransfer
. - No debe haber Condiciones de IAM en el bucket de destino ni en su proyecto que usen 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, las carpetas administradas no se pueden transferir a ninguno de los buckets 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 Identity and Access Management (IAM) de Google Cloud:
Para el origen y el destino, los permisos se pueden configurar a nivel del bucket o se pueden configurar en la carpeta administrada. Para establecer permisos en una carpeta administrada de destino, esta ya debe existir.
No recomendamos configurar permisos de carpetas administradas a nivel del proyecto. Consulta Consideraciones de seguridad para obtener información adicional.
En el bucket de origen o la carpeta administrada, 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 de carpeta administrada necesarios, 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 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 administrados 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 se otorga el rol a nivel del proyecto. Esto representa un riesgo de seguridad: un usuario con permisos de edición de trabajos podría aprovechar esto para otorgar privilegios a un actor malicioso. Para mitigar este riesgo, considera aislar las transferencias de carpetas administradas en un proyecto de Google Cloud dedicado.
Cloud Logging
Cloud Logging registra las acciones de las 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 Solución de problemas.