2009-03-31 1 views
1

데이터베이스에 액세스하기 위해 asp.net 응용 프로그램에서 사용하는 SQL 로그인에 필요한 정확한 액세스 권한과 사용 권한은 언제나 궁금합니다. 응용 프로그램은 테이블에 데이터를 삽입, 업데이트 및 삭제하는 일부 저장 프로 시저를 실행합니다. 나는 테이블에서 직접 선택, 삭제, 업데이트를 수행한다. 또한 몇 가지 트리거가 있습니다. 도움이되는 사용 권한 매트릭스의 포괄적 인 목록이 있으면 궁금합니다.ASP.Net 응용 프로그램 용 데이터베이스에 액세스하는 SQL 로그인에 대한 사용 권한

답변

1

글쎄, 당신이

간단한 솔루션 :-) 그것을 확인하는 방법 복잡한에 따라 달라집니다

  • 가 로그인/DB 사용자가 모든 테이블을 읽을 수있는 대한 db_datareader 역할을 할
  • login/db 사용자가 모든 테이블을 작성하는 데 db_datawriter 역할을하도록하십시오.

저장 프로 시저

CREATE ROLE [db_executor] AUTHORIZATION [dbo] 
GRANT EXECUTE TO [db_executor] 

다음 우리는뿐만 아니라 DB를 사용자에게이 역할을 부여합니다들, 우리가 한 일은이 같은 우리의 데이터베이스에 새 사용자 지정 데이터베이스 역할 "db_executor"를 만드는 것입니다. 이 새 사용자 지정 데이터베이스 역할은 데이터베이스의 향후 모든 저장된 procs/func에있는 모든 기존 에 대한 실행 권한을 갖습니다.

이렇게하면 db 사용자는 테이블을 읽고 쓸 수 있으며 저장된 proc 및 저장된 func을 실행할 수 있습니다.

더 복잡한 솔루션 : 당신은 물론 또한 inidividual DB 사용자 및/또는 dB 역할에 개별 테이블, 뷰, 발동, funcs에 대한 사용 권한을 부여 할 수 있습니다. 하지만 꽤 복잡하고 복잡해질 수 있습니다.

마크

관련 문제