Cette page décrit plusieurs manières d'installer des buckets Cloud Storage sur votre système de fichiers local à l'aide de Cloud Storage FUSE.
Avant de commencer
Pour installer et accéder aux buckets, vous devez d'abord effectuer les tâches suivantes.
Obtenir les rôles requis pour installer et accéder à un bucket
Pour installer, accéder et effectuer des opérations de lecture et d'écriture dans un bucket, demandez au propriétaire du bucket de vous accorder le rôle Utilisateur des objets Storage (roles/storage.objectUser
) sur le bucket.
Ce rôle prédéfini contient les autorisations requises pour lire à partir d'un bucket installé et écrire dans un bucket installé. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.objects.update
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour savoir comment attribuer des rôles aux buckets, consultez la section Utiliser IAM avec des buckets.
Installer Cloud Storage FUSE
Si ce n'est pas déjà fait, installez Cloud Storage FUSE.
Authentifier des requêtes Cloud Storage FUSE
Pour authentifier des requêtes Cloud Storage FUSE auprès de Cloud Storage, vous devez configurer des Identifiants par défaut de l'application. Par défaut, Cloud Storage FUSE charge automatiquement les Identifiants par défaut existants de l'application sans configuration supplémentaire.
Pour utiliser Google Cloud CLI afin de configurer les Identifiants par défaut de l'application, procédez comme suit :
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Lorsque vous créez une VM Compute Engine, son compte de service peut également être utilisé pour authentifier l'accès à Cloud Storage FUSE.
Installer un bucket
Pour installer des buckets sur votre système de fichiers local, exécutez la commande suivante :
gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT
Où :
GLOBAL_OPTIONS
sont les options que vous pouvez inclure pour contrôler la configuration de l'installation. Pour en savoir plus sur les options et leur utilisation, consultez la section Options de la CLI Cloud Storage FUSE.BUCKET_NAME
est le nom du bucket que vous souhaitez installer. Par exemple,my-bucket
. Si vous souhaitez effectuer une installation dynamique, excluez un nom de bucket de la commande.MOUNT_POINT
correspond au répertoire local dans lequel le bucket est installé. Exemple :/path/to/mount/point
Une fois que Cloud Storage FUSE a quitté la session, vous pouvez accéder à vos buckets installés en exécutant ls
sur le point d'installation du bucket. Si vous préférez que Cloud Storage FUSE reste au premier plan (par exemple, pour la journalisation des données de débogage), exécutez la commande gcsfuse
avec l'option --foreground
.
Exemples d'installation
Cette section décrit différents exemples de commandes permettant d'installer des buckets.
Installation statique
L'installation statique consiste à installer un bucket spécifique. Par exemple, pour installer un bucket nommé my-bucket
dans le répertoire /path/to/mount/point
, exécutez les commandes suivantes:
mkdir /path/to/mount/point
gcsfuse my-bucket /path/to/mount/point
Installation dynamique
L'installation dynamique consiste à installer tous les buckets auxquels un utilisateur a accès en tant que sous-répertoires.
Lorsque vous effectuez un montage dynamique, vous excluez les noms de buckets de la commande.
Par exemple, supposons que vous ayez accès aux buckets nommés my-bucket-1
, my-bucket-2
et my-bucket-3
. Pour installer tous les buckets dans le répertoire /path/to/mount/point
, exécutez les commandes suivantes:
mkdir /path/to/mount/point
gcsfuse /path/to/mount/point
Vous pouvez ensuite accéder aux buckets en tant que sous-répertoires :
ls /path/to/mount/point/my-bucket-1/
ls /path/to/mount/point/my-bucket-2/
ls /path/to/mount/point/my-bucket-3/
Les buckets installés de manière dynamique ne peuvent pas être répertoriés à partir du point d'installation racine. À la place, le nom du bucket doit être spécifié dans le cadre de l'opération de listing.
Installer un bucket en lecture seule
Pour installer un bucket en lecture seule, transmettez l'option -o ro
à votre commande gcsfuse
. Par exemple, pour installer un bucket nommé my-bucket
en lecture seule dans le répertoire /path/to/mount/point
, exécutez la commande suivante:
gcsfuse -o ro my-bucket /path/to/mount/point
Installer un répertoire dans un bucket
Par défaut, Cloud Storage FUSE installe les buckets dans son intégralité, ce qui inclut tout le contenu du bucket et les structures de répertoires. Pour installer un répertoire spécifique dans un bucket, transmettez l'option --only-dir
à votre commande gcsfuse
. Par exemple, pour installer le répertoire my-bucket/a/b
dans le répertoire /path/to/mount/point
, exécutez la commande suivante :
gcsfuse --only-dir a/b my-bucket /path/to/mount/point
Installation à l'aide de la commande Linux mount
L'installation de Cloud Storage FUSE inclut un outil d'aide compris par la commande Linux mount
, qui vous permet d'utiliser la commande mount
pour installer des buckets.
La commande mount
doit être exécutée à partir de la racine si vous utilisez Linux. Par exemple, la commande suivante installe un bucket nommé my-bucket
dans le chemin d'accès /path/to/mount/point
:
sudo mount -t gcsfuse -o rw,user my-bucket /path/to/mount/point
Lors de l'installation à l'aide de la commande Linux mount
, les options de CLI Cloud Storage FUSE peuvent être transmises en tant qu'argument à l'option -o
, mais les traits d'union (-
) doivent être remplacé par des traits de soulignement (_
). Par exemple, implicit_dirs
au lieu de implicit-dirs
.
sudo mount -t gcsfuse -o implicit_dirs my-bucket /path/to/mount/point
Installation persistante
L'installation de Cloud Storage FUSE inclut un outil d'aide installé sur votre système dans le chemin d'accès /sbin/mount.gcsfuse
. Cet outil d'aide vous permet de créer des points d'installation à l'aide du fichier /etc/fstab
afin de conserver vos installations.
Par exemple, lorsqu'elle est ajoutée à votre fichier /etc/fstab
, la ligne suivante définit un point d'installation pour un bucket nommé my-bucket
au chemin /mount/point
:
my-bucket /mount/point gcsfuse rw,noauto,user
Où :
L'option
rw
indique que le point d'installation doit être créé avec des autorisations de lecture et d'écriture.L'option
noauto
indique que le système de fichiers ne doit pas être installé au démarrage.L'option
user
permet à n'importe quel utilisateur de créer le point d'installation spécifié dans le fichier/etc/fstab
. Après avoir ajouté l'exemple de ligne au fichier/etc/fstab
, vous pouvez exécutermount /mount/point
en tant qu'utilisateur non racine.
Si vous souhaitez installer automatiquement le bucket au démarrage, vous devrez peut-être inclure l'option x-systemd.requires=network-online.target
ou l'option _netdev
dans votre entrée /etc/fstab
, pour vous assurer que Cloud Storage FUSE attend que le système réseau soit prêt avant l'installation. Par exemple :
my-bucket /mount/point gcsfuse rw,x-systemd.requires=network-online.target,user
Vous pouvez installer un bucket automatiquement en tant qu'utilisateur non racine spécifique en incluant les options uid
et/ou gid
dans votre entrée /etc/fstab
. Par exemple :
my-bucket /mount/point gcsfuse rw,_netdev,allow_other,uid=1001,gid=1001
À l'instar de la commande Linux mount
, les options utilisées pour l'installation dans le fichier /etc/fstab
doivent utiliser des traits de soulignement (_
) au lieu des traits d'union (-
). Par exemple, implicit_dirs
au lieu de implicit-dirs
.
Installer un bucket avec des dossiers
Vous pouvez installer des buckets avec plusieurs types de dossiers.
Installer un bucket avec des dossiers gérés
Pour installer un bucket, y compris ses dossiers gérés, incluez l'option --implicit-dirs
dans votre commande.
Par exemple, pour installer un bucket nommé my-bucket
et ses dossiers gérés dans le répertoire /path/to/mount/point
, exécutez les commandes suivantes:
gcsfuse --implicit-dirs my-bucket /path/to/mount/point
Lorsque vous installez un bucket avec des dossiers gérés, tenez compte des limitations et considérations suivantes :
Les dossiers gérés vides n'apparaissent pas dans les buckets installés.
Vous ne pouvez pas définir ou gérer des autorisations IAM sur un dossier géré à l'aide de Cloud Storage FUSE. Pour définir ou gérer les autorisations IAM sur un dossier géré, consultez la page Utiliser IAM avec des dossiers gérés.
Vous pouvez copier et déplacer un dossier géré dans un bucket installé à l'aide des commandes
cp
etmv
. Lorsque vous copiez ou déplacez un dossier géré, les stratégies IAM du dossier géré d'origine ne sont pas conservées dans le nouveau dossier géré. Vous devez définir de nouvelles stratégies IAM pour le nouveau dossier géré.
Installer un bucket avec des dossiers définis implicitement
Vous pouvez installer des dossiers définis implicitement à l'aide de l'option --implicit-dirs
dans votre commande Cloud Storage FUSE. Les dossiers définis implicitement sont des dossiers qui ne sont pas créés explicitement en tant qu'objets dans Cloud Storage. L'indicateur --implicit-dirs
vous permet d'afficher les dossiers lorsque vous installez un bucket.
Par exemple, pour installer un bucket nommé my-bucket
dans le répertoire /path/to/mount/point
avec des dossiers définis implicitement, exécutez la commande suivante:
gcsfuse --implicit-dirs my-bucket /path/to/mount/point
Installer un bucket avec un espace de noms hiérarchique activé avec des dossiers
Vous pouvez installer un bucket avec l'espace de noms hiérarchique activé, y compris ses dossiers. Lorsque vous montez un bucket avec un espace de noms hiérarchique, vous n'avez pas besoin de spécifier l'indicateur --implicit-dirs
pour que les dossiers apparaissent dans votre bucket monté.
Par exemple, pour installer un bucket nommé my-bucket
avec des dossiers dans le répertoire /path/to/mount/point
, exécutez la commande suivante:
gcsfuse my-bucket /path/to/mount/point
Contrôler les autorisations d'accès au point d'installation
Par défaut, Cloud Storage FUSE crée des points d'installation de bucket avec des autorisations qui ne permettent à l'utilisateur appelant que d'accéder au contenu des buckets installés. Il s'agit d'une mesure de sécurité mise en œuvre dans le noyau FUSE.
Pour installer un bucket et autoriser d'autres utilisateurs à accéder au point d'installation du bucket, vous pouvez exécuter la commande mount
en tant qu'utilisateur racine avec l'option -o allow_other
:
mount -t gcsfuse -o allow_other my-bucket /path/to/mount/point
Si vous souhaitez éviter d'installer le bucket en tant qu'utilisateur racine, vous devez ajouter user_allow_other
au fichier /etc/fuse.conf
pour permettre aux autres utilisateurs d'accéder au point d'installation du bucket.
Désinstaller un bucket
Pour désinstaller un bucket, utilisez l'outil fusermount
:
fusermount -u /path/to/mount/point
Étape suivante
Découvrez les performances de Cloud Storage FUSE, comme le contrôle du comportement de mise en cache ou de l'activité de journalisation.
Découvrez la sémantique des répertoires dans Cloud Storage FUSE.