Memasang bucket Cloud Storage dengan menggunakan Cloud Storage FUSE

Opsi pemasangan

Halaman ini menjelaskan beberapa cara untuk memasang bucket Cloud Storage ke sistem file lokal Anda menggunakan Cloud Storage FUSE.

Sebelum memulai

Untuk memasang bucket, Anda harus menyelesaikan tugas berikut terlebih dahulu.

Mendapatkan peran yang diperlukan

Untuk memasang bucket, minta pemilik bucket untuk memberi Anda peran Storage Object Viewer (roles/storage.objectViewer) di bucket. Perlu diperhatikan bahwa jika Anda membuat bucket, Anda mungkin sudah memiliki peran Storage Admin (roles/storage.admin) di bucket dan tidak memerlukan peran Storage Object Viewer.

Peran bawaan Storage Object Viewer berisi izin yang diperlukan untuk memasang bucket. Untuk melihat izin persis yang diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • storage.objects.list

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui petunjuk tentang cara memberikan peran pada bucket, baca Menggunakan IAM dengan bucket.

Menginstal Cloud Storage FUSE

Jika Anda belum melakukannya, instal Cloud Storage FUSE.

Melakukan Autentikasi permintaan Cloud Storage FUSE

Untuk mengautentikasi permintaan FUSE Cloud Storage ke Cloud Storage, Anda harus menyiapkan Kredensial Default Aplikasi. Secara default, Cloud Storage FUSE otomatis memuat Kredensial Default Aplikasi yang ada tanpa konfigurasi lebih lanjut.

Agar dapat menggunakan Google Cloud CLI untuk menyiapkan Kredensial Default Aplikasi, selesaikan langkah-langkah berikut:

  1. Menginstal Google Cloud CLI.
  2. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  3. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login

Saat Anda membuat mesin virtual (VM) Compute Engine, akun layanannya juga dapat digunakan untuk mengautentikasi akses ke Cloud Storage FUSE.

Memasang bucket

Untuk memasang bucket ke sistem file lokal, gunakan perintah berikut:

gcsfuse GLOBAL_OPTIONS BUCKET_NAME MOUNT_POINT

Dengan keterangan:

  • GLOBAL_OPTIONS adalah opsi yang dapat Anda sertakan untuk mengontrol cara pemasangan disiapkan. Untuk mengetahui informasi selengkapnya tentang opsi dan cara menggunakannya, lihat Opsi CLI FUSE Cloud Storage.

  • BUCKET_NAME adalah nama bucket yang ingin Anda pasang. Contoh, my-bucket. Jika ingin menjalankan pemasangan dinamis, kecualikan nama bucket dari perintah.

  • MOUNT_POINT adalah direktori lokal tempat bucket dipasang. Contoh, /path/to/mount/point.

Setelah Cloud Storage FUSE keluar, Anda dapat mengakses bucket yang telah terpasang dengan menjalankan ls pada direktori pemasangan bucket. Jika ingin Cloud Storage FUSE tetap berada di latar depan (misalnya, untuk logging debug), Anda dapat menjalankan perintah gcsfuse dengan flag --foreground.

Contoh pemasangan

Bagian ini menjelaskan contoh perintah yang berbeda untuk memasang bucket.

Pemasangan statis

Pemasangan statis mengacu pada pemasangan bucket tertentu. Misalnya, untuk memasang bucket my-bucket ke direktori /path/to/mount/point, jalankan perintah berikut:

mkdir /path/to/mount/point
gcsfuse my-bucket /path/to/mount/point

Pemasangan dinamis

Pemasangan dinamis mengacu pada pemasangan semua bucket yang dapat diakses pengguna sebagai subdirektori.

Saat menjalankan pemasangan dinamis, Anda mengecualikan nama bucket dari perintah. Misalnya, Anda memiliki akses ke my-bucket-1, my-bucket-2, dan my-bucket-3. Untuk memasang semua bucket ke direktori /path/to/mount/point, jalankan perintah berikut:

mkdir /path/to/mount/point
gcsfuse /path/to/mount/point

Selanjutnya, Anda dapat mengakses bucket sebagai subdirektori:

ls /path/to/mount/point/my-bucket-1/
ls /path/to/mount/point/my-bucket-2/
ls /path/to/mount/point/my-bucket-3/

Bucket yang dipasang secara dinamis tidak dapat dicantumkan dari direktori pemasangan root. Sebagai gantinya, nama bucket harus ditentukan sebagai bagian dari operasi daftar.

Memasang bucket sebagai hanya-baca

Untuk memasang bucket sebagai hanya baca, teruskan opsi -o ro ke perintah gcsfuse Anda. Misalnya, untuk memasang bucket my-bucket sebagai hanya baca ke direktori /path/to/mount/point, jalankan perintah berikut:

gcsfuse -o ro my-bucket  /path/to/mount/point

Memasang direktori dalam bucket

Secara default, Cloud Storage FUSE memasang bucket secara keseluruhan, yang mencakup semua konten bucket dan struktur direktori. Untuk memasang direktori tertentu dalam bucket, teruskan opsi --only-dir ke perintah gcsfuse Anda. Misalnya, untuk memasang direktori my-bucket/a/b ke direktori /path/to/mount/point, jalankan perintah berikut:

gcsfuse --only-dir a/b my-bucket /path/to/mount/point

Pemasangan menggunakan perintah mount Linux

