다음을 통해 공유


SQL Server 지적 재산 보호

적용 대상: SQL Server

소프트웨어 개발자는 해당 인물의 SQL Server 데이터 애플리케이션을 고객에게 배포하는 방법을 자주 질문하지만 고객이 직접 애플리케이션을 분석하고 분해할 수 없도록 합니다. 여기서 주요 보안 주체는 사용자의 지적 재산권 보호가 법적 문제이며 보호는 사용권 계약에 달려 있다는 것입니다. 다른 사용자가 관리하는 컴퓨터에 SQL Server를 설치하면 기본적으로 제어의 일부 측면이 손실됩니다.

문제의 본질

컴퓨터의 소유자/관리자는 항상 해당 컴퓨터에 설치된 SQL Server 인스턴스에 액세스할 수 있습니다. 애플리케이션을 고객의 컴퓨터에 배포하는 경우 관리자이므로 sysadmin 고정 서버 역할의 멤버로 SQL Server에 연결할 수 있습니다. 여기에는 사용 권한을 부여하고, 백업을 관리하고(다른 컴퓨터에 백업 복원 포함), 데이터 파일의 암호 해독 및 이동 등이 포함됩니다. 자세한 내용은 시스템 관리자가 잠겨 있는 경우 SQL Server에 연결을 참조하세요.

저장 프로시저 및 데이터는 암호화할 수 있지만 데이터 구조는 숨길 수 없으며 서버 프로세스에 디버거를 연결할 수 있는 사용자는 런타임에 메모리에서 암호 해독된 프로시저 및 데이터를 검색할 수 있습니다.

클라이언트가 컴퓨터의 관리자가 아닌 경우 클라이언트의 액세스를 차단할 수 있습니다. 투명한 데이터 암호화를 사용하여 데이터 파일을 암호화하고, 백업을 암호화할 수 있으며, 모든 사용자의 작업을 감사할 수 있습니다. 그러나 SQL Server 관리자 및 SQL Server 컴퓨터의 관리자는 이러한 작업을 되돌릴 수 있습니다.

솔루션

클라이언트 컴퓨터에 SQL Server를 설치하지 않고 클라이언트 데이터 액세스를 구성하는 다양한 방법이 있습니다. 가장 쉬운 방법은 Azure SQL Database를 사용하는 것이므로 클라이언트는 Always Encrypted와 함께 관리자가 아닙니다. SQL 데이터베이스를 시작하는 방법에 대한 자세한 내용은 SQL Database란 무엇인가요? SQL Database 소개를 참조하세요.

또한 자체 네트워크에서 SQL Server를 호스팅하고 클라이언트가 직접 또는 웹 애플리케이션을 통해 네트워크를 통해 데이터에 액세스할 수 있도록 할 수도 있습니다.

참고 항목

SQL Server 데이터베이스 엔진 및 Azure SQL Database용 Security Center
SQL Server 보안 설정