ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유저와 권한
    데이터베이스 2021. 5. 20. 20:28

    Oracle 과 SQL Server 의 유저

    Oracle 과 SQL Server 의 사용자에 대한 아키텍처는 다른 면이 많다.

    Oracle 은 유저를 통해 데이터베이스에 접속한다.

    즉 아이디와 비밀번호 방식으로 인스턴스에 접속하고 그에 해당하는 스키마에 오브젝트 생성 등 권한을 부여받는다.

    SQL Server 는 인스턴스에 접속하기 위해 로그인이라는 것을 생성하게 되고, 인스턴스 내 존재하는 다수의 데이터베이스에 연결해 작업을 하기 위해 유저를 생성 후 로그인과 유저를 매핑해줘야한다. 더 나아가 특정 유저는 특정 데이터베이스 내의 특정 스키마에 대한 권한을 부여받을 수 있다.

    로그인 방식에는 마이크로소프트 윈도우 운영체제 인증방식으로 로그인하는 방법과 혼합 모드방식으로 윈도우 인증으로도 접속 가능하고, Oracle 인증방식처럼 아이디와 비밀번호로 SQL Server 에 접속하는 방식이 있다. 

     

    ROLE 을 이용한 권한 부여 

    유저를 생성하면 기본적으로 CREATE SESSION, CREATE TABLE, CREATE PRODEDURE 등 많은 권한을 부여해야한다.

    데이터베이스 관리자는 유저가 생성될 때마다, 각각의 권한들을 유저에게 부여하는 작업을 수행해야하는데

    관리할 유저가 점점 늘어나고 자주 변경되는 상황에서는 매우 번거로운 작업이 될 것이다.

    이와 같은 문제를 줄이기 위해 유저들과 권한들 사이에 중개 역할을 하는 ROLE 을 제공한다.

     

    데이터베이스 관리자는 ROLE 을 생성하고, ROLE 에 각종 권한들을 부여한 후 ,

    ROLE 을 다른 ROLE 이나 유저에게 부여할 수 있다.

    또한 ROLE 에 포함된 권한들이 유저들에게는 해당 ROLE 만 부여함으로써 빠르고 정확하게 필요한 권한을 부여할 수 있다. 

     

     

    위 그림은 유저들과 권한들 사이 간 ROLE 의 역할을 보여주고 있다. 왼쪽은 권한을 직접 유저에게 할당할 때를, 오른쪽은 ROLE 에 권한을 부여하고 ROLE 을 유저들에게 부여하는 것을 나타내고 있다.

     

    ROLE 에는 시스템 권한과 오브젝트 권한을 모두 부여할 수 있다.

    ROLE 은 유저에게 직접 부여될 수도 있도, 다른 ROLE 에 포함해 유저에게 부여될 수도 있다.

     

    CONN SYSTEM/MANAGER;
    
    CREATE ROLE LOGIN_TABLE;
    
    GRANT CREATE SESSION, CREATE TABLE TO LOGIN_TABLE;
    
    GRANT LOGIN_TABLE TO USER1;

     

    이와 같이 ROLE 을 만들어 사용하는 것이 권한을 직접 부여하는 것보다 빠르고 안전하게 유저를 관리할 수 있다.

     

    Oracle 에서는 기본적으로 몇 가지 ROLE 을 제공한다.

    가장 많이 사용하는 ROLE 은 CONNECT 와 RESOURCE 이다. 

    CONNECT 에는 CREATE SESSION 같은 로그인 권한이 포함되어 있고, 

    RESOURCE 에는 CREATE TABLE 같은 오브젝트 생성 권한이 포함되어 있다.

    일반적으로 유저를 생성할 때 CONNECT 와 RESOUCE ROLE 을 사용해 기본 권한을 부여한다.

     

    CONNECT RESOUCE
    CREATE SESSION CREATE CLUSTER
    CREATE INDEXTYPE
    CREATE OPERATOR
    CREATE PROCEDURE
    CREATE SEQUENCE
    CREATE TABLE
    CREATE TRIGGER
    CREATE TYPE

     

    유저를 삭제하는 명령어는 DROP 이고, CASCADE 옵션을 주면 해당 유저가 생성한 오브젝트를 먼저 삭제 후 유저를 삭제한다.


    출처

    SQL 전문가 가이드 - 한국데이터산업진흥원

     

    반응형

    '데이터베이스' 카테고리의 다른 글

    SQL 수행구조  (0) 2021.05.22
    데이터베이스 아키텍처  (0) 2021.05.20
    트랜젝션  (0) 2021.05.20
    MERGE  (0) 2021.05.20
    정규 표현식 (POSIX /PERL)  (0) 2021.05.17
Designed by Tistory.