일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 중학1-1
- CSS
- 혼공머신
- 컴퓨터구조
- 자바
- SQL
- 순환신경망
- 데이터베이스
- 자바스크립트심화
- JDBC
- rnn
- 머신러닝
- 자바스크립트
- 자바 실습
- JSP/Servlet
- 오블완
- 데이터분석
- 연습문제
- 개발일기
- JSP
- 정보처리기사실기
- 파이썬
- 딥러닝
- html/css
- 정보처리기사필기
- c언어
- 중학수학
- 디버깅
- 컴퓨터비전
- 상속
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
사용자, 권한, 롤 관리 1 - 사용자 관리 및 권한 관리 본문
아침도 든든히 먹었으니 다시 아침 공부를 시작해 볼 것이다. 일주일이 넘도록 감기가 낫지 않아서 많이 불편하다. 어젯밤에는 잠을 잘 때 코가 막혀서 숨을 쉬기도 너무 힘들어서 몇 번 잠을 깨기도 했다.
빨리 나았으면 좋겠는데 감기가 걸렸다는 건 내 몸 상태가 별로 안좋고 면역력이 떨어졌다는 증거이다. 아침도 꼭 챙겨 먹고 비타민도 잘 먹어야겠다~ 이번에는 DCL 명령어에 대해 학습해보려고 한다.
학습 내용
- SQL 문법과 DCL에 대하여
- 사용자 관리
- 권한 관리
학습 시간
아침 9시 반 ~ 11시 20분 <1시간 50분 소요>
1. DCL에 대하여
2. 사용자 관리
사용자란?
HR이나 SCOTT 계정은 많이 공유되는 계정이므로 주요 데이터를 보관하고 관리하기에 보안 위험이 있다. 따라서 SCOTT 계정 외에 오라클 데이터베이스에 접속할 수 있는 새로운 계정이 필요하다.
데이터베이스 스키마란?
데이터 간 관계, 데이터 구조, 제약 조건 등 데이터를 저장 및 관리하기 위해 정의한 데이터베이스 구조의 범위를 스키마(schema)를 통해 그룹 단위로 분류한다.
오라클 DB에서는 스카미와 사용자를 구별하지 않고 사용하기도 한다. 사용자는 데이터를 사용 및 관리하기 위해 오라클 데이터베이스에 접속하는 개체를 뜻하고, 스키마는 오라클 데이터베이스에 접속한 사용자와 연결된 객체를 의미한다.
SCOTT 계정을 예로 들면 SCOTT은 사용자이고 SCOTT이 생성한 테이블 · 뷰 · 제약 조건 · 인덱스 · 시퀀스 등 DB에서 SCOTT 계정으로 만든 모든 객체는 SCOTT의 스키마가 된다.
사용자 생성
이 부분은 어제 실습을 진행했으므로 생략한다. 객체 종류 단원에 정리해놓았다. 그래도 PDF 파일로 다시 한번 정리해 보자!
GRANT 사용 방법
사용자 정보 조회
어제 만들었던 dcltest 계정이 잘 있는지 조회해 보았다.
오라클 사용자의 변경과 삭제
사용자 정보(비밀번호) 변경하기
비밀번호를 변경해 보았다.
변경 후에는 DCLTEST 계정을 이전 비밀번호로 접속하자 접속이 되지 않음을 확인할 수 있다.
오라클 사용자 삭제
삭제는 함부로 진행하지 않는 것이 좋다. 혹시라도 SYS, SYSTEM 등의 사용자를 삭제하는 것은 피해야 한다.
이 부분은 아래의 권한 관리를 학습한 후에 다시 와서 진행해보려고 한다. 아직 실습해 볼 예제가 남아있으니까.
삭제를 시도해 보았는데 다른 곳에 접속되어 있을 때는 삭제가 안된다고 한다. 해제를 했는데도 되지 않았다. 그냥 이런 기능이 있구나 하고 알았으면 그것으로 되었다~
3. 권한 관리
데이터를 안전하게 보관하고 특정 데이터에 대해서 관련된 사용자만 데이터를 사용 및 관리할 수 있는 보안장치가 필요하다. 사용자 이름과 패스워드를 통해 데이터베이스 접속을 허가하는 것이 그 첫 번째가 된다.
하지만 특정 사용자 정보를 통해 데이터베이스에 접속하는 것만으로 모든 데이터를 사용할 수 있다면 여전히 데이터 안전을 보장하기 어려울 것이다. 따라서 데이터베이스는 접속 사용자에 따라 접근할 수 있는 데이터 영역과 권한을 지정해 줄 수 있는데, 오라클에서는 권한을 시스템 권한과 객체 권한으로 분류한다.
시스템 권한이란?
사용자 생성과 정보 수정 및 삭제, 데이터베이스 접근, 오라클 데이터베이스의 여러 자원과 객체 생성 및 관리 등의 권한을 포함한다. 이러한 내용은 데이터베이스 관리 권한이 있는 사용자가 부여할 수 있는 권한이다.
다음은 시스템 권한의 일부이며 ANY 키워드가 들어있는 권한은 소유자에 상관없이 사용 가능한 권한을 의미한다.
시스템 권한 부여
어제 DCLTEST로 계정을 하나 만들고 권한을 부여해 주었는데 오늘 해보니 잘 안되었다. 그러면서 알게 된 사실이 있다. 30분이 넘도록 이 문제와 씨름 중이다. 권한을 한번 부여했다고 해서 영원히 지속되는 것이 아니었다. 접속을 할 때마다 권한을 부여해주어야 한다. 난 어제 계정을 만들고 권한을 부여했으나 당연히 오늘도 될 줄 알았다.
그리고 먼저 시스템 계정으로 접속한 다음에 새 계정을 만들 수 있다. 어제 만들었던 DCLTEST는 지우고 STUDY 계정을 하나 만들어보았다.
이제 접속이 잘 된다.
테이블을 생성하는 건 이상하게도 안된다. 이 부분은 다음에 다시 해봐야 될 것 같다. 지금으로서는 방법을 잘 모르겠다.
시스템 권한 취소
REVOKE를 사용하면 권한을 취소할 수 있다.
조금 전에 시도했던 것이 실패했던 이유도 권한이 불충분하기 때문인 것 같다.
객체 권한이란?
특정 사용자가 생성한 테이블 · 인덱스 · 뷰 · 시퀀스 등과 관련된 권한이다. 예를 들어 SCOTT 소유 테이블에 ORCLSTUDY 사용자가 SELECT나 INSERT 등의 작업이 가능하도록 허용할 수 있다.
객체 권한 부여
객체 권한 역시 GRANT문을 사용한다.
학습을 마치고
오늘은 이상하게도 권한 부여만 되고 테이블 조회도 객체 권한을 부여하는 것도 하나도 되지 않았다. 지금은 마음이 급해서 더 잘 안 되는 것 같기도 하다. 개발을 하다보면 이렇게 잘 안되는 때가 있다.
내가 할 수 있는 모든 것을 다 해도 되지 않을 때 막막한 기분이 들며 화가 나기도 하고 짜증이 올라오기도 한다.
하지만 이럴 때도 마음을 차분히 가라앉히고 흥분하지 않아야 할 것이다. 그렇게 하는 순간 생각은 더 흩어지고 스트레스를 받아 낙담의 골짜기에 빠져버릴 수 있다는 것을 꼭 기억하자! 조금 머리를 식히고 예배에 갈 준비를 하며 오늘의 아침 공부는 여기서 마치려고 한다.
오후에 다시 한번 시도해 보고 그래도 안되면 아직은 배울 때가 아니라고 생각하면 된다. 그리고 나중에 다시 이해가 되고 해결할 수 있는 순간이 반드시 온다.
'알고리즘 및 자료 관리 > 데이터베이스' 카테고리의 다른 글
사용자, 권한, 롤 관리 2 - 권한 관리 및 롤 관리 (0) | 2024.08.23 |
---|---|
제약 조건 3 - 단원 마무리 연습문제 풀기 (0) | 2024.08.23 |
제약 조건 2 - PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT 제약 조건 (0) | 2024.08.23 |
제약 조건 1 - 제약 조건의 종류와 NOT NULL, UNIQUE 제약 조건에 대하여 (0) | 2024.08.23 |
객체 종류 3 - 단원 마무리 연습문제 풀기 (0) | 2024.08.23 |