GNU/Linux >> Belajar Linux >  >> Linux

kesalahan Masukan/Keluaran gcsfuse

Itu muncul dari Insufficient Permission kesalahan dalam hasil debug Anda bahwa gcsfuse tidak memiliki izin yang memadai untuk keranjang Anda. Mungkin memiliki akses hanya baca.

Pastikan untuk membaca dokumentasi kredensial untuk gcsfuse. Khususnya, jika Anda menggunakan akun layanan di VM GCE, pastikan untuk menyiapkan VM dengan storage-full cakupan akses.


Masalah Anda memang berasal dari izin yang tidak memadai, tetapi Anda tidak perlu menghancurkan dan membuat ulang VM dengan cakupan berbeda untuk mengatasi masalah ini. Berikut adalah pendekatan lain yang lebih cocok untuk sistem produksi:

  1. Buat akun layanan
  2. Buat kunci untuk akun layanan, dan unduh file JSON
  3. Berikan peran yang sesuai ke akun layanan
  4. Berikan izin yang sesuai ke akun layanan di bucket
  5. Unggah kredensial JSON untuk akun layanan ke VM

Terakhir, tentukan variabel lingkungan yang berisi jalur ke kredensial akun layanan saat memanggil gcsfuse dari baris perintah:

GOOGLE_APPLICATION_CREDENTIALS=/root/credentials/service_credential_file.json gcsfuse bucket_name /my/mount/point

Gunakan key_file opsi untuk menyelesaikan hal yang sama di fstab . Kedua opsi ini didokumentasikan dalam dokumentasi kredensial gcsfuse. (EDIT:opsi ini didokumentasikan, tetapi tidak berfungsi untuk saya.)

Menariknya, Anda perlu menggunakan variabel lingkungan atau key_file bahkan jika Anda telah mengonfigurasi akun layanan di VM menggunakan:

gcloud auth activate-service-account --key-file /root/credentials/service_credential_file.json

Untuk beberapa alasan, gcsfuse mengabaikan akun kredensial aktif.

Menggunakan storage-full ruang lingkup saat membuat VM memiliki implikasi keamanan dan stabilitas, karena memungkinkan VM tersebut memiliki akses penuh ke setiap keranjang milik proyek yang sama. Haruskah server penyimpanan file Anda benar-benar dapat menimpa log di bucket logging, atau membaca cadangan database di bucket lain?


Linux
  1. Cara mengarahkan output dari layanan systemd ke file

  2. Cara mengarahkan output program sebagai inputnya

  3. Menafsirkan kesalahan Input/Output dd

  1. Bekerja dengan Input Output dan Error Redirection di Linux

  2. Perbedaan Antara Akun Pengguna dan Layanan?

  3. Mencegat Input Dan Output Dari Executable Tertentu?

  1. Pengalihan Input/Output di Linux/Unix

  2. Bagaimana Cara Kerja Input Keyboard Dan Output Teks?

  3. Output Yang Akan Disimpan Dalam File Bernama Sama Dengan File Input?