DB_SQL_동의어,ROLE

BBBeom·2022년 8월 11일

DB

목록 보기
11/18

Synonym

동의어

-> 객체이름 대신에사용할수 있는 다른 이름을 지정해주는 객체
객체의 실제 이름과 소유자, 위치를 감추는게 가능해짐

  • 장점

    • 데이터베이스의 투명성 제공
    • 다른 유저의 객체를 참조할때 많이 사용
    • SQL코딩을 단순화
    • 보안 유지
  • 사용방법

    • SYNONYM 권한 부여
    • 권한받은 계정 접속
    • 다음과 같이 사용
CREATE SYNONYM E FOR EMP;

SELECT * FROM E;

DROP SYNONYM E;

한번 사용하면 사라지는게 아닌 영속적으로 이름을 지정해주는 기능이다

  • 권한부여
/*시스템계정에서 다음과 같이 계정에 권한을 부여한다*/
GRANT CREAT SYNONYM TO SCOTT;


ROLE

사용자에게 부여하는 권한들의 집합

ROLE을 이용하면 권한부여와 회수를 쉽게 할 수 있다

GRANT 부여하기
REVOKE 회수하기

GRANT 'ROLENAME' TO 'USERNAME';

REVOKE 'ROLENAME' FROM 'USERNAME';

1. CONNECT ROLE

오라클에 접속할 수 있는 세션 생성 및 테이블 생성/조회 를 할 수 있는
가장 일반적인 권한들의 집합이다

원래는 저런 권한들이 있었다고하는데 오라클 10버전 이후로는
CREATE SESSION권한만 있고 다른 모든 권한은 삭제 되었다고 한다
(RESOURCE ROLE에 삭제된 권한들이 있음)

왜 버전업하면서 삭제했냐면
다른 권한이 없어진 덕분에 더 좋은 보안환경에서 DB를 사용하는게 가능해졌다

각 사용자는 자신이 수행해야 하는 작업에 적합한 권한만 가져야 하며, 이를 최소 권한 원칙이라고 합니다. 최소 권한은 권한을 제한하여 위험을 완화하여 필요한 작업을 쉽게 수행하는 동시에 부주의하거나 악의적으로 부적절한 작업을 수행할 수 있는 능력을 줄입니다.
-Oracle Docs

2. RESOURCE ROLE

테이블 생성, 클러스터 생성, 트리거 생성
연산자 만들기, 시퀀스 생성, 인덱스 유형 생성 등등

자원관련의 권한들의 집합이라고 직역할 수 있고
일반적으로 CONNECT ROLE과 RESOURCE ROLE은 계정을 만들때
같이 부여한다

3. DBA ROLE

모든 시스템권한의 집합

DBA ROLE는 관리자에게만 부여해야 한다

profile
BackEnd_BasketBall_Beom

0개의 댓글