본문 바로가기
Database

SQL Server 보안 개념

by soojitasan 2024. 2. 22. 15:21

SQL Server 보안 개념

2023.08.16 (수)

 

- 계정을 통한 접근 권한 관리 > 총 4단계 (로그인+사용자+권한+역할)

 

* 인증 유형

- 윈도우 인증 : 윈도우 계정 정보로 SQL Server에 연결

- 서버 인증 : OS와는 별개의 ID/PW로 인증하여 SQL Server에 연결

 

 

1) 로그인

SQL Server에 접속이 가능한 수준을 의미

 

 

2) 사용자

각 데이터베이스 단위로 접근할 수 있는 단위

(기본값)

  > dbo : 데이터베이스 소유자

  > guest : 모든 로그인에 대해 자동으로 접근이 허용된 사용자

  > sys/INFORMATION_SCHEMA : 데이터베이스 내부의 시스템 개체를 참조하기 위한 사용자

 

 

3) 권한

개체를 사용하거나 명령문을 수행하는 단위

 

권한 종류

- 개체 사용 권한 : 데이터베이스 개체에 대해 SELECT / INSERT / UPDATE / DELETE를 수행할 수 있는 권한

- 명령문 사용 권한 : 특정 명령문을 수행할 수 있는 권한 (CREATE TABLE/VIEW, BACKUP DATABASE 등)

- 내제적 사용 권한 : 명시적으로 부여하지 않더라도 암시적으로 부여된 권한

 

 

4) 역할

로그인 또는 권한의 집합

 

역할 종류

- 시스템 정의 역할 : SQL Server에서 미리 정의해놓은 역할

- 서버 역할 : 서버 단위로 로그인 계정을 그룹화하여 권한 부여 시 사용하는 역할

(서버 역할 예시)

  > bulkadmin : BULK INSERT문 실행이 가능한 역할

  > public : 모든 사용자/그룹/역할이 기본적으로 속하는 역할

  > sysadmin : 모든 데이터베이스 엔진 작업이 가능한 역할

  ** sa는 public 및 sysadmin 역할이 부여됨

 

- 데이터베이스 역할 : 각 데이터베이스 내 사용자별 부여되는 역할

(데이터베이스 역할 예시)

  > db_owner : 데이터베이스 내 모든 작업이 가능한 역할

  > db_datawriter : 모든 테이블의 데이터 쓰기 (추가/삭제/변경)가 가능한 역할

  > db_datareader : 모든 테이블의 데이터 조회가 가능한 역할

 

- 어플리케이션 역할 : 특정 응용프로그램에 따라 사용할 수 있는 권한을 제

 


참고자료

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=islove8587&logNo=220999473034