Udostępnij za pośrednictwem


Jak Konfigurowanie usługi domiejsce doceloweowej dla Zabezpieczenia pełne okno dialogowe (języka Transact-SQL)

SQL Server używa okna dialogowego zabezpieczeń konwersacji do usługi, dla których wiązanie usługi zdalnej istnieje w bazie danych, obsługującym usługę inicjujący.Gdy baza danych obsługującego usługa miejsce docelowe zawiera użytkownika, który odpowiada użytkownika, który utworzył okna dialogowego, okna dialogowego używa pełne zabezpieczenia.

Aby upewnić się, że usługa miejsce docelowe korzysta z okna dialogowego zabezpieczeń, utwórz dla usługi inicjujący użytkownikowi zalogować się jako.Dla każdej usługa inicjujący należy utworzyć użytkownika i zainstalowania certyfikat użytkownika inicjujący.Należy zauważyć, że Usługa miejsce docelowe nie używa wiązanie usługi zdalnej.

Aby skonfigurować usługa miejsce docelowe Zabezpieczenia pełne okno dialogowe

  1. Utwórz użytkownika bez identyfikatora logowania.

  2. Utworzenie certyfikat dla tego użytkownika.

    Uwaga

    Certyfikat musi być zaszyfrowany przy użyciu klucz głównego.Aby uzyskać więcej informacji zobacz CREATE MASTER klucz (języka Transact-SQL).

  3. Należy tego użytkownika właściciela usługa miejsce docelowe.

  4. Wykonaj kopię zapasową certyfikat do pliku.

    Security noteSecurity Note:

    Tylko tworzyć kopię zapasową certyfikat dla tego użytkownika.Nie tworzyć kopię zapasową lub dystrybucji klucz prywatnego skojarzonego z certyfikatem.

  5. Udziel uprawnienia dla docelowego użytkownika usługa do odbierania wiadomości z kolejki, która korzysta z usługa miejsce docelowe.

  6. Dostarcza certyfikat i nazwę inicjujący usługa administrator bazy danych dla zdalnej bazy danych.

    Uwaga

    Dla SQL Server Aby użyć pełne okno dialogowe zabezpieczeń, certyfikat musi być zainstalowany w zdalnej bazie danych i użytkownika dla certyfikatu musi być określona w wiązaniu zdalnego usługa dla użytkownika miejsce docelowe usługi.

  7. Uzyskaj certyfikat użytkownika w zdalnej bazie danych z zaufanego urządzenie źródłowe.Zazwyczaj to polega na wysyłaniu certyfikat przy użyciu zaszyfrowanych wiadomości e-mail lub przenoszenia certyfikat dla nośnik fizyczny, taki jak dyskietka.

    Security noteSecurity Note:

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

  8. Utwórz użytkownika bez identyfikatora logowania.

  9. Zainstaluj certyfikat dla usługa inicjujący.Certyfikat należące do użytkownika, utworzony w poprzednim kroku.

  10. Utwórz użytkownika bez logowania inicjujący certyfikat usługa.

  11. Udziel uprawnienia do wysyłania wiadomości z usługa docelową inicjujący użytkownika.

Example

USE AdventureWorks ;
GO

--------------------------------------------------------------------
-- The first part of the script configures security for the local user.
-- The script creates a user in this database, creates a certificate
-- for the user, writes the certificate to the file system, and
-- grants permissions to the user. Since this service is a target
-- service, no remote service binding is necessary.


-- Create a user without a login. For convenience,
-- the name of the user is based on the name of the
-- the remote service.

CREATE USER [SupplierOrdersUser]
    WITHOUT LOGIN;
GO

-- Create a certificate for the initiating service
-- to use to send messages to the target service.

CREATE CERTIFICATE [SupplierOrdersCertificate]
    AUTHORIZATION [SupplierOrdersUser]
    WITH SUBJECT = 'Certificate for the SupplierOrders service user.';
GO

-- Dump the certificate. Provide the certificate file
-- to the administrator for the database that hosts
-- the other service.

BACKUP CERTIFICATE [SupplierOrdersCertificate]
   TO FILE = 'C:\Certificates\SupplierOrders.cer';
GO
-- Make this user the owner of the target service.

ALTER AUTHORIZATION ON SERVICE::SupplierOrders TO [SupplierOrdersUser];
GO

-- Grant receive on the orders queue to the local user.

GRANT RECEIVE ON SupplierOrdersQueue
    TO [SupplierOrdersUser];
GO

---------------------------------------------------------------
-- The second part of the script configures security in this
-- database for the remote service. This consists of creating
-- a user in this database, loading the certificate for the remote
-- service, and granting permissions for the user.


-- Create a user without a login.

CREATE USER [OrderPartsUser]
    WITHOUT LOGIN;
GO

-- Install a certificate for the initiating user.
-- The certificate is provided by the owner of the
-- initiating service.

CREATE CERTIFICATE [OrderPartsCertificate]
    AUTHORIZATION [OrderPartsUser]
    FROM FILE='C:\Certificates\OrderParts.cer';
GO

-- Grant send on the target service to the user for the
-- initating service.

GRANT SEND ON SERVICE::[SupplierOrders]
    TO [OrderPartsUser];
GO