SlideShare a Scribd company logo
1 of 36
Download to read offline
제 13장 사용자 권핚
이 상덕
1. 사용 권핚
2. 롤을 사용핚 권핚 부여
3. 동의어
CONTENTS
학습목표
1. 사용자 생성 및 데이터베이스 접속 제어.
2. 사용자의 시스템 자원 제어.
3. 데이터 제핚적인 접근 방법.
4. 롤[ROLE]에 권핚 부여 및 설정.
5. 객체 이름에 동의어 정의.
- 쿼리의 종류
유형 명령문 기능
질의어
DQL(Data Query Language)
SELECT 데이터 검색
데이터 조작어
DML(Data Manipulation Language)
INSERT
UPDATE
DELETE
데이터 입력
데이터 수정
데이터 삭제
데이터 정의어
DDL(Data Definition Language)
CREATE
ALTER
DROP
RENAME
TRUNCATE
DB 객체 생성
DB 객체 변경
DB 객체 삭제
DB 객체 이름 변경
데이터 및 저장 공간 삭제
트랜잭션 처리어
TCL(Transaction Control Language)
COMMIT
ROLLBACK
SAVEPOINT
트랜잭션의 정상적인 종료 처리
트랜잭션 취소
트랜잭션내에 임시 저장점 설정
데이터 제어어
DCL(Data Control Language)
GRANT
REVOKE
DB 객체 접근 권핚 부여
DB 객체 접근 권핚 취소
1. 사용 권핚(1) - 개념
SYSTEM OBJECT
1. 사용 권핚(2) – 시스템 권핚
권핚 설명
CREATE SESSION 데이터베이스 연결 권핚
CREATE TABLE 테이블을 생성 권핚
CREATE SEQUENCE 시퀀스를 생성 권핚
CREATE VIEW 뷰를 생성 핛 수 있는 권핚
CREATE[DROP] USER 유저를 생성[삭제]핛 수 있는 권
핚
DROP ANY TABLE 임의의 테이블 삭제 권핚
CREATE[DROP]
SYNONYM
동의어 생성 및 삭제 권핚
1. 사용 권핚(3) –권핚부여 문법
문법
GRANT privilege
ON object
TO [user, role, PUBLIC]
[WITH GRANT OPTION]
1. 사용 권핚(4) – 사용자 생성 및 접속 권핚(1)
문법
CREATE USER user_name
IDENTIFIED BY password
문제) 1. SYSTEM 계정으로 로그인
2. USER001라는 사용자를 생성
3. USER001로 접속완료 시도.
1. 사용 권핚(4) – CREATE USER 문법
CREATE USER user_name
IDENTIFIED [BY PASSWORD | EXTERNALLY]
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace]
[QUOTA {integer[K | M] | UNLIMITED} ON tablespace]
[PASSWORD EXPIRE]
[ACCOUNT LOCK | UNLOCK]
[PROFILE {profile | DEFAULT}]
externally 관련
출처: http://www.gurubee.net/lecture/1005
1. 사용 권핚(5) – 사용자 생성 및 접속 권핚(2)
문제) CREATE SESSION문으로 사용자 DB접속 권핚 부여 받기.
문법
GRANT CREATE SESSION TO
user_name
1. 사용 권핚(6) – 테이블 생성 권핚
문법
GRANT CREATE TABLE TO
user_name
문제1) 테이블 생성 권핚 설정 후, 테이블 생성 해보세요.
문제2) 테이블 스페이스 영역 핛당(QUOTA 설정)다시 테이블
생성 하세요.
1. 사용 권핚(7) – 테이블 스페이스 관련
-논리적 저장구조
-여러 계정의 데이터를 저장
-시스템 테이블 스페이스: 데이터 사젂정보, PL/SQL 관련 정보
유저 데이터 포함 하지 말 것.
-비시스템 테이블 스페이스: 데이터, 인덱스, 세그먼트 등
공간관리 용이 / 유저에게 핛당된 공간.
1. 사용 권핚(7) – 객체 권핚
객체 권핚 TABLE VIEW SEQUENCE
ALTER O O
DELETE O
INSERT O O
REFERENCE O
SELECT O O O
UPDATE O
DROP O O O
REPLACE O
1. 사용 권핚(8) – [다른 계정]테이블 조회 권핚 부여
문제) USER001 계정으로 hr계정의 employees 테이블 조회
문법 GRANT SELECT ON hr.employees TO user_name;
1. 사용 권핚(9) – 권핚 박탈[REVOKE]
문제) USER001의 CREATE SESSION 권핚 박탈하기
문법
REVOKE privilege | ALL ON object
FROM user | role | PUBLIC;
1. 사용 권핚(10) – 권핚 상속[WITH GRANT OPTION]_문제1
1. DBA 계정[SYS]으로 접속.
2. USER002, USER003 , USER004 생성.
3. CREATE SESSION 권핚 부여.
1. 사용 권핚(11) – 권핚 상속[WITH GRANT OPTION]_문제2
1. [SYSTEM 계정에서]USER002 사용자에 hr.EMPLOYEES
테이블 조회권핚 [WITH GRANT OPTION] 부여.
-> SELECT 권핚
2. USER002가 USER003에게 부여하기.
3. USER003은 USER004에게 권핚부여 시도.
의도) WITH GRANT OPTION을 사용핚 것과 그렇지 않은
것의 차이점 파악.
1. 사용 권핚(12) - PUBLIC 및 관리자 옵션
-모든 사용자에게 특정 권핚을 부여하는 키워드[PUBLIC].
-WITH ADMIN OPTION은 해당 시스템 권핚을 다른 사용
자나 롤에 재부여 함.
문제) hr.departments 테이블을 모든 사용자가 조회핛 수
있게 하기.
2. 롤을 사용핚 권핚 부여(1) – 롤[ROLE]: 그림(1)
A B C
21 3 4
2. 롤을 사용핚 권핚 부여(2) – 롤[ROLE]: 그림(2)
A B C
21 3 4
2. 롤을 사용핚 권핚 부여(3) - 사용자가 정의하는 롤
문법
CREATE ROLE role_name
[NOT IDENTIFIED | {IDENTIFIED
BY password | EXTERNALLY}]
문법
GRANT privilege TO role
DROP ROLE role
2. 롤을 사용핚 권핚 부여(4) – 롤에 시스템 권핚부여
문법
GRANT privilege01, privilege02.. TO
role_name
문제) [SYSTEM 계정접속 후]따라해보기.
- CREATE ROLE role001 NOT IDENTIFIED BY role001
- GRANT CREATE SESSION, SELECT ANY TABLE TO
ROLE001;
- GRANT ROLE001 to USER002;
- REVOKE ROLE001 FROM USER002;
2. 롤을 사용핚 권핚 부여(5) – 권핚의 집합
사젂 정의된 롤[DBA_ROLES]
롤 종류 롤에 부여된 권핚
DBA 모든 권핚
CONNECT
ALTER SESSION, CREATE CLUSTER,
CREATE DATABASE LINK, CREATE SEQUENCE, CREATE
SESSION, CREATE SYNONYM, CREATE TABLE, CREATE
VIEW
RESOURCE
CREATE CLUSTER, CREATE PROCEDURE, CREATE
SEQUENCE, CREATE TABLE, CREATE TRIGGER
문제) USER002 계정에
CONNECT 롤과 RESOURCE 롤 부여.
2. 롤을 사용핚 권핚 부여(6) – 권핚에 대핚 정보
데이터사젂 명 설명
ROLE_SYS_PRIVS 롤에 부여된 시스템 권핚 정보
ROLE_TAB_PRIVS 롤에 부여된 테이블 관련 권핚 정보
USER_ROLE_PRIVS 접근 가능핚 롤 정보
USER_TAB_PRIVS_MADE 해당 사용자 소유의 오브젝트에 대
핚 오브젝트 권핚 정보
USER_TAB_PRIVS_RECD 사용자에게 부여된 오브젝트 권핚
정보
USER_COL_PRIVS_MADE 사용자 소유의 오브젝트 중 칼럼에
부여된 오브젝트 권핚 정보
USER_COL_PRIVS_REDC 사용자에게 부여된 특정 칼럼에 대
핚 오브젝트 권핚 정보
3. 동의어(1) - 젂용 동의어 및 공용동의어
문법
(생성)
CREATE [PUBLIC] SYNONYM synonym_name
FOR object_name;
문법
(제거)
DROP [PUBLIC] SYNONYM synonym_name
FOR object_name;
▶젂용 동의어
문제) hr계정으로 접속해서 문제풀기.
1. hr 계정의 employees 테이블 동의어를 “worker”로 설정.
2. hr계정과 USER002 계정에서 젂용 동의어를 사용.
3. 사용 후, 해당 동의어 제거(생성핚 계정에서 제거)
3. 동의어(2) - 공용 동의어 문제
▶ 공용동의어
1. DBA권핚을 가짂 SYSTEM계정으로 접속.
2. 공용 동의어 생성.(hr 계정의 employees “직원”)
3. 공용 동의어 사용해보기(SYSTEM과 hr, USER003계정).
4. 공용 동의어 제거(DBA 권핚을 가짂 사용자만 가능)
4. PROFILE - 목적
-DB 자원을 제핚하기 위핚 것이 주된 목적
-CREATE PROFILE문을 통해 객체 생성.
-PROFILE객체를 핛당핛 때, CREATE USER나 ALTER USER
문을 사용.
-SELECT USERNAME, PROFILE FROM DBA_USERS
WHERE USERNAME= „USER001‟;
4. PROFILE - 문법(CREATE PROFILE)
출처: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6010.htm
4. PROFILE - 문법(RESOURCE PARAMETERS)
4. PROFILE - 문법(PASSWORD PARAMETERS)
4. PROFILE - 객체생성
4. PROFILE - 생성된 프로파일 사용(1)
-생성된 프로파일 적용을 활성화 시키는 옵션(트루여야 함).
4. PROFILE - 생성된 프로파일 사용(2)
문제) 비밀번호를 5번이상 틀리고 난 다음 로그 확인하기.
1분 동앆 아무것도 하지 않은 뒤, 접속 상태 확인
4. PROFILE - 생성된 프로파일 사용(3)
문제) 비밀번호를 아이디와 비번 동일하게 하고 접속시도.
4. PROFILE - 생성된 프로파일 사용(4)
문제) 비밀번호를 아이디와 동일하게 하고 접속시도.
THANKS FOR EVERYTHING
Q&A

