Background Image
운영관리
2012.04.14 01:26

CUBRID 에서의 사용자 권한관리 방법

조회 수 23640 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

  CUBRID는 데이터베이스 서버 이외에 CUBRID Manager라는 전용 도구와 통신하는 CUBRID Manager서버를 더 포함하여 구성된다이 때문에 권한 사용자도2종류로 구성되는데, 1) 데이터베이스마다 생성할 수 있는 사용자, 2) 여러 개의 데이터베이스에 대해 운영관리를 수행할 수 있는 CM 사용자이다

그림에서 확인할 수 있듯이 CUBRID 서버는 데이터베이스별 사용자를 관리하고, CM 서버는 CM 사용자를 관리한다또한, CM 사용자는 모든 DB에대해 운영 관리를 수행할 수 있는 상위 개념의 유저이다.

 

1.JPG

 

 

<< CUBRID구조에 따른 DB_user  CM_user의 개념 구조 >>

 

사용자아이디디폴트 비밀번호사용자구분개념주의사항
adminadminCM사용자(디폴트생성)수퍼 CM관리자모든 DB접근가능
dba공백DB사용자(디폴트생성)수퍼 DB관리자해당 DB에 대한 모든 권한 가짐
cm_user1 CM사용자(임의생성)DB1, DB2만 접근허용 
  DB3는 접근불가 
cm_user2CM사용자(임의생성)DB1, DB2만 접근허용
DB3는 접근불가
db1_user DB사용자(임의생성)DB1의 일반유저특정 연산에 대해서 권한 제한 필요
db2_user DB사용자(임의생성)DB2의 일반유저특정 연산에 대해서 권한 제한 필요

<<CUBRID 구조에 따른 DB_user  CM_user의 개념 테이블 >>

이처럼 하나의 장비에 여러 데이터베이스를 생성하여 운영하는 환경에서는 CM 사용자와 DB 사용자 권한을 적절하게 관리할 필요가 있다.

 

1. CM 사용자를 추가하여 특정 DB만 연결 할수 있도록 설정하기

admin 사용자로 CM을 접속한 후 해당 호스트를지정한 체 [도구]->[사용자관리]를 선택하여 cm_user1을 생성한다이름과 비번권한을 지정한 후[다음]을 선택하면 설치된 데이터베이스 목록을 확인 할 수 있다. [그림1]과 같이 설정한다.

2.JPG

 

<<그림2. cm_user1의 데이터베이스 권한 목록>>

참고 : admin이추가한 CM일반 사용자는 DB를 생성하거나 삭제할 수 없다.

 

2 . CM사용자를 추가 생성하고 브로커 구동을 제어하지 못하도록 설정하기

admin을 제외한 일반 CM 사용자에게는브로커 관리 기능을 회수할 필요가 있다. 브로커를 중단시키는 경우 서비스 장애가 발생하고, 브로커 설정(cubrid_broker.conf) 또는브로커 로그(SQL로그)를 변경할 수 있기 때문이다.

 admin사용자로 CM을 접속한 후 해당 호스트를 지정한 체 [도구]->[사용자관리]를 선택하여 이번에는cm_user2을 생성하며, [그림1]과같이 연결권한을 주었다. [그림3] [사용자관리]를 통해 지금까지 생성한 계정들의 권한을 확인한 모습이다.

 

3.JPG

<<그림3. [사용자관리]에서의사용자 리스트 확인>>

 

