의견.png 의견.png

"권한"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
15번째 줄: 15번째 줄:
 
데이터베이스 종류에 따라 권한을 좀 더 세부적이거나 기능적으로 생성하기도 하지만 기본적으로 질의문(Query)과 [[뷰]](View)로 관리한다.
 
데이터베이스 종류에 따라 권한을 좀 더 세부적이거나 기능적으로 생성하기도 하지만 기본적으로 질의문(Query)과 [[뷰]](View)로 관리한다.
 
===질의문===
 
===질의문===
기본적으로 3가지 종류의 질의문을 가지고있다.([[DDL]],[[DML]],[[DCL]])
+
기본적으로 3가지 종류의 질의문을 가지고있다.(DDL,DML,DCL)
 
====DDL(Data Definition Language)====
 
====DDL(Data Definition Language)====
 
DDL은 데이터 구조를 정의하는 질의문으로 주로 처음 생성 할 때 사용한다.(운용 중에는 잘 안 한다.)명령문 종류는(CREATE,DROP,ALTER)
 
DDL은 데이터 구조를 정의하는 질의문으로 주로 처음 생성 할 때 사용한다.(운용 중에는 잘 안 한다.)명령문 종류는(CREATE,DROP,ALTER)

2021년 8월 3일 (화) 09:25 판

권한(權限,right(s))이란 타인을 위하여 일정한 법률효과를 발생시킬 수 있는 지위 또는 자격을 말한다.

개요

권한은 권리(權利,right(s))와 유사하지만, 권리는 자신을 위하여 가지는 법률(法律,law)상의 이익인 점에 대하여 권한은 타인을 위하여 법률효과를 발생시킬 수 있는 일정한 지위 또는 자격(資格,qualification)이라는 것과 다르다. 범위는 당사자의 의사와 법률관계의 명확성과 안정성을 도모하기 위하여 그 범위를 법률로써 정하고 있는 경우가 많다.

법률

전자

수권행위(授權行爲)에 의한 임의대리인의 대리권(민법 제118조), 이사의 대표권의 제한(59조)

후자

법정대리인의 대리권(민법 제24·25조), 상업사용인(商業使用人)의 대리권(상법 제11·16조)

데이터베이스 권한

데이터베이스(database)에서의 권한(authority)은 사용자가 특정 테이블에 접근할 수 있도록 하거나 해당 테이블에 SQL(SELECT/INSERT/UPDATE/DELETE)문을 사용할 수 있도록 제한을 두는 것을 말한다.

관리

데이터베이스 종류에 따라 권한을 좀 더 세부적이거나 기능적으로 생성하기도 하지만 기본적으로 질의문(Query)과 (View)로 관리한다.

질의문

기본적으로 3가지 종류의 질의문을 가지고있다.(DDL,DML,DCL)

DDL(Data Definition Language)

DDL은 데이터 구조를 정의하는 질의문으로 주로 처음 생성 할 때 사용한다.(운용 중에는 잘 안 한다.)명령문 종류는(CREATE,DROP,ALTER)

  1. CREATE : 데이터베이스 객체를 생성하는 명령문이다.
  2. DROP : 데이터베이스 객체를 삭제하는 명령문이다.
  3. ALTER : 기존의 데이터베이스 객체를 다시 정의할 때 사용하는 명령문이다.

DML(Data Manipulation Language)

데이터베이스의 운영 및 사용과 관련해 가장 많이 사용하는 언어이다. 데이터의 검색과 수정 등을 주로 처리한다.명령문 종류는(SELECT,INSERT,UPDATE,DELETE)

  1. SELECT : 사용자가 테이블이나 뷰의 내용을 읽고 선택할 때 쓰는 명령문이다.
  2. INSERT : 데이터베이스 객체에 데이터를 입력하는 명령문이다.
  3. UPDATE : 기존 데이터베이스 객체에 있는 데이터를 수정하는 명령문이다.
  4. DELETE : 데이터베이스 객체에 있는 데이터를 삭제하는 명령문이다.

DCL(Data Control Language)