Penginstalan FUSE Cloud Storage menyertakan helper yang dipahami oleh perintah mount Linux, yang memungkinkan Anda menggunakan perintah mount untuk memasang bucket. Perintah mount harus dijalankan dari root jika Anda menggunakan Linux. Misalnya, perintah berikut memasang bucket my-bucket ke jalur /path/to/mount/point:

sudo mount -t gcsfuse -o rw,user my-bucket /path/to/mount/point

Saat memasang menggunakan perintah mount Linux, opsi CLI Cloud Storage FUSE dapat diteruskan sebagai argumen ke tanda -o, tetapi tanda hubung (-) di dalamnya harus diganti dengan garis bawah (_). Misalnya, implicit_dirs, bukan implicit-dirs.

sudo mount -t gcsfuse -o implicit_dirs my-bucket /path/to/mount/point

Pemasangan persisten

Penginstalan Cloud Storage FUSE menyertakan bantuan yang diinstal ke sistem Anda di jalur /sbin/mount.gcsfuse. Helper ini memungkinkan Anda membuat titik pemasangan menggunakan file /etc/fstab, sehingga Anda dapat mempertahankan pemasangan.

Misalnya, saat ditambahkan ke file /etc/fstab, baris berikut menentukan direktori pemasangan untuk bucket my-bucket di jalur /mount/point:

my-bucket /mount/point gcsfuse rw,noauto,user

Dengan keterangan:

  • Opsi rw menentukan bahwa direktori pemasangan dibuat dengan izin baca dan tulis.

  • Opsi noauto menentukan bahwa sistem file tidak boleh dipasang saat booting.

  • Opsi user memungkinkan siapa saja membuat direktori pemasangan yang ditentukan dalam file /etc/fstab. Setelah baris contoh ditambahkan ke file /etc/fstab, Anda dapat menjalankan mount /mount/point sebagai pengguna non-root.

Jika ingin memasang bucket secara otomatis saat booting, Anda mungkin perlu menyertakan opsi x-systemd.requires=network-online.target atau opsi _netdev dalam entri /etc/fstab, untuk memastikan bahwa Cloud Storage FUSE menunggu agar sistem jaringan siap sebelum dipasang. Contoh:

my-bucket /mount/point gcsfuse rw,x-systemd.requires=network-online.target,user

Anda dapat memasang bucket secara otomatis sebagai pengguna non-root tertentu dengan menyertakan opsi uid, gid, atau keduanya dalam entri /etc/fstab. Contoh:

my-bucket /mount/point gcsfuse rw,_netdev,allow_other,uid=1001,gid=1001

Serupa dengan perintah mount linux, flag yang digunakan untuk pemasangan dalam file /etc/fstab harus menggunakan garis bawah (_), bukan tanda hubung (-). Misalnya, implicit_dirs dan bukan implicit-dirs.

Memasang bucket dengan folder

Untuk memasang bucket termasuk folder terkelola-nya, sertakan opsi --implicit-dirs dalam perintah Anda.

Misalnya, untuk memasang bucket my-bucket dan folder terkelolanya ke direktori /path/to/mount/point, jalankan perintah berikut:

mkdir /path/to/mount/point
gcsfuse --implicit-dirs my-bucket /path/to/mount/point

Saat memasang bucket dengan folder terkelola, perhatikan batasan dan pertimbangan berikut:

  • Folder terkelola yang kosong tidak muncul di bucket yang terpasang.

  • Anda tidak dapat menetapkan atau mengelola izin IAM pada folder terkelola menggunakan Cloud Storage FUSE. Untuk menetapkan atau mengelola izin IAM pada folder terkelola, lihat Menggunakan IAM dengan folder terkelola.

  • Anda dapat menyalin dan memindahkan folder terkelola dalam bucket yang terpasang menggunakan perintah cp dan mv. Saat Anda menyalin atau memindahkan folder terkelola, kebijakan IAM pada folder terkelola asli tidak akan dipertahankan di folder terkelola yang baru. Anda harus menetapkan kebijakan IAM baru di folder terkelola yang baru.

Mengontrol izin akses ke direktori pemasangan

Secara default, Cloud Storage FUSE membuat direktori pemasangan bucket dengan izin yang hanya memungkinkan pengguna yang memanggil untuk mengakses konten bucket yang terpasang. Ini adalah langkah keamanan yang diimplementasikan dalam kernel FUSE.

Untuk memasang bucket dan mengizinkan orang lain mengakses direktori pemasangan bucket, Anda dapat menjalankan perintah mount sebagai root dengan opsi -o allow_other:

mount -t gcsfuse -o allow_other my-bucket /path/to/mount/point

Jika ingin menghindari pemasangan bucket sebagai root, Anda harus menambahkan user_allow_other ke file /etc/fuse.conf agar orang lain dapat mengakses direktori pemasangan bucket.

Untuk mengakses bucket yang terpasang, pengguna lain, selain pengguna yang memanggil,harus memiliki izin IAM yang diperlukan.

Peran yang diperlukan untuk mengakses bucket yang terpasang

Untuk membaca dari dan menulis ke bucket yang terpasang, minta pemilik bucket untuk memberi Anda peran Storage Object User (roles/storage.objectUser) di bucket.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk membaca dari bucket yang terpasang dan menulis ke bucket yang terpasang. Untuk melihat izin persis yang diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

  • storage.objects.create
  • storage.objects.delete
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui petunjuk tentang cara memberikan peran pada bucket, baca Menggunakan IAM dengan bucket.

Melepas bucket

Untuk melepaskan bucket, gunakan alat fusermount:

fusermount -u /path/to/mount/point

Langkah selanjutnya