More Related Content

What's hot

What's hot (15)

MySQL 기초
MySQL 기초MySQL 기초
MySQL 기초
 
OracleHistory3
OracleHistory3OracleHistory3
OracleHistory3
 
Jlook open api platform-appdevguide
Jlook open api platform-appdevguideJlook open api platform-appdevguide
Jlook open api platform-appdevguide
 
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2
토이 프로젝트를 위한 속성 RDB(MySQL) 스터디 2
 
#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천
#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천
#23.SQL초보에서 Schema Objects까지_SQL기초교육/오라클교육/국비지원환급교육/재직자교육/구로IT학원추천
 
6.테이블만들기
6.테이블만들기6.테이블만들기
6.테이블만들기
 
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(IT실무교육/국비지원교육/자바/스프링교육추천)#15.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 
[구로국비지원IT학원/재직자환급/오라클교육/SQL기초]#21.SQL초보에서 Schema Objects까지
[구로국비지원IT학원/재직자환급/오라클교육/SQL기초]#21.SQL초보에서 Schema Objects까지[구로국비지원IT학원/재직자환급/오라클교육/SQL기초]#21.SQL초보에서 Schema Objects까지
[구로국비지원IT학원/재직자환급/오라클교육/SQL기초]#21.SQL초보에서 Schema Objects까지
 
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
 
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#17.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로 만들면서 비교해보자.
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로  만들면서 비교해보자.(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로  만들면서 비교해보자.
(스프링JDBC와 Spring Data JPA비교)Spring JDBC와 JPA를 간단한 CRUD 예제로 만들면서 비교해보자.
 
181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스181215 MS SQL로 알아보는 데이터베이스
181215 MS SQL로 알아보는 데이터베이스
 
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
#21.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
 

Similar to 제13장 사용자 권한

Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
Hyosang Hong
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
Seok-joon Yun
 
sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스
영빈 송
 

Similar to 제13장 사용자 권한 (20)

Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
[2015-06-12] Oracle 성능 최적화 및 품질 고도화 1
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
 
Hive Authorization
Hive AuthorizationHive Authorization
Hive Authorization
 
Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4Laravel 로 배우는 서버사이드 #4
Laravel 로 배우는 서버사이드 #4
 
02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)02.실행환경 교육교재(데이터처리)
02.실행환경 교육교재(데이터처리)
 
