Aracılığıyla paylaş


Nasıl Yapılır: Anonim iletişim güvenliğini (Transact-SQL) hedef hizmetlerini yapılandır

SQL Server uzak hizmet bağlaması başlatan hizmeti barındıran veritabanında bulunduğu bir hizmet için bir konuşma için iletişim güvenliği'ni kullanır.uzak hizmet bağlaması ANONYMOUS belirtiyorsa, ON iletişim kullandığı anonim güvenlik =.Bu durumda, başlatan hizmet için bir kullanıcı da içerecek şekilde hedef veritabanı için gerek yoktur.Başlatan hizmet görür Ortak hedef veritabanı.

Bir hedef yapılandırılacak hizmet anonim iletişim güvenliği

  1. Bir oturumu olmayan bir kullanıcı oluşturun.

  2. Kullanıcı için bir sertifika oluşturun.

    Not

    Sertifika, ana anahtar ile şifrelenmelidir.Daha fazla bilgi için bkz: MASTER anahtar (Transact-SQL) CREATE.

  3. Sertifikayı bir dosyaya yedekler.

    Security noteSecurity Note:

    Yalnızca yedekleme sertifika bu kullanıcı için.Yedekleme veya ilişkili özel anahtar dağıtmak sertifika.

  4. Hedef hizmet kullandığı sırasından iletileri almak hedef hizmet kullanıcı izni verin.

  5. Izni ORTAK hedef hizmete iletileri göndermek için.

  6. Sertifika ve hedef hizmet adı için veritabanı yöneticisi uzak veritabanı için sağlar.

Example

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