Le stockage d'objets dans Google Distributed Cloud (GDC) air-gapped vous permet de transférer et de récupérer des fichiers, des répertoires et des données avec gestion des versions dans des buckets limités au projet. Vous pouvez exécuter des opérations sur un seul fichier ou en plusieurs parties via la console GDC ou la CLI gdcloud, et protéger les objets avec un chiffrement AEADKey personnalisé.
Avant de commencer
Les buckets de stockage sont des ressources limitées à un projet spécifique. Le projet agit comme un conteneur, regroupant vos buckets et permettant de les gérer via le serveur de l'API Management. Avant de pouvoir effectuer les opérations décrites sur cette page, vous devez créer un projet ou en sélectionner un existant pour lequel vous disposez des autorisations suffisantes.
Rôles IAM requis
Contactez l'administrateur de projet IAM pour demander les rôles suivants dans l'espace de noms de votre projet :
- Administrateur de buckets de projet (
project-bucket-admin) : crée, met à jour et supprime des buckets de stockage. - Lecteur d'objets de bucket de projet (
project-bucket-object-viewer) : permet d'afficher et de vérifier les détails des buckets et des objets de stockage.
Pour en savoir plus, consultez Accorder l'accès à un bucket.
Préparer votre environnement
Pour exécuter des commandes sur le serveur d'API Management ou le serveur d'API global, procédez comme suit :
- Connectez-vous et générez le fichier kubeconfig pour le serveur d'API de gestion zonale si vous n'en avez pas.
- Pour les buckets birégionaux, procédez comme suit :
- Vérifiez auprès de votre opérateur d'infrastructure (IO) que la ressource personnalisée
BucketLocationConfiga été créée pour vos zones associées. - Générez le fichier kubeconfig pour le serveur d'API global.
- Vérifiez auprès de votre opérateur d'infrastructure (IO) que la ressource personnalisée
Consignes de dénomination des objets
Suivez les consignes ci-dessous pour nommer les objets :
- Utilisez des caractères UTF-8 pour nommer les objets.
- Comporter entre 1 et 55 caractères.
- N'ajoutez pas d'informations permettant d'identifier personnellement l'utilisateur.
Importer des objets dans des buckets de stockage
Console
- Dans le menu de navigation, cliquez sur Stockage d'objets.
- Cliquez sur le nom du bucket dans lequel vous souhaitez importer l'objet.
- Facultatif : Si vous souhaitez créer un dossier pour stocker votre objet, cliquez sur Créer un dossier > saisissez un nom de dossier > cliquez sur Créer.
- Cliquez directement sur Importer un fichier ou accédez au dossier que vous venez de créer, puis cliquez sur Importer un fichier.
- Sélectionnez le fichier souhaité, puis cliquez sur Ouvrir.
- Attendez le message de confirmation indiquant que l'importation a réussi.
gdcloud
Pour importer un objet, exécutez les commandes suivantes :
gdcloud storage cp LOCAL_PATH s3://REMOTE_PATH
gdcloud storage cp s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
gdcloud storage mv s3://FULLY_QUALIFIED_SOURCE_BUCKET_NAME s3://FULLY_QUALIFIED_DESTINATION_BUCKET_NAME
Les commandes suivantes nécessitent FULLY_QUALIFIED_BUCKET_NAME. Utilisez la commande GET ou DESCRIBE de la section Afficher la configuration du bucket pour obtenir le nom complet du bucket.
La commande suivante importe tous les fichiers texte du répertoire local dans un bucket :
gdcloud storage cp *.txt s3://FULLY_QUALIFIED_BUCKET_NAME
La commande suivante importe plusieurs fichiers du répertoire local vers un bucket :
gdcloud storage cp abc1.txt abc2.txt s3://FULLY_QUALIFIED_BUCKET_NAME
Pour importer un dossier dans un bucket, utilisez l'option --recursive pour copier l'intégralité d'une arborescence de répertoires. La commande suivante importe l'arborescence de répertoires dir :
gdcloud storage cp DIRECTORY_NAME s3://FULLY_QUALIFIED_BUCKET_NAME --recursive
Effectuez des importations en plusieurs parties pour les objets volumineux ou utilisez-les automatiquement lorsque vous avez un fichier de plus de 15 Mo à importer. Dans ce cas, le fichier est divisé en plusieurs parties de 15 Mo chacune. La dernière partie est plus petite. Chaque partie est importée séparément et reconstruite à la destination une fois le transfert terminé.
Si l'importation d'une partie échoue, vous pouvez la relancer sans affecter les autres parties déjà importées.
Deux options sont disponibles pour les importations en plusieurs parties :
--disable-multipart: désactive les importations en plusieurs parties pour tous les fichiers.--multipart-chunk-size-mb=SIZE: définit la taille de chaque fragment d'une importation en plusieurs parties.
Les fichiers de plus de SIZE sont automatiquement importés en tant que fichiers multithread/multisegment. Les fichiers plus petits sont importés à l'aide de la méthode traditionnelle. SIZE est exprimé en mégaoctets. La taille de fragment par défaut est de 15 Mo. La taille minimale autorisée d'un fragment est de 5 Mo, et la taille maximale est de 5 Go.
Télécharger des objets à partir de buckets de stockage
Console
- Dans le menu de navigation, cliquez sur Stockage d'objets.
- Cliquez sur le nom du bucket contenant les objets.
- Cochez la case à côté du nom de l'objet à télécharger.
- Cliquez sur Télécharger.
gdcloud
Pour obtenir des objets du bucket :
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/OBJECT LOCAL_FILE_TO_SAVE
Pour télécharger tous les fichiers texte d'un bucket dans votre répertoire actuel :
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/*.txt .
Pour télécharger le fichier texte abc.txt d'un bucket vers votre répertoire actuel :
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt .
Pour télécharger une ancienne version du fichier, listez d'abord toutes les versions du fichier :
gdcloud storage ls s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt --all-versions
Exemple de résultat :
s3://my-bucket/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND
s3://my-bucket/abc.txt#ODgzNEYzQ0MtMzEzRS0xMUVFLTk2NEItMjI1MTAwQkJENjND
s3://my-bucket/abc.txt#ODNCNDEzNzgtMzEzRS0xMUVFLTlDOUMtQzRDOTAwQjg3RTg3
Ensuite, téléchargez une version spécifique du fichier texte abc.txt du bucket vers votre répertoire actuel :
gdcloud storage cp s3://FULLY_QUALIFIED_BUCKET_NAME/abc.txt#OEQxNTk4MUEtMzEzRS0xMUVFLTk2N0UtQkM4MjAwQkJENjND .
Utiliser une clé AEADKey personnalisée
Pour une personnalisation plus poussée, vous pouvez créer votre propre AEADKey et l'utiliser directement lors du chiffrement des objets de votre bucket. Vous avez ainsi un contrôle total sur la clé de chiffrement, en contournant la clé par défaut. Suivez les instructions de la section Créer une clé pour créer une clé AEADKey et assurez-vous qu'elle se trouve dans le même Namespace que le bucket que vous souhaitez utiliser. Ensuite, lorsque vous envoyez la requête, assurez-vous que HEADER est configuré avec x-amz-server-side-encryption: SSE-KMS et x-amz-server-side-encryption-aws-kms-key-id: NAMESPACE_NAME/AEADKey_NAME.