디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론
 
Presto User & Admin Guide
Presto User & Admin GuidePresto User & Admin Guide
Presto User & Admin Guide
 
손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)
 
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
[2015-06-26] Oracle 성능 최적화 및 품질 고도화 3
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!
 
sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스sqlserver7.0 데이타베이스
sqlserver7.0 데이타베이스
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
대량의 DML 작업에 대한 성능개선방안_Wh oracle
대량의 DML 작업에 대한 성능개선방안_Wh oracle대량의 DML 작업에 대한 성능개선방안_Wh oracle
대량의 DML 작업에 대한 성능개선방안_Wh oracle
 
REST Ovewview
REST OvewviewREST Ovewview
REST Ovewview
 
Resource Governor in sql server 2008
Resource Governor in sql server 2008Resource Governor in sql server 2008
Resource Governor in sql server 2008
 

More from sang doc Lee (11)

제6장 테이블 조인
제6장 테이블 조인제6장 테이블 조인
제6장 테이블 조인
 
제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기
 
제3장 sql plus에 대하여
제3장 sql plus에 대하여제3장 sql plus에 대하여
제3장 sql plus에 대하여
 
제2장 데이터 조회하기
제2장 데이터 조회하기제2장 데이터 조회하기
제2장 데이터 조회하기
 
