Kontrol Layanan VPC memungkinkan organisasi menentukan perimeter di sekitar resource Google Cloud untuk mengurangi risiko pemindahan data yang tidak sah. Dengan Kontrol Layanan VPC, Anda membuat perimeter yang melindungi resource dan data layanan yang Anda tentukan secara eksplisit.
Layanan Firestore terpaket
API berikut dipaketkan menjadi satu dalam Kontrol Layanan VPC:
firestore.googleapis.com
datastore.googleapis.com
firestorekeyvisualizer.googleapis.com
Jika Anda membatasi layanan firestore.googleapis.com
di suatu perimeter, perimeter juga akan membatasi layanan datastore.googleapis.com
dan firestorekeyvisualizer.googleapis.com
.
Membatasi layanan datastore.googleapis.com
Layanan datastore.googleapis.com
dipaketkan dalam layanan firestore.googleapis.com
. Untuk membatasi
layanan
datastore.googleapis.com
, Anda harus membatasi layanan firestore.googleapis.com
sebagai berikut:
- Saat membuat perimeter layanan menggunakan Google Cloud Console, tambahkan Firestore sebagai layanan yang dibatasi.
-
Saat membuat perimeter layanan menggunakan Google Cloud CLI, gunakan
firestore.googleapis.com
, bukandatastore.googleapis.com
.--perimeter-restricted-services=firestore.googleapis.com
Layanan App Engine versi lama yang dipaketkan untuk Datastore
Layanan App Engine lama yang dipaketkan untuk Datastore tidak mendukung perimeter layanan. Melindungi layanan Datastore dengan perimeter layanan akan memblokir traffic dari layanan paket lama App Engine. Layanan paket lama meliputi:
- Java 8 Datastore dengan API App Engine
- Library klien Python 2 NDB untuk Datastore
- Gunakan Datastore 1.11 dengan API App Engine
Perlindungan traffic keluar pada operasi impor dan ekspor
Firestore dalam mode Datastore mendukung Kontrol Layanan VPC, tetapi memerlukan konfigurasi tambahan untuk mendapatkan perlindungan traffic keluar penuh pada operasi impor dan ekspor. Anda harus menggunakan agen layanan Firestore untuk mengizinkan operasi impor dan ekspor, bukan akun layanan App Engine default. Gunakan petunjuk berikut untuk melihat dan mengonfigurasi akun otorisasi untuk operasi impor dan ekspor.
Agen layanan Firestore
Firestore menggunakan agen layanan Firestore untuk mengizinkan operasi impor dan ekspor, bukan menggunakan akun layanan App Engine. Agen layanan dan akun layanan menggunakan konvensi penamaan berikut:
- Agen layanan Firestore
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
Sebelumnya Firestore menggunakan akun layanan default App Engine, bukan agen layanan Firestore. Jika database Anda masih menggunakan akun layanan App Engine untuk mengimpor atau mengekspor data, sebaiknya ikuti petunjuk di bagian ini untuk bermigrasi menggunakan agen layanan Firestore.
- Akun layanan App Engine
PROJECT_ID@appspot.gserviceaccount.com
Agen layanan Firestore lebih disukai karena khusus untuk Firestore. Akun layanan App Engine digunakan bersama oleh lebih dari satu layanan.
Melihat akun otorisasi
Anda dapat melihat akun yang digunakan oleh operasi impor dan ekspor untuk mengizinkan permintaan dari halaman Import/Export di Konsol Google Cloud. Anda juga dapat melihat apakah database sudah menggunakan agen layanan Firestore.
-
Di konsol Google Cloud, buka halaman Databases.
- Pilih database yang diperlukan dari daftar database.
-
Di menu navigasi, klik Import/Export.
- Lihat akun otorisasi di samping label Import/Export jobs run as.
Jika project tidak menggunakan agen layanan Firestore, Anda dapat bermigrasi ke agen layanan Firestore menggunakan salah satu teknik berikut:
- Memigrasi project dengan memeriksa dan memperbarui izin bucket Cloud Storage (direkomendasikan).
- Menambahkan batasan kebijakan seluruh organisasi yang memengaruhi semua project dalam organisasi.
Teknik pertama lebih disukai karena melokalkan cakupan efek ke satu project mode Datastore. Teknik kedua tidak direkomendasikan karena tidak memigrasi izin bucket Cloud Storage yang sudah ada. Namun, teknik ini menyediakan kepatuhan keamanan di tingkat organisasi.
Memigrasi dengan memeriksa dan memperbarui izin bucket Cloud Storage
Proses migrasi ini terdiri dari dua langkah:
- Memperbarui izin bucket Cloud Storage. Lihat bagian berikut untuk mengetahui detailnya.
- Mengonfirmasi migrasi ke agen layanan Firestore.
Izin bucket agen layanan
Untuk operasi ekspor atau impor apa pun yang menggunakan bucket Cloud Storage di project lain, Anda harus memberikan izin kepada agen layanan Firestore untuk bucket tersebut. Misalnya, operasi yang memindahkan data ke project lain harus mengakses bucket dalam project lain tersebut. Jika tidak, operasi tersebut akan gagal setelah bermigrasi ke agen layanan Firestore.
Alur kerja impor dan ekspor yang tetap berada dalam project yang sama tidak memerlukan perubahan izin. Agen layanan Firestore dapat mengakses bucket dalam project yang sama secara default.
Perbarui izin bucket Cloud Storage dari project lain untuk memberikan akses ke agen layanan service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
. Berikan peran Firestore Service Agent
kepada agen layanan.
Peran Firestore Service Agent
memberikan izin baca dan tulis untuk bucket Cloud Storage. Jika Anda hanya perlu memberikan izin baca atau hanya tulis, gunakan peran khusus.
Proses migrasi yang dijelaskan di bagian berikut membantu Anda mengidentifikasi bucket Cloud Storage yang mungkin memerlukan pembaruan izin.
Memigrasi project ke Agen Layanan Firestore
Selesaikan langkah-langkah berikut untuk bermigrasi dari akun layanan App Engine ke agen layanan Firestore. Setelah selesai, migrasi tidak dapat dibatalkan.
-
Di konsol Google Cloud, buka halaman Databases.
- Pilih database yang diperlukan dari daftar database.
-
Di menu navigasi, klik Import/Export.
-
Jika project Anda belum dimigrasikan ke agen layanan Firestore, Anda akan melihat banner yang menjelaskan migrasi dan tombol Check Bucket Status. Langkah berikutnya membantu Anda mengidentifikasi dan memperbaiki kemungkinan kesalahan izin.
Klik Check Bucket Status.
Menu akan muncul dengan opsi untuk menyelesaikan migrasi Anda dan daftar bucket Cloud Storage. Proses pemuatan daftar mungkin akan memerlukan waktu beberapa saat.
Daftar ini mencakup bucket yang baru saja digunakan dalam operasi impor dan ekspor, tetapi saat ini tidak memberikan izin baca dan tulis kepada agen layanan mode Datastore.
- Catat nama utama agen layanan mode Datastore project Anda. Nama agen layanan muncul di bawah label Service agent to give access to.
-
Untuk bucket dalam daftar yang akan Anda gunakan untuk operasi impor atau ekspor mendatang, selesaikan langkah-langkah berikut:
-
Di baris tabel bucket ini, klik Fix. Halaman izin bucket akan terbuka di tab baru.
- Klik Tambahkan.
- Di kolom New principals, masukkan nama agen layanan Firestore Anda.
- Pada kolom Select a role, pilih Service Agents > Firestore Service Agent.
- Klik Simpan.
- Kembali ke tab dengan halaman Import/Export mode Datastore.
- Ulangi langkah ini untuk bucket lain dalam daftar. Pastikan Anda melihat semua halaman pada daftar.
-
-
Klik Migrate to Firestore Service Agent. Jika masih memiliki bucket dengan pemeriksaan izin yang gagal, Anda harus mengonfirmasi migrasi dengan mengklik Migrate.
Pemberitahuan akan memberi tahu Anda saat migrasi selesai. Migrasi tidak dapat diurungkan.
Melihat status migrasi
Untuk memverifikasi status migrasi project Anda:
-
Di konsol Google Cloud, buka halaman Databases.
- Pilih database yang diperlukan dari daftar database.
-
Di menu navigasi, klik Import/Export.
-
Cari akun utama di samping label Import/Export jobs run as.
Jika akun utamanya adalah
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
, berarti project Anda telah dimigrasikan ke agen layanan Firestore. Migrasi tidak dapat diurungkan.Jika project belum dimigrasikan, banner akan muncul di bagian atas halaman dengan tombol Check Bucket Status. Lihat Memigrasi ke agen layanan Firestore untuk menyelesaikan migrasi.
Menambahkan batasan kebijakan di seluruh organisasi
-
Tetapkan batasan berikut dalam kebijakan organisasi Anda:
Require Firestore Service Agent for import/export (
firestore.requireP4SAforImportExport
).Batasan ini memerlukan operasi impor dan ekspor untuk menggunakan agen layanan Firestore guna mengizinkan permintaan. Untuk menetapkan batasan ini, lihat Membuat dan mengelola kebijakan organisasi.
Menerapkan batasan kebijakan organisasi ini tidak secara otomatis memberikan izin bucket Cloud Storage yang sesuai untuk agen layanan Firestore.
Jika batasan ini menimbulkan error izin untuk alur kerja impor atau ekspor, Anda dapat menonaktifkannya untuk kembali menggunakan akun layanan default. Setelah memeriksa dan memperbarui izin bucket Cloud Storage, Anda dapat mengaktifkan kembali batasan tersebut.