롤 생성 예

 

☞사용예

암호를 지정한 롤과 지정하지 않은 롤을 생성하여라.

 

롤 생성

 

*롤 생성

-CREATE ROLE 명령문으로 생성

-롤에 암호 부여 가능

-롤 이름은 사용자나 다른 롤과 중복될 수 없음

 

☞사용법

CREATE ROLE role [NOT IDENTIFIED | IDENTIFIED

            {BY password | EXTERNALLY}]

 

*NOT IDENTIFIED : 롤 활성화시 암호에 의한 검증 과정 생략

*IDENTIFIED : 롤 활성화시 암호에 의한 검증 과정 필요

*BY password : 롤 활성화시 사용되는 암호 지정

*EXTERNALLY : 롤 활성화시 운영체제 인증을 통한 사용자 검증

 

 

사전에 정의된 롤

 

*CONNECT 롤

-사용자가 데이터베이스에 접속하여 세션을 생성할 수 있는 권한

-테이블 또는 뷰와 같은 객체를 생성할 수 있는 권한

 

*RESOURCE 롤

-사용자에게 자신의 테이블, 시퀀스, 프로시져, 트리거 객체 생성할 수 있는 권한

-사용자 생성시 : CONNECT 롤과 RESOURCE 롤을 부여

 

*DBA 롤

-시스템 자원의 무제한적인 사용이나 시스템 관리에 필요한 모든 권한

-DBA 권한을 다른 사람에게 부여할 수 있음

-모든 사용자 소유의 CONNECT, RESOURCE, DBA 권한을 포함한 모든 권한을 부여 및 철회 가능

 

 

롤 종류

 

*사전에 정의된 롤

-사용자 접속, 자원 생성, DBA

-사전에 정의된 롤도 부여 철회 가능

 

*사용자 정의 롤

<표14-4> 사전 정의된 롤의 종류

 

사용자, 롤, 권한간의 관계 

 

 

롤(role)

 

*롤 개념

-다수 사용자와 다양한 권한을 효과적으로 관리하기 위하여 서로 관련된 권한을 그룹화한 개념

-일반 사용자가 데이터베이스를 이용하기 위한 공통적인 권한(데이터베이스 접속권한, 테이블 생성, 수정, 삭제, 조회 권한, 뷰 생성 권한)을 그룹화

-이러한 권한을 그룹화하여 롤로 정의해서 사용자에게 롤에 대한 접근 권한을 부여하면 권한 관리를 효과적으로 함

 

*롤 부여

-활성화 또는 비활성화를 통한 일시적 권한 부여 철회 가능

-암호 부여 가능

-사용자 또는 다른 롤에 대한 접근 권한 부여 및 철회 가능

-자신에 대한 롤 부여나 순환적인 부여는 불가능

-롤은 특정 소유자나 특정 객체에 속하지 않음

 

 

 

객체 권한의 철회

 

☞사용예

scott에 의해 tiger에게 부여된 student 테이블에 대한 SELECT, UPDATE 권한을 철회하라.

SQL> CONNECT scott/tiger

 

SQL> REVOKE UPDATE ON student FROM tiger;

권한이 취소되었습니다.

 

SQL> REVOKE SELECT ON student FROM tiger;

권한이 취소되었습니다.

 

SQL> CONNECT tiger/tiger123

 

SQL> SELECT*FROM scott.student;

 

☞출력결과

SQL> SELECT*FROM scott.student;

 

1행에 오류 :

ORA-01031 : 권한이 불충분합니다.

 

 

 

객체 권한의 철회

 

*객체 권한의 철회

-REVOKE 명령문을 사용하여 철회

 

☞사용법

REVOKE  {object priv

              [,object privs]...

              |ALL [PRIVILEGES]}

       ON   [schema.] object

   FROM   {user|role|PUBLIC}

              [, {user|role|PUBLIC}]...

            [CASCADE CONSTRAINTS]

 

。CASCADE CONSTRAINTS : REFERENCES나 ALL 권한 철회시 관련 참조 무결성 제약조건도 함께 삭제

 

 

+ Recent posts