2013-05-28 2 views
1

MS SQL 2012. 하나는 Storage 인 여러 스키마를 설정했습니다.SQL 2012 사용자 권한 가능성

데이터베이스가 웹 사이트에 연결되므로 사용자 MyWebUser에이 스키마에 연결된 모든 항목에 대한 액세스 권한을 허용하지 않으려합니다. 현재이 스키마는 테이블 만 포함합니다. 그리고 사용자는 (db_datareader & db_datawriterpublic

내가 다른 스키마에 연결되어보기 및 저장 프로 시저 설정을 가지고, 나는이 (만 CRUD 작업)을 사용 할 수 있도록 MyWebUser을 원하는

내 질문입니다 이 웹 앱 부분은 아직 구축되지 않았기 때문에 묻습니다. Deny을 지정하면 사용자가 스키마로 수행 할 작업에 아무 것도 액세스하지 않습니다. Storage 사용자는 여전히 기본 CRUD 작업을 수행 할 수 있습니다. 위?

답변

3

DENY 우선 모든 당신이 할 수 있어야하므로 :

alter role db_datareader add member MyWebUser; 
alter role db_datawriter add member MyWebUser; 
deny select, insert, update, delete on schema::Storage to MyWebUser; 
+0

오 ... 내가 아는 그 정도 : -) ... 내 질문은? '는 CRUD 스키마에 영향을 것' – Kevin

+1

저장소 스키마의 CRUD에만 영향을줍니다. 그리고 그 의미는 명시 적으로 해당 스키마의 개체에 대한 삽입, 선택, 업데이트 및 삭제 문을 의미합니다. 스토어드 프로 시저를 통해 데이터 수정 작업을 수행하는 경우, 여전히 작동합니다 (사용 권한이 부여 된 경우). –

+0

완벽 네, 모든 일은 procs ...을 통해 이루어질 것입니다 .. 심지어 선택 procs 통해 이루어집니다 ... 달콤한 .... 감사합니다 Logged – Kevin