KR102182573B1 - Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor - Google Patents

Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor Download PDF

Info

Publication number
KR102182573B1
KR102182573B1 KR1020140150644A KR20140150644A KR102182573B1 KR 102182573 B1 KR102182573 B1 KR 102182573B1 KR 1020140150644 A KR1020140150644 A KR 1020140150644A KR 20140150644 A KR20140150644 A KR 20140150644A KR 102182573 B1 KR102182573 B1 KR 102182573B1
Authority
KR
South Korea
Prior art keywords
column
access
schema
level
query
Prior art date
Application number
KR1020140150644A
Other languages
Korean (ko)
Other versions
KR20160051164A (en
Inventor
최승운
박근태
이재영
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020140150644A priority Critical patent/KR102182573B1/en
Publication of KR20160051164A publication Critical patent/KR20160051164A/en
Application granted granted Critical
Publication of KR102182573B1 publication Critical patent/KR102182573B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

테이블별 컬럼의 권한 레벨의 무결성을 확인하는 무결성 확인 질의를 수신하는 질의 수신부; 상기 무결성 확인 질의에 따라 각 테이블의 컬럼에 대응되는 컬럼 권한 레벨을 확인하는 컬럼 접근권한 확인부; 상기 테이블의 컬럼에 대응하는 기설정 권한 조건을 저장하는 조건 저장부; 상기 테이블의 컬럼에 대응하는 기설정 권한 조건을 확인하여 상기 기설정 권한 조건과 컬럼 권한 레벨을 비교하는 기설정조건 확인부; 및 상기 컬럼 권한 레벨이 상기 기설정 권한조건과 일치하지 않는 컬럼에 대하여 권한 레벨을 상기 기설정 권한 조건에 대응되는 권한 레벨로 설정하는 접근권한 재설정부를 포함하는 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.A query receiving unit for receiving an integrity check query for checking the integrity of the authority level of each table column; A column access permission check unit for checking a column permission level corresponding to a column of each table according to the integrity check query; A condition storage unit for storing a preset permission condition corresponding to the column of the table; A preset condition check unit that checks a preset authority condition corresponding to a column of the table and compares the preset authority condition with a column authority level; And an access authority reset unit configured to set the authority level to the authority level corresponding to the preset authority condition for a column whose column authority level does not match the preset authority condition, and read by a computer therefor. Provide a recording medium that can be used.

Description

대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체{Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor}Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor}

본 실시예는 대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present embodiment relates to an access authority authentication apparatus and a computer-readable recording medium therefor in a large-capacity data environment.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

관계형 데이터베이스는 데이터가 사전에 정의된 다양한 구조를 스키마(Schema)로 정의하고 정규화되어 생성된다. 이로 인해 데이터베이스의 설계에 많은 비용과 시간이 소요되며, 스키마가 한번 결정된 후에는 테이블의 칼럼 추가나 삭제로 인해 데이터베이스 구조가 변경되어 전체 스키마에 변화를 줄 경우에 다시 많은 비용이 들어가게 되고 성능에도 영향을 줄 수 있다.Relational databases are created by defining various structures in which data is defined in advance as a schema and normalized. Due to this, it takes a lot of cost and time to design the database, and once the schema is determined, if the database structure is changed due to the addition or deletion of columns in the table, and if the entire schema is changed, it will cost a lot and affect performance. Can give.

Hadoop과 같이 대량의 데이터를 배치 형식으로 분산처리 하기에 적합하게 개발된 데이터베이스를 이용한 데이터의 저장 및 질의 처리의 경우에는, 저장되는 데이터에서 어떤 값을 키(Key) 값으로 정의할지 여부 등 데이터에 의미를 부여하는 작업을 데이터 처리 실행 시점에 해주는 것이 일반적이므로 Hadoop과 같은 대량 데이터 처리용 데이터베이스의 경우에는 일반적인 관계형 데이터베이스의 경우와는 다른 방법을 제공하는 것이 필요하다.In the case of data storage and query processing using a database developed suitable for distributed processing of a large amount of data in a batch format, such as Hadoop, the data is determined whether or not a value is defined as a key value in the stored data. Since it is common to perform a task that gives meaning at the time of data processing execution, it is necessary to provide a method different from that of a general relational database in the case of a database for mass data processing such as Hadoop.

또한, 접근권한을 설정함에 있어서도 Hadoop과 같은 대량 데이터 처리용 데이터베이스의 경우에는 일반적인 관계형 데이터베이스의 경우와는 다른 방법을 제공하는 것이 필요하다.In addition, when setting access rights, it is necessary to provide a method different from that of a general relational database in the case of a database for processing large amounts of data such as Hadoop.

본 실시예는 대용량 데이터 환경에서 접근 권한 인증 방법을 제공하는데 주된 목적이 있다.The main object of the present embodiment is to provide a method for authenticating access rights in a large data environment.

개별 테이블 스키마를 이용하여 조합 스키마를 설정하는 경우에 각 개별 스키마의 속성의 권한 레벨에 따라 조합 스키마의 권한 레벨을 설정하여 보안성을 향상하도록 하는데에도 그 목적이 있다.In the case of setting a combination schema using individual table schemas, the purpose is to improve security by setting the authorization level of the combination schema according to the authorization level of each individual schema attribute.

본 실시예의 일 측면에 의하면, 테이블별 컬럼의 권한 레벨의 무결성을 확인하는 무결성 확인 질의를 수신하는 질의 수신부; 상기 무결성 확인 질의에 따라 각 테이블의 컬럼에 대응되는 컬럼 권한 레벨을 확인하는 컬럼 접근권한 확인부; 상기 테이블의 컬럼에 대응하는 기설정 권한 조건을 저장하는 조건 저장부; 상기 테이블의 컬럼에 대응하는 기설정 권한 조건을 확인하여 상기 기설정 권한 조건과 컬럼 권한 레벨을 비교하는 기설정조건 확인부; 및 상기 컬럼 권한 레벨이 상기 기설정 권한조건과 일치하지 않는 컬럼에 대하여 권한 레벨을 상기 기설정 권한 조건에 대응되는 권한 레벨로 설정하는 접근권한 재설정부를 포함하는 것을 특징으로 하는 접근권한 인증 장치를 제공한다.According to an aspect of the present embodiment, there is provided a query receiving unit configured to receive an integrity check query for checking the integrity of a privilege level of a column for each table; A column access permission check unit for checking a column permission level corresponding to a column of each table according to the integrity check query; A condition storage unit for storing a preset permission condition corresponding to the column of the table; A preset condition check unit that checks a preset authority condition corresponding to a column of the table and compares the preset authority condition with a column authority level; And an access permission reset unit for setting a permission level to a permission level corresponding to the pre-set permission condition for a column whose column permission level does not match the pre-set permission condition. do.

본 실시예의 다른 측면에 의하면, 컴퓨터에, 테이블별 컬럼의 권한 레벨의 무결성을 확인하는 무결성 확인 질의를 수신하는 과정; 상기 무결성 확인 질의에 따라 각 테이블의 컬럼에 대응되는 컬럼 권한 레벨을 확인하는 과정; 상기 테이블의 컬럼에 대응하는 기설정 권한 조건을 확인하여 상기 기설정 권한 조건과 컬럼 권한 레벨을 비교하는 과정; 및 상기 컬럼 권한 레벨이 상기 기설정 권한조건과 일치하지 않는 컬럼에 대하여 권한 레벨을 상기 기설정 권한 조건에 대응되는 권한 레벨로 설정하는 과정을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.According to another aspect of the present embodiment, the process of receiving an integrity check query for checking the integrity of an authority level of a column for each table, to a computer; Checking a column authority level corresponding to a column of each table according to the integrity check query; Checking a preset authority condition corresponding to a column of the table and comparing the preset authority condition with a column authority level; And a computer-readable recording medium in which a program for executing a process of setting an authority level to a level corresponding to the preset authority condition for a column whose column authority level does not match the preset authority condition. to provide.

