다음을 통해 공유


보안 개요(Integration Services)

SQL Server Integration Services의 보안은 풍부하고 유연한 보안 환경을 제공하는 여러 계층으로 구성됩니다. 이러한 보안 계층에는 디지털 서명, 패키지 속성, SQL Server 데이터베이스 역할 및 운영 체제 권한의 사용이 포함됩니다. 이러한 보안 기능의 대부분은 ID 및 액세스 제어 범주에 속합니다.

ID 기능

패키지에서 ID 기능을 구현하여 다음 목표를 달성할 수 있습니다.

신뢰할 수 있는 원본에서만 패키지를 열고 실행해야 합니다.

신뢰할 수 있는 원본에서만 패키지를 열고 실행하려면 먼저 패키지 원본을 식별해야 합니다. 인증서를 사용하여 패키지에 서명하여 원본을 식별할 수 있습니다. 그런 다음 패키지를 열거나 실행할 때 Integration Services에서 디지털 서명의 존재 여부와 유효성을 확인할 수 있습니다. 자세한 내용은 디지털 서명을 사용하여 패키지 원본 확인을 참조하세요.

접근 제어 기능

패키지에서 ID 기능을 구현하여 다음 목표를 달성할 수 있습니다.

권한 있는 사용자만 패키지를 열고 실행해야 합니다.

권한이 있는 사용자만 패키지를 열고 실행하도록 하려면 다음 정보에 대한 액세스를 제어해야 합니다.

  • 패키지 내용, 특히 중요한 데이터에 대한 액세스를 제어합니다.

  • SQL Server에 저장된 패키지 및 패키지 구성에 대한 액세스를 제어합니다.

  • 패키지 및 파일 시스템에 저장된 구성, 로그 및 검사점 파일과 같은 관련 파일에 대한 액세스를 제어합니다.

  • Integration Services 서비스 및 SQL Server Management Studio에 표시되는 패키지 정보를 포함한 서비스 접근을 제어합니다.

패키지 내용에 대한 액세스 제어

패키지의 콘텐츠에 대한 액세스를 제한하기 위해 패키지의 ProtectionLevel 속성을 설정하여 패키지를 암호화할 수 있습니다. 이 속성을 패키지에 필요한 보호 수준으로 설정할 수 있습니다. 예를 들어 팀 개발 환경에서는 패키지에서 작업하는 팀 구성원에게만 알려진 암호를 사용하여 패키지를 암호화할 수 있습니다.

패키지의 ProtectionLevel 속성을 설정하면 Integration Services는 자동으로 중요한 속성을 검색하고 지정된 패키지 보호 수준에 따라 이러한 속성을 처리합니다. 예를 들어 패키지의 ProtectionLevel 속성을 암호로 중요한 정보를 암호화하는 수준으로 설정합니다. 이 패키지의 경우 Integration Services는 모든 중요한 속성의 값을 자동으로 암호화하고 올바른 암호를 제공하지 않고 해당 데이터를 표시하지 않습니다.

일반적으로 Integration Services는 해당 속성에 암호 또는 연결 문자열과 같은 정보가 포함되거나 해당 속성이 변수 또는 태스크 생성 XML 노드에 해당하는 경우 속성을 중요한 것으로 식별합니다. 특정 속성이 Integration Services에서 중요한 속성으로 간주되는지 여부는 연결 관리자나 태스크와 같은 구성 요소의 개발자가 속성을 중요한 것으로 지정했는지 여부에 따라 달라집니다. 사용자는 중요한 것으로 간주되는 속성 목록에 속성을 추가할 수 없으며 속성을 제거할 수 없습니다. 사용자 지정 작업, 연결 관리자 또는 데이터 흐름 구성 요소를 작성하는 경우 Integration Services에서 중요한 속성으로 처리해야 하는 속성을 지정할 수 있습니다.

자세한 내용은 Access Control for Sensitive Data in Packages을 참조하세요.

패키지에 대한 액세스 제어

Integration Services 패키지를 SQL Server 인스턴스의 msdb 데이터베이스 또는 파일 시스템에 .dtsx 파일 이름 확장명이 있는 XML 파일로 저장할 수 있습니다. 자세한 내용은 패키지 저장을 참조하세요.

