Kontrol Layanan VPC

Kontrol Layanan VPC memungkinkan organisasi menentukan perimeter di sekitar resource Google Cloud untuk memitigasi 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 yang dipaketkan

API berikut dipaketkan bersama di Kontrol Layanan VPC:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.googleapis.com

Saat Anda membatasi layanan firestore.googleapis.com dalam 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 konsol Google Cloud, tambahkan Firestore sebagai layanan yang dibatasi.
  • Saat membuat perimeter layanan menggunakan Google Cloud CLI, gunakan firestore.googleapis.com, bukan datastore.googleapis.com.
    --perimeter-restricted-services=firestore.googleapis.com

Layanan paket lama App Engine untuk Datastore

Layanan paket lama App Engine 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:

Perlindungan egress pada operasi impor dan ekspor

Firestore 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 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

Firestore sebelumnya 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 Anda sudah menggunakan agen layanan Firestore.

  1. Di konsol Google Cloud, buka halaman Databases.

    Buka Databases

  2. Pilih database yang diperlukan dari daftar database.
  3. Di menu navigasi, klik Import/Export.

  4. 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:

Teknik pertama lebih disukai karena melokalkan cakupan efek ke satu project Firestore. 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:

  1. Memperbarui izin bucket Cloud Storage. Lihat bagian berikut untuk mengetahui detailnya.
  2. Konfirmasi 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.

  1. Di konsol Google Cloud, buka halaman Databases.

    Buka Databases

  2. Pilih database yang diperlukan dari daftar database.
  3. Di menu navigasi, klik Import/Export.

  4. 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 Firestore.

  5. Catat nama utama agen layanan Firestore project Anda. Nama agen layanan muncul di bawah label Service agent to give access to.
  6. Untuk bucket dalam daftar yang akan Anda gunakan untuk operasi impor atau ekspor mendatang, selesaikan langkah-langkah berikut:

    1. Di baris tabel bucket ini, klik Fix. Halaman izin bucket akan terbuka di tab baru.

    2. Klik Tambahkan.
    3. Di kolom New principals, masukkan nama agen layanan Firestore Anda.
    4. Pada kolom Select a role, pilih Service Agents > Firestore Service Agent.
    5. Klik Simpan.
    6. Kembali ke tab pada halaman Firestore Import/Export.
    7. Ulangi langkah ini untuk bucket lain dalam daftar. Pastikan Anda melihat semua halaman pada daftar.
  7. 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:

  1. Di konsol Google Cloud, buka halaman Databases.

    Buka Databases

  2. Pilih database yang diperlukan dari daftar database.
  3. Di menu navigasi, klik Import/Export.

  4. 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 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.