이상에서 설명한 바와 같이, 본 실시예에 의하면, 동적으로 스키마를 생성하여 데이터를 처리함에 있어서 개별 테이블 스키마를 이용하여 조합 스키마를 설정하는 경우에 각 개별 스키마의 속성의 권한 레벨에 따라 조합 스키마의 권한 레벨을 설정하여 보안성을 향상하는 효과가 있다.As described above, according to the present embodiment, when a combination schema is set using an individual table schema in dynamically generating a schema to process data, the authorization of the combination schema according to the permission level of each individual schema attribute There is an effect of improving security by setting the level.

도 1은 대용량 데이터 환경에서 사용자 질의를 처리하기 위한 질의처리 시스템 아키텍처(10)를 블록도로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 접근권한 인증 장치(13)를 블록도로 도시한 도면이다.
도 3은 어느 하나의 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.
도 4는 도 3의 경우와는 다른 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.
도 5는 입력된 질의를 분석하여 조합 테이블 스키마 및 그에 대응하여 저장된 데이터를 예시한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 접근권한 인증 방법을 도시한 흐름도이다.
1 is a block diagram showing a query processing system architecture 10 for processing user queries in a large data environment.
2 is a block diagram showing an access right authentication apparatus 13 according to an embodiment of the present invention.
3 is a diagram illustrating a schema for storing any one test result and stored test result data.
4 is a diagram illustrating a schema for storing test results different from the case of FIG. 3 and stored test result data.
5 is a diagram illustrating a combination table schema and data stored in correspondence therewith by analyzing an input query.
6 is a flowchart illustrating a method of authenticating access rights according to another embodiment of the present invention.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In describing an embodiment of the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the subject matter of the present invention, a detailed description thereof will be omitted.

도 1은 대용량 데이터 환경에서 사용자 질의를 처리하기 위한 질의처리 시스템 아키텍처(10)를 블록도로 도시한 도면이다.1 is a block diagram showing a query processing system architecture 10 for processing user queries in a large data environment.

도 1에 도시한 바와 같이 질의처리 시스템 아키텍처(10)는 사용자 클라이언트(11), 사용자인증 서버(12), 접근권한 인증 장치(13) 및 HDFS(14)를 포함한다.As shown in FIG. 1, the query processing system architecture 10 includes a user client 11, a user authentication server 12, an access authority authentication device 13, and an HDFS 14.

사용자 클라이언트(11)는 사용자 또는 어플리케이션으로부터 질의를 수신하고 수신한 질의를 서버 단으로 전송한다. 여기서 서버 단은 사용자인증 서버(12), 접근권한 인증 장치(13) 및 HDFS(14)를 포함한다.The user client 11 receives a query from a user or an application and transmits the received query to the server side. Here, the server stage includes a user authentication server 12, an access authority authentication device 13, and an HDFS 14.

서버 단에서는 사용자인증 서버(12)가 사용자 클라이언트(11)로부터 질의 및 사용자 정보를 수신하여 사용자를 인증한다.At the server side, the user authentication server 12 authenticates the user by receiving a query and user information from the user client 11.

사용자인증 서버(12)는 사용자로부터 수신한 사용자 식별정보를 이용하여 해당 사용자가 해당 시스템을 사용할 수 있는 정당한 권리자인지 여부를 확인한다. 정당한 권리자 여부가 확인된 이후에 사용자인증 서버(12)는 해당 질의를 접근권한 인증 장치(13)로 전송한다.The user authentication server 12 checks whether the user is a legitimate right holder who can use the system using the user identification information received from the user. After it is confirmed whether the right holder is a valid right holder, the user authentication server 12 transmits the query to the access authority authentication device 13.

접근권한 인증 장치(13)는 사용자인증 서버(12)로부터 수신한 질의를 분석하여 질의에 포함된 데이터를 해당 사용자가 접근할 권리가 있는지 여부를 확인하고 접근권리 확인 결과에 따라 질의 처리를 위한 정보를 HDFS(14)로 전송한다. 접근권한 인증 장치(13)는 사용자인증 서버(12)로부터 사용자 질의를 수신할 수도 있지만, 사용자인증이 생략되는 경우 사용자 클라이언트(11)로부터 직접 질의를 수신할 수도 있다.The access right authentication device 13 analyzes the query received from the user authentication server 12 to check whether the user has the right to access the data included in the query, and information for query processing according to the access right verification result. Is transmitted to HDFS (14). The access authority authentication device 13 may receive a user query from the user authentication server 12, but may directly receive a query from the user client 11 when user authentication is omitted.

HDFS(14)는 접근권한 인증 장치(13)로부터 수신한 질의 처리를 위한 정보에 따라 해당 질의를 처리하여 그 질의 처리 결과를 사용자 클라이언트(11)에게 전송한다.The HDFS 14 processes the query according to the query processing information received from the access authority authentication device 13 and transmits the query processing result to the user client 11.

도 2는 본 발명의 일 실시예에 따른 접근권한 인증 장치(13)를 블록도로 도시한 도면이다.2 is a block diagram showing an access right authentication apparatus 13 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 접근권한 인증 장치(13)는 질의 수신부(210), 컬럼 접근권한 확인부(220), 조건 저장부(230), 기설정조건 확인부(240), 접근권한 재설정부(250), 조합스키마 생성부(260) 및 스키마권한 설정부(270)를 포함하여 구현될 수 있다. 실시예에 따라서 접근권한 인증 장치(13)는 질의 수신부(210), 컬럼 접근권한 확인부(220), 조건 저장부(230), 기설정조건 확인부(240), 접근권한 재설정부(250), 조합스키마 생성부(260) 및 스키마권한 설정부(270)의 구성요소 중에서 일부 구성요소는 생략되거나 다른 구성요소를 추가로 포함하여 구현될 수 있다.The apparatus 13 for authenticating access rights according to an embodiment of the present invention includes a query receiving unit 210, a column access authority checking unit 220, a condition storage unit 230, a preset condition checking unit 240, and access authority reset. It may be implemented by including the government 250, the combination schema generation unit 260, and the schema authority setting unit 270. According to an embodiment, the access right authentication device 13 includes a query receiving unit 210, a column access authority checking unit 220, a condition storage unit 230, a preset condition checking unit 240, an access authority resetting unit 250 , Some of the components of the combination schema generation unit 260 and the schema permission setting unit 270 may be omitted or implemented by additionally including other components.

질의 수신부(210)는 테이블별 컬럼의 권한 레벨의 무결성을 확인하는 무결성 확인 질의를 수신한다. 여기서 입력되는 질의로는 SQL(Structured Query Language)로 작성된 것을 사용할 수 있으나 본 발명이 이에 한정되지 않고 다양한 언어를 사용할 수 있다.The query receiving unit 210 receives an integrity check query that checks the integrity of the privilege level of each table column. Here, the input query may be written in SQL (Structured Query Language), but the present invention is not limited thereto, and various languages may be used.

