Halaman ini menjelaskan cara mengontrol akses ke instance Filestore.
Dengan protokol NFSv4.1 (Pratinjau), Anda dapat menggunakan Kerberos untuk mengamankan akses ke instance Filestore. Untuk mengetahui informasi selengkapnya, lihat Tentang protokol yang didukung.
Atau, Anda dapat menggunakan opsi Linux untuk mengontrol akses NFS dan Identity and Access Management (IAM) untuk mengontrol akses ke operasi instance, seperti membuat, mengedit, melihat, dan menghapus instance. Panduan berikut akan menuntun Anda menyelesaikan setiap tugas ini.
Setelan ekspor berbagi file
Setelan berbagi file Filestore diberi setelan default
/etc/exports
berikut:
- Daftar klien, yang mengidentifikasi klien yang diizinkan untuk terhubung ke berbagi file, berisi setiap alamat IP internal di jaringan VPC yang Anda pilih untuk instance Filestore. Alamat IP internal dapat berupa rentang apa pun yang tercantum dalam rentang subnet. Namun, jika memiliki klien di rentang subnet non-RFC 1918, Anda harus secara eksplisit memberi mereka akses ke instance Filestore menggunakan kontrol akses berbasis IP.
- Opsi
rw
digunakan sehingga berbagi file memungkinkan operasi baca dan tulis. - Opsi pemetaan ID pengguna
no_root_squash
digunakan, sehingga semua pengguna dan grup, termasuk pengguna root, diharapkan sama di instance Filestore dan klien. - Semua opsi lainnya menggunakan
default
/etc/exports
.
Instance tingkat dasar
Instance SSD dasar dan HDD dasar membuat bagian yang diekspor berlabel /config/google-prober
, yang digunakan untuk membantu mendukung proses pemeriksaan internal, yang pada akhirnya memverifikasi akses, ketahanan, atau performa. Bagian tersebut diekspor ke daftar klien yang hanya dapat diakses oleh alamat IP instance, menggunakan setelan yang sama seperti yang ditunjukkan di bagian sebelumnya. Berbagi dapat diakses oleh prober
yang dihosting di atau berasal dari instance saja dan tidak dapat diakses di luar
instance. Instance akan mengekspor bagian tersebut terlepas dari apakah kontrol akses berbasis IP diterapkan atau tidak. Pengguna dapat melihat pembagian yang diekspor menggunakan perintah showmount -e
.
Kontrol akses berbasis IP
Anda dapat mengubah setelan ekspor ini dengan membuat aturan kontrol akses menggunakan Google Cloud Console atau dengan menentukan file konfigurasi JSON selama pembuatan instance menggunakan gcloud CLI. Untuk mengetahui detailnya, lihat Mengonfigurasi kontrol akses berbasis IP.
Anda juga dapat menambahkan aturan kontrol akses baru atau mengubah aturan yang sudah ada setelah instance dibuat. Untuk mengetahui detailnya, lihat Mengedit instance.
Izin berbagi file
Saat Anda membuat instance Filestore, fitur berbagi file untuk instance tersebut memiliki izin file POSIX default rwxr-xr-x
. Izin ini berarti bahwa pada instance Filestore, hanya pengguna root pada klien yang terhubung yang memiliki akses baca/tulis ke berbagi file. Pengguna lain hanya memiliki akses
baca secara default. Pengguna root klien dapat mengubah izin dan pemilik.
Mengonfigurasi akses pada fitur berbagi file
Saat memasang fitur berbagi file, Anda dapat menggunakan setelan opsi pemasangan dan /etc/fstab
untuk menentukan apakah berbagi file dapat ditulis dan apakah file dapat dieksekusi pada file tersebut. Setelah memasang fitur berbagi file,
Anda dapat menggunakan perintah Linux standar seperti chmod
,
dan setfacl
untuk menetapkan izin berbagi file dan file. Hanya tingkat dasar yang mendukung setfacl
.
Menetapkan izin yang konsisten
Sebaiknya tetapkan izin yang konsisten untuk setiap pengguna di semua klien yang terhubung ke instance Filestore yang sama untuk mencegah eskalasi hak istimewa. Jika fitur berbagi file dipasang di lebih dari satu klien dan pengguna memiliki hak istimewa root di satu klien, tetapi tidak di klien lainnya, skenario eskalasi hak istimewa berikut dapat terjadi:
- Pengguna menetapkan atribut
setuid
pada file yang dapat dieksekusi dari klien tempat pengguna memiliki akses root. - Kemudian pengguna mengunggah file yang dapat dieksekusi ke {i>fileshare<i}.
- Pengguna menjalankan file yang diupload sebagai root pada klien mana pun tempat pengguna memiliki setidaknya izin baca.
Skenario ini dimungkinkan karena bit setuid
memungkinkan pengguna untuk mengeksekusi
file menggunakan izin pemilik file, yang dalam hal ini adalah root.
Izin yang tumpang-tindih
Instance zonal (sebelumnya SSD skala tinggi) dan instance perusahaan kini mendukung izin yang tumpang-tindih.
Jika dua aturan kontrol akses terpisah ditentukan untuk subnet alamat IP yang tumpang-tindih, aturan yang ditentukan untuk subnet yang lebih kecil akan diprioritaskan.
Misalnya, jika file konfigurasi JSON berisi aturan yang memberikan akses baca dan tulis untuk subnet alamat IPv4 10.0.0.0/24
, dan aturan terpisah memberikan akses hanya baca untuk subnet alamat IPv4 10.0.0.0/28
, Filestore akan mengenali dan menerapkan aturan untuk subnet yang lebih kecil terlebih dahulu. Aturan lainnya kemudian diterapkan ke bagian yang tersisa dari subnet alamat IP yang ditentukan. Dalam contoh ini, klien yang menggunakan alamat IPv4 10.0.0.20
diberi izin baca dan tulis, sementara klien yang menggunakan 10.0.0.12
diberi izin hanya baca:
{
"--file-share":
{
"capacity": "2048",
"name": "my_vol",
"nfs-export-options": [
{
"access-mode": "READ_WRITE",
"ip-ranges": [
"10.0.0.0/24"
],
"squash-mode": "ROOT_SQUASH",
"anon_uid": 1003,
"anon_gid": 1003
},
{
"access-mode": "READ_ONLY",
"ip-ranges": [
"10.0.0.0/28"
],
"squash-mode": "NO_ROOT_SQUASH"
}
]
}
}
Beberapa batasan berlaku:
Izin tumpang-tindih untuk subnet IPv4 yang identik tidak didukung dan akan menampilkan error.
Izin yang tumpang-tindih tidak didukung untuk SSD dasar atau instance HDD dasar.
Langkah selanjutnya
- Konfigurasikan kontrol akses berbasis IP atau lihat contoh.
- Membuat instance.
- Edit instance.
- Memecahkan masalah jaringan atau koneksi Filestore umum.