Udostępnij za pośrednictwem


Jak Konfigurowanie usług docelowych dla Zabezpieczenia pełne okno dialogowe (Transact-SQL)

SQL Server okno dialogowe zabezpieczeń używa konwersacji do usługa, dla którego w bazie danych, obsługującym usługa inicjujący istnieje powiązanie usługa zdalnej.Gdy baza danych, obsługującym usługa miejsce docelowe zawiera użytkownika, który odpowiada użytkownika, który utworzył okna dialogowego, okna dialogowego używa Zabezpieczenia pełne.

Aby 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 utworzyć użytkownika i zainstalować certyfikat użytkownika inicjujący.Zawiadomienie o usługa miejsce docelowe nie używać powiązanie usługa zdalnej.

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

  1. Utwórz użytkownika bez logowania.

  2. Tworzenie certyfikat użytkownika.

    Ostrzeżenie

    certyfikat Musi być szyfrowane za pomocą klucz głównego.Aby uzyskać więcej informacji, zobacz Tworzenie klucza głównego (Transact-SQL).

  3. Tworzenie użytkownika Właściciel usługa miejsce docelowe.

  4. Wykonaj kopię zapasową certyfikat do pliku.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

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

  5. Udziel uprawnienia docelowego użytkownika usługa odbierać wiadomości z kolejki, który używa usługa miejsce docelowe.

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

    Ostrzeżenie

    Dla SQL Server używać pełne okno dialogowe zabezpieczeń, certyfikat musi być zainstalowany w zdalnej bazie danych, a użytkownik certyfikatu musi być użytkownikiem wskazanym w powiązanie usługa zdalnej dla usługa miejsce docelowe.

  7. Uzyskanie certyfikat użytkownika w zdalnej bazie danych z zaufanego źródło.Zazwyczaj wymaga to wysyłania certyfikat przy użyciu zaszyfrowanych wiadomości e-mail lub przenoszenia certyfikat na nośnikach fizycznych, takich jak dyskietki.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

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

  8. Utwórz użytkownika bez logowania.

  9. Zainstaluj certyfikat dla usługa inicjujący.Utworzony w poprzednim kroku użytkownik jest właścicielem certyfikat.

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

  11. Udziel uprawnienia użytkownika inicjujący wysyłanie wiadomości do usługa miejsce docelowe.

Przykład

USE AdventureWorks2008R2 ;
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