DCL (Data Control Language)
- 유저를 생성하고 권한을 제어하는 명령어 (GRANT와 REVOKE)
- 유저가 사용하는 모든 DDL(CREATE, ALTER, DROP, RENAME) 문장은 그에 해당하는 적절한 권한이 있어야만 가능
Oracle 기본 유저 종류
- SCOTT / TIGER (ID / PW) : 테스트용 샘플 유저
- SYS : DBA ROLE을 부여받은 유저
- SYSTEM : 모든 권한을 부여받은 DBA 유저 - 설치 시 패스워드를 설정
[ Oracle 권한부여 ]
- DBA 권한을 가진 SYSTEM 유저로 먼저 => 다른 유저에게 권한을 주는 방식으로 진행
[ SQL Server 권한부여 ]
- 유저 생성 전, 먼저 로그인을 생성해야 함
- 로그인을 생성할 수 있는 권한을 가진 로그인은 'sa'
Object에 대한 권한 부여
- OBJECT 권한 : 특정 오브젝트인 "테이블, 뷰" 등에 대한 SELECT, INSERT, DELETE, UPDATE 작업 명령어를 의미함
- [Oracle] : 자신이 생성한 테이블 외 다른 유저의 테이블에 접근하려면, 해당 오브젝트의 권한을 가진 소유자에게 권한을 부여받아야 함
- [SQL Server] : 오라클과 마찬가지로 차이점은 유저는 단지 "스키마"에 대한 권한만을 가짐. 테이블과 같은 오브젝트는 유저가 소유하는게 아니고 스키마가 소유하는 것. 유저는 그 스키마에 대한 권한을 갖는 것.
ROLE을 이용한 권한 부여
DBA의 역할
- 각 유저별로 어떤 권한이 있는지 관리해야 함
- DBA는 ROLE을 생성하고, ROLE에 대한 각종 권한을 부여한 후, 다른 ROLE이나 유저에게 부여
ROLE
- 다양한 권한을 그룹으로 묶어 관리, 사용자와 권한 사이에서 중개 역할 수행
- 시스템 권한, 오브젝트 권한 모두 부여 가능
- ROLE은 유저에게 직접 부여될 수도 있고 다른 ROLE에 포함되어 유저에게 부여될 수도 있다.
ORACLE에서 제공하는 ROLE 종류
- CONNECT : Create Session과 같은 로그인 권한
- RESOURCE : Create Table과 같은 오브젝트(=리소스) 생성 권한
유저 삭제 명령어와 권한
유저 삭제 명령어
- DROP USER 유저명 CASCADE;
=> CASCADE 옵션 : 해당 유저가 생성한 오브젝트를 먼저 삭제 후 유저를 삭제
'SQLD' 카테고리의 다른 글
SQLD 개념정리 (SQL 최적화 기본 원리) (0) | 2023.11.13 |
---|---|
SQLD 개념정리 (절차형 SQL) (0) | 2023.11.12 |
SQLD 개념정리 (윈도우 함수) (0) | 2023.11.10 |
SQLD 개념정리 (GROUPING) (0) | 2023.11.09 |
SQLD 개념정리 (그룹함수) (3) | 2023.11.09 |