본문 바로가기
Programming/Database

[Database] 권한 ( Privilege )

by 공부합시다홍아 2023. 12. 13.
 

[Database] INDEX

[Database] 시퀀스 , SEQUENCE [Database] 뷰, VIEW [Database] 제약조건 [Database] Table, 테이블 [Database] 트랜잭션, Transaction https://hong-study.tistory.com/294 트랜잭션 ( Transaction ) ● 논리적인 작업의 단위로, 분리되어

hong-study.tistory.com

 


권한 ( Privilege )

특정 SQL 문장을 실행하기 위한 권리로, 데이터베이스 관리자(DBA)와 사용자 간의 권한이 다르다.

데이터베이스 관리자(DBA)

  • 데이터베이스와 그 객체에 대한 액세스를 사용자에게 부여한다.
  • 사용자와 롤에 대해 시스템 권한과 객체 권한 부여 가능하다.
  • 시스템 권한대개 데이터베이스 관리자(DBA)에 의해 제공된다.
  • 객체 권한대개 객체의 소유주에 의해 제공된다.

사용자 

  • 데이터베이스에 액세스하기 위해 시스템 권한이 필요
  • 데이터베이스에서 객체의 내용을 조작하기 위해 객체 권한이 필요
  • 관련 권한들의 이름 있는 그룹인 ROLE이나 다른 사용자에게 추가로 권한을 부여하기 위한 권한을 가질 수 있다.

스키마(Schema)테이블(Table), 뷰(View), 시퀀스(Sequence) 같은 객체의 모음이다.
▶ 스키마는 데이터베이스 사용자에 의해 소유되고 사용자와 동일이름을 가진다.


사용자 계정 생성

DBA는 CREATE USER 문장을 실행하여 사용자를 생성한다.
● 사용자는 이떄에는 어떤 권한도 가지지 않는다.
● DBA는 이때 그 사용자에게 여러 권한을 부여한다.
● 이 권한은 데이터베이스 수준에서 사용자가 할 수 있는 것이 무엇인가를 결정한다.

CREATE USER USER01 IDENTIFIED BY USER01;
시스템 계정 삭제

시스템 계정을 삭제할 때는 TABLE , SEQUENCE 삭제와 동일하게 DROP문을 사용한다.
▶ 단, 계정을 삭제할 때 계정의 접속을 해제해야 한다.

DROP USER USER01;

시스템 권한
생성된 계정에 권한 부여

기본 사용자가 생성되었다면, DBA는 사용자에 대한 특정 시스템 권한을 부여할 수 있다.
● DBA는 사용자에게 시스템 권한을 부여하기 위해 GRANT 문장을 사용한다.
● 일단 사용자가 권한을 부여받았으면, 사용자는 그 즉시 권한을 바로 사용할 수 있다.

GRANT 
    CREATE SESSION, 
    CREATE TABLE, 
    CREATE SEQUENCE, 
    CREATE VIEW, 
    CREATE PROCEDURE
TO USER01;

권한 삭제

REVOKE CREATE SESSION FROM USER01;

롤(ROLE)

롤(ROLE)은 사용자에 대해 부여될 수 있는 관련 권한의 그룹이다.
● 롤은 권한을 부여하고 철회하는 것을 수행하고 유지하기 쉽게 한다.
● 한 사용자가 여러 롤을 액세스할 수 있고 다른 여러 사용자에게 같은 롤을 지정할 수 있다.

● 롤을 사용하려면 우선 DBA에 롤을 생성해야 한다.
● 롤이 생성되면 DBA는 롤에 대한 권한뿐만 아닌 롤을 사용자에게 할당하기 위한 GRANT 문장을 사용 가능하다.

CREATE USER USER01 IDENTIFIED BY USER01;
GRANT RESOURCE, CONNECT TO USER01;

비밀번호 변경

사용자가 계정이 생성되었을 때, 각 사용자는 DBA가 초기화한 비밀번호를 갖게 된다.
사용자는 ALTER USER 문장을 사용하여 자신의 비밀번호를 수정할 수 있다.

권한부여

ALTER USER USER01
    DEFAULT TABLESPACE
    USERS QUOTA UNLIMITED 
ON USERS;

 

728x90

'Programming > Database' 카테고리의 다른 글

[Database] 데이터베이스 모델링  (0) 2023.12.13
[Database] INDEX  (0) 2023.12.13
[Database] 시퀀스 , SEQUENCE  (0) 2023.12.12
[Database] 뷰, VIEW  (0) 2023.12.12
[Database] 제약조건  (1) 2023.12.12