Udostępnij za pośrednictwem


Jak Konfigurowanie usług docelowych dla anonimowych okna dialogowego zabezpieczeń (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.Jeśli powiązanie usługa zdalnej określa anonimowe = na okno dialogowe zabezpieczeń anonimowe zastosowań.W tym przypadek jest potrzeby miejsce docelowe bazy danych zawierają użytkownika usługa inicjujący.Usługa inicjujący działa jako public w miejsce docelowe bazie danych.

Aby skonfigurować usługa miejsce docelowe anonimowe okna dialogowego 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. 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.

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

  5. Udziel uprawnienia public do wysyłania wiadomości do usługa miejsce docelowe.

  6. Dostarcza certyfikat i nazwę miejsce docelowe usługa administrator bazy danych dla zdalnej bazy danych.

Przykład

USE AdventureWorks2008R2 ;
GO

--------------------------------------------------------------------
-- This script configures security for a local user in the database.
-- 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

-- Backup 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

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

GRANT RECEIVE ON SupplierOrdersQueue
    TO [SupplierOrdersUser];
GO

-- Grant send on the service to public.

GRANT SEND ON SERVICE::[SupplierOrders] TO public ;