[go: up one dir, main page]

KR20130085517A - Data access control apparatus and method - Google Patents

Data access control apparatus and method Download PDF

Info

Publication number
KR20130085517A
KR20130085517A KR1020110134988A KR20110134988A KR20130085517A KR 20130085517 A KR20130085517 A KR 20130085517A KR 1020110134988 A KR1020110134988 A KR 1020110134988A KR 20110134988 A KR20110134988 A KR 20110134988A KR 20130085517 A KR20130085517 A KR 20130085517A
Authority
KR
South Korea
Prior art keywords
information
data
access
user
query
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
KR1020110134988A
Other languages
Korean (ko)
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 KR1020110134988A priority Critical patent/KR20130085517A/en
Publication of KR20130085517A publication Critical patent/KR20130085517A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, 사용자의 정보 접근 요청을 입력받는 사용자 인터페이스, 상기 사용자에 대한 권한 정보를 제공하는 접근 권한 제공부, 상기 권한 정보 및 상기 정보 제공 요청에 기초하여 데이터 질의를 변환하는 질의 변환부 및 상기 데이터 질의를 분석하고, 상기 분석된 데이터 질의에 대응되는 정보를 제공하는 데이터 제공부를 포함하는 데이터 접근 제어 장치를 제공한다.
본 발명에 따르면, 다중 테넌트를 지원하는 시스템에 있어서, 사용자의 접근 권한에 따라 질의 변환을 통해서 접근 제어를 하여, 효과적으로 데이터 접근 제어를 수행할 수 있다.
The present invention provides a user interface for receiving an information access request of a user, an access authority providing unit for providing authority information for the user, a query converting unit for converting a data query based on the authority information and the information providing request, and the A data access control apparatus including a data provider for analyzing a data query and providing information corresponding to the analyzed data query is provided.
According to the present invention, in a system supporting multiple tenants, data access control can be effectively performed by performing access control through query transformation according to a user's access authority.

Description

데이터 접근 제어 장치 및 방법{DATA ACCESS CONTROL APPARATUS AND METHOD}DATA ACCESS CONTROL APPARATUS AND METHOD}

본 발명은 데이터 접근 제어 장치에 관한 것으로, 보다 상세하게는 다중 테넌트를 지원하기 위하여 질의 기반으로 데이터 접근을 제어하는 장치 및 방법에 관한 것이다.The present invention relates to a data access control apparatus, and more particularly, to an apparatus and method for controlling data access based on a query to support multiple tenants.

SaaS(Software as a Service)는 공급자나 서비스 제공자가 어플리케이션을 호스팅하고, 고객은 네트워크를 통하여 호스팅된 어플리케이션을 사용하는 형태의 소프트웨어 배포 모델을 의미한다.Software as a Service (SaaS) refers to a software distribution model in which a provider or service provider hosts an application, and a customer uses a hosted application over a network.

SaaS(Software as a Service) 플랫폼에서는 비용 절감을 위하여 하나의 데이터 베이스에 다중 테넌트(Tenant)를 지원하기 위한 테넌트 데이터를 저장한다. 따라서, SaaS 플랫폼상의 어플리케이션은 다수의 테넌트가 사용하는 복수의 논리적 스키마를 다수의 테넌트가 공유하는 하나의 물리적 스키마로 매핑하여 테넌트 데이터를 이용한다. 따라서, 개별 테넌트는 독립적인 데이터 베이스를 사용하는 것이 아니라, 하나의 데이터베이스에서 동일한 테이블 안에 개별 테넌트의 데이터를 저장하여야 한다. 따라서, 다수의 테넌트가 동일한 데이터베이스 공간에 데이터를 저장하는 경우, 개별 테넌트의 데이터에 대한 무단 접근을 방지할 필요성이 있다.Software as a Service (SaaS) platform stores tenant data to support multiple tenants in a single database to reduce costs. Therefore, an application on the SaaS platform uses tenant data by mapping a plurality of logical schemas used by multiple tenants to a single physical schema shared by multiple tenants. Therefore, individual tenants do not use independent databases, but store individual tenant data in the same table in one database. Therefore, when multiple tenants store data in the same database space, there is a need to prevent unauthorized access to data of individual tenants.

또한, SaaS 플랫폼과 같은 다중 테넌트 환경에서는 개별 테넌트가 각각의 요구 사항에 따라 스키마(Schema), 로직(Logic), 페이지 등의 설정을 변경하여 사용하기 때문에 개별 테넌트에 대한 접근 제어를 하는 것이 용이하지 아니하다.In addition, in a multi-tenant environment such as the SaaS platform, it is not easy to control access to individual tenants because individual tenants change the configuration of Schema, Logic, and Page according to their requirements. No