예컨대, 하둡 시스템에서 사용하는 테이블들은 서로 다른 시스템에서 수집되어 저장된 테이블일 경우가 있다. 보통 이 테이블들의 속성(Attribute) 및 그 접근권한 레벨은 동일하게 설정되어야 하나 수집하는 시스템마다 속성 명칭이나 또는 접근권한 레벨이 서로 다르게 설정되어 수집될 수도 있다. 예컨대, 각 테이블의 두번째 속성이 주민등록번호를 저장하도록 설정된 경우 그 주민등록정보는 특별한 접근권한을 갖는 제한된 운영자만 접근할 수 있는 권한레벨(예컨대 제1 권한레벨)로 설정되는 것이 일반적이다. 본 실시예에서 권한레벨, 접근권한 레벨 또는 접근레벨 등의 용어를 혼용하여 사용할 수 있으나 이는 모두 동일한 개념으로 사용된 것임을 밝혀둔다.For example, tables used in the Hadoop system may be tables collected and stored in different systems. Usually, the attributes of these tables and their level of access rights should be set identically, but the property names or levels of access rights may be set differently for each system to be collected. For example, when the second attribute of each table is set to store the social security number, the resident registration information is generally set to an authority level (for example, a first authority level) that only limited operators with special access rights can access. In the present embodiment, terms such as authority level, access authority level, or access level may be used interchangeably, but it should be noted that these are all used with the same concept.

따라서, 이러한 조건이 모두 만족되지 않는 경우에, 사용자 또는 어플리케이션에 의해 각 테이블의 권한레벨이 기설정 조건을 만족하는지 여부를 확인하는 무결성 확인 질의가 질의 수신부(210)로 입력된다.Accordingly, when all of these conditions are not satisfied, an integrity check query for confirming whether the authority level of each table satisfies a preset condition is input to the query receiving unit 210 by a user or an application.

컬럼 접근권한 확인부(220)는 입력된 무결성 확인 질의에 따라 각 테이블의 컬럼에 대응되는 컬럼 접근권한 레벨을 확인한다.The column access permission check unit 220 checks the column access permission level corresponding to the column of each table according to the input integrity check query.

조건 저장부(230)는 각 테이블의 컬럼에 대응하는 기설정 권한 조건을 권한조건 DB로서 저장한다.The condition storage unit 230 stores a preset authority condition corresponding to a column of each table as an authority condition DB.

기설정조건 확인부(240)는 테이블의 컬럼에 대응하는 기설정 권한 조건을 확인하여 저장된 기설정 권한 조건과 각 테이블에 저장된 컬럼의 접근권한 레벨을 비교한다.The preset condition check unit 240 checks a preset authority condition corresponding to a column of the table and compares the stored preset authority condition with the access authority level of the column stored in each table.

만일, 주민등록번호 속성에 대하여 제1 권한레벨로 설정되도록 기설정 권한 조건이 저장되면, 모든 테이블의 주민등록번호 속성의 접근권한 레벨이 제1 권한레벨로 설정되는지 확인할 필요가 있다. 전술하였듯이, 어느 하나의 테이블을 수집하는 시스템마다 접근권한이 다르게 설정되어 수집될 수도 있기 때문이다.If a preset permission condition is stored so that the resident registration number attribute is set to the first permission level, it is necessary to check whether the access permission level of the resident registration number attribute of all tables is set to the first permission level. This is because, as described above, the access rights may be set differently for each system that collects any one table and collected.

접근권한 재설정부(250)는 각 테이블의 컬럼 접근권한 레벨이 저장되어 있는 기설정 권한 조건과 일치하지 않는 컬럼에 대하여 접근권한 레벨을 해당 기설정 권한 조건에 대응되는 권한 레벨로 설정한다.The access right resetting unit 250 sets the access right level to a column that does not match a preset permission condition in which the column access permission level of each table is stored as a permission level corresponding to the predetermined permission condition.

기설정 권한 조건이 설정된 권한조건 DB에서, 각 컬럼은 해당 테이블 스키마의 속성 명칭으로 식별할 수 있다. 하지만, 테이블을 수집하는 시스템에서 속성 명칭을 실수로 잘못 기재하는 경우도 생길 수 있다. 예컨대, 속성 명칭이 '주민등록번호'인 경우에 대한 기설정 조건을 저장하여 저장된 기설정조건대로 컬럼의 권한 레벨이 설정되도록 하나 속성 명칭이 '주민번호'로 명명된 수집된 경우에는 이 속성 명칭을 이용하여 해당 속성의 기설정 조건을 확인하기 어렵게 된다.In the authorization condition DB in which the preset authorization condition is set, each column can be identified by the attribute name of the corresponding table schema. However, in a system that collects tables, there may be cases in which attribute names are accidentally entered incorrectly. For example, if the attribute name is'Resident Registration Number', the pre-set condition is saved so that the column's authority level is set according to the saved pre-set condition, but when the attribute name is named'Resident Number', this attribute name is used. Therefore, it becomes difficult to check the preset condition of the corresponding property.

이와 같이, 기설정 권한 조건에 대응되는 속성 명칭이 각 테이블별로 테이블 스키마의 속성 명칭과 일치하지 않는 경우에는 컬럼의 위치를 이용하여 해당 컬럼을 식별할 수도 있다. 예컨대, 권한조건 DB에는 기설정 권한 조건으로서, 각 테이블의 둘째 컬럼의 접근권한 레벨은 제1 레벨, 셋째 컬럼의 접근권한 레벨은 제2 레벨, 넷째 컬럼의 접근권한 레벨은 제4 레벨 등으로 테이블 내 각 컬럼의 접근권한 레벨이 되도록 설정할 수 있다. 이렇게 컬럼의 위치로 속성을 식별하는 경우에는 테이블 스키마에서 속성 명칭이 잘못 기재되어 있더라도 식별이 가능해진다.In this way, when the attribute name corresponding to the preset permission condition does not match the attribute name of the table schema for each table, the corresponding column may be identified using the position of the column. For example, in the privilege condition DB, the access privilege level of the second column of each table is the first level, the access authority level of the third column is the second level, the access authority level of the fourth column is the fourth level, etc. It can be set to be the level of access authority for each column in mine In this case, when the attribute is identified by the position of the column, identification is possible even if the attribute name is incorrectly described in the table schema.

조합스키마 생성부(260)는 질의 수신부(110)가 무결성 확인 질의를 수신하기 전에 복수의 테이블을 접근하는 접근 질의를 수신하는 경우 해당 접근 질의를 분석하여 접근 질의에 사용될 복수의 테이블의 스키마로부터 접근 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성한다.When the query receiving unit 110 receives an access query that accesses a plurality of tables before receiving the integrity check query, the combination schema generation unit 260 analyzes the access query and accesses it from the schema of the plurality of tables to be used for the access query. A combination table schema is created by combining the schema corresponding to the query.

스키마권한 설정부(270)는 복수의 테이블의 스키마에 대응되는 접근 권한에 따라 상기 조합 테이블 스키마에 대응되는 접근권한을 설정한다.The schema permission setting unit 270 sets the access permission corresponding to the combination table schema according to the access permission corresponding to the schema of a plurality of tables.