[그림3]처럼 권한을 지정했을 때 [그림4]처럼 cm_user2는브로커 동작에 제한을 받는다. [동작]->[속성에서도브로커 [추가], [편집],[삭제]를 할 수 없고 호스트에 대하여cubrid_broker.conf가 포함된 [설정매개변수]항목이 비 활성화 된 것을 확인 할 수 있다.

4.JPG

<<그림4. 계정에 따른 권한설정으로인한 동작 제한>>

 

 

3. SELECT권한만 있는 데이터베이스 사용자 생성하기

admin을 제외한 일반 CM 사용자는 DB 사용자를 생성할 수 없기 때문에 admin으로 로그인한 후 DB2에서 db2_user를 생성하였다. 이 DB2의 DBA는 테이블3개를 (table1, table2, table3) 생성해 놓았고db2_user에게는 table1과 table2에 대한 SELECT권한을 주었다. ([db2user오른쪽버튼]->[사용자편집]->[사용자권한정보탭] -> [그림5 와 같이 권한 부여] -> [확인])

5.JPG

<<그림5. db2_user에게 권한 부여>>

 

만약 부여하지 않은권한에 대하여 실행할 경우 [그림5]와 같은 결과를 확인할 수 있다.

6.JPG

 <<그림6. SELECT권한만 있는 사용자(db2_user) DELETE를 질의 할 경우>>

, DB2 table1, table2, table3를 생성했지만 [그림5]에서처럼 table1table2에 대한 SELECT권한을 가진 DB사용자는 table3를 확인할 수 없다.

   참고 : “GRANTSELECT”를 선택하면 추가된 사용자는 다른 사용자에게 SELECT권한을 부여 할 수 있기 때문에 GRANT종류의 기능은주의를 기울어야 한다.

 

 

4. DBA와 동일한 수준의 강력한 관리 권한을 가지는 데이터베이스 사용자 생성하기

 데이터베이스의 모든사용자는 PUBLIC 사용자에게 부여된 권한을 소유되며, PUBLIC의 멤버가 된다반대로 DBA는 마이그레이션과 정지시작과 같은 가장 강력한 관리 권한을가지고 있다. (DBA의 강력한 권한 : cubrid_unloaddb,cubrid_loaddb, cubrid server stop, cubrid server start, 사용자추가기능)

 

만약 DB일반사용자가 DBA의 강력한 관리권한을 소유하여야 한다면 [사용자편집]->[그룹구성정보] [그림6]과 같이 이동시켜 설정해준다.

7.JPG

<<그림6.일반사용자에게 DBA관리 권한 부여하기>>

 

 

5. DB의 unload/load 혹은 테이블의 데이터 올리기/내려받기

DBunload/load는 DBA만이 unload/load 수행이가능하다그러나 테이블의 데이터 올리기/내려받기는 DBA뿐만 아니라 INSERT권한을 가진 db_user라면 해당 테이블에 대하여 올리기/내려받기 수행이 가능하다, SELECT db2_user와 같이 조회할 수 있는 테이블에대해서는 INSERT에 해당하는 [올리기]는 할 수 없으나 [내려받기]는가능하다.

★유의점★ 만약 unload DB_a에 대하여 새로운 DB_bload하면 DB_a DBA를 포함한 모든계정들이load될뿐만아니라 권한과 비밀번호 까지 똑같이 복제 된다.

 

6. 사용자 삭제

admin사용자만이 사용자 관리를 통해 cm일반사용자들을삭제할 수 있다. ([도구]->[사용자관리]->[삭제하고자하는 계정의 선택]-> [삭제]-> [확인]). db일반사용자들을 삭제할 경우에도 DB의 슈퍼유저인 DBA만이 삭제가 가능하다. ([사용자선택오른쪽 버튼]->[사용자삭제]). 그런데 이때  [Cannot drop the user who owns databaseobjects(class/trigger/serial etc)]와 같은 오류메시지가 팝업된다면 해당db일반사용자가 소유하고 있는 테이블이 있는지 확인 하고 [테이블 편집]->”소유자선택”->[확인 db일반사용자를 삭제 해야 한다.

 출처: http://cafe.naver.com/studycubrid/880


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
199 질의작성 join update 처리방법입니다.(연관성 있는 테이블을 조인하여 처리하는 UPDATE 구문) 권호일 2012.11.30 20383
198 마이그레이션 MySQL+XE를 CUBRID+XE로 운영하기 – mysqldump파일과 CMT사용 file cubebridge 2012.11.13 23069
197 CUBRID 매니저 CUBRID와 CUBRID Web Manager설치, 그리고 XE의설치 및 연동까지 file cubebridge 2012.11.13 18097
196 응용개발 CUBRID-PHP-Driver 연동가이드 file cubebridge 2012.11.13 17135
195 마이그레이션 MySQL에서 CUBRID로 갈아탈 때 알아야 할 것 cubebridge 2012.11.13 22596
194 응용개발 오라클 to CUBRID로 마이그레이션 수행 시 주의사항 cubebridge 2012.11.12 16636
193 마이그레이션 오라클의 order by 시 first와 last 대체 사용법 file cubebridge 2012.11.12 20564
192 운영관리 CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점 cubebridge 2012.09.18 33156
191 기타 전자정부 표준프레임워크 CUBRID 사용 방법 문의 참조 cubebridge 2012.09.17 20588
190 운영관리 Windows 서버에서 [장치에 쓰기 캐싱 사용] 설정/해제에 따른 성능 차이 이용미 2012.06.30 20231
189 운영관리 데이터 입력 중 디스크 공간 부족 오류가 발생하였을 때, 복구 방법 이용미 2012.06.30 14329
188 질의작성 게시판 응용 중 조회수로 정렬하는 경우 인덱스 생성 방법 1 손승일 2012.06.23 13897
187 질의작성 문자(char, varchar)로 설계한 날짜데이타 검증하기 권호일 2012.04.27 17822
186 CUBRID 매니저 CUBRIDManager의 접속 정보 이관 file cubebridge 2012.04.14 12380
185 마이그레이션 CUBRID Migration Tookit 8.4.1 file cubebridge 2012.04.14 11079
» 운영관리 CUBRID 에서의 사용자 권한관리 방법 file cubebridge 2012.04.14 23640
183 마이그레이션 데이터베이스 마이그레이션(unloaddb & loaddb) 의 효과적인 수행방법 file cubebridge 2012.04.14 24535
182 질의작성 세부내역과 소계를 한개의 쿼리문장으로 수행하는 SQL 권호일 2012.03.31 14086
181 질의작성 한건의 데이타를 여러건으로 조회하는 쿼리입니다. 권호일 2012.03.30 9410
180 질의작성 여러건의 코드명을 한건으로 조회하는 쿼리입니다. 1 권호일 2012.03.30 10750
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales