Tibero4 기본강좌
역할(Role) 관리 0 0 99,999+

by 티베로 Tibero User Tibero Role [2010.01.03]


역할 (Role)

여러 특권을 모아놓은 집합이며, 하나의 단위로 사용자에게 부여할 수 있다. 다음 그림은 역할을 구성하는 예이다.

  • [그림] 역할의 구성
  • Tibero 역할의 구성
  • Tibero 역할의 구성

역할은 위 그림과 같이 특권을 가지고 있고, 사용자에게 역할이 가진 특권이 모두 부여된다. 각 사용자마다 특권 부여 작업을 실행할 필요가 없어 특권 관리가 훨씬 간편해진다.

역할의 관리

역할 생성

역할을 생성하기 위해서는 CREATE ROLE 명령을 사용해야 한다. 다음은 역할을 생성하고 특권을 부여하는 예이다.

1
2
3
CREATE ROLE app_role;
 
GRANT CREATE SESSION TO app_role;

위 예제에서 app_role 역할은 데이터베이스에 접속할 수 있는 특권을 부여받았다.

역할 부여

사용자나 다른 역할에게 GRANT 명령을 사용해 역할을 부여할 수 있다. 역할을 부여받는 대상이 사용자이든 역할이든 문법은 동일하다.

WITH ADMIN OPTION 옵션을 사용하면 역할을 부여받은 역할이 다른 사용자에게도 부여할 수 있다. 다음은 사용자에 역할을 부여하는 예이다.

1
GRANT app_role TO Susan WITH ADMIN OPTION;

위 예제에서 사용자 Susan은 app_role 역할을 부여 받았으므로 데이터베이스에 접속할 수 있다.

역할 회수

다른 사용자로부터 역할을 회수시키기 위해서는 REVOKE 명령을 사용해야 한다. DBA는 자신이 직접 부여하지 않은 역할에 대해서도 다른 사용자로부터 회수할 수 있다. 역할을 회수하는 대상이 사용자이든 역할이든 문법은 동일하다.

다음은 사용자로부터 역할 회수하는 예이다.

1
REVOKE app_role FROM Susan;

Tibero RDBMS에서 미리 정의된 역할

Tibero RDBMS에서는 빈번하게 사용되는 시스템 특권을 모아 다음과 같은 역할로 미리 정의하고 있다.

역할 포함된 특권 설명
CONNECT CREATE SESSION 단순히 데이터베이스에 접속만 할 수 있는 특권이다.
이 특권은 모든 사용자에게 필요한 특권이다.
RESOURCE CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER
자신의 스키마에 기본적인 스키마 객체를 생성하는 특권이다.
이 특권은 애플리케이션 프로그램 개발자에게 필요한 기본적인 특권이다.
DBA DBA에게 필요한 시스템 특권을 포함하고 있다.
이 역할을 부여 받은 DBA는 시스템 특권을 임의로 다른 사용자에게 부여할 수 있다.
모든 시스템 특권이 WITH ADMIN OPTION으로 부여된다.

기본 역할

사용자에게 부여한 역할은 한 세션 내에서 SET ROLE 명령을 사용함으로써 동적으로 활성화하거나 비활성화할 수 있다.

다음은 필요한 역할만 활성화 또는 비활성화 하는 예이다.

1
2
3
4
SET ROLE CLERK, RESOURCE;      /* CLERK, RESOURCE 역할을 활성화한다. */
SET ROLE ALL EXCEPT CLERK;     /* CLERK를 제외한 모든 역할을 활성화한다. */
SET ROLE ALL;                  /* 모든 역할을 활성화한다. */
SET ROLE NONE;                 /* 모든 역할을 비활성화한다. */

역할의 정보 조회

Tibero RDBMS에서는 역할의 정보를 제공하기 위해 다음 표에 나열된 정적 뷰를 제공하고 있다. DBA나 일반 사용자 모두 사용할 수 있다.

정적 뷰 설명
DBA_ROLES Tibero RDBMS 내의 모든 역할의 정보를 조회하는 뷰이다.
DBA_ROLE_PRIVS 사용자나 다른 역할에 부여된 모든 역할의 정보를 조회하는 뷰이다.
USER_ROLE_PRIVS 현재 사용자나 PUBLIC 사용자에게 부여된 역할의 정보를 조회하는 뷰이다.

- 강좌 URL : http://www.gurubee.net/lecture/2093

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입