2010-01-25 3 views
2

우리는 데이터베이스에 대한 모든 데이터 수정이 완료되어야하는 C# 프레임 워크를 구축했습니다. 우리는 누구든지 데이터베이스에 직접 데이터 변경을 요구하지 않습니다. 모든 변화는 우리의 틀을 통과해야합니다.SQL Server 권한 부여/보안 질문

제 질문은이를 시행하는 방법입니다. SQL Server는 SSMS 또는 다른 도구를 통해 연결될 수있는 수백 명의 개인 중 하나가 아니라 우리 프레임 워크에서 작성된 Insert/Update/Delete 문만 허용 할 수 있습니까?

SQL Server 보안/인증에 대한 많은 경험이 없으므로 이에 대한 지침이 필요합니다.

대단히 감사합니다.

답변

2

는 SQL 만들기 사용을 삭제 것 응용 프로그램에 로그인하고 필요에 따라 저장 프로 시저 또는 기본 테이블에 대한 사용 권한을 부여하십시오.

다른 사용자에게 액세스 권한을 부여하지 마십시오.

하지만 '프레임 워크'라는 말은 많은 응용 프로그램과 사용자 이름이이를 사용한다는 것을 의미하므로 다른 접근 방식이 필요합니다.

0

한 가지 방법은 여기서 host_name, 트리거의 사용 중 APP_NAME 확인을 통해

if app_name() in('SQL Query Analyzer','Microsoft SQL Server Management Studio') 
raiserror (.....) 
return 

이거나/쓰기/업데이트를 거부 모든 사용자 이름에 액세스 할 수 있지만, 앱

+0

SQLCMD는 어떻습니까? –

1

프레임 워크는 SQL 로그인 또는 프레임 워크가 실행되는 도메인 계정이든 상관없이 자체 자격 증명에 따라 SQL에 액세스해야합니다. 해당 계정에 적절한 SQL 사용 권한을 부여하십시오.