권한 관리를 위한 질의문으로 써 명령문은(GRANT,DENY,REVOKE)

  1. GRANT : 데이터베이스 객체에 권한을 부여하는 명령문이다.
  2. DENY : 사용자에게 해당 권한을 금지하는 명령문이다.
  3. REVOKE : 이미 부여된 데이터베이스 객체의 권한을 취소하는 명령문이다.

DDL과 DML은 DCL에 의해 허용(Grant) 또는 거부(Deny)된다.

개념

데이터베이스의 보안을 유지하기 위해, 계정이 발급된 사용자가 로그인에 성공했을 경우에만 데이터베이스에 접근이 가능하도록 하는 접근 제어(access control) 기능을 기본으로 제공한다. 그러므로 모든 사용자는 자신에게 발급된 계정으로 로그인해야 데이터베이스에 접근할 수 있다.

등장 배경

무분별한 권한 확대는 사용자가 받지 않은 권한을 부여하게 되므로 이렇게 되면 악의적으로 쓰는 사용자가 많아지고 보안 영역이 취약해지는 결과가 오기 때문이다.

권한 부여

데이터나 프로그램 등의 특정한 자원 또는 시분할 시스템 등의 시스템 서비스에 접근할 수 있는 권한이 주어지는 것.

분산 권한 부여

여러 관리자에게 권한 부여 기능이 분산되어 있는 것.

권한 부여 행렬

데이터 베이스의 보안을 유지하기 위해 시스템에 유지되는 테이블로서 각 사용자에 대해 이 사용자가 접근할 수 있는 객체와 이 객체에 대해 수행할 수 있는 연산 등을 나타내며 행렬의 각 행은 사용자를 나타내고 내용은 허용되는 연산 권한을 나타낸다.

권한 부여 검사

사용자가 현재 요구하고 있는 트랜잭션에 대해 그 사용자가 요구할 자격을 검사하는 것.

권한 확대

  1. 권한 확대 (privilege escalation)는 보통 애플리케이션이나 사용자에 대해 보호되는 자원들에 대한 상승된 접근을 얻기 위해서 운영체제나 소프트웨어 애플리케이션에서 버그나 설계결함, 또는 설정을 익스플로잇하는 행동을 말한다. 이것에 의한 결과는 애플리케이션이 개발자나 시스템 관리자가 의도한 것보다 높은 수준의 권한을 얻어서 비허가 행동을 할 수 있게 된다.
  2. 추상 데이터형의 표현 변수에 대한 접근을 구현된 프로시저에게 허용

수직 권한 확대

  1. 이 유형의 권한 확대는 사용자나 프로세스가 시스템 개발자나 관리자가 의도한 것보다 높은 접근 수준을 가질 때 발생한다, 커널 수준 동작을 수행함으로써 가능해질 수 있다.
  2. 예시 : 어떤 경우에, 높은 권한의 애플리케이션은 인터페이스에 명시된 것과 일치하는 입력이 제공된다고 가정하면, 입력을 확인하지 않는다 이에 공격자는 이 가정을 익스플로잇하여 비인가된 코드를 애플리케이션의 권한으로 실행한다.

수평 권한 확대

  1. 수평 권한 확대는 애플리케이션이 공격자가 애플리케이션이나 사용자에게 보호되고 있는 자원에 접근할 수 있게 허락할 때 발생한다. 이것의 결과는 애플리케이션 개발자나 시스템 관리자가 의도한 것과 같은 역할을 가지지만 다른 보안 문맥을 수행하게 된다. 이것은 효과적으로 제한적인 권한 확대의 형태이다.
  2. 취약점: 웹 애플리케이션의 취약점

권한 취소

  1. 데이터베이스(database)에서 GRANT 명령어를 통해 다른 사용자에게 권한을 부여한 사용자가 자신이 부여한 권한을 취소할 수도 있다. 다른 사용자에게 부여된 객체의 사용 권한을 취소하기 위해 필요한 SQL 명령어는 REVOKE이다. REVOKE 문의 기본 형식은 다음과 같다.
  2. 취소 예시:REVOKE 권한 ON 객체 FROM 사용자 CASCADE | RESTRICT;

각주

참고자료

같이 보기


  의견.png 의견.png 이 권한 문서는 보안에 관한 글로서 내용 추가가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 추가해 주세요.