

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

# Memperbarui aplikasi untuk terhubung ke instans Microsoft SQL Server DB menggunakan sertifikatSSL/TLSbaru
<a name="ssl-certificate-rotation-sqlserver"></a>

Mulai 13 Januari 2023, Amazon RDS telah menerbitkan sertifikat Certificate Authority (CA) baru untuk menghubungkan ke instans RDS DB Anda menggunakan Secure Socket Layer atau Transport Layer Security (SSL/TLS). Setelah itu, Anda dapat menemukan informasi tentang pembaruan aplikasi untuk menggunakan sertifikat baru.

Topik ini dapat membantu Anda menentukan apakah ada aplikasi klien yang SSL TLS menggunakan/untuk terhubung ke instans DB Anda. Jika demikian, Anda dapat memeriksa lebih lanjut apakah aplikasi tersebut memerlukan verifikasi sertifikat untuk terhubung. 

**catatan**  
Beberapa aplikasi dikonfigurasi untuk terhubung ke instans SQL Server DB hanya jika mereka berhasil memverifikasi sertifikat di server.   
Untuk aplikasi tersebut, Anda harus memperbarui penyimpanan kepercayaan aplikasi klien untuk menyertakan sertifikat CA baru. 

Setelah Anda memperbarui sertifikat CA di penyimpanan kepercayaan aplikasi klien, Anda dapat merotasi sertifikat di instans DB Anda. Sebaiknya Anda menguji prosedur ini di lingkungan pengembangan dan pementasan sebelum menerapkannya di lingkungan produksi Anda.

Untuk informasi selengkapnya tentang rotasi sertifikat, lihat [Memutar sertifikat Anda SSL/TLS](UsingWithRDS.SSL-certificate-rotation.md). Untuk informasi selengkapnya tentang mengunduh sertifikat, lihat [](UsingWithRDS.SSL.md). Untuk informasi tentang menggunakanSSL/TLSdengan instans Microsoft SQL Server DB, lihat[Menggunakan SSL dengan instans DB Microsoft SQL Server](SQLServer.Concepts.General.SSL.Using.md).

