Tibero4 기본강좌
역할(Role) 관리 0 0 4,382

by 티베로 Tibero User Tibero Role [2010.01.03]


역할 (Role)

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

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

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

역할의 관리

역할 생성

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

CREATE ROLE app_role;

GRANT CREATE SESSION TO app_role;

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

역할 부여

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

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

GRANT app_role TO Susan WITH ADMIN OPTION;

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

역할 회수

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

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

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 명령을 사용함으로써 동적으로 활성화하거나 비활성화할 수 있다.

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

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() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입