Keamanan, privasi, risiko, dan kepatuhan untuk AlloyDB untuk PostgreSQL

Untuk melindungi workload AlloyDB untuk PostgreSQL di Google Cloud, mengatasi risiko bisnis, dan membantu memenuhi persyaratan kepatuhan terhadap peraturan dan privasi, Anda dapat mengonfigurasi kontrol keamanan jaringan, kebijakan organisasi, enkripsi, serta pengelolaan akses dan identitas.

Keamanan, privasi, risiko, dan kepatuhan untuk AlloyDB menggunakan model tanggung jawab bersama. Misalnya, Google mengamankan infrastruktur tempat AlloyDB dan layanan Google Cloud lainnya berjalan, serta memberi Anda kemampuan yang membantu Anda mengelola akses ke layanan dan resource Anda. Untuk mengetahui informasi selengkapnya tentang cara Google mengamankan infrastruktur, lihat Ringkasan desain keamanan infrastruktur Google.

Arsitektur AlloyDB

Diagram berikut menunjukkan komponen arsitektur AlloyDB.

Arsitektur AlloyDB.

Komponen tersebut mencakup hal berikut:

  • Instance AlloyDB di-deploy di beberapa zona untuk memungkinkan ketersediaan tinggi dan ketahanan.
  • Aplikasi di Google Cloud atau di lingkungan lain yang terhubung ke instance utama AlloyDB. Diagram ini menunjukkan aplikasi yang berjalan di project Google Cloud yang sama dengan AlloyDB, meskipun Anda juga dapat menjalankan aplikasi di project lain di organisasiGoogle Cloud Anda.
  • Dalam lingkungan hybrid, Cloud VPN atau Cloud Interconnect dapat memberikan akses ke resource di jaringan perusahaan Anda.
  • Perimeter layanan yang dibuat menggunakan Kontrol Layanan VPC. Kontrol Layanan VPC memungkinkan Anda mengontrol pergerakan data antara layanan atau resource Google dan menyiapkan keamanan perimeter berbasis konteks.

Untuk mengetahui informasi tentang endpoint AlloyDB, lihat AlloyDB API. Secara default, endpoint ini bukan endpoint yang dapat dirutekan secara publik dan tidak dapat menerima traffic masuk dari jaringan publik. Agar instance AlloyDB dapat menerima traffic masuk melalui jaringan publik, lihat Menghubungkan menggunakan IP publik.

Untuk mengetahui informasi tentang konektor AlloyDB, lihat Konektivitas aplikasi.

Layanan yang disediakan

Saat mulai menggunakan AlloyDB, Anda akan mengaktifkan API berikut:

Untuk informasi selengkapnya, lihat Panduan memulai: Membuat dan terhubung ke database.

Autentikasi untuk pengelolaan Google Cloud

Administrator dan developer yang membuat dan mengelola instance AlloyDB harus melakukan autentikasi ke Google Cloud untuk memverifikasi identitas dan hak istimewa akses mereka. Anda harus menyiapkan setiap pengguna dengan akun pengguna yang dikelola oleh Cloud Identity, Google Workspace, atau penyedia identitas yang telah Anda gabungkan dengan Cloud Identity atau Google Workspace. Untuk informasi selengkapnya, lihat Ringkasan identity and access management.

Setelah Anda membuat akun pengguna, terapkan praktik terbaik keamanan seperti single sign-on dan verifikasi 2 langkah. Untuk mengetahui praktik terbaik autentikasi lainnya, lihat Mengelola identitas dan akses.

Identity and Access Management

Untuk mengelola peran Identity and Access Management (IAM) dalam skala besar bagi administrator dan developer, pertimbangkan untuk membuat grup fungsional terpisah untuk berbagai peran dan aplikasi pengguna database Anda. Berikan peran atau izin IAM yang diperlukan untuk mengelola AlloyDB ke grup Anda. Saat Anda menetapkan peran ke grup, ikuti prinsip hak istimewa terendah dan praktik terbaik keamanan IAM lainnya. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik untuk menggunakan Google Grup.

Untuk mengetahui informasi selengkapnya tentang cara menyiapkan IAM, lihat Ringkasan IAM.

Saat klien menggunakan autentikasi database IAM untuk mengakses AlloyDB, Anda juga dapat menggunakan IAM untuk mengontrol akses mereka ke AlloyDB. Untuk mengetahui informasi selengkapnya tentang peran IAM yang diperlukan untuk AlloyDB, lihat Peran dan izin IAM untuk AlloyDB.