**Topics**
+ [Menentukan apakah ada aplikasi yang terhubung ke instans Microsoft SQL Server DB Anda menggunakan SSL](#ssl-certificate-rotation-sqlserver.determining-server)
+ [Menentukan apakah klien memerlukan verifikasi sertifikat agar dapat terhubung](#ssl-certificate-rotation-sqlserver.determining-client)
+ [Memperbarui penyimpanan kepercayaan aplikasi Anda](#ssl-certificate-rotation-sqlserver.updating-trust-store)

## Menentukan apakah ada aplikasi yang terhubung ke instans Microsoft SQL Server DB Anda menggunakan SSL
<a name="ssl-certificate-rotation-sqlserver.determining-server"></a>

Periksa konfigurasi instans DB untuk nilai parameter `rds.force_ssl`. Secara default, parameter `rds.force_ssl` diatur ke 0 (nonaktif). Jika `rds.force_ssl` parameter diatur ke 1 (on), klien diharuskan menggunakanSSL/TLSuntuk koneksi. Lihat informasi lebih lanjut tentang grup parameter di [Grup parameter untuk RDS](USER_WorkingWithParamGroups.md).

Jalankan kueri berikut untuk mendapatkan opsi enkripsi saat ini untuk semua koneksi terbuka ke instans DB. Kolom `ENCRYPT_OPTION` pengembalian `TRUE` jika koneksi dienkripsi.

```
select SESSION_ID,
    ENCRYPT_OPTION,
    NET_TRANSPORT,
    AUTH_SCHEME
    from SYS.DM_EXEC_CONNECTIONS
```

Kueri ini hanya menunjukkan koneksi saat ini. Itu tidak menunjukkan apakah aplikasi yang telah terhubung dan terputus di masa lalu telah digunakanSSL.

## Menentukan apakah klien memerlukan verifikasi sertifikat agar dapat terhubung
<a name="ssl-certificate-rotation-sqlserver.determining-client"></a>

Anda dapat memeriksa apakah jenis klien yang berbeda memerlukan verifikasi sertifikat untuk terhubung.

**catatan**  
Jika Anda menggunakan konektor selain yang tercantum di atas, lihat dokumentasi konektor spesifik untuk informasi tentang cara menerapkan koneksi terenkripsi. Untuk informasi selengkapnya, lihat [Modul koneksi untuk SQL database Microsoft](https://docs.microsoft.com/en-us/sql/connect/sql-connection-libraries?view=sql-server-ver15) di dokumentasi Microsoft SQL Server.

### SQLStudio Manajemen Server
<a name="ssl-certificate-rotation-sqlserver.determining-client.management-studio"></a>

Periksa apakah enkripsi diberlakukan untuk koneksi SQL Server Management Studio:

1. Luncurkan Studio Manajemen SQL Server.

1. Untuk **Terhubung ke server**, masukkan informasi server, nama pengguna login, dan kata sandi.

1. Pilih **Opsi**.

1. Centang jika **Enkripsikan koneksi** dipilih di halaman koneksi.

Untuk informasi selengkapnya tentang Studio Manajemen SQL Server, lihat [Menggunakan Studio Manajemen SQL Server](http://msdn.microsoft.com/en-us/library/ms174173.aspx).

### Sqlcmd
<a name="ssl-certificate-rotation-sqlserver.determining-client.sqlcmd"></a>

Contoh berikut dengan `sqlcmd` klien menunjukkan cara memeriksa koneksi SQL Server skrip untuk menentukan apakah koneksi yang berhasil memerlukan sertifikat yang valid. Untuk informasi selengkapnya, lihat [Menghubungkan dengan sqlcmd](https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connecting-with-sqlcmd?view=sql-server-ver15) di dokumentasi Microsoft SQL Server.

Saat menggunakan`sqlcmd`, SSL koneksi memerlukan verifikasi terhadap sertifikat server jika Anda menggunakan argumen `-N` perintah untuk mengenkripsi koneksi, seperti pada contoh berikut.

```
$ sqlcmd -N -S dbinstance.rds.amazon.com -d ExampleDB                     
```

**catatan**  
Jika `sqlcmd` dipanggil dengan opsi `-C`, itu menyetujui sertifikat server, meskipun tidak sesuai dengan penyimpanan kepercayaan klien.

### ADO.NET
<a name="ssl-certificate-rotation-sqlserver.determining-client.adonet"></a>

Dalam contoh berikut, aplikasi terhubung menggunakanSSL, dan sertifikat server harus diverifikasi.

```
using SQLC = Microsoft.Data.SqlClient;
 
...
 
    static public void Main()  
    {  
        using (var connection = new SQLC.SqlConnection(
            "Server=tcp:dbinstance.rds.amazon.com;" +
            "Database=ExampleDB;User ID=LOGIN_NAME;" +
            "Password=YOUR_PASSWORD;" + 
            "Encrypt=True;TrustServerCertificate=False;"
            ))
        {  
            connection.Open();  
            ...
        }
```

### Java
<a name="ssl-certificate-rotation-sqlserver.determining-client.java"></a>

Dalam contoh berikut, aplikasi terhubung menggunakanSSL, dan sertifikat server harus diverifikasi.

```
String connectionUrl =   
    "jdbc:sqlserver://dbinstance.rds.amazon.com;" +  
    "databaseName=ExampleDB;integratedSecurity=true;" +  
    "encrypt=true;trustServerCertificate=false";
```

Untuk mengaktifkan SSL enkripsi untuk klien yang terhubung menggunakanJDBC, Anda mungkin perlu menambahkan RDS sertifikat Amazon ke penyimpanan sertifikat Java CA. Untuk petunjuk, lihat [Mengkonfigurasi klien untuk enkripsi](https://docs.microsoft.com/en-us/SQL/connect/jdbc/configuring-the-client-for-ssl-encryption?view=sql-server-2017) dalam dokumentasi Microsoft SQL Server. Anda juga dapat memberikan nama file sertifikat CA tepercaya secara langsung melalui aplikasi `trustStore=path-to-certificate-trust-store-file` dengan string koneksi.

**catatan**  
Jika Anda menggunakan `TrustServerCertificate=true` (atau yang setara) dalam string koneksi, proses koneksi melewati validasi rantai persetujuan. Dalam hal ini, aplikasi akan terkoneksi meskipun sertifikat tidak dapat diverifikasi. Menggunakan `TrustServerCertificate=false` memberlakukan validasi sertifikat dan merupakan praktik terbaik.

## Memperbarui penyimpanan kepercayaan aplikasi Anda
<a name="ssl-certificate-rotation-sqlserver.updating-trust-store"></a>

Anda dapat memperbarui toko kepercayaan untuk aplikasi yang menggunakan Microsoft SQL Server. Untuk petunjuk, silakan lihat [Mengenkripsi koneksi spesifik](SQLServer.Concepts.General.SSL.Using.md#SQLServer.Concepts.General.SSL.Client). Juga, lihat [Mengkonfigurasi klien untuk enkripsi](https://docs.microsoft.com/en-us/SQL/connect/jdbc/configuring-the-client-for-ssl-encryption?view=sql-server-2017) dalam dokumentasi Microsoft SQL Server.

Jika Anda menggunakan sistem operasi selain Microsoft Windows, lihat dokumentasi distribusi perangkat lunak SSL TLS untuk/implementasi untuk informasi tentang menambahkan sertifikat CA root baru. Misalnya, Open SSL dan Gnu TLS adalah opsi populer. Gunakan metode implementasi untuk menambahkan kepercayaan ke sertifikat CA RDS root. Microsoft menyediakan petunjuk untuk mengonfigurasi sertifikat pada beberapa sistem.

Untuk informasi tentang cara mengunduh sertifikat root, lihat [](UsingWithRDS.SSL.md).

Untuk contoh skrip yang mengimpor sertifikat, lihat [Contoh skrip untuk mengimpor sertifikat ke trust store Anda](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

**catatan**  
Saat memperbarui penyimpanan kepercayaan, Anda dapat mempertahankan sertifikat lama selain menambahkan sertifikat baru.