msdb 데이터베이스에 패키지 저장

msdb 데이터베이스에 패키지를 저장하면 서버, 데이터베이스 및 테이블 수준에서 보안을 제공할 수 있습니다. msdb 데이터베이스에서 Integration Services 패키지는 sysssispackages 테이블에 저장됩니다. 패키지는 msdb 데이터베이스의 sysssispackages 및 sysdtspackages 테이블에 저장되므로 msdb 데이터베이스를 백업할 때 패키지가 자동으로 백업됩니다.

msdb 데이터베이스에 저장된 SQL Server 패키지는 Integration Services 데이터베이스 수준 역할을 적용하여 보호할 수도 있습니다. Integration Services에는 패키지에 대한 액세스를 제어하기 위한 세 가지 고정 데이터베이스 수준 역할 db_ssisadmin, db_ssisltduser 및 db_ssisoperator 포함되어 있습니다. 판독기 및 작성기 역할은 각 패키지와 연결할 수 있습니다. Integration Services 패키지에서 사용할 사용자 지정 데이터베이스 수준 역할을 정의할 수도 있습니다. 역할은 SQL Server 인스턴스의 msdb 데이터베이스에 저장된 패키지에서만 구현할 수 있습니다. 자세한 내용은 Integration Services 역할(SSIS 서비스)을 참조하세요.

파일 시스템에 패키지 저장

msdb 데이터베이스 대신 파일 시스템에 패키지를 저장하는 경우 패키지 파일과 패키지 파일이 포함된 폴더를 보호해야 합니다.

패키지에서 사용하는 파일에 대한 액세스 제어

구성, 검사점 및 로깅을 사용하도록 구성된 패키지는 패키지 외부에 저장된 정보를 생성합니다. 이 정보는 중요할 수 있으며 보호해야 합니다. 검사점 파일은 파일 시스템에만 저장할 수 있지만 구성 및 로그는 파일 시스템 또는 SQL Server 데이터베이스의 테이블에 저장할 수 있습니다. SQL Server에 저장된 구성 및 로그에는 SQL Server 보안이 적용되지만 파일 시스템에 기록된 정보에는 추가 보안이 필요합니다.

자세한 내용은 패키지에서 사용하는 파일에 대한 액세스를 참조하세요.

패키지 구성을 안전하게 저장

패키지 구성은 SQL Server 데이터베이스의 테이블 또는 파일 시스템에 저장할 수 있습니다.

구성은 msdb 데이터베이스뿐만 아니라 모든 SQL Server 데이터베이스에 저장할 수 있습니다. 따라서 패키지 구성의 리포지토리 역할을 하는 데이터베이스를 지정할 수 있습니다. 구성을 포함할 테이블의 이름을 지정할 수도 있으며 Integration Services는 올바른 구조로 테이블을 자동으로 만듭니다. 구성을 테이블에 저장하면 서버, 데이터베이스 및 테이블 수준에서 보안을 제공할 수 있습니다. 또한 SQL Server에 저장된 구성은 데이터베이스를 백업할 때 자동으로 백업됩니다.

SQL Server 대신 파일 시스템에 구성을 저장하는 경우 패키지 구성 파일이 포함된 폴더를 보호해야 합니다.

구성에 대한 자세한 내용은 패키지 구성을 참조하세요.

Integration Services 서비스에 대한 액세스 제어

SQL Server Management Studio는 SQL Server 서비스를 사용하여 저장된 패키지를 나열합니다. 권한이 없는 사용자가 로컬 및 원격 컴퓨터에 저장된 패키지에 대한 정보를 볼 수 없도록 방지하여 개인 정보를 학습하려면 SQL Server 서비스를 실행하는 컴퓨터에 대한 액세스를 제한합니다.

자세한 내용은 Integration Services 서비스에 대한 액세스를 참조하세요.

다음 목록에는 보안과 관련된 특정 작업을 수행하는 방법을 보여 주는 항목에 대한 링크가 포함되어 있습니다.

또한 참조하십시오

SQL Server Integration Services