Integration Services에 대한 보안 고려 사항

SQL Server 2005 Integration Services(SSIS)의 보안은 풍부하고 유연한 보안 환경을 제공하는 여러 계층으로 구성되어 있습니다. Integration Services 보안은 패키지 수준 속성, SQL Server 데이터베이스 역할, 운영 체제 사용 권한 및 디지털 서명을 통합하여 사용합니다.

SQL Server 2005 Integration Services(SSIS)는 다음 보안 기능을 사용하여 클라이언트와 서버에서 보안을 구현합니다.

  • 패키지의 ProtectionLevel 속성을 설정하여 중요한 데이터를 암호화로 보호할지 또는 패키지를 저장하기 전에 데이터를 제거할지 여부를 지정합니다.
  • 패키지의 ProtectionLevelPackagePassword 속성을 설정하여 암호 또는 사용자 키로 패키지의 전부나 일부를 암호화하여 패키지를 보호하도록 합니다.
  • SQL Server 데이터베이스 수준의 역할을 사용하여 패키지에 대한 액세스를 제어합니다.
  • 파일 위치를 보호하고 SQL Server Management Studio의 패키지에 대한 액세스를 제한하여 작업 환경에 대한 보안을 설정합니다.
  • 인증서로 패키지를 서명하여 패키지의 무결성을 보장합니다.

중요한 데이터

Integration Services는 패키지의 중요한 데이터에 대한 보호 기능을 지원합니다. 일반적으로 중요한 것으로 식별되는 속성에는 암호 또는 연결 문자열 등의 정보가 포함됩니다. Integration Services는 이러한 속성의 중요한 특성을 설정하며 이 특성은 변경될 수 없습니다. 사용자 지정 작업, 연결 관리자 또는 데이터 흐름 구성 요소를 작성할 경우 Integration Services에서 중요한 것으로 취급해야 하는 속성을 지정할 수 있습니다.

Integration Services는 자동으로 중요한 속성을 감지하고 지정된 패키지 보호 수준에 따라 이들 속성을 다룹니다. 예를 들어 암호가 있는 중요한 정보를 암호화하는 보호 수준을 사용하는 패키지에서는 중요한 것으로 식별된 모든 속성의 값이 암호화됩니다.

패키지 보호 수준

패키지의 보호 수준을 설정하면 패키지를 암호화하여 속성 값을 비밀로 유지할 수 있습니다. 패키지에는 패키지가 필요로 하는 보호 수준에 따라 설정할 수 있는 ProtectionLevel 속성이 포함됩니다. 예를 들어 팀 개발 환경에서는 패키지에 대한 작업을 수행하는 팀 구성원에게만 알려진 암호를 사용하여 패키지를 암호화할 수 있습니다. 자세한 내용은 패키지 보호 수준 설정을 참조하십시오.

자세한 내용은 Integration Services 패키지패키지 속성 설정을 참조하십시오.

데이터베이스 수준 역할

Integration Services에는 패키지 액세스를 제어하기 위한 3가지 고정 데이터베이스 수준 역할인 db_dtsadmin, db_dtsltduserdb_dtsoperator가 있습니다. 읽기 및 쓰기 역할을 각 패키지와 연결할 수 있습니다. 또한 Integration Services 패키지에서 사용할 데이터베이스 수준의 사용자 지정 역할을 정의할 수 있습니다. 역할은 SQL Server 인스턴스의 msdb 데이터베이스에 저장된 패키지에서만 구현할 수 있습니다.

자세한 내용은 Integration Services 역할을 참조하십시오.

패키지 저장소

Integration Services 패키지는 .dtsx 파일 확장명을 사용하여 XML 파일로 파일 시스템에 저장하거나 SQL Server 2005 인스턴스의 msdb 데이터베이스에 저장할 수 있습니다.

패키지를 msdb에 저장하면 서버, 데이터베이스 및 테이블 수준의 보안이 제공됩니다. SQL Server 2005 패키지는 sysdtspackages90 테이블에 저장되고 SQL Server 2000 패키지는 sysdtspackages 테이블에 저장됩니다. sysdtspackages90sysdtspackages에 저장된 패키지는 msdb를 백업할 때 자동으로 백업됩니다. 또한 sysdtspackages90 테이블에 저장된 SQL Server 2005 패키지는 데이터베이스 수준 역할에 의해 보호됩니다.

패키지를 msdb에 저장하지 않을 경우 패키지 파일을 포함하는 파일 시스템의 폴더에 대한 보안을 설정해야 합니다.

자세한 내용은 패키지 저장을 참조하십시오.

패키지 구성 저장소

패키지 구성은 파일 시스템 또는 SQL Server 2005 데이터베이스의 테이블에 저장할 수 있습니다. 패키지 구성은 msdb 데이터베이스 뿐만 아니라 모든 SQL Server 2005 데이터베이스에 저장할 수 있습니다. 저장할 데이터베이스는 지정이 가능합니다. 또한 구성을 포함할 테이블의 이름을 지정하면 Integration Services가 올바른 구조를 갖춘 테이블을 자동으로 만듭니다.

구성을 테이블에 저장하면 서버, 데이터베이스 및 테이블 수준의 보안이 제공됩니다. 또한 SQL Server에 저장된 구성은 해당 데이터베이스를 백업할 때 자동으로 백업됩니다.

패키지 구성을 SQL Server이 아닌 파일 시스템에 저장할 경우 해당 폴더에 대한 보안을 설정해야 합니다.

자세한 내용은 패키지 구성을 참조하십시오.

Integration Services 폴더

SQL Server Management Studio는 SQL Server 서비스를 사용하여 실행 중인 패키지를 나열합니다. 허가 받지 않은 사용자가 로컬 및 원격으로 저장 패키지를 노출하고 개인 정보를 습득하지 않도록 방지하기 위해 SQL Server 서비스를 실행하는 컴퓨터에 대한 액세스를 제한하는 것이 중요합니다. 자세한 내용은 패키지 실행 권한 제한을 참조하십시오.

패키지가 사용하는 파일

구성, 검사점 및 로깅을 사용하도록 구성된 패키지는 패키지 외부에 저장되는 정보를 생성합니다. 이 정보는 중요할 수 있으므로 보호되어야 합니다. 검사점 파일은 파일 시스템에만 저장할 수 있지만 구성과 로그는 파일 시스템 또는 SQL Server 데이터베이스 테이블에 저장할 수 있습니다. SQL Server에 저장되는 구성 및 로그는 SQL Server 보안에 의해 보호되지만 파일에 쓰여진 정보에는 추가 보안이 필요합니다. 자세한 내용은 패키지에서 사용하는 파일 보호 설정을 참조하십시오.

디지털 서명

인증서를 사용하여 패키지에 서명할 수 있습니다. 패키지를 로드할 때 서명을 확인하고 패키지가 변경된 경우 경고를 표시하도록 패키지를 구성할 수 있습니다. 패키지에 포함된 CheckSignatureOnLoad 속성을 True로 설정하면 패키지가 로드될 때마다 패키지의 디지털 서명을 반드시 확인하도록 할 수 있습니다. 자세한 내용은 인증서로 패키지 서명을 참조하십시오.

참고 항목

작업

Integration Services 액세스에 대한 Windows 방화벽 구성

개념

SQL Server Integration Services

도움말 및 정보

SQL Server 2005 지원 받기