본문 바로가기
낙서장/SQL

사용자 권한과 롤

by "뭉치" 2021. 8. 8.
728x90

사용자 권한과 롤

 

오라클에서 사용자의 권한은 약 130여가지나 된다. 여기에서는 가장 많이 사용하는 대표적인 몇가지만을 언급하도록 하겠다.

 

1. 데이터베이스 관리자가 가지는 시스템 권한의 종류

 

시스템 권한 기능
CREATE USER 새롭게 사용자를 생성하는 권한
DROP USER 사용자를 삭제하는 권한
DROP ANY TABLE 임의의 테이블을 삭제할 수 있는 권한
QUERY REWRITE 질의 재작성을 할 수 있는 권한
BACKUP ANY TABLE 임의의 테이블을 백업할 수 있는 권한

 

2. 일반 사용자가 데이터베이스를 관리하는 권한

 

시스템 권한 기능
CREATE SESSION 데이터베이스에 접속할 수 있는 권한
CREATE TABLE 사용자 스키마에서 테이블을 생성할 수 있는 권한
CREATE VIEW 사용자 스키마에서 뷰를 생성할 수 있는 권한
CREATE SEQUENCE 사용자 스키마에서 시퀀스를 생성할 수 있는 권한
CREATE PROCEDURE 사용자 스키마에서 함수를 생성할 수 있는 권한 

3. 일반 유저에서 권한주기

 

GRANT 권한의 종류 TO 유저명 [WITH ADMIN OPTION]

 

WITH ADMIN OPTION 을 명시하면 권한을 받은 유저가 자기가 갖고 있는 권한을 다른 유저에게 줄수 있다.

 

예] 유저 PARK에게 데이터베이스에 접속할 수 있는 권한 주기.
GRANT CREATE SESSION TO PARK

 

4. 객체 권한 주기

 

객체의 권한이란 DML문, 즉 SELECT, INSERT, UPDATE, DELETE등을 사용할 수 있는 권한을 말한다.

 

GRANT 권한의 종류 ON 테이블명 TO 유저명 [WITH ADMIN OPTION]

 

ON 뒤에는 테이블명이나 뷰명이 올 수 있다.

 

예] PARK에서 SCORE 테이블을 SELECT 할 수 있는 권한 주기.
GRANT SELECT ON SCORE TO PARK

 

5. 사용자에게 부여된 권한 조회

 

먼저 특정 사용자로 로그인 한후 다음과 같은 명령으로 권한을 조회할 수 있다.

 

명령 기능
SELECT * FROM user_tab_privs_made 현재 사용자가 다른 사용자에게 부여한 권한 정보
SELECT * FROM user_tab_privs_recd 자신에게 부여된 사용자 권한 조회.

 

6. 사용자의 권한 제거

 

REVOKE 권한의 종류 ON 테이블명 FROM 유저명

 

7. 롤

 

롤은 사용자에게 보다 효율적으로 권한을 부여하기 위한 하나의 방법이다. 롤은 시스템이 기본적으로 제공하고 있는 것도 있지만 사용자가 롤을 만들어 운영할 수도 있다.

 

1) 시스텡에서 제공해주는 롤

 

롤의 종류 기능
CONNECT 롤 사용자가 데이터베이스에 접속가능하도록 하기 위하여 필요한 가장 기본적인 시스템 권한을 묶어 놓았다.
(ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW)
RESOURCE 롤 사용자가 객체(테이블, 뷰, 인덱스)를 생성할 수 있도록 하기 위해서 시스템의 권한을 묶어 놓았다.
(CREATE CLUSTER, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER)
DBA 롤 사용자들이 소유한 데이터베이스객체를 관리하고 사용자들을 작성하고 변경, 삭제하는 모든 권한을 가진다.

 

2) 롤 부여하기

 

GRANT 롤,롤 TO 유저명

 

예] PARK 에게 데이터베이스에 접근하고 테이블을 만들 수 있는 권한을 부여하자.
GRANT CONNECT, RESOURCE TO PARK

 

3) 롤 회수

 

REVOKE 롤이름 FROM 유저명

 

예] PARK에게 부여된 권한을 제거하자.
REVOKE CONNECT, RESOURCE FROM PARK

 

4) 사용자 롤 생성과 제거

 

롤 생성 CREATE ROLE 롤이름
롤에 권한 부여 GRANT 명령 ON 테이블명 TO 롤이름
롤 조회 SELECT * FROM user_role_privs;
SELECT * FROM role_tab_privs
롤 제거 REVOKE 롤이름 FROM 유저명

[출처] 사용자 권한과 롤 (itdocument)

728x90

'낙서장 > SQL' 카테고리의 다른 글

오라클 Dictionary  (0) 2021.08.08
sql*plus 간단한 명령어  (0) 2021.08.08
데이타 타입  (0) 2021.08.08
오라클 10g 시작 connect 권한 부여 등..  (0) 2021.08.08
SQL 이란  (0) 2021.08.08

댓글