Jika Anda menggunakan Proxy Auth AlloyDB atau Konektor Bahasa AlloyDB (seperti yang dijelaskan dalam Konektivitas aplikasi), Anda dapat menggunakan IAM untuk mengontrol workload aplikasi mana yang dapat terhubung ke AlloyDB. Untuk mengetahui informasi selengkapnya tentang cara menggunakan IAM dengan Proxy Auth, lihat Memilih akun utama IAM dan menyiapkannya untuk otorisasi. Untuk menggunakan autentikasi IAM otomatis dengan Language Connector, lihat Mengelola autentikasi IAM.

Akun layanan dan agen layanan default

Akun layanan adalah jenis Akun Google non-interaktif khusus yang dimaksudkan untuk mewakili pengguna non-manusia yang perlu melakukan autentikasi dan diberi otorisasi untuk mengakses data di Google API. Karena AlloyDB adalah layanan terkelola sepenuhnya, Google mengelola agen layanan AlloyDB atas nama Anda. Saat Anda mengaktifkan AlloyDB, agen layanan AlloyDB akan dibuat untuk project Anda (service-PROJECT_NUMBER@gcp-sa-alloydb.iam.gserviceaccount.com). Resource AlloyDB seperti server PostgreSQL menggunakan agen layanan ini untuk berjalan.

Agen layanan adalah peran dan izin IAM yang digunakan beberapa layanan Google Cloud sehingga dapat mengakses resource Anda dan bertindak atas nama Anda. Akun layanan AlloyDB terkelola menggunakan hak istimewa IAM dari agen layanan AlloyDB.

Kebijakan untuk AlloyDB

Kebijakan organisasi yang telah ditetapkan dan berlaku untuk AlloyDB menentukan apakah AlloyDB dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi data Anda. Konfigurasikan AlloyDB untuk menggunakan CMEK jika kewajiban peraturan Anda mengharuskan Anda memiliki kontrol yang lebih besar atas kunci yang digunakan untuk mengenkripsi data AlloyDB dalam penyimpanan. Kebijakan tersebut mencakup hal berikut:

  • Membatasi layanan yang dapat membuat resource tanpa CMEK (constraints/gcp.restrictNonCmekServices)

  • Membatasi project yang dapat menyediakan CryptoKey Cloud Key Management Service (Cloud KMS) untuk CMEK (constraints/gcp.restrictCmekCryptoKeyProjects)

Untuk mengetahui informasi selengkapnya, lihat Menggunakan kebijakan organisasi yang telah ditetapkan.

Anda dapat menggunakan kebijakan organisasi kustom untuk mengonfigurasi batasan pada AlloyDB di level project, folder, atau organisasi. Jika Anda mengaktifkan alamat IP publik, Google merekomendasikan agar Anda mengonfigurasi batasan kebijakan kustom untuk menerapkan siapa yang dapat menggunakan alamat IP publik. Untuk menyaring kebijakan, Anda dapat menambahkan kolom instance AlloyDB (misalnya, mengaktifkan alamat IP publik atau mengaktifkan alamat IP publik keluar) ke kebijakan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan kebijakan organisasi kustom.

Keamanan jaringan

Secara default, Google menerapkan perlindungan default terhadap data dalam pengiriman untuk semua layananGoogle Cloud , termasuk instance AlloyDB yang berjalan di Google Cloud. Untuk mengetahui informasi selengkapnya tentang perlindungan jaringan default, lihat Enkripsi dalam pengiriman.

AlloyDB mendukung enkripsi TLS 1.3 untuk komunikasi antara instance database dan klien. AlloyDB otomatis membuat sertifikat server untuk koneksi ini. Untuk menggunakan sertifikat klien untuk autentikasi bersama, Anda harus mengonfigurasi Konektor Bahasa AlloyDB (yang menggunakan autentikasi mTLS) atau Proxy Auth AlloyDB.

Jika diwajibkan oleh organisasi, Anda dapat mengonfigurasi kontrol keamanan tambahan untuk lebih melindungi traffic di jaringan Google Cloud dan traffic antara jaringan Google Cloud dan jaringan perusahaan Anda. Pertimbangkan hal berikut:

  • AlloyDB mendukung Kontrol Layanan VPC. Kontrol Layanan VPC memungkinkan Anda mengontrol pergerakan data di layanan Google dan menyiapkan keamanan perimeter berbasis konteks. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan Kontrol Layanan VPC, lihat Mengonfigurasi Kontrol Layanan VPC.

  • Jika Anda mengaktifkan alamat IP publik, gunakan Konektor Bahasa AlloyDB dan kebijakan organisasi kustom untuk mengontrol siapa yang memiliki akses ke instance AlloyDB.

  • Di Google Cloud, pertimbangkan VPC Bersama sebagai topologi jaringan Anda. VPC Bersama menyediakan pengelolaan konfigurasi jaringan terpusat sekaligus mempertahankan pemisahan lingkungan.

  • Gunakan Cloud VPN atau Cloud Interconnect untuk memaksimalkan keamanan dan keandalan koneksi antara jaringan perusahaan Anda dan Google Cloud. Untuk mengetahui informasi selengkapnya, lihat Memilih produk Network Connectivity.