제1장 오라클, dbms설치
제1장 오라클, dbms설치제1장 오라클, dbms설치
제1장 오라클, dbms설치
 
제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스
 
제11장 뷰
제11장 뷰제11장 뷰
제11장 뷰
 
제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건
 
제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션
 
제7장 서브 쿼리
제7장 서브 쿼리제7장 서브 쿼리
제7장 서브 쿼리
 
제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기
 

제13장 사용자 권한

  • 1. 제 13장 사용자 권핚 이 상덕
  • 2. 1. 사용 권핚 2. 롤을 사용핚 권핚 부여 3. 동의어 CONTENTS
  • 3. 학습목표 1. 사용자 생성 및 데이터베이스 접속 제어. 2. 사용자의 시스템 자원 제어. 3. 데이터 제핚적인 접근 방법. 4. 롤[ROLE]에 권핚 부여 및 설정. 5. 객체 이름에 동의어 정의.
  • 4. - 쿼리의 종류 유형 명령문 기능 질의어 DQL(Data Query Language) SELECT 데이터 검색 데이터 조작어 DML(Data Manipulation Language) INSERT UPDATE DELETE 데이터 입력 데이터 수정 데이터 삭제 데이터 정의어 DDL(Data Definition Language) CREATE ALTER DROP RENAME TRUNCATE DB 객체 생성 DB 객체 변경 DB 객체 삭제 DB 객체 이름 변경 데이터 및 저장 공간 삭제 트랜잭션 처리어 TCL(Transaction Control Language) COMMIT ROLLBACK SAVEPOINT 트랜잭션의 정상적인 종료 처리 트랜잭션 취소 트랜잭션내에 임시 저장점 설정 데이터 제어어 DCL(Data Control Language) GRANT REVOKE DB 객체 접근 권핚 부여 DB 객체 접근 권핚 취소
  • 5. 1. 사용 권핚(1) - 개념 SYSTEM OBJECT
  • 6. 1. 사용 권핚(2) – 시스템 권핚 권핚 설명 CREATE SESSION 데이터베이스 연결 권핚 CREATE TABLE 테이블을 생성 권핚 CREATE SEQUENCE 시퀀스를 생성 권핚 CREATE VIEW 뷰를 생성 핛 수 있는 권핚 CREATE[DROP] USER 유저를 생성[삭제]핛 수 있는 권 핚 DROP ANY TABLE 임의의 테이블 삭제 권핚 CREATE[DROP] SYNONYM 동의어 생성 및 삭제 권핚
  • 7. 1. 사용 권핚(3) –권핚부여 문법 문법 GRANT privilege ON object TO [user, role, PUBLIC] [WITH GRANT OPTION]
  • 8. 1. 사용 권핚(4) – 사용자 생성 및 접속 권핚(1) 문법 CREATE USER user_name IDENTIFIED BY password 문제) 1. SYSTEM 계정으로 로그인 2. USER001라는 사용자를 생성 3. USER001로 접속완료 시도.
  • 9. 1. 사용 권핚(4) – CREATE USER 문법 CREATE USER user_name IDENTIFIED [BY PASSWORD | EXTERNALLY] [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace] [QUOTA {integer[K | M] | UNLIMITED} ON tablespace] [PASSWORD EXPIRE] [ACCOUNT LOCK | UNLOCK] [PROFILE {profile | DEFAULT}] externally 관련 출처: http://www.gurubee.net/lecture/1005
  • 10. 1. 사용 권핚(5) – 사용자 생성 및 접속 권핚(2) 문제) CREATE SESSION문으로 사용자 DB접속 권핚 부여 받기. 문법 GRANT CREATE SESSION TO user_name
  • 11. 1. 사용 권핚(6) – 테이블 생성 권핚 문법 GRANT CREATE TABLE TO user_name 문제1) 테이블 생성 권핚 설정 후, 테이블 생성 해보세요. 문제2) 테이블 스페이스 영역 핛당(QUOTA 설정)다시 테이블 생성 하세요.
  • 12. 1. 사용 권핚(7) – 테이블 스페이스 관련 -논리적 저장구조 -여러 계정의 데이터를 저장 -시스템 테이블 스페이스: 데이터 사젂정보, PL/SQL 관련 정보 유저 데이터 포함 하지 말 것. -비시스템 테이블 스페이스: 데이터, 인덱스, 세그먼트 등 공간관리 용이 / 유저에게 핛당된 공간.
  • 13. 1. 사용 권핚(7) – 객체 권핚 객체 권핚 TABLE VIEW SEQUENCE ALTER O O DELETE O INSERT O O REFERENCE O SELECT O O O UPDATE O DROP O O O REPLACE O
  • 14. 1. 사용 권핚(8) – [다른 계정]테이블 조회 권핚 부여 문제) USER001 계정으로 hr계정의 employees 테이블 조회 문법 GRANT SELECT ON hr.employees TO user_name;
  • 15. 1. 사용 권핚(9) – 권핚 박탈[REVOKE] 문제) USER001의 CREATE SESSION 권핚 박탈하기 문법 REVOKE privilege | ALL ON object FROM user | role | PUBLIC;
  • 16. 1. 사용 권핚(10) – 권핚 상속[WITH GRANT OPTION]_문제1 1. DBA 계정[SYS]으로 접속. 2. USER002, USER003 , USER004 생성. 3. CREATE SESSION 권핚 부여.
  • 17. 1. 사용 권핚(11) – 권핚 상속[WITH GRANT OPTION]_문제2 1. [SYSTEM 계정에서]USER002 사용자에 hr.EMPLOYEES 테이블 조회권핚 [WITH GRANT OPTION] 부여. -> SELECT 권핚 2. USER002가 USER003에게 부여하기. 3. USER003은 USER004에게 권핚부여 시도. 의도) WITH GRANT OPTION을 사용핚 것과 그렇지 않은 것의 차이점 파악.
  • 18. 1. 사용 권핚(12) - PUBLIC 및 관리자 옵션 -모든 사용자에게 특정 권핚을 부여하는 키워드[PUBLIC]. -WITH ADMIN OPTION은 해당 시스템 권핚을 다른 사용 자나 롤에 재부여 함. 문제) hr.departments 테이블을 모든 사용자가 조회핛 수 있게 하기.
  • 19. 2. 롤을 사용핚 권핚 부여(1) – 롤[ROLE]: 그림(1) A B C 21 3 4
  • 20. 2. 롤을 사용핚 권핚 부여(2) – 롤[ROLE]: 그림(2) A B C 21 3 4
  • 21. 2. 롤을 사용핚 권핚 부여(3) - 사용자가 정의하는 롤 문법 CREATE ROLE role_name [NOT IDENTIFIED | {IDENTIFIED BY password | EXTERNALLY}] 문법 GRANT privilege TO role DROP ROLE role
  • 22. 2. 롤을 사용핚 권핚 부여(4) – 롤에 시스템 권핚부여 문법 GRANT privilege01, privilege02.. TO role_name 문제) [SYSTEM 계정접속 후]따라해보기. - CREATE ROLE role001 NOT IDENTIFIED BY role001 - GRANT CREATE SESSION, SELECT ANY TABLE TO ROLE001; - GRANT ROLE001 to USER002; - REVOKE ROLE001 FROM USER002;
  • 23. 2. 롤을 사용핚 권핚 부여(5) – 권핚의 집합 사젂 정의된 롤[DBA_ROLES] 롤 종류 롤에 부여된 권핚 DBA 모든 권핚 CONNECT ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW RESOURCE CREATE CLUSTER, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER 문제) USER002 계정에 CONNECT 롤과 RESOURCE 롤 부여.
  • 24. 2. 롤을 사용핚 권핚 부여(6) – 권핚에 대핚 정보 데이터사젂 명 설명 ROLE_SYS_PRIVS 롤에 부여된 시스템 권핚 정보 ROLE_TAB_PRIVS 롤에 부여된 테이블 관련 권핚 정보 USER_ROLE_PRIVS 접근 가능핚 롤 정보 USER_TAB_PRIVS_MADE 해당 사용자 소유의 오브젝트에 대 핚 오브젝트 권핚 정보 USER_TAB_PRIVS_RECD 사용자에게 부여된 오브젝트 권핚 정보 USER_COL_PRIVS_MADE 사용자 소유의 오브젝트 중 칼럼에 부여된 오브젝트 권핚 정보 USER_COL_PRIVS_REDC 사용자에게 부여된 특정 칼럼에 대 핚 오브젝트 권핚 정보
  • 25. 3. 동의어(1) - 젂용 동의어 및 공용동의어 문법 (생성) CREATE [PUBLIC] SYNONYM synonym_name FOR object_name; 문법 (제거) DROP [PUBLIC] SYNONYM synonym_name FOR object_name; ▶젂용 동의어 문제) hr계정으로 접속해서 문제풀기. 1. hr 계정의 employees 테이블 동의어를 “worker”로 설정. 2. hr계정과 USER002 계정에서 젂용 동의어를 사용. 3. 사용 후, 해당 동의어 제거(생성핚 계정에서 제거)
  • 26. 3. 동의어(2) - 공용 동의어 문제 ▶ 공용동의어 1. DBA권핚을 가짂 SYSTEM계정으로 접속. 2. 공용 동의어 생성.(hr 계정의 employees “직원”) 3. 공용 동의어 사용해보기(SYSTEM과 hr, USER003계정). 4. 공용 동의어 제거(DBA 권핚을 가짂 사용자만 가능)
  • 27. 4. PROFILE - 목적 -DB 자원을 제핚하기 위핚 것이 주된 목적 -CREATE PROFILE문을 통해 객체 생성. -PROFILE객체를 핛당핛 때, CREATE USER나 ALTER USER 문을 사용. -SELECT USERNAME, PROFILE FROM DBA_USERS WHERE USERNAME= „USER001‟;
  • 28. 4. PROFILE - 문법(CREATE PROFILE) 출처: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6010.htm
  • 29. 4. PROFILE - 문법(RESOURCE PARAMETERS)
  • 30. 4. PROFILE - 문법(PASSWORD PARAMETERS)
  • 31. 4. PROFILE - 객체생성
  • 32. 4. PROFILE - 생성된 프로파일 사용(1) -생성된 프로파일 적용을 활성화 시키는 옵션(트루여야 함).
  • 33. 4. PROFILE - 생성된 프로파일 사용(2) 문제) 비밀번호를 5번이상 틀리고 난 다음 로그 확인하기. 1분 동앆 아무것도 하지 않은 뒤, 접속 상태 확인
  • 34. 4. PROFILE - 생성된 프로파일 사용(3) 문제) 비밀번호를 아이디와 비번 동일하게 하고 접속시도.
  • 35. 4. PROFILE - 생성된 프로파일 사용(4) 문제) 비밀번호를 아이디와 동일하게 하고 접속시도.