HDFS(14)에서는 복수의 테이블 스키마 및 그에 대응되는 테이블 데이터를 저장한다.The HDFS 14 stores a plurality of table schemas and table data corresponding thereto.

HDFS(14)는 저장하고자 하는 데이터를 수신하여 테이블로서 저장한다.The HDFS 14 receives data to be stored and stores it as a table.

예컨대, 반도체 웨이퍼(Wafer)를 이용한 칩(Chip) 생산 공정에서 하나의 웨이퍼 라트(Lot)에는 보통 수십개의 웨이퍼가 있으며 하나의 웨이퍼로는 보통 수백 ~ 수천개의 칩을 생산한다. 일반적으로 하나의 칩에 대해서 수백개 이상의 테스트 항목이 있으며, 이 경우 하나의 테스트 항목에 대하여 테스트 할 때마다 테스트 결과 데이터가 생성된다.For example, in a chip production process using a semiconductor wafer (Wafer), there are usually dozens of wafers in one wafer lot, and hundreds to thousands of chips are usually produced with one wafer. In general, there are hundreds or more test items for one chip, and in this case, test result data is generated every time a test item is tested.

HDFS(14)는 이러한 시험 결과 데이터를 입력으로 하여 데이터를 수신하는 경우에, 수신된 데이터 그룹별로 각각 해당하는 개별 테이블 스키마(Schema)를 생성하고 생성된 개별 테이블 스키마에 각각 대응하여 수신된 데이터를 그룹별로 저장한다. 예컨대, 칩에 대한 하나의 테스트 항목에 대한 시험 결과마다 개별 테이블 스키마가 생성되고 그에 대응하여 데이터가 저장된다.When receiving data by inputting the test result data as input, the HDFS 14 creates an individual table schema corresponding to each of the received data groups and stores the received data corresponding to the generated individual table schema. Save by group. For example, a separate table schema is created for each test result of one test item for a chip, and data is stored correspondingly.

도 3은 어느 하나의 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이고, 도 4는 도 3의 경우와는 다른 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.3 is a diagram illustrating a schema for storing a test result and stored test result data, and FIG. 4 is a diagram illustrating a schema for storing test results different from the case of FIG. 3 and stored test result data to be.

도 3에 예시한 바와 같이, 어느 하나의 시험 결과를 입력받은 경우에 데이터 처리부(120)는 이를 저장하기 위한 Table A의 데이터 스키마로서 웨이퍼 번호 속성(Attribute)과 칩 번호 속성을 하나로 묶어 (Wafer No, Chip No)를 키(Key)로 하고 실험결과에 해당하는 속성인 (시험항목 a, 시험항목 b)가 논키(Non-Key) 속성이 되어 (Wafer No, Chip No, 시험항목 a, 시험항목 b)의 형태로서 하나의 레코드를 형성하는 제1 스키마를 생성한다. 그리고 HDFS(14)는 시험대상의 웨이퍼 라트 내의 모든 웨이퍼에 대하여 각 칩에 대응하는 시험 결과로 이루어진 데이터 그룹을 제1 스키마를 갖는 Table A의 테이블 저장공간에 저장한다.As illustrated in FIG. 3, when any one of the test results is received, the data processing unit 120 combines the wafer number attribute and the chip number attribute as a data schema of Table A to store the data (Wafer No. , Chip No) is the key, and (test item a, test item b), which is an attribute corresponding to the test result, becomes a non-key attribute, so (Wafer No, Chip No, test item a, test item Create a first schema that forms one record in the form of b). In addition, the HDFS 14 stores a data group consisting of test results corresponding to each chip for all wafers in a wafer rat to be tested in a table storage space of Table A having a first schema.

이러한 스키마의 설정은 별도의 입력장치를 이용하여 사용자가 키 속성, 논키 속성의 명칭과 데이터 사이즈 등의 파라미터를 설정함으로써 그 스키마를 설정할 수 있다.The schema can be set by a user using a separate input device to set parameters such as a key attribute, a name of a non-key attribute, and a data size.

한편, 복수의 속성으로서 하나의 키를 형성하는 경우를 예로 들었으나, 실시예에 따라서는 하나의 속성으로 키를 형성할 수도 있다.Meanwhile, a case of forming one key as a plurality of attributes has been exemplified, but depending on embodiments, a key may be formed with one attribute.

도 4의 경우, 도 3의 경우와는 다른 시험 결과를 입력받은 경우에 HDFS(14)는 이를 저장하기 위한 Table B의 데이터 스키마로서 웨이퍼 번호 속성(Attribute)과 칩 번호 속성을 하나로 묶어 (Wafer No, Chip No)를 키(Key)로 하고 실험결과에 해당하는 속성인 (시험항목 c, 시험항목 d, 시험항목 e)가 논키(Non-Key) 속성이 되어 (Wafer No, Chip No, 시험항목 c, 시험항목 d, 시험항목 e)의 형태로서 하나의 레코드를 형성하는 제2 스키마를 생성한다. 그리고 HDFS(14)는 웨이퍼 라트 내의 시험대상 모든 웨이퍼에 대하여 각 칩에 대응하는 시험 결과로 이루어진 데이터 그룹을 제2 스키마를 갖는 Table B의 테이블 저장공간에 저장한다.In the case of FIG. 4, when a test result different from that of FIG. 3 is input, the HDFS 14 is a table B data schema for storing the wafer number attribute and the chip number attribute. , Chip No) is the key, and the properties corresponding to the test result (test item c, test item d, test item e) become the non-key property, and (Wafer No, Chip No, test item Create a second schema that forms one record in the form of c, test item d, and test item e). In addition, the HDFS 14 stores a data group consisting of test results corresponding to each chip for all the wafers to be tested in the wafer rat in a table storage space of Table B having a second schema.

도 3 및 도 4의 경우는, 복수의 개별 테이블 스키마의 키 속성이 서로 동일하도록 복수의 개별 테이블 스키마가 HDFS(14)에서 저장된 경우이며, 이러한 경우에 두 테이블을 서로 공통된 키를 이용하는 질의가 입력된 경우 이 질의의 처리에 사용될 수 있다.In the case of FIGS. 3 and 4, a plurality of individual table schemas are stored in the HDFS 14 so that the key attributes of the plurality of individual table schemas are the same, and in this case, a query using a key common to each other is input. If so, it can be used to process this query.

조합스키마 생성부(260)는 질의 수신부(110)가 무결성 확인 질의를 수신하기 전에 복수의 테이블을 접근하는 접근 질의를 수신하는 경우 해당 접근 질의를 분석하여 접근 질의에 사용될 복수의 테이블의 스키마로부터 접근 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성한다.When the query receiving unit 110 receives an access query that accesses a plurality of tables before receiving the integrity check query, the combination schema generation unit 260 analyzes the access query and accesses it from the schema of the plurality of tables to be used for the access query. A combination table schema is created by combining the schema corresponding to the query.

조합 테이블 스키마는 스키마 조합에 사용되는 복수개의 개별 테이블 스키마에서 공통되는 키를 조합 테이블 스키마의 키로 설정할 수 있으며, 조합 테이블 스키마의 속성은 스키마 조합에 사용되는 복수개의 개별 테이블 스키마에서 각각 적어도 하나의 속성을 포함한다.In the combined table schema, a key common to a plurality of individual table schemas used for schema combination can be set as the key of the combined table schema, and the attribute of the combined table schema is at least one attribute in each of the plurality of individual table schemas used for schema combination. Includes.

