Les dossiers gérés Cloud Storage offrent un contrôle des accès précis aux objets dans les buckets Cloud Storage. Les autorisations peuvent être définies au niveau d'un dossier dans les buckets qui utilisent l'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é 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
deleteObjectsUniqueInSinknideleteObjectsFromSourceAfterTransfer. - Il ne doit pas y avoir de conditions IAM sur le
bucket de destination ni sur 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 dispose d'une condition IAM qui utilise l'un de ces types de ressources, les dossiers gérés ne peuvent être transférés vers aucun 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 compatibles.
- Les transferts de fichiers manifestes ne sont pas compatibles.
Autorisations IAM
Les autorisations Google Cloud Identity and Access Management (IAM) suivantes sont requises par l'agent de service du service de transfert de stockage .
Pour la source et la destination, les autorisations peuvent être définies au niveau du bucket ou peuvent être définies 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é au niveau d'un projet. Pour en savoir plus, consultez Points à noter concernant la sécurité.
Sur le bucket source ou le dossier géré :
storage.managedFolders.getIamPolicystorage.managedFolders.liststorage.managedFolders.get
Sur le bucket de destination ou le dossier géré :
storage.managedFolders.setIamPolicystorage.managedFolders.liststorage.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é ne contenant que 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 également 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é 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 Créer des transferts
ou la documentation de référence
transferJobs.create
Points à noter concernant la sécurité
L'octroi d'autorisations de dossier géré à un agent de service 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 tâche peut exploiter cette fonctionnalité pour accorder des privilèges à une personne malveillante. 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 par Cloud Logging. Pour en savoir plus, consultez Cloud Logging pour le service de transfert de stockage.
Dépannage
Pour obtenir de l'aide sur la création et la gestion de dossiers gérés, consultez la page Dépannage.