Les dossiers gérés Cloud Storage offrent un contrôle précis des accès aux objets des buckets Cloud Storage. Les autorisations peuvent être définies au niveau d'un dossier dans les buckets qui utilisent un accès universel au niveau du bucket. Lorsque vous transférez des objets entre des buckets Cloud Storage avec le service de transfert de stockage, ces autorisations de dossier gérées peuvent être conservées.
Limites
Les limites suivantes s'appliquent aux transferts de dossiers gérés:
- Le bucket de destination doit utiliser l'accès uniforme au niveau du bucket.
- Les transferts de dossiers gérés ne sont pas compatibles avec les options
deleteObjectsUniqueInSink
oudeleteObjectsFromSourceAfterTransfer
. - Aucune condition IAM ne doit être appliquée au bucket de destination ni à son projet qui utilisent le type de ressource bucket (
storage.googleapis.com/Bucket
) ou le type de ressource objet (storage.googleapis.com/Object
). Si un bucket d'un projet comporte une condition IAM qui utilise l'un de ces types de ressources, les dossiers gérés ne peuvent pas être transférés vers l'un des buckets de ce projet, même si la condition est supprimée ultérieurement. - Les transferts basés sur des événements ne sont pas acceptés.
- Les transferts de fichiers manifestes ne sont pas acceptés.
Autorisations IAM
Les autorisations IAM (Identity and Access Management) Google Cloud suivantes sont requises par le compte de service géré par Google.
Pour la source et la destination, les autorisations peuvent être définies au niveau du bucket ou sur le dossier géré. Pour définir des autorisations sur un dossier géré de destination, ce dossier doit déjà exister.
Nous vous déconseillons de définir des autorisations de dossier gérées au niveau d'un projet. Pour en savoir plus, consultez la section Considérations de sécurité.
Sur le bucket source ou le dossier géré:
storage.managedFolders.getIamPolicy
storage.managedFolders.list
storage.managedFolders.get
Sur le bucket ou le dossier géré de destination:
storage.managedFolders.setIamPolicy
storage.managedFolders.list
storage.managedFolders.create
Ces autorisations s'ajoutent aux autorisations standards requises par le service de transfert de stockage:
Pour accorder les autorisations de dossier géré requises, créez un rôle personnalisé avec uniquement les autorisations requises.
Créer un transfert de dossier géré
Pour créer un transfert contenant un dossier géré, spécifiez managedFolderTransferEnabled: true
dans votre transferSpec
. Vous pouvez éventuellement spécifier une valeur path
pour ne transférer qu'un dossier géré spécifique.
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 les autorisations de transfert gérées appropriées ne sont pas définies à la source et à la destination, le transfert échoue.
Pour savoir comment créer un transfert à l'aide de l'API REST, consultez la section Créer des transferts ou la documentation de référence sur transferJobs.create
.
Points à noter concernant la sécurité
Accorder des autorisations de dossier géré à un compte de service géré par Google permet au compte de modifier les stratégies IAM sur les dossiers de destination ou sur tous les dossiers si le rôle est accordé au niveau du projet. Cela présente un risque de sécurité : un utilisateur disposant d'autorisations de modification de la tâche pourrait exploiter cette fonctionnalité pour accorder des droits à un acteur malveillant. Pour atténuer ce risque, envisagez d'isoler les transferts de dossiers gérés dans un projet Google Cloud dédié.
Cloud Logging
Les actions sur les dossiers gérés sont enregistrées dans Cloud Logging. Pour en savoir plus, consultez la section Cloud Logging pour le service de transfert de stockage.
Dépannage
Pour obtenir de l'aide sur la création et la gestion des dossiers gérés, consultez la page Dépannage.