도 5는 입력된 질의를 분석하여 조합 테이블 스키마 및 그에 대응하여 저장된 데이터를 예시한 도면이다.5 is a diagram illustrating a combination table schema and data stored in correspondence therewith by analyzing an input query.

입력된 질의의 내용이 "(Wafer No, Chip No)를 키로 사용하여 Table A의 시험항목 a 및 시험항목 b와, Table B의 시험항목 c 및 시험항목 d를 Table AB라는 테이블로 생성하라"는 질의1인 경우를 예로 들어 설명한다.The content of the entered query is "Use (Wafer No, Chip No) as a key to create test item a and test item b of Table A, and test item c and test item d of Table B in a table called Table AB." The case of query 1 will be described as an example.

조합스키마 생성부(260)는 위의 질의1에 포함된 테이블 명칭인 Table A와 Table B에 대하여 각각 스키마를 확인하여 (Wafer No, Chip No)가 키로 설정되어 있는지 확인하고, 키와 Table A의 시험항목 a 및 시험항목 b와, Table B의 시험항목 c 및 시험항목 d를 포함하는 속성의 데이터 형식과 사이즈 등의 파라미터를 설정하여 도 4에 도시한 바와 같은 Table AB에 대한 조합 테이블 스키마를 생성한다.The combination schema generation unit 260 checks the schema for Table A and Table B, which are the table names included in Query 1 above, and checks whether (Wafer No, Chip No) is set as a key, and A combination table schema for Table AB as shown in Fig. 4 is created by setting parameters such as the data format and size of attributes including test items a and b and test items c and d in Table B. do.

Hadoop과 같은 대량 데이터 처리용 데이터베이스는 순차 접근(Sequential Access)을 기반으로 하므로 Table AB와 같은 조합 테이블을 생성함에 있어서, 조합 테이블 생성시간을 줄이기 위하여 Table AB의 조합 테이블 스키마에 대응되는 저장 영역을 설정한 후 개별 테이블 스키마를 갖는 개별 테이블의 데이터를 순차적으로 저장한다.Since databases for processing large amounts of data such as Hadoop are based on sequential access, when creating a combination table such as Table AB, set a storage area corresponding to the combination table schema of Table AB to reduce the generation time of the combination table. After that, data of individual tables with individual table schemas are stored sequentially.

즉, Table AB의 조합 테이블 스키마를 형성하는 데 사용된 복수의 개별 테이블 스키마 중에서 제1 개별 테이블 스키마에 대응되는 데이터(예컨대, Table A의 키, 시험항목 a, 시험항목 b 데이터)를 순차 접근에 의하여 조합 테이블 스키마에 대응되는 Table AB의 저장 영역에 매핑시킨 후 나머지 개별 테이블 스키마에 대응되는 데이터(즉, Table B의 키, 시험항목 c, 시험항목 d 데이터)를 순차적으로 Table AB의 해당 저장 영역에 매핑시켜 조합 테이블 스키마에 대응되는 조합 데이터 테이블을 생성한다.In other words, among a plurality of individual table schemas used to form the combination table schema of Table AB, data corresponding to the first individual table schema (e.g., Table A key, test item a, test item b data) can be sequentially accessed. After mapping to the storage area of Table AB corresponding to the combined table schema, data corresponding to the remaining individual table schemas (i.e., the key of Table B, test item c, test item d data) are sequentially stored in the corresponding storage area of Table AB. The combination data table corresponding to the combination table schema is created by mapping to.

만일, 입력된 질의가 Table A, Table B, Table C를 이용하여 새로운 조합 테이블을 생성하는 질의(이하, 질의2라 함)인 경우에는, 질의2를 처리하여 생성된 조합 테이블을 위한 저장 영역을 할당한 후 Table A의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하고 Table B의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하고 Table C의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하여 각 해당 테이블의 데이터를 순차적으로 처리한다.If the input query is a query that creates a new combined table using Table A, Table B, and Table C (hereinafter referred to as Query 2), the storage area for the combined table created by processing Query 2 After allocation, the data of Table A is mapped and stored by sequential access to the area of the combination table, and the data of Table B is mapped and stored by sequential access to the area of the combination table, and the data of Table C is sequentially stored in the area of the combination table. By mapping and storing by access, the data of each table is processed sequentially.

이와 같이 출력을 원하는 데이터의 스키마가 해당 데이터를 생성하는 질의의 처리 시점에 정의(Lazy binding)되는 환경 구축을 가능해진다. 또한, 동적으로 데이터의 스키마와 같은 메타 정보를 관리하여 다양한 종류의 데이터에 대해서도 한번의 질의로써 정보를 추출함에 있어서 단일 테이블로 형성된 데이터베이스의 경우와 유사한 성능으로 동일한 효과를 나타낼 수 있다.In this way, it becomes possible to build an environment in which the schema of the data to be output is defined (lazy binding) at the time of processing the query that creates the data. In addition, when meta-information such as a schema of data is dynamically managed and information is extracted with a single query for various types of data, the same effect can be obtained with performance similar to that of a database formed of a single table.

이러한 동적 바인딩 구조는 웨이퍼의 제조 공정과 같이 하나의 공정 라인에서 제품에 따라 다양한 형태의 데이터가 출력되는 경우 이를 저장하고 활용하는 경우에 매우 유용하다.Such a dynamic binding structure is very useful when various types of data are output from a single process line, such as a wafer manufacturing process, according to products, and stored and utilized.

스키마권한 설정부(270)는 복수의 테이블의 스키마에 대응되는 접근 권한에 따라 상기 조합 테이블 스키마에 대응되는 접근권한을 설정한다.The schema permission setting unit 270 sets the access permission corresponding to the combination table schema according to the access permission corresponding to the schema of a plurality of tables.

스키마권한 설정부(270)는 복수의 데이터 그룹의 스키마에서 어느 하나의 데이터 그룹을 나타내는 테이블의 스키마의 제1 속성과 다른 하나의 데이터 그룹을 나타내는 테이블의 스키마의 제2 속성이 서로 동일한 속성 그룹으로 설정되어 있는지 확인한다. 서로 다른 두 테이블의 두 속성이 서로 동일한 속성 그룹으로 설정되어 있는지 여부의 확인은 권한조건 DB에 저장된 각 테이블의 컬럼에 대응하는 기설정 권한 조건으로써 확인된다. 예컨대 각 테이블의 셋째 컬럼(Table A의 시험항목 a와 Table B의 시험항목 c 속성에 해당)이 서로 동일한 기설정된 접근권한 레벨을 갖는 것으로 설정되어 있는지 여부를 확인한다.The schema permission setting unit 270 is an attribute group in which the first attribute of the schema of the table representing one data group and the second attribute of the schema of the table representing another data group are the same in the schema of a plurality of data groups. Make sure it is set. Whether or not two properties of two different tables are set to the same property group is checked with a preset authorization condition corresponding to the column of each table stored in the authorization condition DB. For example, it is checked whether the third column of each table (corresponding to the test item a of Table A and the test item c attribute of Table B) is set to have the same preset access level.

