반응형
개요
MS-SQL 에서 SSMS(SQL Server Management Studio)툴을 이용하여
로그인 사용자를 추가하고, 사용자의 권한을 부여해보자.
사용자 권한 부여 시 여러가지 권한 종류에 대한 설명도 함께 포함되어 있다.
이 포스팅은 SSMS 툴을 이용하기 때문에 명령어를 사용하지 않고 GUI를 이용하여 진행하도록 한다.
사용자 추가하기
새로운 사용자를 추가해보자.
- 보안 - 로그인 우클릭 - 새 로그인
(Security - Logins Right Click - New Login)
새롭게 추가할 사용자 정보를 입력해주자.
- 로그인 이름
- SQL Server 인증 선택
- 암호 및 암호 확인
- '다음 로그인할 때 반드시 암호 변경'은 선호에 따라 선택
- 기본 데이터베이스 선택
확인을 누르면 입력한 사용자가 생성된다.
특정 사용자에게 권한 주기
로그인 속성 열기
권한을 줄 수 있는 계정(포스팅에서는 'sa' 계정으로 로그인 된 상태)으로 접속한다.
사용자 계정 리스트에서 권한을 줄 사용자를 더블클릭하거나 우클릭 - 속성을 누른다.
Server Roles (서버 역할) 설정
서버 역할에서 설정할 수 있는 권한 종류는 다음과 같다.
- bulkadmin : BULK INSERT 문을 실행할 수 있음, SQL Server on Linux의 경우 sysadmin만 대량 삽입을 수행할 수 있음
- dbcreator : 데이터베이스를 만들고, 변경하고, 삭제하고, 복원할 수 있음
- diskamin : 디스크 파일을 관리할 수 있음
- processadmin : SQL Server 인스턴스에서 실행되는 프로세스를 종료할 수 있음
- public : 모든 로그인은 public 역할에 속함, 특정 사용 권한을 부여하거나 거부하지 않은 경우 사용자는 공용(public)으로 부여된 사용 권한을 상속함
- securityadmin : 로그인 및 해당 속성을 관리할 수 있음
- serveradmin : 서버 전체 구성 옵션을 변경하고 서버를 종료할 수 있음
- setupadmin : Transact-SQL 문을 사용하여 연결된 서버를 추가하고 제거할 수 있음
- sysadmin : 모든 작업을 수행할 수 있음
포스팅에서는 특정 데이터베이스에만 권할을 줄 예정이므로 'public' 으로 설정
User Mapping (사용자 매핑) 설정
사용자 매핑에서 설정할 수 있는 권한 종류는 다음과 같다.
- db_accessadmin : Windows 로그인, Windows 그룹 및 SQL Server 로그인에 대한 데이터베이스 액세스를 추가하거나 제거할 수 있음
- db_backupoperator : 데이터베이스를 백업할 수 있음
- db_datareader : 모든 사용자 테이블 및 뷰에서 모든 데이터를 읽을 수 있음
- db_datawriter : 모든 사용자 테이블에서 데이터를 추가, 삭제 또는 변경할 수 있음
- db_ddladmin : 데이터베이스에서 모든 DDL(데이터 정의 언어) 명령을 실행할 수 있음
- db_denydatareader : 데이터베이스 내의 사용자 테이블 및 뷰에서 데이터를 읽을 수 없음
- db_denydatawriter : 데이터베이스 내의 사용자 테이블에 있는 데이터를 추가, 수정 또는 삭제할 수 없음
- db_owner : 데이터베이스에서 모든 구성 및 기본 작업을 수행할 수 있음 (drop 포함)
- db_securityadmin : 사용자 지정 역할에 대해서만 역할 멤버 자격을 수정하고 권한을 관리할 수 있음. 단, 자신의 권한을 높일 수도 있으므로 이 멤버의 작업은 모니터링 되어야 함
- public : 특정 사용 권한을 부여하거나 거부하지 않은 경우 사용자는 공용(public)으로 부여된 사용 권한을 상속함
포스팅에서는 특정 데이터베이스(EunbyeolLocalTestDB)에 대한 모든 권한을 줄 예정이므로, 'db_owner'으로 설정
테스트
생성한 사용자(tester)로 로그인 하고,
내가 지정한 데이터베이스(EunbyeolLocalTestDB)에만 권한을 부여했는지 확인
지정한 데이터베이스(EunbyeolLocalTestDB)는 액세스가 되어 트리가 구성되었으나,
다른 데이터베이스(***Test)에는 액세스가 되지 않아 알림 메시지가 출력된다.
- 접속 권한 확인 화면
참고
반응형