Pencerminan Database - Menggunakan Sertifikat untuk Koneksi masuk

Berlaku untuk:SQL Server

Topik ini menjelaskan langkah-langkah untuk mengonfigurasi instans server untuk menggunakan sertifikat guna mengautentikasi koneksi masuk untuk pencerminan database. Sebelum dapat menyiapkan koneksi masuk, Anda harus mengonfigurasi koneksi keluar pada setiap instans server. Untuk informasi selengkapnya, lihat Mengizinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Keluar (Transact-SQL).

Proses mengonfigurasi koneksi masuk, melibatkan langkah-langkah umum berikut:

  1. Buat login untuk sistem lain.

  2. Buat pengguna untuk login tersebut.

  3. Dapatkan sertifikat untuk titik akhir pencerminan instans server lainnya.

  4. Kaitkan sertifikat dengan pengguna yang dibuat di langkah 2.

  5. Berikan izin CONNECT pada login untuk titik akhir pencerminan tersebut.

Jika ada saksi, Anda juga harus menyiapkan koneksi masuk untuk itu. Ini mengharuskan menyiapkan login, pengguna, dan sertifikat untuk saksi pada kedua mitra, dan sebaliknya.

Prosedur berikut menjelaskan langkah-langkah ini secara rinci. Untuk setiap langkah, prosedur ini memberikan contoh untuk mengonfigurasi instans server pada sistem bernama HOST_A. Bagian Contoh yang menyertainya menunjukkan langkah yang sama untuk instans server lain pada sistem bernama HOST_B.

Untuk mengonfigurasi instans server untuk koneksi pencerminan masuk (pada HOST_A)

  1. Buat login untuk sistem lain.

    Contoh berikut membuat login untuk sistem, HOST_B, dalam database master instans server di HOST_A; dalam contoh ini, login diberi nama HOST_B_login. Ganti kata sandi Anda sendiri untuk kata sandi sampel.

    USE master;  
    CREATE LOGIN HOST_B_login   
       WITH PASSWORD = '1Sample_Strong_Password!@#';  
    GO  
    

    Untuk informasi selengkapnya, lihat MEMBUAT LOGIN (Transact-SQL).

    Untuk melihat login pada instans server ini, Anda dapat menggunakan pernyataan Transact-SQL berikut:

    SELECT * FROM sys.server_principals  
    

    Untuk informasi selengkapnya, lihat sys.server_principals (Transact-SQL).

  2. Buat pengguna untuk login tersebut.

    Contoh berikut membuat pengguna, HOST_B_user, untuk login yang dibuat di langkah sebelumnya.

    USE master;  
    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;  
    GO  
    

    Untuk informasi lebih selengkapnya, lihat, CREATE USER (Transact-SQL).

    Untuk melihat pengguna pada instans server ini, Anda dapat menggunakan pernyataan Transact-SQL berikut:

    SELECT * FROM sys.sysusers;  
    

    Untuk informasi selengkapnya, lihat sys.sysusers (Transact-SQL).

  3. Dapatkan sertifikat untuk titik akhir pencerminan instans server lainnya.

    Jika Anda belum melakukannya saat mengonfigurasi koneksi keluar, dapatkan salinan sertifikat untuk titik akhir pencerminan instans server jarak jauh. Untuk melakukan ini, cadangkan sertifikat pada instans server tersebut seperti yang dijelaskan di Izinkan Titik Akhir Pencerminan Database untuk Menggunakan Sertifikat untuk Koneksi Keluar (Transact-SQL). Saat menyalin sertifikat ke sistem lain, gunakan metode salin aman. Berhati-hatilah untuk menjaga keamanan semua sertifikat Anda.

    Untuk informasi selengkapnya, lihat SERTIFIKAT CADANGAN (Transact-SQL).

  4. Kaitkan sertifikat dengan pengguna yang dibuat di langkah 2.

    Contoh berikut, mengaitkan sertifikat HOST_B dengan penggunanya di HOST_A.

    USE master;  
    CREATE CERTIFICATE HOST_B_cert  
       AUTHORIZATION HOST_B_user  
       FROM FILE = 'C:\HOST_B_cert.cer'  
    GO  
    

    Untuk informasi selengkapnya, lihat MEMBUAT SERTIFIKAT (Transact-SQL).

    Untuk melihat sertifikat pada instans server ini, gunakan pernyataan Transact-SQL berikut:

    SELECT * FROM sys.certificates  
    

    Untuk informasi selengkapnya, lihat sys.certificates (Transact-SQL).

  5. Berikan izin CONNECT pada login untuk titik akhir pencerminan jarak jauh.

    Misalnya, untuk memberikan izin pada HOST_A ke instans server jarak jauh pada HOST_B untuk menyambungkan ke login lokalnya-yaitu, untuk menyambungkan ke HOST_B_login-gunakan pernyataan Transact-SQL berikut:

    USE master;  
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];  
    GO  
    

    Untuk informasi selengkapnya, lihat IZIN GRANT Endpoint (Transact-SQL).

Ini menyelesaikan pengaturan autentikasi sertifikat agar HOST_B masuk ke HOST_A.

Anda sekarang perlu melakukan langkah-langkah masuk yang setara untuk HOST_A di HOST_B. Langkah-langkah ini diilustrasikan dalam bagian masuk contoh di bagian Contoh, di bawah ini.

Contoh

Contoh berikut menunjukkan konfigurasi HOST_B untuk koneksi masuk.

Catatan

Contoh ini menggunakan file sertifikat yang berisi sertifikat HOST_A yang dibuat oleh cuplikan kode di Izinkan Titik Akhir Pencerminan Database menggunakan Sertifikat untuk Koneksi Keluar (Transact-SQL).

USE master;  
--On HOST_B, create a login for HOST_A.  
CREATE LOGIN HOST_A_login WITH PASSWORD = 'AStrongPassword!@#';  
GO  
--Create a user, HOST_A_user, for that login.  
CREATE USER HOST_A_user FOR LOGIN HOST_A_login  
GO  
--Obtain HOST_A certificate. (See the note   
--   preceding this example.)  
--Asscociate this certificate with the user, HOST_A_user.  
CREATE CERTIFICATE HOST_A_cert  
   AUTHORIZATION HOST_A_user  
   FROM FILE = 'C:\HOST_A_cert.cer';  
GO  
--Grant CONNECT permission for the server instance on HOST_A.  
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_A_login  
GO  

Jika Anda berniat untuk berjalan dalam mode keamanan tinggi dengan failover otomatis, Anda harus mengulangi langkah-langkah pengaturan yang sama untuk mengonfigurasi bukti untuk koneksi keluar dan masuk.

Untuk informasi tentang membuat database cermin, termasuk contoh Transact-SQL, lihat Menyiapkan Database Cermin untuk Pencerminan (SQL Server).

Untuk contoh Transact-SQL dalam membuat sesi mode berkinerja tinggi, lihat Contoh: Menyiapkan Pencerminan Database Menggunakan Sertifikat (Transact-SQL).

Keamanan .NET Framework

Saat menyalin sertifikat ke sistem lain, gunakan metode salin aman. Berhati-hatilah untuk menjaga keamanan semua sertifikat Anda.

Lihat Juga

Keamanan Transportasi untuk Pencerminan Database dan Grup Ketersediaan AlwaysOn (SQL Server)
IZIN TITIK Akhir GRANT (Transact-SQL)
Menyiapkan Database Cermin Terenkripsi
Titik Akhir Pencerminan Database (SQL Server)
Memecahkan Masalah Konfigurasi Pencerminan Database (SQL Server)