Untuk mengetahui informasi selengkapnya tentang praktik terbaik keamanan jaringan, lihat Menerapkan zero trust dan Menentukan desain jaringan untuk zona landing Google Cloud .

Konektivitas aplikasi

Anda dapat mengamankan koneksi antara aplikasi dan AlloyDB menggunakan metode berikut:

Diagram berikut menunjukkan opsi konektivitas.

Opsi konektivitas AlloyDB.

Untuk mengetahui informasi selengkapnya tentang opsi untuk menyiapkan koneksi ke layanan tanpa alamat IP eksternal, lihat Opsi akses pribadi untuk layanan.

Autentikasi database

AlloyDB menyediakan metode autentikasi berikut untuk klien database:

  • Autentikasi database bawaan menggunakan nama pengguna dan sandi. Otorisasi ditentukan menggunakan pernyataan GRANT atau REVOKE. Untuk mengetahui informasi selengkapnya, lihat Mengelola peran pengguna AlloyDB.
  • Autentikasi IAM menggunakan akun utama IAM seperti pengguna dan akun layanan. Konektor Bahasa AlloyDB dapat mengotomatiskan proses untuk autentikasi IAM. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Konektor Bahasa AlloyDB. Autentikasi IAM memiliki manfaat berikut:
    • Kontrol akses terpadu: IAM memusatkan kontrol akses di semua resource Google Cloud , termasuk database. Kontrol akses terpadu berarti kebijakan yang konsisten serta pengelolaan pengguna dan peran yang lebih mudah.
    • Pengelolaan kredensial yang lebih sedikit: Pengguna tidak memerlukan sandi database terpisah. Autentikasi IAM menggunakan kredensial Akun Google yang sudah ada.
    • Token berumur singkat: Autentikasi IAM menggunakan token akses berumur singkat, sehingga mengurangi risiko kebocoran sandi atau penyusupan kredensial.

Konektor

Anda dapat menggunakan Proxy Auth AlloyDB atau Konektor Bahasa AlloyDB untuk mengonfigurasi koneksi terenkripsi ke klien database. Proxy Auth AlloyDB adalah proxy sisi klien yang secara transparan mengupgrade koneksi non-TLS ke koneksi TLS 1.3. Language Connector adalah library klien yang terhubung ke server proxy di cluster AlloyDB. Kedua konektor menggunakan IAM untuk mengizinkan koneksi dan melindungi koneksi menggunakan mTLS. Secara opsional, Anda dapat mengonfigurasi autentikasi tanpa sandi, bukan autentikasi IAM.

Jika Anda menggunakan Proxy Auth, tinjau Praktik terbaik untuk menggunakan Proxy Auth AlloyDB.

Perlindungan dan privasi data

Bagian ini menjelaskan cara AlloyDB melindungi data Anda dan privasi data tersebut.

AlloyDB mengenkripsi data Anda yang disimpan di cluster (misalnya, nama instance, konfigurasi instance, konten tabel, nama baris, dan fungsi kustom) menggunakan enkripsi default. Hanya instance AlloyDB yang dapat mengakses data ini.

Anda dapat mengaktifkan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi data cluster dalam penyimpanan. Dengan CMEK, kunci disimpan di Cloud KMS sebagai kunci yang dilindungi software atau kunci yang dilindungi hardware (dengan Cloud HSM), tetapi kunci tersebut dikelola oleh Anda. Untuk menyediakan kunci enkripsi secara otomatis, Anda dapat mengaktifkan Cloud KMS Autokey. Saat Anda mengaktifkan Cloud KMS Autokey, developer dapat meminta kunci dari Cloud KMS, dan agen layanan akan menyediakan kunci yang sesuai dengan intent developer. Dengan Cloud KMS Autokey, kunci tersedia sesuai permintaan, konsisten, dan mengikuti praktik standar industri.

Selain itu, AlloyDB mendukung Cloud External Key Manager (Cloud EKM), yang memungkinkan Anda menyimpan kunci di pengelola kunci eksternal di luar Google Cloud. Jika Anda menggunakan Cloud EKM, Key Access Justifications akan menambahkan kolom ke permintaan Cloud EKM yang memungkinkan Anda melihat alasan setiap permintaan. Dengan partner pengelolaan kunci eksternal tertentu, Anda dapat otomatis menyetujui atau menolak permintaan ini, berdasarkan justifikasi.

Tempat data diproses

AlloyDB mendukung residensi data untuk data yang disimpan di cluster Anda. Residensi data memungkinkan Anda memilih region tempat Anda ingin menyimpan data menggunakan batasan kebijakan Batasan Lokasi Resource. Anda dapat menggunakan Inventaris Aset Cloud untuk memverifikasi lokasi resource AlloyDB.

Jika Anda memerlukan residensi data untuk data yang sedang digunakan, Anda dapat mengonfigurasi Assured Workloads. Untuk mengetahui informasi selengkapnya, lihat Assured Workloads dan residensi data.

Privasi data

Untuk membantu melindungi privasi data Anda, AlloyDB mematuhi Prinsip Privasi Umum.

AlloyDB bertindak sebagai pemroses data untuk Data Pelanggan. Google juga bertindak sebagai pengontrol data untuk informasi seperti penagihan dan pengelolaan akun serta deteksi penyalahgunaan. Untuk mengetahui informasi selengkapnya, lihat Pemberitahuan Privasi Google Cloud .

Logging audit

AlloyDB menulis jenis log audit berikut:

  • Log audit Aktivitas Admin: Mencakup operasi ADMIN WRITE yang menulis metadata atau informasi konfigurasi.
  • Log audit Akses Data: Mencakup operasi ADMIN READ yang membaca metadata atau informasi konfigurasi. Juga mencakup operasi DATA READ dan DATA WRITE yang membaca atau menulis data yang disediakan pengguna.
  • Log audit Peristiwa Sistem: Mengidentifikasi tindakan Google Cloud otomatis yang mengubah konfigurasi resource.

Untuk mengetahui informasi selengkapnya tentang log audit di AlloyDB, lihat Logging audit AlloyDB.

Selain itu, untuk memenuhi persyaratan peraturan, Anda dapat menggunakan ekstensi pgAudit untuk mengaktifkan jejak audit perintah database. Log ekstensi pgAudit mencakup detail tentang perintah apa yang dilakukan, kapan perintah dilakukan, dan siapa yang melakukan perintah tersebut.

Transparansi akses

Anda dapat menggunakan Persetujuan Akses dan Transparansi Akses untuk mengontrol akses ke instance AlloyDB oleh personel Google yang mendukung layanan ini. Persetujuan Akses memungkinkan Anda menyetujui atau menolak permintaan akses oleh karyawan Google. Log Transparansi Akses menawarkan insight hampir real-time saat administratorGoogle Cloud mengakses resource.

Pemantauan dan respons insiden

Anda dapat menggunakan berbagai alat untuk membantu memantau performa dan keamanan AlloyDB. Pertimbangkan hal berikut:

  • Gunakan Logs Explorer untuk melihat dan menganalisis log peristiwa serta membuat metrik kustom dan pemberitahuan.
  • Gunakan dasbor insight sistem AlloyDB atau dasbor Cloud Monitoring untuk memantau performa instance AlloyDB. Untuk mengetahui informasi selengkapnya, lihat Memantau instance.
  • Aktifkan ekstensi pgAudit untuk mengaudit operasi AlloyDB (seperti perintah dan kueri yang dijalankan pada instance AlloyDB). Log ini mencakup log database PostgreSQL dan log container untuk agen dataplane.
  • Konfigurasikan Security Command Center untuk mendeteksi kerentanan SQL dan ancaman terhadap AlloyDB (seperti eskalasi hak istimewa). Anda dapat menyiapkan pemberitahuan dan playbook untuk analis pusat operasi keamanan (SOC) agar mereka dapat merespons temuan.

Sertifikasi dan kepatuhan

Memenuhi persyaratan peraturan Anda adalah tanggung jawab bersama antara Anda dan Google.

AlloyDB telah menerima banyak sertifikasi, termasuk berikut ini:

Untuk mengetahui informasi selengkapnya tentang kepatuhan Google Cloud terhadap berbagai kerangka kerja peraturan dan sertifikasi, lihat pusat referensi kepatuhan.

AlloyDB juga mendukung Assured Workloads, yang memungkinkan Anda menerapkan kontrol ke folder tertentu di organisasi Google yang mendukung persyaratan peraturan, regional, atau kedaulatan. Untuk mengetahui informasi selengkapnya, lihat Produk yang didukung menurut paket kontrol.

Langkah berikutnya