요구사항: 웹사이트는 SQL Server를 영구 저장소로 사용하며, 데이터베이스 주소, 계정, 비밀번호, 연결 문자열 구성을 구성해야 합니다SA 사용자분들, 권한이 너무 과한 것 같아요특정 데이터베이스에 대한 모든 권한만 허용하는 새 사용자를 만들고 싶습니다. 이 글에서는 SQL Server Management Studio 도구를 사용하여 SQL Server 2019 데이터베이스 서비스에 연결해 예시로 사용합니다.
SQL Server Management Studio를 열고 Windows 인증으로 로그인하거나 SA 계정을 사용하세요.
먼저, 다음 명령어로 새로운 TestDB 데이터베이스를 생성하세요:
왼쪽 메뉴 [보안] --- [로그인]을 클릭한 후 "로그인"을 우클릭한 뒤 [새 로그인]을 클릭하세요. 아래 설명과 같습니다:
일반 탭에서 로그인 이름, 비밀번호를 입력하고 비밀번호를 확인한 후 기본 데이터베이스를 선택하세요. 아래 그림과 같이 표시됩니다:
사용자 맵으로 전환하고 대상 데이터베이스 [TestDB]를 확인한 후 공개 및 db_owner 권한을 부여하세요(새 사용자가 데이터베이스 TestDB에 관리자 권한을 가질 수 있도록 하면), 아래 그림과 같이 합니다:
마지막으로, 확인 버튼을 누르세요.
다음 그림과 같이 새로 생성된 사용자를 사용해 데이터베이스에 로그인하려고 시도합니다:
다른 데이터베이스를 볼 수는 있지만, 접근을 시도하면 다음과 같은 오류가 발생합니다:
제목: Microsoft SQL Server Management Studio ------------------------------
데이터베이스 테스트는 접근 불가능합니다. (오브젝트익스플로러)
------------------------------ 단추:
확실한가요 ------------------------------
마지막으로, 허가 권한에 대한 설명을 첨부하세요:
'db_owner' - 데이터베이스 삭제 권한을 포함한 전체 데이터베이스 권한을 가집니다 'db_accessadmin' - 데이터베이스 사용자가 다른 데이터베이스 사용자를 생성할 권한만 주고, 로그인된 사용자를 생성할 권한은 부여하지 않습니다. 'db_securityadmin' - 전체 권한, 객체 소유권, 역할 및 역할 멤버십 관리 'db_ddladmin' - 모든 DDL(생성, 변경, 삭제)을 발송할 수 있으나, GRANT, REVOKE, DENY 문장은 발송할 수 없습니다 'db_backupoperator' -- 데이터베이스 백업 및 복원 허용 권한 [백업 및 복원은 SQL Sever Management Studio를 통해서도 가능] 'db_datareader' - 데이터베이스 내 모든 사용자 테이블에서 모든 데이터를 선택할 수 있습니다 'db_datawriter' - 데이터베이스 내 모든 사용자 테이블의 데이터를 변경할 수 있습니다 'db_denydatareader' - 데이터베이스 내 어떤 사용자 테이블의 데이터도 쿼리할 수 없습니다 'db_denydatawriter' - 데이터베이스 내 어떤 사용자 테이블의 데이터도 변경할 수 없습니다
(끝)
|