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