종래 기술은 데이터 접근 제어를 효과적으로 하기 위하여, 응용 프로그램 접속 URL을 접근 제어의 대상으로 보고, 접근 권한에 따라 접속을 허가하거나 차단하는 방법이 있었다.In the prior art, in order to effectively control data access, there is a method of viewing an application access URL as an access control object and allowing or blocking access according to access authority.

다른 종래 기술로는 어플리케이션을 워크플로우에 매핑하여, 워크플로우 및 워크플로우를 구성하는 액티비티(Activity) 등을 접근 제어의 대상으로 보고 접근 권한에 따라 접속을 허가하거나 차단하는 방법이 제안되었다.Another conventional technique has been proposed in which an application is mapped to a workflow to view the workflow and the activities constituting the workflow as access control targets and to permit or block access according to the access authority.

또 다른 종래 기술로는 데이터베이스를 어플리케이션별로 권한을 주어 데이터베이스 접근을 허용하거나 차단하는 방법이 제안되었다.Another prior art has proposed a method of granting or blocking access to a database by granting a database permission for each application.

그러나, 종래 기술들과 같이 테넌트별로 스키마, 로직, 페이지 등을 변경하여 메타데이터로 저장하고, 이를 사용하는 환경에서는 다양한 객체들을 제어하기가 용이하지 아니하며, 제어를 위하여 필요한 데이터의 양과 그에 따른 오류가 발생할 염려가 있는바, 이를 효과적으로 제어할 수 있는 방법이 필요하게 되었다.However, as in the prior art, it is not easy to control various objects in an environment using schemas, logics, pages, etc. by changing tenants and using them, and the amount of data required for control and the error There is a risk of occurrence, and there is a need for a method to effectively control it.

다중 테넌트를 지원하는 시스템에 있어서 질의 기반으로 데이터베이스 접근 제어를 효과적으로 하는 장치 및 방법을 제공하는데 그 목적이 있다.An object of the present invention is to provide an apparatus and method for effectively controlling database access based on a query in a multi-tenant system.

상술한 기술적 과제를 해결하기 위한 본 발명의 일 실시예는 사용자의 정보 접근 요청을 입력받는 사용자 인터페이스; 상기 사용자에 대한 권한 정보를 제공하는 접근 권한 제공부; 상기 권한 정보 및 상기 정보 제공 요청에 기초한 데이터 질의를 생성하는 질의 변환부; 및 상기 데이터 질의를 분석하고, 상기 분석된 데이터 질의에 대응되는 정보를 제공하는 데이터 제공부를 포함하는 데이터 접근 제어 장치를 제공하는 것을 특징으로 할 수 있다.One embodiment of the present invention for solving the above technical problem is a user interface for receiving a user access request information; An access authority providing unit for providing authority information for the user; A query conversion unit generating a data query based on the authority information and the information providing request; And a data providing unit analyzing the data query and providing information corresponding to the analyzed data query.

또한, 상기 사용자 인터페이스는 상기 사용자의 정보 접근 요청을 입력받고, 상기 입력된 정보 접근 요청에 기초하여 세션 정보를 획득하는 사용자 인터페이스인것을 특징으로 할 수 있다.The user interface may be a user interface that receives an information access request of the user and obtains session information based on the input information access request.

또한, 상기 접근 권한 제공부는 상기 세션 정보에 기초하여 상기 데이터 레코드 접근 허용 여부를 판단하기 위한 역할 정보를 제공하는 역할 정보 제공부; 및 상기 세션 정보에 기초하여 상기 데이터의 응용 프로그램, 오브젝트 및 필드에 대한 접근 허용 여부를 판단하기 위한 프로파일 정보를 제공하는 프로파일 정보 제공부를 제공하는 것을 특징으로 할 수 있다. The access authority providing unit may further include: a role information providing unit providing role information for determining whether to permit access to the data record based on the session information; And a profile information providing unit for providing profile information for determining whether to permit access to the application program, the object, and the field of the data based on the session information.

또한, 상기 질의 변환부는 상기 역할 정보와 상기 프로파일 정보를 기초로 상기 정보 제공 요청을 변환하여 데이터 질의를 생성하는 것을 특징으로 할 수 있다.The query converting unit may generate a data query by converting the information providing request based on the role information and the profile information.

