SQL Server 지적 재산 보호Protecting Your SQL Server Intellectual Property

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

소프트웨어 개발자는 SQL ServerSQL Server 데이터 응용 프로그램을 고객에게 배포하는 방법을 자주 질문하지만 고객이 직접 응용 프로그램을 분석하고 분해할 수 없도록 합니다.Software developers often ask how to distribute their SQL ServerSQL Server data application to customers, and yet prevent customers from analyzing and deconstructing their application. 여기에서 중요한 점은 지적 재산권 보호는 법적 문제이며 이러한 보호는 사용권 계약을 기반으로 한다는 점입니다.The key principal here, is that protecting your intellectual property, is a legal issue, and the protection rests in your license agreement. SQL ServerSQL Server가 다른 사람이 관리하는 컴퓨터에 설치되어 있으면 기본적으로 일부 측면을 제어할 수 없습니다.When SQL ServerSQL Server is installed on a computer that others administer, you inherently lose some aspects of control.

문제의 특성Nature of the Problem

컴퓨터의 소유자/관리자는 해당 컴퓨터에 설치되어 있는 SQL ServerSQL Server의 인스턴스에 항상 액세스할 수 있습니다.The owner/administrator of a computer can always access the instance of SQL ServerSQL Server that is installed on that computer. 응용 프로그램을 고객의 컴퓨터에 배포하는 경우 관리자이므로 sysadmin 고정 서버 역할의 멤버로 SQL ServerSQL Server에 연결할 수 있습니다.If you deploy your application to a customer’s computer, since they are administrators, they can connect to the SQL ServerSQL Server as members of the sysadmin fixed server role. 여기에는 사용 권한 부여, 백업 관리(다른 컴퓨터로 백업 복원 포함), 데이터 파일 암호 해독 및 이동 등의 기능이 포함됩니다. 자세한 내용은 시스템 관리자가 잠겨 있는 경우 SQL Server에 연결을 참조하세요.This includes the ability to grant permissions, manage backups (including restoring backups to other computers), decrypt and move data files, etc. For more information, see Connect to SQL Server When System Administrators Are Locked Out.

저장 프로시저 및 데이터는 암호화할 수 있지만 데이터 구조는 숨길 수 없으며 서버 프로세스에 디버거를 연결할 수 있는 사용자는 런타임에 메모리에서 암호 해독된 프로시저 및 데이터를 검색할 수 있습니다.Stored procedures and data can be encrypted, but the data structure cannot be hidden and users who can attach a debugger to the server process can retrieve decrypted procedures and data from memory at runtime.

클라이언트가 컴퓨터에서 관리자가 아닌 경우 클라이언트의 액세스를 방지할 수 있습니다.If the clients are not administrators on the computers, you can prevent access by the clients. You can use 투명한 데이터 암호화를 사용하여 데이터 파일을 암호화할 수 있으며 백업을 암호화하고 모든 사용자의 작업을 감사할 수 있습니다.You can use Transparent Data Encryption to encrypt the data files, you can encrypt backups, and you can audit the actions of all users. 그러나 SQL ServerSQL Server 관리자 및 SQL ServerSQL Server 컴퓨터의 관리자는 이러한 작업을 되돌릴 수 있습니다.But SQL ServerSQL Server administrators and admins of the SQL ServerSQL Server computer can reverse these actions.

해결 방법Solution

클라이언트 컴퓨터에 SQL ServerSQL Server를 설치하지 않고도 다양한 방법으로 클라이언트 데이터 액세스를 구성할 수 있습니다.There are various ways to configure client data access without installing SQL ServerSQL Server on your clients computer. 가장 쉬운 방법은 상시 암호화와 함께 Azure SQL 데이터베이스Azure SQL Database를 사용하여 클라이언트가 관리자가 되지 않도록 하는 것입니다.The easiest is probably using Azure SQL 데이터베이스Azure SQL Database so the clients are not admins, perhaps in combination with Always Encrypted. SQL 데이터베이스SQL Database시작에 대한 자세한 내용은 SQL Database 정의 SQL Database 소개를 참조하세요.For more information about getting started with SQL 데이터베이스SQL Database, see What is SQL Database? Introduction to SQL Database.

또한 SQL ServerSQL Server를 자신의 네트워크에서 호스트하고 클라이언트가 네트워크를 통해 직접적으로나 웹 응용 프로그램을 통해 데이터에 액세스하도록 할 수 있습니다.You can also host a SQL ServerSQL Server on your own network, and allow clients to access data through your network, either directly or through a web application.

관련 항목:See Also

SQL Server 데이터베이스 엔진 및 Azure SQL 데이터베이스에 대한 보안 센터Security Center for SQL Server Database Engine and Azure SQL Database
SQL Server 보안 설정Securing SQL Server