Aracılığıyla paylaş


Olay Bildirimleri için Diyalog Güvenliğini Yapılandır

Şunlar için geçerlidir: SQL Server

Hizmet Aracısı iletişim kutusu güvenliği, uzak sunucudaki bir hizmet aracısına ileti gönderen olay bildirimleri için yapılandırılmalıdır. İleti güvenliği, Service Broker diyalog tam güvenlik modeline göre manuel olarak yapılandırılmalıdır. Tam güvenlik modeli, uzak sunuculara gönderilen ve uzak sunuculardan gönderilen iletilerin şifrelenmesini ve şifresinin çözülmesini sağlar. Olay bildirimleri bir yönde gönderiliyor olsa da, hatalar gibi diğer iletiler de ters yönde döndürülür.

Olay Bildirimleri için Diyalog Güvenliğini Yapılandırma

Olay bildirimi için iletişim kutusu güvenliğini uygulamak için gereken işlem aşağıdaki adımlarda açıklanmıştır. Bu adımlar hem kaynak sunucuda hem de hedef sunucuda gerçekleştirecek eylemleri içerir. Kaynak sunucu, olay bildiriminin oluşturulduğu sunucudur. Hedef sunucu, olay bildirim iletisini alan sunucudur. Sonraki adıma devam etmeden önce her adımda hem kaynak sunucu hem de hedef sunucu için eylemleri tamamlamanız gerekir.

Önemli

Tüm sertifikaların geçerli başlangıç ve son kullanma tarihleriyle oluşturulması gerekir.

1. Adım: TCP bağlantı noktası numarası ve hedef hizmet adı oluşturun.

Hem kaynak sunucunun hem de hedef sunucunun iletileri alacağı TCP bağlantı noktasını oluşturun. Hedef hizmetin adını da belirlemeniz gerekir.

2. Adım: Veritabanı düzeyinde kimlik doğrulaması için şifreleme ve sertifika paylaşımını yapılandırın.

Hem kaynak hem de hedef sunucularda aşağıdaki eylemleri tamamlayın.

Kaynak sunucu Hedef sunucu
Olay bildirimini ve ana anahtarı tutmak için bir veritabanı seçin veya oluşturun. Ana anahtarı tutmak için bir veritabanı seçin veya oluşturun.
Kaynak veritabanı için ana anahtar yoksa bir ana anahtar oluşturun. İlgili sertifikaların güvenliğini sağlamaya yardımcı olmak için hem kaynak hem de hedef veritabanlarında bir ana anahtar gereklidir. Hedef veritabanı için ana anahtar yoksa bir ana anahtar oluşturun.
Kaynak veritabanı için bir oturum açma bilgisi ve buna karşılık gelen bir kullanıcı oluşturun. Hedef veritabanına oturum açma ve buna karşılık gelen bir kullanıcı oluşturun.
Kaynak veritabanının kullanıcısının sahip olduğu bir sertifika oluşturun. Hedef veritabanının kullanıcısının sahip olduğu bir sertifika oluşturun.
Sertifikayı hedef sunucu tarafından erişilebilen bir dosyaya yedekleyin. Sertifikayı kaynak sunucu tarafından erişilebilen bir dosyaya yedekleyin.
Hedef veritabanının kullanıcısını belirterek ve OTURUM AÇMADAN bir kullanıcı oluşturun. Bu kullanıcı, yedekleme dosyasından oluşturulacak hedef veritabanı sertifikasına sahip olur. Bu kullanıcının tek amacı 3. adımda oluşturulan hedef veritabanı sertifikasına sahip olmak olduğundan kullanıcının oturum açma bilgileriyle eşlenmesi gerekmez. Kaynak veritabanındaki kullanıcıyı belirterek, ancak oturum açma izni vermeden bir kullanıcı oluşturun. Bu kullanıcı, yedekleme dosyasından oluşturulacak kaynak veritabanı sertifikasına sahip olur. Bu kullanıcının tek amacı 3. adımda oluşturulan kaynak veritabanı sertifikasına sahip olmak olduğundan, kullanıcının oturum açma bilgileriyle eşlenmesi gerekmez.

3. Adım: Sertifikaları paylaşın ve veritabanı düzeyinde kimlik doğrulaması için izinler verin.

Hem kaynak hem de hedef sunucularda aşağıdaki eylemleri tamamlayın.

Kaynak sunucu Hedef sunucu
Hedef sertifikanın yedekleme dosyasından, hedef veritabanı kullanıcısını sahip olarak belirterek bir sertifika oluşturun. Kaynak sertifikanın yedekleme dosyasından, kaynak veritabanı kullanıcısını sahip olarak belirterek bir sertifika oluşturun.
Kaynak veritabanı kullanıcısına olay bildirimi oluşturma izni verin. Bu izin hakkında daha fazla bilgi için bkz. CREATE EVENT NOTIFICATION (Transact-SQL). Var olan olay bildirimleri Hizmet Aracısı sözleşmesinde, hedef veritabanı kullanıcısına REFERANS izni verin: https://schemas.microsoft.com/SQL/Notifications/PostEventNotification.
Hedef hizmete bir uzak hizmet bağlaması oluşturun ve hedef veritabanı kullanıcısının kimlik bilgilerini belirtin. Uzak hizmet bağlaması, kaynak veritabanı kullanıcısının sahip olduğu sertifikadaki ortak anahtarın hedef sunucuya gönderilen iletilerin kimliğini doğrulamasını garanti eder. Grant Hedef veritabanı kullanıcısına CREATE QUEUE, CREATE SERVICE ve CREATE SCHEMA izinlerini verin.
Hâlâ hedef veritabanı kullanıcısı olarak veritabanına bağlı değilseniz, şimdi bağlanın.
Olay bildirim iletilerini almak için bir kuyruk oluşturun ve iletileri teslim etmek için bir hizmet oluşturun.
Kaynak veritabanı kullanıcısına hedef hizmette SEND izni verin.
Kaynak veritabanının hizmet aracısı tanımlayıcısını hedef sunucuya sağlayın. Bu tanımlayıcı sys.databases katalog görünümünün service_broker_guid sütunu sorgulanarak elde edilebilir. Sunucu düzeyinde olay bildirimi için msdb'nin hizmet aracısı tanımlayıcısını kullanın. Hedef veritabanının hizmet aracısı tanımlayıcısını kaynak sunucuya sağlayın.