또한, 상기 데이터 제공부는 상기 데이터 질의에 대한 역할 정보 및 프로파일 정보를 분석하는 데이터 질의 분석부; 상기 분석된 프로파일 정보에 대응되는 정보에 대하여만 데이터 질의를 수행하는 질의 수행부; 및 상기 역할 정보에 기초하여 상기 데이터 질의에 따른 결과 정보를 제공하는 결과 제공부를 포함하는 것을 특징으로 할 수 있다. The data provider may further include a data query analyzer configured to analyze role information and profile information of the data query; A query execution unit that performs a data query only on information corresponding to the analyzed profile information; And a result providing unit which provides result information according to the data query based on the role information.

상술한 기술적 과제를 해결하기 위한 본 발명의 다른 실시예는 사용자의 정보 접근 요청을 입력받는 단계; 상기 사용자에 대한 권한 정보를 제공하는 접근 권한 제공 단계; 상기 권한 정보 및 상기 정보 제공 요청에 기초하여 데이터 질의를 생성하는 단계; 및 상기 데이터 질의를 분석하고, 상기 분석된 데이터 질의에 대응되는 정보를 제공하는 데이터 제공 단계를 포함하는 데이터 접근 제어 방법을 제공하는 것을 특징으로 할 수 있다.Another embodiment of the present invention for solving the above technical problem is a step of receiving a user information access request; Providing access authority for providing authority information for the user; Generating a data query based on the authority information and the information providing request; And a data providing step of analyzing the data query and providing information corresponding to the analyzed data query.

또한, 상기 정보 접근 요청을 입력받는 단계는 사용자의 정보 접근 요청을 입력받는 단계; 및 상기 입력된 정보 접근 요청에 기초하여 세선 정보를 획득하는 단계를 포함하는 것을 특징으로 할 수 있다.The receiving of the information access request may include receiving an information access request of a user; And obtaining fine line information based on the input information access request.

또한, 상기 접근 권한 제공 단계는 상기 세션 정보에 기초하여 상기 데이터 레코드 접근 허용 여부를 판단하기 위한 역할 정보를 제공하는 역할 정보 제공 단계; 및 상기 세션 정보에 기초하여 상기 데이터의 응용 프로그램, 오브젝트 및 필드에 대한 접근 허용 여부를 판단하기 위한 프로파일 정보를 제공하는 프로파일 정보 제공 단계를 포함하는 것을 특징으로 할 수 있다. The providing of the access right may include providing role information for determining whether to permit access to the data record based on the session information; And providing profile information for providing profile information for determining whether to permit access to the application program, the object, and the field of the data based on the session information.

또한, 상기 데이터 제공 단계는 상기 데이터 질의에 대한 역할 정보 및 프로파일 정보를 분석하는 데이터 질의 분석 단계; 상기 분석된 프로파일 정보에 대응되는 정보에 대하여만 데이터 질의를 수행하는 질의 수행 단계; 및 상기 역할 정보에 기초하여 상기 데이터 질의에 따른 결과 정보를 제공하는 결과 제공 단계를 포함하는 것을 특징으로 할 수 있다.The data providing step may include: a data query analysis step of analyzing role information and profile information for the data query; A query performing step of performing a data query only on information corresponding to the analyzed profile information; And a result providing step of providing result information according to the data query based on the role information.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예는 사용자의 정보 접근 요청을 입력받는 단계; 상기 사용자에 대한 권한 정보를 제공하는 접근 권한 제공 단계; 상기 권한 정보 및 상기 정보 제공 요청에 기초하여 데이터 질의를 생성하는 단계; 및 상기 데이터 질의를 분석하고, 상기 분석된 데이터 질의에 대응되는 정보를 제공하는 데이터 제공 단계를 포함하는 데이터 접근 제어 방법을 컴퓨터에서 실행가능하도록 기록한 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 특징으로 할 수 있다.Another embodiment of the present invention for solving the above technical problem is a step of receiving a user's information access request; Providing access authority for providing authority information for the user; Generating a data query based on the authority information and the information providing request; And a data providing step of analyzing the data query and providing information corresponding to the analyzed data query. It can be characterized.

다중 테넌트를 지원하는 시스템에 있어서, 사용자의 접근 권한에 따라 질의 변환을 통해서 접근 제어를 하여, 효과적으로 데이터 접근 제어를 수행할 수 있다.In a system supporting multi-tenant, data access control can be effectively performed by controlling access through query transformation according to a user's access authority.

도 1은 본 발명의 일 실시예에 따른 데이터 접근 제어 장치를 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 접근 제어 방법을 도시한 블록도이다.
1 is a block diagram illustrating a data access control apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating a data access control method according to an embodiment of the present invention.

