SQL Server 2012를 사용하여 데이터를 유지 관리하는 Windows 응용 프로그램 프로젝트가 있습니다.모든 사용자에 대해 SQL Server 로그인 만들기
내 응용 프로그램 보안을 위해 시스템의 모든 사용자에 대해 SQL Server 로그인을 작성하기로 결정했습니다.
이것은 좋은 아이디어입니까?
SQL Server 2012를 사용하여 데이터를 유지 관리하는 Windows 응용 프로그램 프로젝트가 있습니다.모든 사용자에 대해 SQL Server 로그인 만들기
내 응용 프로그램 보안을 위해 시스템의 모든 사용자에 대해 SQL Server 로그인을 작성하기로 결정했습니다.
이것은 좋은 아이디어입니까?
데이터 액세스 수준을 각 사용자에 매핑하는 액세스 매트릭스 테이블을 만들 수 있습니다. 그런 다음 로그인 한 사용자의 액세스 수준에 따라 애플리케이션에로드 된 데이터를 표시하거나 숨길 수 있습니다. @dash가 말했듯이 이것은 유지하기가 더 어려울 것이지만 개별 로그인을 만드는 것보다 쉬운 옵션 일 수 있습니다. 둘째, DBA가 SQL Server 로그인을 편집하도록하는 대신 삽입/업데이트/삭제 스크립트를 작성하여 매트릭스를 편집하는 것이 더 쉽다고 생각합니다.
Windows Authentication
을 사용하지 않는 것이 가장 좋은 방법입니다. 사용자를 Roles
에 배치하고 해당 사용자 그룹에 대한 권한을 지정할 수도 있습니다.
각 사용자마다 다른 권한이 필요하며 각 사용자에게 어떤 데이터베이스 엔터티 (테이블, 뷰, 저장 프로 시저, 함수 등)에 대한 사용 권한이 있는지 정확하게 알고 있어야하는 경우 새 사용자를 만드는 것이 잘 했어. 이렇게하면 각 계정을 미세 조정하고, 계정을 활성화/비활성화하고, 권한을 쉽게 부여/취소 할 수 있습니다.
@dash는 유지 관리가 더 어려울 것이라고 말하지만, 보안 수준을 세분화하면 많은 수의 기반을 유지하는 것이 중요하다고 생각합니다.
장점 : 매우 세분화 된 사용 권한. 단점 : 관리하기가 매우 어렵고 관리하기가 어렵습니다. 대안 : 데이터베이스에 대해 직접 인증하려는 경우 Windows NT 그룹을 작성하여 사람을 추가하십시오. 이상적으로, 각 그룹은 귀하의 신청서에서 역할을 대표하고 적절한 권리를 부여 받아야합니다. – dash
나에게 유지 관리의 악몽처럼 들린다. 통합 보안을 사용할 수 없습니까? – user1429080
통합 보안 (기존 Windows 자격 증명)을 사용하지 않으려면 하나 이상의 Windows ** 그룹 ** (사용자 추가 가능)을 만들고 해당 그룹에 대한 로그인을 만드는 것이 좋습니다. (a) 일반 사용자, (b) 더 많은 권한을 가진 사용자, (c) 관리자 또는 모든 그룹이 의미를 가질 수 있지만, 사용자 당 하나가 아닌 2-3, 5 ** ** 그룹 로그인 **을 관리하면됩니다. –