오라클(Oracle) 권한설정 ,권한해제 GRANT, REVOKE 모든 것

오라클(Oracle) 권한설정 ,권한해제 GRANT, REVOKE 모든 것

오라클에서 사용자에게 권한을 설정해야 해당 유저가 권한을 받아서 사용할 수 있는데요
테이블을 생성하고 나면 다른 유저가 해당 테이블을 조회하기 위해선 GRANT 명령으로 권한을 할당 받아야 합니다.

명령은 조회, 등록, 수정, 삭제 등으로 나눠서 필요한 권한을 별도로 생성하거나
모든 유저에 상관없이 권한을 공개할 수도 있고, 권한을 다시 삭제할 수도 있습니다.
이번 시간은 권한 설정의 모든 것을 알아보겠습니다.


 

사용자 계정을 생성했으면 시스템 권한도 설정할 수 있는데요
사용자를 user1 로 생성했을 경우 해당 사용자에게 시스템 권한을 설정하는 방법입니다. 

GRANT CREATE SESSION TO USER1 WITH ADMIN OPTION;

이제 테이블을 생성해서 DML(SELECT ,INSERT ,DELETE ,UPDATE) 권한 설정 방법과 권한 해제 그리고 전체 권한 설정과 해제 방법을 알아보겠습니다.

 

먼저 테이블을 생성해보겠습니다.

CREATE TABLE TEST_TABLE(
  SEQ       NUMBER
 ,USER_NMAE VARCHAR2(50)
)

;

오라클 테이블 생성


테이블이 생성되었으면 이제 사용자에게 권한을 설정합니다.
개별로 설정할 수도 있고 한 번에 원하는 권한을 설정할 수도 있습니다.

TEST_TABLE에 조회할 수 있는 권한만 부여합니다.
 GRANT SELECT ON TEST_TABLE TO USER1;

 한번에 설정


 

테이블 생성 권한방법입니다.
GRANT CREATE TABLE TO USER1;

테이블 생성 권한방법


 

테이블을 생성하면 DML 명령에 의해 다음과 같이 권한을 설정할 수 있습니다.

DML 명령에 의해 다음과 같이 권한을



TEST_TABLE에 조회,등록, 삭제, 수정등의 권한을 부여합니다.
GRANT SELECT, INSERT, DELETE, UPDATE ON TEST_TABLE TO USER1;

조회,등록, 삭제, 수정등의 권한을 부여



사용자를 지정하지 않고 한번에 전체권한 설정을 할 수 있는데요
아래와 같이 권한을 ALL로 사용하고 대상을 PUBLIC로 지정하면 됩니다.
GRANT ALL ON TEST_TABLE TO PUBLIC

사용자를 지정하지 않고 한번에 전체권한 설정을


 

 

이제 특정사용자의 권한을 제거해보겠습니다.
권한해제시에는 명령을 REVOKE를 사용하는데요

TEST_TABLE 에서 USER1 의 조회 권한을 해제 하는 겁니다.
REVOKE SELECT ON TEST_TABLE FROM USER1

  USER1 의 조회 권한을 해제


 

이제 조회, 등록, 삭제, 수정 등 권한을 해제 해보겠습니다.
REVOKE SELECT, INSERT, DELETE, UPDATE ON TEST_TABLE FROM USER1

이제 조회, 등록, 삭제, 수정 등 권한



전체 권한 부여했던 것을 해제 하려면 다음과 같이 사용합니다.
REVOKE ALL ON TEST_MEMBERS FROM PUBLIC;

전체 권한 부여했던 것을 해제


이상 오라클 권한 설정인 GRANT, REVOKE에 대해 알아보았습니다.