이하에서는 본 발명의 일부 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울러 본 발명을 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

이하의 실시예들은 본 발명의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합하지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성할 수도 있다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.The following embodiments are a combination of elements and features of the present invention in a predetermined form. Each component or feature may be considered to be optional unless otherwise stated. Each component or feature may be implemented in a form that is not combined with other components or features. In addition, some of the elements and / or features may be combined to form an embodiment of the present invention. The order of the operations described in the embodiments of the present invention may be changed. Some configurations or features of certain embodiments may be included in other embodiments, or may be replaced with corresponding configurations or features of other embodiments.

본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. Embodiments of the invention may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.For a hardware implementation, the method according to embodiments of the present invention may be implemented in one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) , Field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of an implementation by firmware or software, the method according to embodiments of the present invention may be implemented in the form of a module, a procedure or a function for performing the functions or operations described above. The software code can be stored in a memory unit and driven by the processor. The memory unit may be located inside or outside the processor, and may exchange data with the processor by various well-known means.

이하의 설명에서 사용되는 특정(特定) 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
Specific terms used in the following description are provided to help the understanding of the present invention, and the use of the specific terms may be modified in other forms without departing from the technical spirit of the present invention.

도 1을 참조하여 본 발명의 일 실시예에 따른 데이터 접근 제어 장치를 설명한다. 데이터 접근 제어 장치는 사용자 인터페이스(100), 접근 권한 제공부(200), 질의 변환부(300) 및 데이터 제공부(400)을 포함한다.A data access control apparatus according to an embodiment of the present invention will be described with reference to FIG. 1. The data access control apparatus includes a user interface 100, an access authority providing unit 200, a query converter 300, and a data providing unit 400.

사용자 인터페이스(100)는 사용자의 정보 접근 요청을 입력받는다. 사용자의 정보 접근 요청을 입력받으면, 데이터 접근 제어 장치는 사용자의 정보 접근 요청이 이루어진 세션(session)에 기초하여 세션 정보를 획득한다.The user interface 100 receives a user's request for information access. When receiving a user's information access request, the data access control device obtains session information based on a session in which the user's information access request is made.

세션(session)이란 사용자와 컴퓨터, 또는 복수의 컴퓨터 간의 활성화된 논리적 연결을 의미하며, 세션 정보란 논리적 연결이 활성화된 사용자 또는 컴퓨터의 정보를 의마한다. 세션 정보는 예를 들어, 이름, 아이디, 이메일주소, 나이, 생년월일, 직책, 부서 또는 관리자 권한 등의 정보를 포함한다.A session refers to an activated logical connection between a user and a computer or a plurality of computers, and session information refers to information of a user or a computer on which a logical connection is activated. The session information includes, for example, information such as name, ID, email address, age, date of birth, job title, department or administrator authority.

본 발명의 일 실시예에 따르면, 사용자가 특정 어플리케이션을 수행하기 위한 정보를 요청하는 경우에 사용자로부터 사용자 인터페이스를 이용하여 특정 어플리케이션에 대한 정보 접근 요청을 입력받는다. 정보 접근 요청을 하는 사용자의 아이디, 이름, 부서, 직책, 또는 관리자 권한 여부 등을 판단하고, 그 중 이름, 직책 및 관리자 권한을 추출하여 세션 정보를 획득한다. 추출하고자 하는 정보는 사용자에 의하여 미리 설정되는 것이 바람직하다. According to an embodiment of the present invention, when a user requests information for executing a specific application, the user receives an information access request for a specific application using a user interface. The ID, name, department, position, or administrator authority of the user requesting the information access is determined, and among them, the name, position, and administrator authority are extracted to obtain session information. The information to be extracted is preferably set in advance by the user.

접근 권한 제공부(200)는 사용자에 대한 권한 정보를 제공한다. 접근 권한 제공부는 역할 정보 제공부(미도시) 및 프로파일 정보 제공부(미도시)를 포함한다. The access authority providing unit 200 provides authority information for the user. The access authority providing unit includes a role information providing unit (not shown) and a profile information providing unit (not shown).