스키마권한 설정부(270)는 권한조건 DB에서의 확인 결과에 따라, Table A의 제1 속성(시험항목 a)의 권한레벨이 제2 속성(시험항목 c)의 권한레벨보다 큰 경우, 조합 스키마에 포함되는 제2 속성의 권한레벨을 제1 속성의 권한레벨과 동일하게 기설정된 접근권한 레벨로 설정한다. 예컨대 각 테이블의 셋째 컬럼이 민감한 내용을 포함하고 있어서 그 접근권한 레벨이 가장 높은 제1 레벨로 설정됨에도 불구하고, Table A의 시험항목a의 접근 레벨이 제1 레벨이고 Table B의 시험항목c의 경우 접근권한 레벨이 제2 레벨이라고 가정하면, 유사한 성질을 가지는 테이블 A, B가 그 생성시에 착오 등으로 인하여 해당 속성의 접근권한이 잘못 설정된 것으로 볼 수 있다. 따라서, 제1 레벨보다 낮은 제2 레벨의 권한을 갖는 사용자라 하더라도 Table B의 시험항목 c 속성을 접근하지 못하도록 한다.Schema authority setting unit 270, according to the result of checking in the authority condition DB, when the authority level of the first attribute (test item a) of Table A is greater than the authority level of the second attribute (test item c), the combination schema The authority level of the second attribute included in is set to a preset access authority level identical to the authority level of the first attribute. For example, although the third column of each table contains sensitive contents and the access authority level is set to the highest level, the access level of test item a of Table A is the first level, and test item c of Table B is In this case, assuming that the access right level is the second level, it can be seen that the access right of the corresponding attribute is incorrectly set due to an error in the creation of tables A and B having similar properties. Therefore, even a user with a second level of authority lower than the first level does not allow access to the test item c attribute of Table B.

스키마권한 설정부(270)는 접근권한이 설정되지 않은 위치의 컬럼의 경우 테이블별로 서로 다른 접근권한이 설정된 경우에는 안전한 접근 권한 설정을 위하여 낮은 접근권한 레벨을 갖는 속성의 접근권한 레벨을 두 접근권한 레벨 중에서 더 높은 접근권한 레벨로 가정하여 접근가능성 여부를 판단한다. 이 경우에도, 사용자의 선택에 의해서 접근권한 레벨이 낮은 속성의 레벨을 접근권한 레벨이 높은 접근권한 레벨과 같도록 설정할 수도 있다. 이와 같이 접근레벨을 설정하기 위해서는 질의를 생성한 사용자의 접근권한 레벨이 Table A 및 Table B의 접근권한 레벨과 같거나 더 높아야 한다.In the case of a column at a location where the access right is not set, the schema permission setting unit 270 sets the access right level of the attribute having a lower access right level to set two access rights for safe access right setting when different access rights are set for each table. The accessibility is determined by assuming the higher level of access rights among the levels. Even in this case, it is also possible to set the level of the attribute with the low access level to the same level as the level with the high access level by the user's selection. In order to set the access level in this way, the access level of the user who created the query must be equal to or higher than the access level of Table A and Table B.

스키마권한 설정부(270)는 복수의 테이블의 스키마에서 어느 하나의 테이블의 스키마의 제1 속성과 다른 하나의 데이터 그룹의 스키마의 제2 속성이 동일한 그룹으로 설정되고, 질의를 생성한 사용자의 권한레벨이 제1 속성의 권한레벨과 제2 속성의 권한레벨 중에서 적어도 하나보다 낮은 경우에는, 다른 하나의 권한 레벨보다 높거나 같다 하더라도, 제1 속성 및 제2 속성 모두에 대한 접근을 거절한다. 이 역시 동일한 성격을 가지는 동일한 그룹의 속성에 대하여 서로 다르게 접근권한 레벨이 설정된 경우, 그 중에서 높은 접근권한 레벨을 갖는 속성을 기준으로 하여 다른 동일한 그룹의 속성에 대해서도 접근권한을 설정한다.In the schema of a plurality of tables, the schema authority setting unit 270 sets the first attribute of the schema of one table and the second attribute of the schema of another data group to the same group, and the authority of the user who generated the query When the level is lower than at least one of the authority level of the first attribute and the authority level of the second attribute, access to both the first attribute and the second attribute is denied even if it is higher than or equal to the other authority level. In this case, when different access authority levels are set for the same group attribute having the same characteristics, the access authority is also set for other attributes of the same group based on the attribute having a higher access authority level among them.

도 6은 본 발명의 다른 실시예에 따른 접근권한 인증 방법을 도시한 흐름도이다.6 is a flowchart illustrating a method of authenticating access rights according to another embodiment of the present invention.

본 발명의 다른 실시예에 따른 동적 스키마 질의처리 방법은 질의 수신과정(S610), 컬럼 접근권한 확인과정(S620), 조건 저장 과정(S630), 기설정조건 확인과정(S640), 접근권한 재설정과정(S650), 조합스키마 생성과정(S660) 및 스키마 권한 설정과정(S670)을 포함한다.A dynamic schema query processing method according to another embodiment of the present invention includes a query reception process (S610), a column access permission confirmation process (S620), a condition storage process (S630), a preset condition confirmation process (S640), and an access permission reset process. (S650), a combination schema generation process (S660), and a schema authority setting process (S670).

질의 수신과정(S610)에서는 테이블별 컬럼의 권한 레벨의 무결성을 확인하는 무결성 확인 질의를 수신한다.In the query receiving process (S610), an integrity check query for verifying the integrity of the privilege level of each table column is received.

컬럼 접근권한 확인과정(S620)에서는 무결성 확인 질의에 따라 각 테이블의 컬럼에 대응되는 컬럼 권한 레벨을 확인한다.In the column access authority checking process (S620), the column authority level corresponding to the column of each table is checked according to the integrity check query.

조건 저장 과정(S630)에서는 테이블의 컬럼에 대응하는 기설정 권한 조건을 저장한다.In the condition storage process (S630), a preset permission condition corresponding to a column of a table is stored.

기설정조건 확인과정(S640)에서는, 테이블의 컬럼에 대응하는 기설정 권한 조건을 확인하여 기설정 권한 조건과 컬럼 권한 레벨을 비교한다.In the preset condition checking process (S640), a preset authority condition corresponding to a column of the table is checked, and the preset authority condition and the column authority level are compared.

접근권한 재설정과정(S650)에서는, 컬럼 권한 레벨이 기설정 권한조건과 일치하지 않는 컬럼에 대하여 권한 레벨을 기설정 권한 조건에 대응되는 권한 레벨로 설정한다.In the process of resetting the access authority (S650), the authority level for the column whose column authority level does not match the preset authority condition is set to the authority level corresponding to the preset authority condition.

조합스키마 생성과정(S660)에서는, 질의 수신부(110)가 무결성 확인 질의를 수신하기 전에 복수의 테이블을 접근하는 접근 질의를 수신하는 경우 접근 질의를 분석하여 접근 질의에 사용될 복수의 테이블의 스키마로부터 접근 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성한다.In the combination schema generation process (S660), when the query receiving unit 110 receives an access query that accesses a plurality of tables before receiving the integrity check query, the access query is analyzed and accessed from the schema of the plurality of tables to be used for the access query. A combination table schema is created by combining the schema corresponding to the query.

스키마 권한 설정과정(S670)에서는, 복수의 테이블의 스키마에 대응되는 접근 권한에 따라 조합 테이블 스키마에 대응되는 접근권한을 설정한다.In the schema authority setting process (S670), access rights corresponding to the combination table schema are set according to access rights corresponding to the schemas of a plurality of tables.

질의 수신과정(S610), 컬럼 접근권한 확인과정(S620), 조건 저장 과정(S630), 기설정조건 확인과정(S640), 접근권한 재설정과정(S650), 조합스키마 생성과정(S660) 및 스키마 권한 설정과정(S670)은 질의 수신부(210), 컬럼 접근권한 확인부(220), 조건 저장부(230), 기설정조건 확인부(240), 접근권한 재설정부(250), 조합스키마 생성부(260) 및 스키마권한 설정부(270)의 동작에 각각 대응되므로 더 이상의 상세한 설명은 생략한다.Query reception process (S610), column access permission confirmation process (S620), condition storage process (S630), preset condition confirmation process (S640), access permission reset process (S650), combination schema creation process (S660) and schema authorization The setting process (S670) includes a query receiving unit 210, a column access authority checking unit 220, a condition storage unit 230, a preset condition checking unit 240, an access authority resetting unit 250, a combination schema generation unit ( 260) and the schema permission setting unit 270, respectively, so a detailed description thereof will be omitted.

도 6에서는 과정 S610 내지 과정 S670을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6에 기재된 순서를 변경하여 실행하거나 과정 S610 내지 과정 S670 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.In FIG. 6, steps S610 to S670 are described as sequentially executing, but this is merely illustrative of the technical idea of an embodiment of the present invention. In other words, if one of ordinary skill in the technical field to which an embodiment of the present invention belongs, changes the order shown in FIG. 6 and executes one of the processes S610 to S670 without departing from the essential characteristics of the embodiment of the present invention. Since the above processes are executed in parallel, various modifications and variations may be applied, and thus FIG. 6 is not limited to a time series order.

본 발명의 실시예에 따른 접근권한 인증 장치(13)는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 프로그램을 실행하기 위한 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.The access authority authentication device 13 according to an embodiment of the present invention is a communication device such as a communication modem for performing communication with various devices or wired/wireless communication networks, a memory for storing data for executing a program, and an operation by executing a program. And it may refer to various devices including a microprocessor for controlling. According to at least one embodiment, the memory is a computer such as a random access memory (RAM), a read only memory (ROM), a flash memory, an optical disk, a magnetic disk, or a solid state disk (SSD). It may be a readable recording/storing medium. According to at least one embodiment, the microprocessor may be programmed to selectively perform one or more operations and functions described in the specification. According to at least one embodiment, the microprocessor may be implemented entirely or partially as hardware such as an Application Specific Integrated Circuit (ASIC) having a specific configuration.

전술한 바와 같이, 도 6에 기재된 접근권한 인증 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 접근권한 인증 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.As described above, the method for authenticating access rights described in FIG. 6 may be implemented as a program and recorded on a computer-readable recording medium. A computer-readable recording medium in which a program for implementing the access authority authentication method according to the present embodiment is recorded includes all types of recording devices that store data that can be read by a computer system. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, etc., and also implemented in the form of a carrier wave (for example, transmission through the Internet). Includes being. In addition, the computer-readable recording medium may be distributed over a computer system connected through a network, and computer-readable codes may be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers in the technical field to which the present embodiment belongs.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present embodiment, and those of ordinary skill in the technical field to which the present embodiment belongs will be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Accordingly, the present exemplary embodiments are not intended to limit the technical idea of the present exemplary embodiment, but are illustrative, and the scope of the technical idea of the present exemplary embodiment is not limited by these exemplary embodiments. The scope of protection of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

10: 질의처리 시스템 아키텍처
11: 사용자 클라이언트
12: 사용자인증 서버
13: 접근권한 인증 장치
14: HDFS
210: 질의 수신부
220: 컬럼 접근권한 확인부
230: 조건 저장부
240: 기설정조건 확인부
250: 접근권한 재설정부
260: 조합스키마 생성부
270: 스키마권한 설정부
10: Query processing system architecture
11: User Client
12: User authentication server
13: access authority authentication device
14: HDFS
210: query receiver
220: column access permission check unit
230: condition storage unit
240: preset condition check unit
250: access authority reset unit
260: combination schema generation unit
270: Schema authority setting unit

Claims (8)

