Dokumen ini memberikan ringkasan berbagai kontrol yang mendukung keamanan AlloyDB untuk PostgreSQL di Google Cloud dan link ke informasi lebih lanjut tentang cara mengonfigurasi kontrol. Kontrol keamanan seperti opsi, kebijakan, dan pengelolaan akses keamanan jaringan juga dapat membantu Anda mengatasi risiko bisnis dan memenuhi persyaratan privasi dan peraturan yang berlaku untuk bisnis Anda.
Keamanan, privasi, risiko, dan kepatuhan untuk AlloyDB untuk PostgreSQL menggunakan model tanggung jawab bersama. Misalnya, Google mengamankan infrastruktur yang menjalankan AlloyDB for PostgreSQL dan layanan lainnya, serta memberi Anda kemampuan yang membantu Anda mengelola akses ke layanan dan resource Anda. Google Cloud Untuk informasi selengkapnya tentang cara kami mengamankan infrastruktur, lihat Ringkasan desain keamanan infrastruktur Google.
Arsitektur AlloyDB
Diagram berikut menunjukkan komponen arsitektur AlloyDB.
Komponen ini mencakup hal berikut:
- Instance AlloyDB di-deploy di beberapa zona untuk memungkinkan ketersediaan dan ketahanan tinggi.
- Aplikasi di Google Cloud atau di lingkungan lain yang terhubung ke instance utama AlloyDB. Diagram menunjukkan aplikasi yang berjalan di project Google Cloud yang sama dengan AlloyDB, meskipun Anda juga dapat menjalankan aplikasi di project lain dalam organisasiGoogle Cloud Anda.
- Di 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. Untuk mengizinkan instance AlloyDB 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 mengaktifkan API berikut:
alloydb.googleapis.com
compute.googleapis.com
cloudresourcemanager.googleapis.com
servicenetworking.googleapis.com
Untuk mengetahui 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 untuk memverifikasi identitas dan hak istimewa akses mereka. Google Cloud 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 mengetahui 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 selengkapnya, lihat Mengelola identitas dan akses.
Identity and Access Management
Untuk mengelola peran Pengelolaan Akses dan Identitas (IAM) dalam skala besar bagi administrator dan developer Anda, pertimbangkan untuk membuat grup fungsional terpisah untuk berbagai peran dan aplikasi pengguna database Anda. Berikan peran atau izin IAM yang diperlukan untuk mengelola AlloyDB kepada 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 penyiapan 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 atau Language Connector (seperti yang dijelaskan dalam Konektivitas aplikasi), Anda dapat menggunakan IAM untuk mengontrol beban kerja aplikasi mana yang dapat terhubung ke AlloyDB. Untuk mengetahui informasi selengkapnya tentang penggunaan IAM dengan Proxy Auth, lihat Memilih prinsipal IAM dan menyiapkan otorisasi untuknya. Untuk menggunakan autentikasi IAM otomatis dengan Konektor Bahasa AlloyDB, lihat Mengelola autentikasi IAM.
Akun layanan dan agen layanan default
Akun layanan
adalah jenis Akun Google non-interaktif khusus yang dimaksudkan untuk merepresentasikan
pengguna non-manusia yang perlu diautentikasi dan diberi otorisasi untuk mengakses data di
Google API. Karena AlloyDB adalah layanan yang terkelola sepenuhnya, Google mengelola akun layanan AlloyDB Anda atas nama Anda. Saat Anda mengaktifkan AlloyDB, akun layanan AlloyDB akan dibuat untuk project Anda (service-PROJECT_NUMBER-gcp-sa-alloydb-
). Resource AlloyDB seperti server PostgreSQL menggunakan akun layanan ini untuk berjalan.
Agen layanan adalah peran dan izin IAM yang digunakan oleh beberapa Google Cloud layanan agar 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 standar yang berlaku untuk AlloyDB menentukan apakah AlloyDB dapat menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi data Anda. Konfigurasi 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 ini mencakup hal berikut:
- Membatasi layanan mana yang dapat membuat resource tanpa CMEK
(
constraints/gcp.restrictNonCmekServices
) - Membatasi project mana yang dapat menyediakan CryptoKey Cloud KMS untuk CMEK
(
constraints/gcp.restrictCmekCryptoKeyProjects
)
Untuk mengetahui informasi selengkapnya, lihat Menggunakan kebijakan organisasi yang telah ditentukan sebelumnya.
Anda dapat menggunakan kebijakan organisasi kustom untuk mengonfigurasi batasan pada AlloyDB di tingkat project, folder, atau organisasi. Jika Anda mengaktifkan alamat IP publik, sebaiknya konfigurasikan batasan kebijakan kustom untuk menerapkan siapa yang dapat menggunakan alamat IP publik. Untuk menyempurnakan kebijakan, Anda dapat menambahkan kolom instance AlloyDB (misalnya, aktifkan alamat IP publik atau aktifkan 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 semuaGoogle Cloud layanan, termasuk instance AlloyDB yang berjalan di Google Cloud. Untuk mengetahui informasi selengkapnya tentang perlindungan jaringan default, lihat Enkripsi saat transit.
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 Autentikasi AlloyDB.
Jika diperlukan oleh organisasi Anda, 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. Dengan Kontrol Layanan VPC, Anda dapat 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 danGoogle 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 Anda.
Konektivitas aplikasi
Anda dapat mengamankan koneksi antara aplikasi dan AlloyDB menggunakan metode berikut:
- Proxy Auth AlloyDB atau Konektor Bahasa AlloyDB, untuk mengonfigurasi tunnel TCP yang aman ke instance AlloyDB.
- Autentikasi database.
- Akses VPC Serverless untuk menghubungkan AlloyDB secara langsung dengan Cloud Run.
- Private Service Connect atau akses layanan pribadi untuk terhubung ke aplikasi di VPC lain di Google Cloud menggunakan alamat IP pribadi AlloyDB. Gunakan metode ini untuk mempertahankan traffic di Google Cloud. Jika ingin menggunakan Private Service Connect, Anda harus mengonfigurasi Private Service Connect saat membuat cluster database AlloyDB.
Diagram berikut menunjukkan opsi konektivitas.
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
atauREVOKE
. 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 AlloyDB Language Connectors.
Autentikasi IAM memiliki manfaat berikut:
- Kontrol akses terpadu: IAM memusatkan kontrol akses di semua Google Cloud resource, termasuk database. Kontrol akses terpadu berarti kebijakan yang konsisten serta pengelolaan pengguna dan peran yang lebih mudah.
- Pengurangan pengelolaan kredensial: Pengguna tidak memerlukan sandi database terpisah. Autentikasi IAM menggunakan kredensial Akun Google yang sudah ada.
- Token berumur pendek: Autentikasi IAM menggunakan token akses berumur pendek, sehingga mengurangi risiko kebocoran sandi atau kredensial yang disusupi.
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 Anda (misalnya, nama instance, konfigurasi instance, konten tabel, nama baris, dan fungsi kustom) menggunakan enkripsi default. Data ini hanya dapat diakses oleh instance AlloyDB.
Anda dapat mengaktifkan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengenkripsi data cluster Anda dalam penyimpanan. Dengan CMEK, kunci disimpan di Cloud KMS sebagai kunci yang dilindungi software atau kunci yang dilindungi hardware (dengan Cloud HSM), tetapi dikelola oleh Anda. Untuk menyediakan kunci enkripsi secara otomatis, Anda dapat mengaktifkan Kunci Otomatis Cloud KMS. Saat Anda mengaktifkan Autokey, developer dapat meminta kunci dari Cloud KMS, dan agen layanan akan menyediakan kunci yang sesuai dengan maksud developer. Dengan Kunci Otomatis Cloud KMS, 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 menyetujui atau menolak permintaan ini secara otomatis, berdasarkan justifikasi.
Tempat data diproses
AlloyDB mendukung lokalitas data untuk data yang disimpan di cluster Anda. Residensi data memungkinkan Anda memilih region tempat Anda ingin data Anda disimpan menggunakan batasan kebijakan Pembatasan 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 Google Cloud Pemberitahuan Privasi.
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 operasiDATA READ
danDATA WRITE
yang membaca atau menulis data yang disediakan pengguna. - Log audit Peristiwa Sistem: Mengidentifikasi tindakan otomatis Google Cloud yang mengubah konfigurasi resource.
Untuk mengetahui informasi selengkapnya, 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 yang dijalankan, waktu perintah dijalankan, dan siapa yang menjalankan perintah.
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 yang hampir real-time saat Google Cloud administrator mengakses resource.
Pemantauan dan respons insiden
Anda dapat menggunakan berbagai alat untuk membantu Anda 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 dilakukan pada instance AlloyDB). Log ini mencakup log database PostgreSQL dan log container untuk agen dataplane.
- Konfigurasi Security Command Center untuk mendeteksi kerentanan SQL dan ancaman ke 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:
- International Organization for Standardization (ISO) 27001, ISO 27017, ISO 27018, ISO 27701
- Service and Organization Controls (SOC) 1, SOC 2, SOC 3
- Standar Keamanan Data Industri Kartu Pembayaran (PCI DSS)
- Health Insurance Portability and Accountability Act (HIPAA)
Untuk mengetahui informasi selengkapnya tentang Google Cloud kepatuhan terhadap berbagai sertifikasi dan kerangka kerja peraturan, lihat pusat referensi kepatuhan.
AlloyDB juga mendukung Assured Workloads, yang memungkinkan Anda menerapkan kontrol ke folder tertentu di organisasi Google Anda yang mendukung persyaratan peraturan, regional, atau kedaulatan. Untuk mengetahui informasi selengkapnya, lihat Produk yang didukung menurut paket kontrol.
Langkah berikutnya
- Konfigurasi ketahanan dengan cluster.
- Aktifkan pencadangan.
- Gunakan Terraform untuk men-deploy AlloyDB.
- Gunakan Google Threat Intelligence untuk melacak ancaman eksternal yang berlaku untuk bisnis Anda.