역할 정보 제공부는 세션 정보에 기초하여 데이터 레코드 접근 허용 여부를 판단하기 위한 역할 정보를 제공한다. 데이터 레코드 접근 허용 여부란 데이터의 내용을 읽을 수 있는지 여부에 관한 설정으로, 보다 상세하게는 사용자의 정보 요청에 따른 결과 데이터가 검색된다고 하더라도, 역할 정보에 따라 사용자에게 검색된 데이터의 고유한 내용을 제공할 지 여부에 관한 설정을 의미한다.The role information providing unit provides role information for determining whether to permit access to the data record based on the session information. Whether to allow access to data records is a setting regarding whether the contents of the data can be read. More specifically, even if the result data is retrieved according to the user's request for information, the user provides unique contents of the retrieved data according to the role information. It means setting whether to do it or not.

본 발명의 일 실시예에 따르면, 획득된 세션 정보에서 부서, 직책 또는 관리자 권한 여부 등의 정보를 기초로 사용자로부터 역할 정보가 미리 설정된다. 미리 설정된 적어도 하나 이상의 역할 정보에 따라 부서, 직책 또는 관리자 권한 여부를 AND/OR 연산 등을 이용하여 데이터 베이스를 접근할 수 있는 역할 정보가 생성된다.According to an embodiment of the present invention, role information is preset from a user based on information such as whether a department, a position, or an administrator authority is obtained in the obtained session information. Role information for accessing the database using an AND / OR operation is generated based on at least one or more preset role information.

프로파일 정보 제공부는 세션 정보에 기초하여 데이터의 응용 프로그램, 오브젝트 및 필드에 대한 접근 허용 여부를 판단한다. 즉, 프로파일 제공부는 사용자의 나이, 직책 또는 아이디 등을 이용하여 응용 프로그램, 오브젝트, 및 필드에 대한 접근 허용 여부 등 사용자의 검색 대상에 관한 정보를 제공한다. The profile information providing unit determines whether to allow access to an application, an object, and a field of data based on the session information. That is, the profile providing unit provides information on the search target of the user, such as whether to allow access to an application, an object, and a field by using the user's age, title, or ID.

본 발명의 일 실시예에 따르면, 획득된 세션 정보에서 부서 또는 직책 등에 따라 프로파일 정보가 생성되며, 생성된 프로파일 정보에 따라 사용자는 권한이 있는 오브젝트 관련 테이블, 권한이 있는 필드에 대하여만 질의를 수행할 수 있도록 하게 되며, 따라서, 데이터 레벨에서의 접근 제어가 이루어지게 된다.According to an embodiment of the present invention, profile information is generated according to a department or a job title from the acquired session information, and a user performs a query only on an object-related table and a field having authority according to the generated profile information. Thus, access control at the data level is achieved.

질의 변환부(300)는 권한 정보 및 정보 제공 요청에 기초로 정보 제공 요청을 변환하여 데이터 질의를 생성한다. 사용자에 의하여 입력되는 정보 제공 요청은 사용자의 역할 및 프로파일에 관계없는 범용적인 정보 제공요청으로서, 질의 변환부는 권한 정보 및 정보 제공 요청에 기초하여 정보 제공 요청을 변환하여 데이터 질의를 생성한다.The query converting unit 300 generates a data query by converting the information providing request based on the authority information and the information providing request. The information providing request input by the user is a general information providing request irrespective of the user's role and profile. The query converting unit converts the information providing request based on the authority information and the information providing request to generate a data query.

본 발명의 일 실시예에 따르면, 사용자로부터 오브젝트 A에 대하여 정보 제공 요청이 있는 경우, 사용자 인터페이스는 정보 제공 요청을 한 사용자의 세션을 검토하여 사용자의 권한 정보를 획득한다. 사용자의 권한 정보가 '관리자'라는 프로파일 정보와 '인사부'라는 역할 정보를 획득하였다면, 상기 정보 제공 요청과 획득한 권한 정보를 기초하여 (SELECT * FROM A WHERE 프로파일='관리자' AND 역할='인사부')라는 데이터 질의를 생성한다.According to an embodiment of the present invention, when there is a request for providing information about the object A from the user, the user interface reviews the session of the user who has made the request for providing information and obtains the user's authority information. If the user's authority information has acquired the profile information of 'administrator' and the role information of 'human resources', based on the request for providing the information and the acquired authority information, (SELECT * FROM A WHERE profile =' manager 'AND role =' human resources department) Create a data query called ').

데이터 제공부(400)는 데이터 질의를 분석하고, 분석된 데이터 질의에 대응되는 정보를 제공한다. 상기 데이터 제공부는 데이터 질의 분석부(미도시), 질의 수행부(미도시), 결과 제공부(미도시)를 포함한다.The data provider 400 analyzes the data query and provides information corresponding to the analyzed data query. The data providing unit includes a data query analyzing unit (not shown), a query executing unit (not shown), and a result providing unit (not shown).

데이터 질의 분석부는 데이터 질의에 대한 역할 정보 및 프로파일 정보를 분석한다. 본 발명의 일 실시예에 따르면, (SELECT * FROM A WHERE 프로파일='관리자' AND 역할='인사부')라는 쿼리가 수신된 경우에 수신된 쿼리를 분석하여 '관리자'라는 프로파일 정보와 '인사부'라는 역할 정보를 추출한다.The data query analyzer analyzes role information and profile information for the data query. According to an embodiment of the present invention, when the query (SELECT * FROM A WHERE profile = 'administrator' AND role = 'human resources') is received, the received query is analyzed to analyze the profile information of 'manager' and 'human resources'. Extract role information

질의 수행부는 분석된 프로파일 정보에 대응되는 정보에 대하여만 데이터 질의를 수행한다. 즉, 데이터 질의 분석부에서 프로파일 정보에 대응하는 데이터의 응용 프로그램, 오브젝트 및 필드에 대하여만 접근이 허용되므로, 질의 수행부는 접근이 허용되는 데이터에 대하여만 데이터 질의를 수행한다. 본 발명의 일 실시예에 따르면, 프로파일 정보가 '관리자' 인 경우, 인사 관리에 관련된 응용 프로그램, 오브젝트 및 필드에 대하여만 검색한다. The query execution unit performs a data query only on information corresponding to the analyzed profile information. That is, since only the application, object, and field of the data corresponding to the profile information are allowed in the data query analyzer, the query execution unit performs a data query only on the data to which the access is allowed. According to an embodiment of the present invention, when the profile information is 'administrator', only the application programs, objects and fields related to personnel management are searched.

즉, 테넌트 데이터의 오브젝트(스키마), 필드, 레코드에 고유한 정보가 들어 있어서, 권한 없이 접근하는 질의에 대하서는 데이터를 반환하지 않는다.In other words, tenant data's objects (schema), fields, and records contain unique information, and do not return data for queries accessed without permission.

결과 제공부는 데이터 질의 분석부에서 분석한 역할 정보에 기초하여 질의 수행부에서 검색한 결과 데이터를 사용자에 제공한다. 역할 정보는 레코드에 대한 접근 권한을 나타내는 정보로서, 권한이 없는 역할 정보를 가지는 경우에는 결과 데이터를 제공하지 않는다. 본 발명의 일 실시예에 따르면, 역할 정보가 '인사부'인 경우에는 미리 설정된 정보 이외의 모든 정보에 대하여 결과 데이터가 제공된다.The result provider provides the user with the result data searched by the query execution unit based on the role information analyzed by the data query analyzer. Role information is information indicating access authority to a record. When the role information has role information without authority, role information is not provided. According to an embodiment of the present invention, when the role information is 'human resources', the result data is provided for all information other than the preset information.

따라서, 사용자가 잘못된 정보 접근 요청을 입력하는 경우, 플랫폼의 내부단계에서 접근 제어를 실시하므로, 권한 없는 데이터를 반환하지 않도록 접근 제어를 할 수 있다.Therefore, when a user inputs an incorrect information access request, access control is performed at an internal stage of the platform, and thus access control may be performed so that unauthorized data is not returned.

도 2를 참조하여 본 발명의 일 실시예에 따른 데이터 접근 제어 장치의 데이터 제공부의 제공 과정을 설명한다.A process of providing a data providing unit of a data access control apparatus according to an embodiment of the present invention will be described with reference to FIG. 2.

데이터 질의에 대하여 역할 정보와 프로파일 정보가 분석된 경우, 데이터 접근 제어 장치는 프로파일 정보에 기초하여 데이터 질의를 수행한다. 본 발명의 일 실시예에 따라, 사용자가 어플리케이션 B에 사용되는 오브젝트 C의 스키마에 대하여 정보 접근 요청을 한 경우에, 질의 수행부는 사용자의 프로파일 정보를 분석하여 사용자가 접근 가능한 어플리케이션은 A(501-1), B(501-2), 접근 가능한 오브젝트는 A(503-1), B(503-2), C(503-3), 페이지(505), 로직(507) 및 스키마(509)에 데이터 질의를 수행한다.When the role information and the profile information are analyzed for the data query, the data access control device performs the data query based on the profile information. According to an embodiment of the present invention, when the user makes a request for access to information about the schema of the object C used for the application B, the query execution unit analyzes the profile information of the user and the user can access the application A (501-). 1), B 501-2, accessible objects are assigned to A 503-1, B 503-2, C 503-3, page 505, logic 507, and schema 509. Perform a data query.

질의를 수행한 결과, 결과 데이터가 필드A, 필드B 및 필드C에 대한 레코드로 레코드 A, 레코드 B 및 레코드 C에 제공되는 경우 데이터 접근 제어 장치는 역할 정보를 확인한다. 사용자가 필드A 및 필드B에 대하여 접근이 허용되는 역할 정보를 가지는 것으로 확인된 경우에는 레코드 A 및 레코드 B에 대하여만 사용자에게 데이터를 제공한다. 따라서, 사용자의 권한 없는 필드 C에 대한 데이터 접근을 제어할 수 있다.As a result of the query, when the result data is provided to Record A, Record B, and Record C as records for Field A, Field B, and Field C, the data access control apparatus confirms the role information. If the user is found to have role information allowed access to fields A and B, data is provided to the user for records A and B only. Thus, it is possible to control data access to the unauthorized field C of the user.

도 3을 참조하여 본 발명의 일 실시예에 따른 데이터 접근 제어 방법을 설명한다. 상술한 데이터 접근 제어 장치의 구성과 동일한 내용은 상술한 내용으로 대체한다.A data access control method according to an embodiment of the present invention will be described with reference to FIG. 3. The same contents as the configuration of the above-described data access control apparatus are replaced with the above contents.

S100 단계는 사용자의 정보 접근 요청을 입력받는다. 사용자의 정보 접근 요청은 키보드, 마우스 등의 외부 장치를 통하여 입력받을 수 있다.In step S100, a user access request for information is input. The request for access to information of the user may be input through an external device such as a keyboard or a mouse.

S110 단계는 입력된 정보 접근 요청에 기초하여 세션 정보를 획득한다. 정보 접근 요청에 따른 사용자의 아이디, 이름, 부서, 직책 또는 관리자 권한 등이 추출되며, 추출된 정보를 기초로 세션 정보가 생성된다In step S110, session information is obtained based on the input information access request. The user's ID, name, department, title, or administrator authority is extracted according to the information access request, and session information is generated based on the extracted information.

S120 단계는 사용자에 대한 권한 정보를 제공한다. 세션 정보에 기초하여 데이터 접근 허용 여부를 판단하기 위한 역할 정보와 사용자의 검색 대상에 관한 정보를 제공하는 프로파일 정보를 포함하는 권한 정보를 제공한다.Step S120 provides the authority information for the user. The authority information includes role information for determining whether to allow data access based on session information and profile information for providing information on a user's search target.

S130 단계는 권한 정보 및 제공 요청에 기초하여 사용자로부터 입력받은 정보 접근 요청을 변환하여 데이터 질의를 생성한다. Step S130 converts the information access request received from the user based on the authority information and the request for providing the data query.

S140 단계는 생성한 데이터 질의를 분석하여 역할 정보와 프로파일 정보를 분석하고, 프로파일 정보에 기초하여 데이터 질의를 수행하고, 역할 정보에 기초하여 사용자에게 정보를 제공한다.Step S140 analyzes the generated data query to analyze the role information and profile information, performs a data query based on the profile information, and provides information to the user based on the role information.

즉, 질의 기반의 접근 제어 방법은 질의에 권한 정보를 추가하여 질의를 변환하는 방법으로 접근을 제어하므로, 내부의 스키마에 관계없이 접근 제어를 할 수있다. 즉, 원래의 질의가 내부 스키마를 기반으로 정의되어 있으므로, 권한 관리 정보를 추가를 하는 과정에서는 내부 스키마와 관계없이 접근 제어가 가능하다. 따라서 다중 테넌트의 공유 스키마를 지원하는 플랫폼에서도 내부 스키마를 제공하는 방식에 상관없이 본 발명의 접근 제어 방법을 적용하여 구현하는 것이 가능한 ㅎy과가 있다.
That is, the query-based access control method controls access by adding authorization information to the query and converting the query, so that access control can be performed regardless of the internal schema. That is, since the original query is defined based on the internal schema, access control is possible regardless of the internal schema in the process of adding authorization management information. Therefore, even in a platform that supports a multi-tenant shared schema, there is a problem that can be implemented by applying the access control method of the present invention regardless of a method of providing an internal schema.

