권한(Privilege):
- 데이터베이스에서 특정 작업을 수행할 수 있는 개별적인 권리.
- 각 권한은 특정 객체나 시스템 레벨의 작업에 대한 접근을 제어.
롤(Role):
- 하나 이상의 권한을 그룹화한 것.
- 롤을 사용자에게 부여하면, 롤에 포함된 모든 권한이 사용자에게 동시에 부여된다.
- 권한 관리를 단순화하고 효율적으로 만들어준다.
- 예를 들어, CONNECT, RESOURCE, DBA 등이 있다.
1. 주요 권한(Privilege):
- 시스템 권한(System Privilege):
- 데이터베이스 시스템 전체에 대한 작업을 수행할 수 있는 권한.
- CREATE SESSION: 데이터베이스에 접속할 수 있는 권한.
- CREATE TABLE: 테이블을 생성할 수 있는 권한.
- CREATE VIEW: 뷰를 생성할 수 있는 권한.
- CREATE PROCEDURE: 프로시저를 생성할 수 있는 권한.
- CREATE USER: 사용자를 생성할 수 있는 권한.
- DROP USER: 사용자를 삭제할 수 있는 권한.
- GRANT ANY PRIVILEGE: 다른 사용자에게 권한을 부여할 수 있는 권한.
- SELECT ANY TABLE: 모든 테이블의 데이터를 조회할 수 있는 권한.
- INSERT ANY TABLE: 모든 테이블에 데이터를 삽입할 수 있는 권한.
- UPDATE ANY TABLE: 모든 테이블의 데이터를 수정할 수 있는 권한.
- DELETE ANY TABLE: 모든 테이블의 데이터를 삭제할 수 있는 권한.
- 객체 권한(Object Privilege):
- 특정 데이터베이스 객체(테이블, 뷰, 프로시저 등)에 대한 작업을 수행할 수 있는 권한.
- SELECT: 특정 테이블 또는 뷰의 데이터를 조회할 수 있는 권한.
- INSERT: 특정 테이블에 데이터를 삽입할 수 있는 권한.
- UPDATE: 특정 테이블의 데이터를 수정할 수 있는 권한.
- DELETE: 특정 테이블의 데이터를 삭제할 수 있는 권한.
- EXECUTE: 특정 프로시저 또는 함수를 실행할 수 있는 권한.
2. 주요 롤(Role):
- CONNECT:
- 데이터베이스에 접속할 수 있는 기본적인 권한들을 포함하는 롤.
- 주로 CREATE SESSION 권한을 포함.
- RESOURCE:
- 테이블, 뷰, 프로시저 등 데이터베이스 객체를 생성할 수 있는 권한들을 포함하는 롤.
- 주로 CREATE TABLE, CREATE PROCEDURE 등의 권한을 포함.
- DBA(Database Administrator):
- 데이터베이스 관리자에게 필요한 모든 권한을 포함하는 롤.
- 데이터베이스 시스템 전체에 대한 모든 작업을 수행할 수 있다.
- SELECT_CATALOG_ROLE:
- 데이터 딕셔너리 정보에 대한 SELECT 권한을 제공하는 롤.
- EXECUTE_CATALOG_ROLE:
- 데이터 딕셔너리 프로시저의 실행 권한을 제공하는 롤.
3. 권한 및 롤 관련 SQL 문:
- 권한 부여:
- GRANT 권한_이름 TO 사용자_이름;
- 예: GRANT CREATE SESSION TO user1;
- 권한 회수:
- REVOKE 권한_이름 FROM 사용자_이름;
- 예: REVOKE CREATE SESSION FROM user1;
- 롤 부여:
- GRANT 롤_이름 TO 사용자_이름;
- 예: GRANT CONNECT TO user1;
- 롤 회수:
- REVOKE 롤_이름 FROM 사용자_이름;
- 예: REVOKE CONNECT FROM user1;
- 롤 생성:
- CREATE ROLE 롤_이름;
- 롤에 권한 부여:
- GRANT 권한_이름 TO 롤_이름;
- 롤 삭제:
- DROP ROLE 롤_이름;
- 사용자가 가진 권한 조회:
- SELECT * FROM dba_sys_privs WHERE grantee = '사용자_이름';
- 사용자가 가진 객체 권한 조회:
- SELECT * FROM dba_tab_privs WHERE grantee = '사용자_이름';
- 롤에 부여된 권한 조회:
- SELECT * FROM dba_role_privs WHERE grantee = '롤_이름';
'개발 > SQL' 카테고리의 다른 글
Oracle 데이터 타입 - 숫자 (0) | 2025.02.21 |
---|---|
Oracle 데이터 타입 - 문자열 (0) | 2025.02.21 |
Oracle 11g XE scott계정 생성하기 (0) | 2025.02.21 |
Oracle 기본 계정 및 계정관련 sql (0) | 2025.02.21 |
Oracle 11gXE 설치하기 (0) | 2025.02.20 |