Certyfikaty i usługa Broker

W tym temacie opisano, w jaki sposób SQL Server używa certyfikatów do zabezpieczenia zdalnego usługa Broker. Zabezpieczenia zdalnego usługa Broker odnosi się do operacje, które są związane z więcej niż jeden SQL Server wystąpienie podczas tych operacji użyj zabezpieczeń albo okna dialogowego lub transport zabezpieczeń.

Omówienie

Zabezpieczenia zdalnego usługa Broker mapuje operacji z poza wystąpienie do SQL Server główna baza danych. Następnie operacji przychody w kontekście zabezpieczeń tej głównej bazy danych, z normalnym SQL Server sprawdza, czy uprawnienia. For example, when a message arrives for a conversation that uses dialog security, Service Broker uses information in the message to identify a database principal for the remote side of the conversation.SQL Server then verifies that the principal has permission to connect to the database that hosts the destination service, and permission to send a message to the destination service.

SQL Server Certyfikaty są używane do weryfikacji tożsamości zdalnej bazy danych oraz aby zidentyfikować główny lokalnej bazy danych dla tej operacji.Dlatego też instalowania certyfikat w SQL Server stanowi instrukcja zaufania w bazie danych, który przechowuje klucz prywatnego dla certyfikat. Należy uważnie certyfikaty, które można zainstalować i zarządzać powiązania usługa zdalnego utworzone.

Security noteSecurity Note:

Certyfikatów należy instalować tylko z zaufanych źródeł.Nie należy rozpowszechniać kluczy prywatnych.

Aby sprawdzić tożsamość serwera zdalnego SQL Server musi uzyskać informacje, które mogą być odszyfrowane przy użyciu klucz publicznego w certyfikacie głównym właścicielem lokalnej bazy danych. Jeśli SQL Server pomyślnie może odszyfrować informacje, oznacza to, czy zdalna baza danych zawiera klucz prywatny, który odpowiada klucz publiczny z certyfikat lokalnych. Tylko raz SQL Server sprawdza tożsamość ze zdalnej bazy danych zdalnej bazy danych może działać z uprawnieniami głównej lokalnej bazy danych.

Zabezpieczeń transportu każda baza danych musi ufać drugiej bazy danych.Można użyć zabezpieczeń transportu, certyfikatów lub uwierzytelnianie systemu Windows.Aby uzyskać więcej informacji na temat zabezpieczeń transportu zobacz usługa Broker Transport Security.

Okno dialogowe zabezpieczeń inicjator w oknie dialogowym musi ufać docelowym i muszą być w stanie zweryfikować tożsamości miejsce docelowe.Obiekt miejsce docelowe może jednak Zezwalaj na połączenia z inicjatorów, które nie mają informacji identyfikacyjnych.W takim przypadek użyj inicjatorów publiczne roli w bazie danych obsługującego usługa miejsce docelowe.Okno dialogowe zabezpieczeń zawsze używa certyfikatów.Aby uzyskać więcej informacji na temat okna dialogowego zabezpieczeń Zobacz Okno dialogowe usługa Broker zabezpieczeń.

SQL Server nie oferuje metody automatycznej konfiguracja zabezpieczeń usługa Broker z wykorzystaniem certyfikatów.

Wymagania dotyczące certyfikat

Do użytku zabezpieczeń usługa Broker, certyfikat musi spełniać następujące wymagania:

  • Moduł klucz musi być mniejszy niż 2048.

  • Długość całkowita certyfikat musi być mniejsza niż 32 kilobajty (KB).

  • Należy podać nazwę podmiotu.

  • Należy określić daty ważności.

  • Długość klucz musi być wielokrotnością 64 bity.

Certyfikat z podpisem własnym utworzony za pomocą Transact-SQL Instrukcja CREATE certyfikat spełnia wymagania z powyższej listy. Certyfikaty, które zostały załadowane z pliku mogą nie spełniać tych wymagań.

Gdy certyfikat jest przechowywany w SQL Server, certyfikat musi być zaszyfrowane przy użyciu klucz głównego w bazie danych. usługa Broker nie można używać certyfikatów, które są szyfrowane tylko przy użyciu hasła.Ponadto klucz głównego dla bazy danych musi być zaszyfrowany przy użyciu klucz usługa dla danego wystąpienie.W przeciwnym razie usługa Broker nie można otworzyć klucz głównego.

W celu SQL Server do używania certyfikatu, aby rozpocząć konwersację, certyfikat musi być oznaczony ACTIVE BEGIN_DIALOG do sprzedaży. Certyfikaty są oznaczane jako aktywne w początkowym oknie dialogowym domyślnie.Można jednak tymczasowo Dezaktywuj certyfikat podczas aktualizowania konfiguracja zabezpieczeń dla usługa.Aby uzyskać więcej informacji zobacz CREATE certyfikat (języka Transact-SQL) i ALTER certyfikat (języka Transact-SQL).