본 발명에 의한 실시예들은 컴퓨터 프로그램으로 작성 가능하다. 이 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 해당 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(Computer Readable Media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 실시예를 구현한다. 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
Embodiments of the present invention can be written in a computer program. The code and code segments that make up this computer program can be easily deduced by a computer programmer in the field. In addition, the computer program is stored in a computer readable medium (Computer Readable Media), and the embodiment is implemented by being read and executed by a computer. The information storage medium includes a magnetic recording medium, an optical recording medium and a carrier wave medium.

이제까지 본 발명에 대하여 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명을 구현할 수 있음을 이해할 것이다. 그러므로, 상기 개시된 실시예 들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 한다.The present invention has been described above with reference to preferred embodiments. It will be understood by those skilled in the art that the present invention may be embodied in various other forms without departing from the spirit or essential characteristics thereof. Therefore, the above-described embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is shown not in the above description but in the claims, and all differences within the scope should be construed as being included in the present invention.

100: 사용자 인터페이스 200: 접근 권한 제공부
300: 질의 변환부 400: 데이터 제공부
100: user interface 200: access authority providing unit
300: query converter 400: data provider

Claims (1)

사용자의 정보 접근 요청을 입력받는 사용자 인터페이스;
상기 사용자에 대한 권한 정보를 제공하는 접근 권한 제공부;
상기 권한 정보 및 상기 정보 접근 요청에 기초하여 데이터 질의를 생성하는 질의 변환부; 및
상기 데이터 질의에 대응되는 정보를 제공하는 데이터 제공부를 포함하는 데이터 접근 제어 장치.
A user interface for receiving a user's request for information access;
An access authority providing unit for providing authority information for the user;
A query converter configured to generate a data query based on the authority information and the information access request; And
And a data provider for providing information corresponding to the data query.
KR1020110134988A 2011-12-14 2011-12-14 Data access control apparatus and method Withdrawn KR20130085517A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110134988A KR20130085517A (en) 2011-12-14 2011-12-14 Data access control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110134988A KR20130085517A (en) 2011-12-14 2011-12-14 Data access control apparatus and method

Publications (1)

Publication Number Publication Date
KR20130085517A true KR20130085517A (en) 2013-07-30

Family

ID=48995669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110134988A Withdrawn KR20130085517A (en) 2011-12-14 2011-12-14 Data access control apparatus and method

Country Status (1)

Country Link
KR (1) KR20130085517A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175437A (en) * 2019-04-11 2019-08-27 全球能源互联网研究院有限公司 It is a kind of for access terminal authorization control method, apparatus and host terminal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175437A (en) * 2019-04-11 2019-08-27 全球能源互联网研究院有限公司 It is a kind of for access terminal authorization control method, apparatus and host terminal

Similar Documents

Publication Publication Date Title
US12339844B2 (en) Self-service data platform
US11620400B2 (en) Querying in big data storage formats
RU2446456C2 (en) Integration of corporate search engines with access control application programming special interfaces
JP6918120B2 (en) Data sharing in a multi-tenant database system
US9483516B2 (en) Multi-version concurrency control across row store and column store
US8914323B1 (en) Policy-based data-centric access control in a sorted, distributed key-value data store
US9436734B2 (en) Relative performance prediction of a replacement database management system (DBMS)
US10360394B2 (en) System and method for creating, tracking, and maintaining big data use cases
Muppala SQL Database Mastery: Relational Architectures, Optimization Techniques, and Cloud-Based Applications
US8386445B2 (en) Reorganizing database tables
US20150248452A1 (en) Optimization of mixed database workload scheduling and concurrency control by mining data dependency relationships via lock tracing
US12493498B2 (en) Workflow data redistribution in hybrid public/private computing environments
US11853284B2 (en) In-place updates with concurrent reads in a decomposed state
US8190673B2 (en) Enforcement of object permissions in enterprise resource planning software
US11372859B2 (en) Efficiently supporting value style access of MOBs stored in SQL LOB column by providing value based semantics for LOBs in RDBMS
US8200698B2 (en) Optimizing distributed and hybrid queries incorporating trust measures
US9971801B2 (en) Grid cell data requests
US20110153679A1 (en) System and method to for implementing unique primary keys across enterprise databases
KR20130085517A (en) Data access control apparatus and method
Gupta et al. Incorporating data citation in a biomedical repository: An implementation use case
US11520769B1 (en) Block level lock on data table
Simmhan et al. Analysis of approaches for supporting the open provenance model: A case study of the trident workflow workbench
US10860597B2 (en) Reporting system for transaction server using cluster stored and processed data
JP2015045995A (en) Virtual database system management device, management method and management program
Wang et al. Research on license management for CAE software resources shared across multiple slurm clusters

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20111214

PG1501 Laying open of application
PC1203 Withdrawal of no request for examination
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid