2012-02-20 3 views
3

우리는 꽤 흥미롭고 복잡한 MS SQL 저장 프로 시저를 사용하는 응용 프로그램을 가지고 있습니다. 이제 우리는 공유 환경에서 이러한 프로 시저로 데이터베이스를 사용하려고합니다. 저장된 procs의 내용을 서버 관리자가 읽을 수 없도록 (복사하여) 저장할 수 없도록 암호화/암호화하는 방법이 있습니까?SQL Server 저장 프로 시저 보호 방법

+6

코드를 사용하여 서버 관리자를 신뢰하지 않습니까? 공유 환경이라면 저장된 procs 텍스트에 민감한 정보를 넣으면 안됩니다. 응용 프로그램 코드에 포함되어 있어야합니다. – JNK

답변

4

아니요, 아니요, 시스템 관리자는 항상 저장 프로 시저의 텍스트를 가져올 수 있습니다.

+0

좋아요, 불가능하다고 판명 된 뭔가가 있었으면합니다. – Tys

+0

예 ... 당신이 생각한 :) – Asken

2

프로 시저 WITH ENCRYPTION을 만들 수 있습니다. 그러나 암호 해독 방법을 보여줄 많은 리소스가 온라인에 있기 때문에 캐주얼 한 캐링으로부터 보호 할 수 있습니다 (가장 엄격한 의미의 암호화는 아닙니다.

중요한 비즈니스 논리가있는 경우 CLR에 넣으십시오. 그걸로 당신을 보호 할 수는 있지만 결정된 사람은 여전히 ​​당신의 물건을 디 컴파일하는 방법을 발견 할 것입니다.

0

WITH ENCRYPTION 절을 사용하여 텍스트를 난독화할 수 있지만 이는 실제 암호화가 아닙니다. 본질적으로 DLL을 호출하는 CLR 경로를 사용할 수도 있지만 성능에 영향을 미칠 수 있다고 생각합니다.

스토어드 프로 시저 코드를보기에 충분히 신뢰하지 않는 사람에게 sa 액세스 권한을 부여해야한다고 생각하지 않으며 코드가 정말 일급 비밀이라면 왜 공유 호스팅 환경을 사용하고 있는지 궁금합니다. 처음?

공유 환경에서 벗어날 수 없다면 적어도 사용자가 액세스 할 수있는 자신의 인스턴스를 가져 오십시오.