4. Adım: Yollar oluşturun ve sunucu düzeyinde kimlik doğrulamasını ayarlayın.

Hem kaynak hem de hedef sunucularda aşağıdaki eylemleri tamamlayın.

Kaynak sunucu Hedef sunucu
Hedef hizmete bir yol oluşturun ve hedef veritabanının hizmet aracısı tanımlayıcısını ve üzerinde anlaşmaya varılan TCP bağlantı noktası numarasını belirtin. Kaynak hizmete bir yol oluşturun ve kaynak veritabanının hizmet aracısı tanımlayıcısını ve üzerinde anlaşmaya varılan TCP bağlantı noktası numarasını belirtin. Kaynak hizmeti belirtmek için aşağıdaki sağlanan hizmeti kullanın: https://schemas.microsoft.com/SQL/Notifications/EventNotificationService.
Sunucu düzeyinde kimlik doğrulamasını yapılandırmak için ana veritabanına geçin. Sunucu düzeyinde kimlik doğrulamasını yapılandırmak için ana veritabanına geçin.
Ana veritabanı için ana anahtar yoksa bir ana anahtar oluşturun. Ana veritabanı için ana anahtar yoksa bir ana anahtar oluşturun.
Veritabanının kimliğini doğrulayan bir sertifika oluşturun. Veritabanının kimliğini doğrulayan bir sertifika oluşturun.
Sertifikayı hedef sunucu tarafından erişilebilen bir dosyaya yedekleyin. Sertifikayı kaynak sunucu tarafından erişilebilen bir dosyaya yedekleyin.
Bir uç nokta oluşturun ve üzerinde anlaşmaya varılan TCP bağlantı noktası numarasını, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) ve kimlik doğrulama sertifikasının adını belirtin. Bir uç nokta oluşturun ve üzerinde anlaşmaya varılan TCP bağlantı noktası numarasını, FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) ve kimlik doğrulama sertifikasının adını belirtin.
Oturum açma bilgileri oluşturun ve hedef sunucunun oturum açma bilgilerini belirtin. Bir oturum açma oluşturun ve kaynak sunucunun oturum açma bilgilerini belirtin.
Hedef kimlik doğrulayıcı oturum açma işlemine uç nokta üzerinde CONNECT izni verin. Kaynak kimlik doğrulayıcı oturum açma işlemine uç nokta üzerinde CONNECT izni verin.
Bir kullanıcı oluşturun ve hedef kimlik doğrulayıcı oturum açma bilgilerini belirtin. Bir kullanıcı oluşturun ve kaynak kimlik doğrulayıcı oturum açma bilgilerini belirtin.

5. Adım: Sunucu düzeyinde kimlik doğrulaması için sertifikaları paylaşın ve olay bildirimini oluşturun.

Hem kaynak hem de hedef sunucularda aşağıdaki eylemleri tamamlayın.

Kaynak sunucu Hedef sunucu
Hedef sertifikanın yedekleme dosyasından, hedef kimlik doğrulayıcı kullanıcıyı sahip olarak belirterek bir sertifika oluşturun. Kaynak sertifikanın yedekleme dosyasından, kaynak kimlik doğrulayıcı kullanıcıyı sahip olarak belirterek bir sertifika oluşturun.
Olay bildiriminin oluşturulacağı kaynak veritabanına geçin ve kaynak veritabanı kullanıcısı olarak henüz bağlı değilseniz, bunu şimdi yapın. Olay bildirim iletilerini almak için hedef veritabanına geçin.
Olay bildirimini oluşturun ve hedef veritabanının aracı hizmetini ve tanımlayıcısını belirtin.

Ayrıca Bkz.

HİBE (Transact-SQL)
YEDEKLEME SERTIFIKASI (Transact-SQL)
sys.databases (Transact-SQL)
Şifreleme Hiyerarşisi
Olay Bildirimlerini Uygulama
ANAHTAR ANAHTARINI OLUŞTUR (Transact-SQL)
GİRİŞ OLUŞTUR (Transact-SQL)
KULLANICI OLUŞTUR (Transact-SQL)
SERTİFİKA OLUŞTUR (Transact-SQL)
UZAK HİzMET BAĞLAMASI (Transact-SQL)
HİBE (Transact-SQL)
ROTA OLUŞTUR (Transact-SQL)
Kuyruk Oluştur (Transact-SQL)
CREATE SERVICE (Transact-SQL)
UÇ NOKTASI OLUŞTUR (Transact-SQL)
CREATE EVENT NOTIFICATION (Transact-SQL)