Anda dapat mengamankan data yang tidak aktif dan melindungi informasi sensitif dengan mengaktifkan enkripsi data transparan (TDE) di AlloyDB Omni. Dokumen ini menjelaskan cara membuat cluster yang mendukung TDE dengan menyediakan variabel lingkungan Key Management Service (KMS) yang diperlukan (untuk HashiCorp Vault atau Thales CipherTrust Manager) dan flag --tde-kek-url dalam variabel lingkungan POSTGRES_INITDB_ARGS selama inisialisasi database.
Sebelum memulai
KMS HashiCorp Vault
- Konfigurasi mesin rahasia KV-V2 HashiCorp Vault untuk memastikan jalur Kunci Enkripsi Kunci (KEK) dan Token Web JSON (JWT) tersedia.
- Pastikan AlloyDB Omni memiliki izin untuk membaca file Token Web JSON (JWT), yang merupakan token autentikasi.
KMS Thales CipherTrust
- Konfigurasi Thales CipherTrust Manager untuk memastikan Kunci Enkripsi Kunci (KEK) rahasia Anda dibuat dan dapat diekspor.
- Pastikan Anda memiliki akun pengguna CipherTrust Manager (
usernamedanpassword) dengan izin untuk mengautentikasi dan mengekspor rahasia KEK.
Membuat cluster
Untuk membuat cluster yang mendukung TDE, Anda harus meneruskan konfigurasi Key Management Service (KMS) dan kredensial autentikasi yang diperlukan selama inisialisasi database. Ikuti petunjuk di bagian
KMS HashiCorp Vault (menggunakan jwt
autentikasi) atau bagian KMS Thales CipherTrust (menggunakan autentikasi nama pengguna dan sandi).
KMS HashiCorp Vault
Pilih tab untuk runtime penampung Anda guna menginisialisasi AlloyDB Omni dengan HashiCorp Vault.
Docker
docker run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \ -e VAULT_AUTH_TYPE=jwt \ -e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \ -e VAULT_JWT_PATH=JWT_FILE_PATH \ -e VAULT_ROLE=VAULT_ROLE \ -e VAULT_CERT_PATH=VAULT_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \ -e VAULT_AUTH_TYPE=jwt \ -e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \ -e VAULT_JWT_PATH=JWT_FILE_PATH \ -e VAULT_ROLE=VAULT_ROLE \ -e VAULT_CERT_PATH=VAULT_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \ -e VAULT_AUTH_TYPE=jwt \ -e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \ -e VAULT_JWT_PATH=JWT_FILE_PATH \ -e VAULT_ROLE=VAULT_ROLE \ -e VAULT_CERT_PATH=VAULT_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \ -e VAULT_AUTH_TYPE=jwt \ -e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \ -e VAULT_JWT_PATH=JWT_FILE_PATH \ -e VAULT_ROLE=VAULT_ROLE \ -e VAULT_CERT_PATH=VAULT_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Ganti kode berikut:
CONTAINER_NAME: nama penampung yang akan dibuat. Contohnya,alloydb-tde.DATA_DIR: direktori lokal yang akan dipasang sebagai volume data untuk AlloyDB Omni. Contohnya,/local/data.JWT_AUTH_ENGINE_MOUNT: jalur tempat mesin autentikasi HashiCorp Vault dipasang. Contohnya,/auth/jwt.JWT_FILE_PATH: jalur tempat JWT Vault disimpan di node Anda. Contohnya,/tde-tls/jwt-token.- Opsional:
VAULT_ROLE: peran klien yang ditentukan dalam penyiapan Vault Anda yang memungkinkan HashiCorp Vault memverifikasi keaslian token JWT. VAULT_CERT_PATH_ON_DISK: jalur ke sertifikat Vault di mesin host. Contohnya,/local/vault/config.VAULT_CERT_PATH: jalur tempat sertifikat untuk koneksi Vault berada di penampung Anda. Contohnya,/tde-tls. Jika tidak ditetapkan, sertifikat di penyimpanan tepercaya default akan digunakan.KEK_URL: URL yang sepenuhnya memenuhi syarat untuk KEK di HashiCorp Vault. Gunakanvaultsebagai protokol untuk menentukan HashiCorp Vault sebagai penyedia KMS—misalnya,vault://127.0.0.1:8200/v1/secret/data/alloydb_kek.IMAGE_TAG: Gunakan18.4.0untuk image Debian terbaru atau18.4.0-ubiuntuk image UBI terbaru.
KMS Thales CipherTrust
Pilih tab untuk runtime penampung Anda guna menginisialisasi AlloyDB Omni dengan Thales CipherTrust Manager.
Docker
docker run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v CIPHERTRUST_CERT_PATH_ON_DISK:CIPHERTRUST_CERT_PATH \ -e CIPHERTRUST_USER=CIPHERTRUST_USERNAME \ -e CIPHERTRUST_PASSWORD=CIPHERTRUST_PASSWORD \ -e CIPHERTRUST_CERT_PATH=CIPHERTRUST_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Docker
docker run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v CIPHERTRUST_CERT_PATH_ON_DISK:CIPHERTRUST_CERT_PATH \ -e CIPHERTRUST_USER=CIPHERTRUST_USERNAME \ -e CIPHERTRUST_PASSWORD=CIPHERTRUST_PASSWORD \ -e CIPHERTRUST_CERT_PATH=CIPHERTRUST_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v CIPHERTRUST_CERT_PATH_ON_DISK:CIPHERTRUST_CERT_PATH \ -e CIPHERTRUST_USER=CIPHERTRUST_USERNAME \ -e CIPHERTRUST_PASSWORD=CIPHERTRUST_PASSWORD \ -e CIPHERTRUST_CERT_PATH=CIPHERTRUST_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Podman
podman run -d --name CONTAINER_NAME \ --network host \ -v DATA_DIR:/var/lib/postgresql/data \ -v CIPHERTRUST_CERT_PATH_ON_DISK:CIPHERTRUST_CERT_PATH \ -e CIPHERTRUST_USER=CIPHERTRUST_USERNAME \ -e CIPHERTRUST_PASSWORD=CIPHERTRUST_PASSWORD \ -e CIPHERTRUST_CERT_PATH=CIPHERTRUST_CERT_PATH \ -e POSTGRES_INITDB_ARGS=" \ --tde-kek-url=KEK_URL" \ google/alloydbomni:IMAGE_TAG
Ganti kode berikut:
CONTAINER_NAME: nama penampung yang akan dibuat. Contohnya,alloydb-tde.DATA_DIR: direktori lokal yang akan dipasang sebagai volume data untuk AlloyDB Omni. Contohnya,/local/data.CIPHERTRUST_USERNAME: nama pengguna yang digunakan untuk mengautentikasi dengan Thales CipherTrust Manager.CIPHERTRUST_PASSWORD: sandi untuk pengguna Thales CipherTrust Manager.CIPHERTRUST_CERT_PATH_ON_DISK: jalur ke sertifikat TLS CipherTrust Manager di mesin host. Contohnya,/local/ciphertrust/certs.CIPHERTRUST_CERT_PATH: jalur tempat sertifikat untuk koneksi CipherTrust Manager (ca.crt,tls.crt, dantls.key) berada di penampung Anda. Contohnya,/tde-tls. Jika tidak ditetapkan, sertifikat di penyimpanan tepercaya default akan digunakan.KEK_URL: URL yang sepenuhnya memenuhi syarat untuk KEK di Thales CipherTrust Manager. Gunakanciphertrustsebagai protokol untuk menentukan Thales CipherTrust Manager sebagai penyedia KMS—misalnya,ciphertrust://10.0.0.1:443/api/v1/vault/secrets/alloydb_kek.IMAGE_TAG: Gunakan18.4.0untuk image Debian terbaru atau18.4.0-ubiuntuk image UBI terbaru.
Untuk mengaktifkan TDE bagi data cache columnar engine yang tumpah ke penyimpanan SSD, hubungkan ke instance database Anda dan jalankan kueri berikut:
ALTER SYSTEM SET google_columnar_engine.enable_tde_for_storage_cache = 'on';
Mulai ulang server database Anda agar perubahan diterapkan.
Referensi metrik TDE
Anda dapat melihat semua metrik TDE di agen pemantauan AlloyDB Omni. Tabel berikut menjelaskan setiap metrik.
| Nama | Deskripsi | Label | Unit | Jenis |
|---|---|---|---|---|
alloydb_omni_database_tde_data_blocks_decrypted_count_total |
Jumlah blok data yang didekripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_data_blocks_encrypted_count_total |
Jumlah blok data yang dienkripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_data_decryption_time_us_total |
Total waktu yang dihabiskan dalam dekripsi blok data. | Tidak berlaku | mikrodetik | penghitung |
alloydb_omni_database_tde_data_encryption_time_us_total |
Total waktu yang dihabiskan dalam enkripsi blok data. | Tidak berlaku | mikrodetik | penghitung |
alloydb_omni_database_tde_enabled |
Status TDE diaktifkan. | Tidak berlaku | pengukur | |
alloydb_omni_database_tde_kek_info |
Informasi KEK TDE. |
|
pengukur | |
alloydb_omni_database_tde_temp_blocks_decrypted_count_total |
Jumlah blok sementara yang didekripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_temp_blocks_encrypted_count_total |
Jumlah blok sementara yang dienkripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_temp_decryption_time_us_total |
Total waktu yang dihabiskan dalam dekripsi blok sementara. | Tidak berlaku | mikrodetik | penghitung |
alloydb_omni_database_tde_temp_encryption_time_us_total |
Total waktu yang dihabiskan dalam enkripsi blok sementara. | Tidak berlaku | mikrodetik | penghitung |
alloydb_omni_database_tde_wal_blocks_decrypted_count_total |
Jumlah blok WAL yang didekripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_wal_blocks_encrypted_count_total |
Jumlah blok WAL yang dienkripsi. | Tidak berlaku | penghitung | |
alloydb_omni_database_tde_wal_decryption_time_us_total |
Total waktu yang dihabiskan dalam dekripsi blok WAL. | Tidak berlaku | mikrodetik | penghitung |
alloydb_omni_database_tde_wal_encryption_time_us_total |
Total waktu yang dihabiskan dalam enkripsi blok WAL. | Tidak berlaku | mikrodetik | penghitung |
tde_chill_cache_blocks_encrypted |
Jumlah blok cache dingin yang dienkripsi. | Tidak berlaku | penghitung | |
tde_chill_cache_blocks_decrypted |
Jumlah blok cache dingin yang didekripsi. | Tidak berlaku | penghitung | |
tde_chill_cache_blocks_total_encryption_time_us |
Total waktu yang dihabiskan dalam enkripsi blok cache dingin. | Tidak berlaku | mikrodetik | penghitung |
tde_chill_cache_blocks_total_decryption_time_us |
Total waktu yang dihabiskan dalam dekripsi blok cache dingin. | Tidak berlaku | mikrodetik | penghitung |
tde_ce_cache_ssd_blocks_encrypted |
Jumlah blok cache kolom yang tumpah ke penyimpanan SSD yang dienkripsi. | Tidak berlaku | penghitung | |
tde_ce_cache_ssd_blocks_decrypted |
Jumlah blok cache kolom yang tumpah ke penyimpanan SSD yang didekripsi. | Tidak berlaku | penghitung | |
tde_ce_cache_ssd_blocks_total_encryption_time_us |
Total waktu yang dihabiskan untuk mengenkripsi blok cache kolom yang tumpah ke penyimpanan SSD. | Tidak berlaku | mikrodetik | penghitung |
tde_ce_cache_ssd_blocks_total_decryption_time_us |
Total waktu yang dihabiskan untuk mendekripsi blok cache kolom yang tumpah ke penyimpanan SSD. | Tidak berlaku | mikrodetik | penghitung |