인증서 및 Service Broker

이 항목에서는 Service Broker 원격 보안을 위해 SQL Server가 인증서를 사용하는 방법에 대해 설명합니다. Service Broker 원격 보안이란 작업에서 대화 보안이나 전송 보안을 사용할 때 SQL Server 인스턴스가 두 개 이상 관련되는 작업을 의미합니다.

개요

Service Broker 원격 보안은 인스턴스 외부의 작업을 SQL Server 데이터베이스 보안 주체에 매핑합니다. 그러면 이 작업은 일반적인 SQL Server 권한을 사용하여 해당 데이터베이스 보안 주체의 보안 컨텍스트에서 진행됩니다. 예를 들어 대화 보안을 사용하는 대화에 대한 메시지가 도착하면 Service Broker는 메시지의 정보를 사용하여 대화의 원격 측에 대한 데이터베이스 보안 주체를 식별합니다. 그런 다음 SQL Server가 보안 주체에 대상 서비스를 호스팅하는 데이터베이스에 연결할 수 있는 권한과 대상 서비스에 메시지를 보낼 수 있는 권한이 있는지 확인합니다.

SQL Server는 인증서를 사용하여 원격 데이터베이스의 ID를 확인하고 작업에 대한 로컬 데이터베이스 보안 주체를 식별합니다. 따라서 SQL Server에 인증서를 설치하면 인증서의 개인 키가 보관되는 데이터베이스에 트러스트 문이 구성됩니다. 설치한 인증서와 만든 원격 서비스 바인딩을 주의해서 관리하십시오.

ms166096.security(ko-kr,SQL.90).gif보안 정보:
신뢰할 수 있는 출처에서 제공하는 인증서만 설치하십시오. 개인 키를 배포하지 마십시오.

원격 서버의 ID를 확인하려면 SQL Server에서 로컬 데이터베이스 보안 주체가 소유한 인증서의 공개 키로 암호 해독이 가능한 정보를 받아야 합니다. SQL Server가 정보의 암호를 해독할 수 있다는 것은 원격 데이터베이스에 로컬 인증서의 공개 키에 해당하는 개인 키가 있다는 의미입니다. SQL Server가 원격 데이터베이스의 ID를 확인하면 원격 데이터베이스는 로컬 데이터베이스 보안 주체의 권한으로 작동할 수 있습니다.

전송 보안의 경우 각 데이터베이스가 다른 데이터베이스를 트러스트해야 합니다. 전송 보안에서는 인증서나 Windows 인증 중 하나를 사용할 수 있습니다. 전송 보안에 대한 자세한 내용은 Service Broker 전송 보안을 참조하십시오.

대화 보안의 경우 대화 시작자는 대상을 트러스트해야 하며 대상의 ID를 확인할 수 있어야 합니다. 그러나 대상이 식별 정보를 제공하지 않는 시작자의 연결을 허용할 수도 있습니다. 이 경우 시작자는 대상 서비스를 호스팅하는 데이터베이스에서 public 역할을 사용합니다. 대화 보안에서는 항상 인증서를 사용합니다. 대화 보안에 대한 자세한 내용은 Service Broker 대화 보안을 참조하십시오.

SQL Server 2005는 인증서를 통한 자동화된 Service Broker 보안 구성 방법을 제공하지 않습니다.

인증서 요구 사항

인증서를 Service Broker 보안에 사용하려면 다음 요구 사항을 충족해야 합니다.

  • 키 모듈러스는 2048 미만이어야 합니다.
  • 전체 인증서 길이는 32KB 미만이어야 합니다.
  • 주체 이름을 지정해야 합니다.
  • 유효 날짜를 지정해야 합니다.
  • 키 길이는 64비트의 배수여야 합니다.

Transact-SQL 문 CREATE CERTIFICATE로 만든 자체 서명된 인증서는 위 목록에 있는 요구 사항을 충족합니다. 파일에서 로드된 인증서는 이러한 요구 사항을 충족하지 않을 수 있습니다.

인증서를 SQL Server에 저장할 경우 인증서가 데이터베이스에 대한 마스터 키로 암호화되어야 합니다. Service Broker는 암호만 사용하여 암호화된 인증서를 사용할 수 없습니다. 또한 데이터베이스에 대한 마스터 키는 인스턴스에 대한 서비스 키로 암호화되어야 합니다. 그렇지 않으면 Service Broker가 마스터 키를 열 수 없습니다.

SQL Server가 인증서를 사용하여 대화를 시작하려면 인증서가 ACTIVE FOR BEGIN_DIALOG로 표시되어야 합니다. 대화 시작 시에는 인증서가 기본적으로 활성으로 표시됩니다. 그러나 서비스에 대한 보안 구성을 업데이트하는 동안에는 인증서를 일시적으로 비활성화하도록 선택할 수 있습니다. 자세한 내용은 CREATE CERTIFICATE(Transact-SQL)ALTER CERTIFICATE(Transact-SQL)를 참조하십시오.

참고 항목

개념

Service Broker 통신 프로토콜
원격 서비스 바인딩
대화 보안 인증서

관련 자료

CREATE CERTIFICATE(Transact-SQL)
암호화 계층

도움말 및 정보

SQL Server 2005 지원 받기