Untuk mengaktifkan Transparent Data Encryption (TDE), Anda harus memberikan variabel lingkungan vault yang diperlukan dan menyertakan tanda --tde-kek-url dalam
POSTGRES_INITDB_ARGS.
Sebelum memulai
- Konfigurasikan mesin secret KV-V2 HashiCorp Vault untuk memastikan bahwa jalur Kunci Enkripsi Kunci (KEK) dan Token Web JSON (JWT) tersedia.
- Pastikan AlloyDB Omni memiliki izin untuk membaca file token JWT.
Membuat cluster
Untuk membuat cluster yang mengaktifkan TDE, Anda harus meneruskan konfigurasi Key Management Service (KMS) dan kredensial autentikasi yang diperlukan selama inisialisasi database. Satu-satunya jenis autentikasi yang didukung adalah jwt.
Pilih tab untuk runtime container Anda.
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 container yang akan dibuat. Contoh,alloydb-tde.DATA_DIR: direktori lokal yang akan dipasang sebagai volume data untuk AlloyDB Omni. Contoh,/local/data.VAULT_AUTH_TYPE: jenis autentikasi yang akan digunakan untuk koneksi vault. Hanyajwtyang didukung.JWT_AUTH_ENGINE_MOUNT: jalur tempat mesin autentikasi HashiCorp Vault di-mount. Contoh,/auth/jwt.JWT_FILE_PATH: jalur tempat JWT vault disimpan di node Anda. Contoh,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. Contoh,/local/vault/config.VAULT_CERT_PATH: jalur tempat sertifikat untuk koneksi vault berada di container Anda. Contoh,/tde-tls. Jika tidak ditetapkan, sertifikat di trust store default akan digunakan.KEK_URL: URL yang sepenuhnya memenuhi syarat ke KEK di HashiCorp Vault. Gunakanvaultsebagai protokol untuk menentukan HashiCorp Vault sebagai penyedia KMS—misalnya,vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek.IMAGE_TAG: Gunakan18.1.0untuk image Debian terbaru atau18.1.0-ubiuntuk image UBI terbaru.
Melihat metrik TDE
Setelah cluster diinisialisasi, selesaikan langkah-langkah berikut untuk memverifikasi bahwa TDE diaktifkan dan melihat metrik TDE terkait.
- Hubungkan ke database Anda menggunakan
psqlatau klien pilihan Anda. Untuk mengetahui petunjuk mendetail tentang cara menghubungkan ke instance, lihat Menjalankan dan menghubungkan ke AlloyDB Omni. Jalankan perintah berikut:
select * FROM pgsnap.g$tde_stats;Jika TDE berhasil diaktifkan, output akan menampilkan metrik TDE seperti apakah TDE diaktifkan, URL KEK, versi KEK, dan stempel waktu pembuatan KEK.
Tabel berikut menjelaskan arti setiap metrik.
Nama Deskripsi Label Unit Jenis alloydb_omni_database_tde_data_blocks_decrypted_count_totalJumlah blok data yang didekripsi. Tidak berlaku konter alloydb_omni_database_tde_data_blocks_encrypted_count_totalJumlah blok data yang dienkripsi. Tidak berlaku counter alloydb_omni_database_tde_data_decryption_time_us_totalTotal waktu yang dihabiskan dalam dekripsi blok data. Tidak berlaku mikrodetik counter alloydb_omni_database_tde_data_encryption_time_us_totalTotal waktu yang dihabiskan dalam enkripsi blok data. Tidak berlaku mikrodetik konter alloydb_omni_database_tde_enabledStatus TDE diaktifkan. Tidak berlaku ukur alloydb_omni_database_tde_kek_infoInformasi KEK TDE. kek_version: Versi KEK
yang digunakan untuk penggabungan kunci.kek_url: Jalur yang sepenuhnya memenuhi syarat
ke KEK di KMSkek_creation_timestamp:
Waktu pembuatan versi KEK yang digunakan.
ukur alloydb_omni_database_tde_temp_blocks_decrypted_count_totalJumlah blok sementara yang didekripsi. Tidak berlaku counter alloydb_omni_database_tde_temp_blocks_encrypted_count_totalJumlah blok sementara yang dienkripsi. Tidak berlaku konter alloydb_omni_database_tde_temp_decryption_time_us_totalTotal waktu yang dihabiskan dalam dekripsi blok sementara. Tidak berlaku mikrodetik counter alloydb_omni_database_tde_temp_encryption_time_us_totalTotal waktu yang dihabiskan dalam enkripsi blok sementara. Tidak berlaku mikrodetik counter alloydb_omni_database_tde_wal_blocks_decrypted_count_totalJumlah blok WAL yang didekripsi. Tidak berlaku counter alloydb_omni_database_tde_wal_blocks_encrypted_count_totalJumlah blok WAL yang dienkripsi. Tidak berlaku counter alloydb_omni_database_tde_wal_decryption_time_us_totalTotal waktu yang dihabiskan dalam dekripsi blok WAL. Tidak berlaku mikrodetik counter alloydb_omni_database_tde_wal_encryption_time_us_totalTotal waktu yang dihabiskan dalam enkripsi blok WAL. Tidak berlaku mikrodetik konter