Ringkasan Keamanan (Service Broker)

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Managed Instance

Service Broker membantu Anda menulis aplikasi database yang sangat dapat diskalakan yang juga aman dan andal. Keamanan Service Broker memungkinkan layanan yang dihosting oleh instans SQL Server yang berbeda untuk berkomunikasi dengan aman, bahkan di mana instans berada di komputer yang berbeda yang tidak memiliki hubungan kepercayaan lain atau di mana komputer sumber dan tujuan tidak terhubung ke jaringan yang sama pada saat yang sama.

Keamanan Service Broker bergantung pada sertifikat. Pendekatan umumnya adalah menggunakan sertifikat untuk menetapkan kredensial database jarak jauh, lalu memetakan operasi dari database jarak jauh ke pengguna lokal. Izin untuk pengguna lokal berlaku untuk operasi apa pun atas nama layanan jarak jauh. Sertifikat dibagikan antar database. Tidak ada informasi lain untuk pengguna yang dibagikan.

Service Broker menyediakan dua jenis keamanan yang berbeda - keamanan dialog dan keamanan transportasi. Memahami kedua jenis keamanan ini, dan bagaimana mereka bekerja sama, akan membantu Anda merancang, menyebarkan, dan mengelola aplikasi Service Broker.

  • Keamanan dialog - Mengenkripsi pesan dalam percakapan dialog individual dan memverifikasi identitas peserta dalam dialog. Keamanan dialog juga menyediakan otorisasi jarak jauh dan pemeriksaan integritas pesan. Keamanan dialog menetapkan komunikasi terautentikasi dan terenkripsi antara dua layanan.

  • Keamanan transportasi - Mencegah database yang tidak sah mengirim pesan Service Broker ke database dalam instans lokal. Keamanan transportasi menetapkan koneksi jaringan terautentikasi antara dua database.

Perhatikan bahwa protokol dialog dan protokol broker yang berdekatan dirancang untuk meneruskan pesan antar database, daripada menjalankan perintah pada database jarak jauh. Gaya komunikasi ini memungkinkan Service Broker untuk menyediakan layanan tanpa memerlukan database untuk berbagi info masuk SQL Server atau kredensial keamanan Windows.

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

Skenario Keamanan Adventure Works Cycles

Catatan

Contoh divalidasi pada SQL Server 2008 R2. Sebaiknya gunakan database sampel AdventureWorks2008R2 dari database sampel AdventureWorks untuk menyelesaikan contoh.

SQL Server Service Broker didukung dalam versi SQL Server saat ini.

Dalam skenario bisnis sampel, Adventure Works Cycles, perusahaan fiktif, membuat layanan Service Broker untuk mengirimkan pesanan suku cabang kepada vendor. Layanan ini memerlukan keamanan untuk Adventure Works dan vendor. Setiap vendor harus dapat menjamin bahwa hanya pelanggan yang ada yang dapat mengirimkan pesanan. Adventure Works harus dapat menjamin bahwa hanya vendor yang memenuhi syarat yang dapat menerima pesanan. Pesan antara database AdventureWorks2008R2 dan vendor harus dienkripsi sehingga tidak ada pihak ketiga yang dapat membaca pesan. Untuk memastikan tingkat keamanan tertinggi yang mungkin, hanya vendor yang memenuhi syarat yang dapat terhubung ke database AdventureWorks2008R2.

Untuk memenuhi persyaratan bahwa pesan harus dienkripsi, Adventure Works dan vendor menggunakan keamanan dialog Service Broker:

  1. Untuk menyiapkan keamanan dialog, administrator AdventureWorks2008R2 membuat pengguna lokal bernama VendorOutgoing dan membuat pasangan kunci untuk pengguna tersebut.

  2. Administrator mendistribusikan sertifikat yang berisi kunci umum pasangan kunci kepada vendor yang perlu mengakses layanan.

  3. Setiap vendor menginstal sertifikat dari Adventure Works Cycles ke dalam database dan membuat pengguna yang memiliki sertifikat.

  4. Vendor kemudian membuat pasangan kunci, dan mengirim informasi tentang nama layanan untuk layanan vendor dan sertifikat dengan kunci umum pasangan kunci tersebut kepada administrator AdventureWorks2008R2.

  5. Administrator AdventureWorks2008R2 membuat pengguna untuk setiap vendor dan mengaitkan sertifikat dari vendor tersebut dengan pengguna.

  6. Administrator juga membuat pengikatan layanan jarak jauh untuk setiap vendor yang mengaitkan nama layanan vendor dengan pengguna yang dibuat untuk vendor.

Untuk memenuhi persyaratan bahwa hanya vendor yang memenuhi syarat yang dapat terhubung ke database AdventureWorks2008R2, administrator AdventureWorks2008R2 menggunakan keamanan transportasi Service Broker:

  1. Untuk menyiapkan keamanan transportasi, administrator AdventureWorks2008R2 membuat sertifikat di database master instans SQL Server yang akan mengirim pesan.

  2. Administrator AdventureWorks2008R2 mengirimkan sertifikat ke setiap vendor.

  3. Setiap administrator vendor membuat pengguna di database master untuk memiliki sertifikat, lalu menginstal sertifikat dalam instans SQL Server yang akan menerima pesan.

  4. Administrator vendor selanjutnya membuat sertifikat di database master instans, dan mengirim kunci umum untuk pengguna tersebut ke administrator AdventureWorks2008R2.

  5. Terakhir, administrator AdventureWorks2008R2 membuat pengguna di database master untuk memiliki setiap sertifikat kunci publik vendor dan menginstal setiap sertifikat vendor dalam database.

Kombinasi keamanan transportasi dan keamanan dialog membantu administrator AdventureWorks2008R2 memenuhi persyaratan keamanan aplikasi ini. Perhatikan bahwa, dalam skenario ini, vendor tidak dapat masuk ke database AdventureWorks2008R2, dan administrator Adventure Works tidak dapat masuk ke database vendor. Hanya pesan Service Broker yang dapat dipertukarkan antara database.

Lihat juga