2013-08-15 5 views
1

중요한 데이터가 암호화 키없이 숨겨지기 때문에 개발을 위해 SQL Server의 데이터를 난독 화하는 방법에 문제가 있습니다.SQL Server의 데이터 난독 처리

+0

당신은 테이블 형식의 데이터를 익명화하거나 프로 시저 SQL 등의 난독 화 프로 시저를 언급하고 있습니까? –

+0

개발자는 민감한 데이터가있는 열을 볼 수 있지만 실제 데이터는 잘 보이지 않거나 전체 열은 보이지 않아야합니까? – veljasije

+0

데이터에는 이름 및 생년월일과 같은 민감한 정보가 포함되어있어 임의의 임의의 문자 또는 숫자로 데이터를 스크램블하려고합니다. 따라서 개발자는 데이터베이스를 사용할 수 있지만 중요한 정보에 노출되지는 않습니다. – MohammedT

답변

1

확인 규제 목적으로 데이터를 암호화해야하는지 또는 개발자를 신뢰하지 않았기 때문에 데이터를 암호화해야하는지 확실하지 않습니다. 귀하의 데이터가있는 법률을 모른다고해서 나는 사물의 규제 측면에 대답 할 수 없습니다.

트러스트 측면에서 가장 좋은 해결책은 데이터를 암호화/해독하는 것이 아니라 다른 이유로 필요하지만 데이터 세트를 파티션하고 정의 된 사용자 만 필요한 데이터에 액세스하도록 허용하는 것입니다. 당신은 별도의 개발, 준비 및 생산 환경을함으로써이 작업을 수행 :

  1. 개발자는 그들의 일을 할 수있는 충분한 더미 데이터가로드되는 개발 환경에서 작동합니다. 개발자는 여기서 데이터와 코드에 대한 모든 액세스 권한을 갖습니다.

  2. QA 사람들은 실제 시스템을 모방 한 준비 환경에서 코드를 테스트하지만 테스트를 위해 충분한 더미 데이터 만 다시로드합니다. 개발자는이 시스템에 액세스 할 수도 있고 사용하지 않을 수도 있습니다.

  3. 프로덕션 환경에는 테스트 된 코드와 모든 실제 데이터가 있습니다. 신뢰할 수있는 시스템 관리자 만이 시스템에 액세스 할 수 있습니다. 개발자는이 시스템에 액세스 할 수 없습니다.

중요한 데이터는 시스템 관리자가 전체 시스템을 유지 보수 할 때 수행하는 역할에 대한 올바른 권한을 부여하여 시스템 관리자가 보호합니다.

어느 시점에서 데이터를 가진 사람을 신뢰할 필요가 있지만 파티션을 나누어 액세스 할 수있는 사람의 수를 줄일 수 있습니다.

코멘트에서 편집

당신이 이미이 구조를 가지고 있다는 것, 그리고 당신이 개발 서버에 프로덕션 서버에서 라이브 데이터를 전송하려는. 일반적으로 Bad Idea이며 분리 된 환경을 유지하는 목적을 무효화합니다.

그렇게해야 할 특별한 이유가있는 경우가 아니면 개발 환경에서 실제 민감한 데이터를 가질 필요가 없습니다. 부하 테스트 등을하고 싶다면 일부 개발 담당자에게 데이터 생성 루틴을 코딩하십시오.