서로 동일한 컬럼 그룹으로 구성된 테이블 스키마를 가지는 복수의 테이블에 대하여 각 테이블의 컬럼별 접근권한 레벨의 무결성 확인을 위한 무결성 확인 질의를 수신하는 질의 수신부;
상기 무결성 확인 질의에 따라 상기 각 테이블의 컬럼별 접근권한 레벨을 확인하는 컬럼 접근권한 확인부;
컬럼별 기설정 권한 조건을 저장하는 조건 저장부;
상기 컬럼별 기설정 권한 조건을 확인하여 상기 컬럼별 기설정 권한 조건과 상기 각 테이블의 컬럼별 접근권한 레벨을 비교하는 기설정조건 확인부; 및
상기 각 테이블의 컬럼별 접근권한 레벨이 상기 컬럼별 기설정 권한조건과 일치하지 않는 경우 상기 각 테이블의 컬럼별 접근권한 레벨을 상기 컬럼별 기설정 권한 조건에 대응되는 컬럼별 접근권한 레벨로 설정하는 접근권한 재설정부
를 포함하는 것을 특징으로 하는 접근권한 인증 장치.
A query receiving unit configured to receive an integrity check query for checking the integrity of each column access permission level for a plurality of tables having a table schema composed of the same column group;
A column access permission check unit for checking the access permission level for each column of the table according to the integrity check query;
A condition storage unit for storing preset authority conditions for each column;
A preset condition check unit that checks the preset authority condition for each column and compares the preset authority condition for each column with the access authority level for each column of the table; And
When the access permission level for each column of each table does not match the pre-set permission condition for each column, the access permission level for each column of each table is set to the access permission level for each column corresponding to the pre-set permission condition for each column. Access permission reset section
Access authority authentication device comprising a.
제 1항에 있어서,
상기 컬럼별 기설정 권한 조건에 대응되는 상기 각 테이블의 컬럼은 해당 테이블 스키마의 속성 명칭으로 식별하는 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 1,
The apparatus for authenticating access rights, characterized in that the column of each table corresponding to a predetermined permission condition for each column is identified by an attribute name of a corresponding table schema.
제 2항에 있어서,
상기 컬럼별 기설정 권한 조건에 대응되는 상기 각 테이블의 컬럼의 속성 명칭이 상기 각 테이블의 테이블 스키마의 해당 컬럼의 속성 명칭과 일치하지 않는 경우, 상기 해당 컬럼의 위치에 따라 상기 해당 컬럼을 식별하는 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 2,
When the attribute name of the column of each table corresponding to the preset permission condition for each column does not match the attribute name of the corresponding column of the table schema of each table, the corresponding column is identified according to the position of the corresponding column. Access authority authentication device, characterized in that.
제 1항에 있어서, 상기 접근권한 인증 장치는,
상기 질의 수신부가 상기 무결성 확인 질의를 수신하기 전에 복수의 테이블을 접근하는 접근 질의를 수신하는 경우 상기 접근 질의를 분석하여 상기 접근 질의에 사용될 복수의 테이블의 스키마로부터 상기 접근 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성하는 조합스키마 생성부; 및
상기 복수의 테이블의 스키마에 대응되는 접근 권한에 따라 상기 조합 테이블 스키마에 대응되는 접근 권한을 설정하는 스키마 권한 설정부
를 포함하는 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 1, wherein the access right authentication device,
When the query receiver receives an access query that accesses a plurality of tables before receiving the integrity check query, the access query is analyzed and the schema corresponding to the access query is combined from the schema of the plurality of tables to be used for the access query. A combination schema generation unit for generating a combination table schema; And
Schema permission setting unit that sets access rights corresponding to the combination table schema according to access rights corresponding to the schemas of the plurality of tables
Access authority authentication device comprising a.
제4항에 있어서, 스키마 권한 설정부는,
상기 복수의 테이블의 스키마 중에서 어느 하나의 테이블의 스키마의 제1 속성과 다른 하나의 테이블의 스키마의 제2 속성이 동일하고 상기 제1 속성의 접근권한 레벨이 상기 제2 속성의 접근권한 레벨보다 큰 경우, 상기 조합 스키마에 포함되는 제2 속성의 접근권한 레벨을 상기 제1 속성의 접근권한 레벨과 동일하게 설정하는 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 4, wherein the schema authority setting unit,
Among the schemas of the plurality of tables, a first attribute of a schema of one table and a second attribute of a schema of another table are the same, and the access permission level of the first attribute is greater than the access permission level of the second attribute. In this case, the access right authentication device, characterized in that the access right level of the second attribute included in the combination schema is set equal to the access right level of the first attribute.
제5항에 있어서,
상기 접근 질의를 생성한 사용자의 접근권한 레벨은 상기 제1 속성의 접근권한 레벨보다 같거나 높은 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 5,
The access right authentication device, wherein the access right level of the user who generated the access query is equal to or higher than the access right level of the first attribute.
제4항에 있어서, 상기 스키마 권한 설정부는,
상기 복수의 테이블의 스키마 중에서 어느 하나의 테이블의 스키마의 제1 속성과 다른 하나의 테이블의 스키마의 제2 속성이 동일하고, 상기 접근 질의를 생성한 사용자의 접근권한 레벨이 상기 제1 속성의 접근권한 레벨과 상기 제2 속성의 접근권한 레벨 중에서 적어도 하나보다 낮은 경우, 상기 제1 속성 및 상기 제2 속성에 대한 접근을 거절하는 것을 특징으로 하는 접근권한 인증 장치.
The method of claim 4, wherein the schema authority setting unit,
Among the schemas of the plurality of tables, the first attribute of the schema of one table and the second attribute of the schema of another table are the same, and the access right level of the user who generated the access query is the access right of the first attribute When lower than at least one of the one level and the access right level of the second property, the access right authentication device, characterized in that to reject the access to the first property and the second property.
컴퓨터에,
서로 동일한 컬럼 그룹으로 구성된 테이블 스키마를 가지는 복수의 테이블에 대하여 각 테이블의 컬럼별 접근권한 레벨의 무결성 확인을 위한 무결성 확인 질의를 수신하는 과정;
상기 무결성 확인 질의에 따라 상기 각 테이블의 컬럼별 접근권한 레벨을 확인하는 과정;
컬럼별 기설정 권한 조건을 확인하여 상기 컬럼별 기설정 권한 조건과 상기 각 테이블의 컬럼별 접근권한 레벨을 비교하는 과정; 및
상기 각 테이블의 컬럼별 접근권한 레벨이 상기 컬럼별 기설정 권한조건과 일치하지 않는 경우 상기 각 테이블의 컬럼별 접근권한 레벨을 상기 컬럼별 기설정 권한 조건에 대응되는 컬럼별 접근권한 레벨로 설정하는 과정
을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
On the computer,
Receiving an integrity check query for checking the integrity of the access permission level for each column of each table for a plurality of tables having a table schema composed of the same column group;
Checking an access permission level for each column of each table according to the integrity check query;
Checking a pre-set permission condition for each column and comparing the pre-set permission condition for each column with an access permission level for each column of the table; And
When the access permission level for each column of each table does not match the pre-set permission condition for each column, the access permission level for each column of each table is set to the access permission level for each column corresponding to the pre-set permission condition for each column. process
A computer-readable recording medium that records a computer program for running.
KR1020140150644A 2014-10-31 2014-10-31 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor KR102182573B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140150644A KR102182573B1 (en) 2014-10-31 2014-10-31 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140150644A KR102182573B1 (en) 2014-10-31 2014-10-31 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor

Publications (2)

Publication Number Publication Date
KR20160051164A KR20160051164A (en) 2016-05-11
KR102182573B1 true KR102182573B1 (en) 2020-11-24

Family

ID=56025972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140150644A KR102182573B1 (en) 2014-10-31 2014-10-31 Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor

Country Status (1)

Country Link
KR (1) KR102182573B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070913B1 (en) * 2017-12-29 2020-01-29 주식회사 비스텔 Method and apparatus for processing wafer data
CN117114843B (en) * 2023-10-25 2024-02-23 浙江农商数字科技有限责任公司 Bank data quality control method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100808143B1 (en) * 2005-12-01 2008-02-29 한국전자통신연구원 XML data stream processing system and method for managing the access control using XPath
KR100976591B1 (en) * 2007-12-10 2010-08-17 한국전자통신연구원 A Column-Oriented Data Management System and Method For Managing The Access Control Of Large And Sparse Tables.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100808143B1 (en) * 2005-12-01 2008-02-29 한국전자통신연구원 XML data stream processing system and method for managing the access control using XPath
KR100976591B1 (en) * 2007-12-10 2010-08-17 한국전자통신연구원 A Column-Oriented Data Management System and Method For Managing The Access Control Of Large And Sparse Tables.

Also Published As

Publication number Publication date
KR20160051164A (en) 2016-05-11

Similar Documents

Publication Publication Date Title
US9081978B1 (en) Storing tokenized information in untrusted environments
CN109492884B (en) Compliance risk information display method and device, computer equipment and storage medium
US7299171B2 (en) Method and system for processing grammar-based legality expressions
US9602529B2 (en) Threat modeling and analysis
CN107798038B (en) Data response method and data response equipment
EP3398091B1 (en) System and method for unified access control on federated database
US8498995B1 (en) Optimizing data retrieval during event data query processing
CA2957674C (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
US10362052B2 (en) Generating a virtual database to test data security of a real database
US11392620B2 (en) Clustering log messages using probabilistic data structures
CN109144978A (en) Right management method and device
CN109766686A (en) Rights management
Dalai et al. Neutralizing SQL injection attack using server side code modification in web applications
US10339035B2 (en) Test DB data generation apparatus
KR102182573B1 (en) Apparatus for Setting Access Permission in Large-Scale Data Environment and Computer-Readable Recording Medium with Program therefor
CN112613075A (en) Permission determination method and device, storage medium and electronic device
CN109284629B (en) Authority control method and system of distributed file storage system
CN110427770A (en) A kind of Access and control strategy of database method and system for supporting service security to mark
KR101897395B1 (en) Design and System for managing Security Vulnerability based Standard Dataset for Developing and Validating Cyber Warfare Scenarios
CN115827589A (en) Authority verification method and device, electronic equipment and storage medium
CN109582676B (en) Power data processing method and device, computer equipment and storage medium
KR102216886B1 (en) Apparatus for Processing Query by Using Dynamic Schema and Computer-Readable Recording Medium with Program therefor
CN112860637A (en) Method and system for processing log based on audit strategy
CN106067881A (en) Data Access Security control method based on OS/400, Apparatus and system
US10621198B1 (en) System and method for secure database replication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant