

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Aktifkan koneksi terenkripsi untuk instans PostgreSQL DB di Amazon RDS
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds"></a>

*Rohit Kapoor, Amazon Web Services*

## Ringkasan
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-summary"></a>

Amazon Relational Database Service (Amazon RDS) mendukung enkripsi SSL untuk instans PostgreSQL DB. Menggunakan SSL, Anda dapat mengenkripsi koneksi PostgreSQL antara aplikasi dan Amazon RDS for PostgreSQL DB instans. Secara default, Amazon RDS SSL/TLS for PostgreSQL menggunakan dan mengharapkan semua klien terhubung dengan menggunakan enkripsi. SSL/TLS Amazon RDS for PostgreSQL mendukung TLS versi 1.1 dan 1.2.

Pola ini menjelaskan bagaimana Anda dapat mengaktifkan koneksi terenkripsi untuk instans Amazon RDS for PostgreSQL DB. Anda dapat menggunakan proses yang sama untuk mengaktifkan koneksi terenkripsi untuk Amazon Aurora PostgreSQL Edisi yang kompatibel.

## Prasyarat dan batasan
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-prereqs"></a>
+ Akun AWS yang aktif
+ Sebuah [Amazon RDS untuk instans DB Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_RDS_Configuring.html)
+ [Bundel SSL](https://www.postgresql.org/docs/current/ssl-tcp.html)

## Arsitektur
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-architecture"></a>

![Mengaktifkan koneksi terenkripsi untuk instans PostgreSQL DB di Amazon RDS](https://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/4f87c6a3-b4ff-4248-96d3-a4a498659735/images/ccc5c880-1191-4c12-a255-6908b96b96a5.png)


## Alat
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-tools"></a>
+ [pgAdmin](https://www.pgadmin.org/) adalah platform administrasi dan pengembangan open-source untuk PostgreSQL. Anda dapat menggunakan pgAdmin di Linux, Unix, macOS, dan Windows untuk mengelola objek database Anda di PostgreSQL 10 dan yang lebih baru.
+ Editor [PostgreSQL](https://wiki.postgresql.org/wiki/PostgreSQL_Clients) menyediakan antarmuka yang lebih ramah pengguna untuk membantu Anda membuat, mengembangkan, dan menjalankan kueri, dan mengedit kode sesuai dengan kebutuhan Anda.

## Praktik terbaik
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-best-practices"></a>
+ Pantau koneksi database yang tidak aman.
+ Audit hak akses basis data.
+ Pastikan bahwa backup dan snapshot dienkripsi saat istirahat.
+ Pantau akses basis data.
+ Hindari grup akses yang tidak terbatas.
+ Tingkatkan notifikasi Anda dengan [Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html).
+ Pantau kepatuhan kebijakan secara teratur.

## Epik
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-epics"></a>

### Unduh sertifikat tepercaya dan impor ke toko kepercayaan Anda
<a name="download-a-trusted-certificate-and-import-it-into-your-trust-store"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Muat sertifikat tepercaya ke komputer Anda. | Untuk menambahkan sertifikat ke toko Otoritas Sertifikasi Root Tepercaya untuk komputer Anda, ikuti langkah-langkah berikut. (Instruksi ini menggunakan Window Server sebagai contoh.)1. Di Windows Server, pilih **Mulai**, **Jalankan**, lalu ketik **mmc**.<br />2. Di konsol, pilih **File**, **Tambah/Hapus Snap-in**.<br />3. **Di bawah **Snap-in yang tersedia**, pilih **Sertifikat**, lalu pilih Tambah.**<br />4. Di bawah **Snap-in ini akan selalu mengelola sertifikat untuk**, pilih **Akun komputer**, **Berikutnya**.<br />5. Pilih **Komputer lokal**, **Selesai**.<br />6. **Jika Anda tidak memiliki snap-in lagi untuk ditambahkan ke konsol, pilih OK.**<br />7. Di pohon konsol, klik dua kali **Sertifikat**.<br />8. Klik kanan **Otoritas Sertifikasi Root Tepercaya**.<br />9. Pilih **Semua Tugas**, **Impor** untuk mengimpor sertifikat yang diunduh.<br />10. Ikuti langkah-langkah di Wisaya Impor Sertifikat. | DevOps insinyur, insinyur migrasi, DBA | 

### Paksa koneksi SSL
<a name="force-ssl-connections"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Buat grup parameter dan atur parameter rds.force\_ssl. | Jika instance PostgreSQL DB memiliki grup parameter kustom, edit grup parameter dan ubah ke 1. `rds.force_ssl`<br />Jika instans DB menggunakan grup parameter default yang belum `rds.force_ssl` diaktifkan, buat grup parameter baru. Anda dapat memodifikasi grup parameter baru dengan menggunakan Amazon RDS API atau secara manual seperti pada petunjuk berikut.<br />Untuk membuat grup parameter baru:1. Masuk ke konsol AWS Management dan buka konsol [Amazon RDS](https://console.aws.amazon.com/rds/) untuk Wilayah AWS yang menghosting instans DB.<br />2. Di panel navigasi, pilih **Grup parameter**.<br />3. Pilih **Buat grup parameter**, dan atur nilai berikut: Untuk **keluarga grup Parameter**, pilih **postgres14**.<database\_instance>Untuk **nama Grup**, ketik **pgsql- -ssl**.Untuk **Deskripsi**, masukkan deskripsi bentuk bebas untuk grup parameter yang Anda tambahkan.Pilih **Buat**.<br />4. Pilih grup parameter yang Anda buat.<br />5. Dari **Tindakan grup parameter**, pilih **Edit**.<br />6. **Temukan **rds.force\_ssl** dan ubah pengaturannya menjadi 1.**Lakukan pengujian sisi klien sebelum mengubah parameter ini.<br />7. Pilih **Simpan perubahan**.<br />Untuk mengaitkan grup parameter dengan instance PostgreSQL DB Anda:1. Di konsol Amazon RDS, di panel navigasi, pilih **Databases, lalu pilih instans** PostgreSQL DB.<br />2. Pilih **Ubah**.<br />3. Di bawah **Konfigurasi tambahan**, pilih grup parameter baru, lalu pilih **Lanjutkan**.<br />4. Di bawah **Jadwalkan modifikasi**, pilih **Terapkan segera**.<br />5. Pilih **Ubah instans DB**.<br />Untuk informasi selengkapnya, lihat [dokumentasi Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html). | DevOps insinyur, insinyur migrasi, DBA | 
| Memaksa koneksi SSL. | Connect ke instans Amazon RDS for PostgreSQL DB. Upaya koneksi yang tidak menggunakan SSL ditolak dengan pesan kesalahan. Untuk informasi selengkapnya, lihat [dokumentasi Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.SSL.html#PostgreSQL.Concepts.General.SSL.Requiring). | DevOps insinyur, insinyur migrasi, DBA | 

### Instal ekstensi SSL
<a name="install-ssl-extension"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Instal ekstensi SSL. | 1. Luncurkan koneksi psql atau pgAdmin sebagai DBA.<br />2. Panggil fungsi **ssl\_is\_used ()** untuk menentukan apakah SSL sedang digunakan.<pre>select ssl_is_used();</pre><br />Fungsi kembali `t` jika koneksi menggunakan SSL; jika tidak, ia kembali`f`.<br />3. Instal ekstensi SSL.<pre>create extension sslinfo;<br />show ssl;<br />select ssl_cipher();</pre>Untuk informasi selengkapnya, lihat [dokumentasi Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.SSL.html). | DevOps insinyur, insinyur migrasi, DBA | 

### Konfigurasikan klien PostgreSQL Anda untuk SSL
<a name="configure-your-postgresql-client-for-ssl"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Konfigurasikan klien untuk SSL. | Dengan menggunakan SSL, Anda dapat memulai server PostgreSQL dengan dukungan untuk koneksi terenkripsi yang menggunakan protokol TLS. Server mendengarkan koneksi standar dan SSL pada port TCP yang sama, dan bernegosiasi dengan klien penghubung apakah akan menggunakan SSL. Secara default, ini adalah opsi klien.<br />Jika Anda menggunakan klien psql:1. Pastikan sertifikat Amazon RDS telah dimuat ke komputer lokal Anda.<br />2. Luncurkan koneksi klien SSL dengan menambahkan yang berikut ini:<pre>psql postgres -h SOMEHOST.amazonaws.com -p 8192 -U someuser sslmode=verify-full sslrootcert=rds-ssl-ca-cert.pem<br />select ssl_cipher();</pre><br />Untuk klien PostgreSQL lainnya:+ Ubah parameter kunci publik aplikasi masing-masing. Ini mungkin tersedia sebagai opsi, sebagai bagian dari string koneksi Anda, atau sebagai properti di halaman koneksi di alat GUI. <br />Tinjau halaman berikut untuk klien ini:+ [Dokumentasi pgAdmin](https://www.pgadmin.org/docs/)<br />+ [Dokumentasi JDBC](https://jdbc.postgresql.org/documentation/ssl/) | DevOps insinyur, insinyur migrasi, DBA | 

## Pemecahan masalah
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Tidak dapat mengunduh sertifikat SSL. | Periksa koneksi Anda ke situs web, dan coba lagi unduh sertifikat ke komputer lokal Anda. | 

## Sumber daya terkait
<a name="enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds-resources"></a>
+ [Amazon RDS untuk dokumentasi PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Menggunakan SSL dengan instance PostgreSQL DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.SSL.html) (dokumentasi Amazon RDS)
+ [ TCP/IP Koneksi Aman dengan SSL (dokumentasi](https://www.postgresql.org/docs/9.1/ssl-tcp.html) PostgreSQL)
+ [Menggunakan SSL (dokumentasi](https://jdbc.postgresql.org/documentation/ssl/) JDBC)