KR20120062514A - SaaS 환경에서의 권한 관리 장치 및 방법 - Google Patents

SaaS 환경에서의 권한 관리 장치 및 방법 Download PDF

Info

Publication number
KR20120062514A
KR20120062514A KR1020100123807A KR20100123807A KR20120062514A KR 20120062514 A KR20120062514 A KR 20120062514A KR 1020100123807 A KR1020100123807 A KR 1020100123807A KR 20100123807 A KR20100123807 A KR 20100123807A KR 20120062514 A KR20120062514 A KR 20120062514A
Authority
KR
South Korea
Prior art keywords
tenant
application
authority
information
user
Prior art date
Application number
KR1020100123807A
Other languages
English (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 KR1020100123807A priority Critical patent/KR20120062514A/ko
Priority to US13/292,581 priority patent/US20120144454A1/en
Publication of KR20120062514A publication Critical patent/KR20120062514A/ko

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

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)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

SaaS 환경에서의 권한관리 장치와 방법이 개시된다. 상기 권한관리 장치와 방법은, 테넌트에게 제공될 어플리케이션에 대한 기본권한이 정의된 가상테넌트와 상기 가상테넌트의 기본권한을 상기 어플리케이션 사용을 요청하는 테넌트에 대해서 동일하게 적용하여 효율적이고 오류를 줄일 수 있는 자동화된 권한관리 장치와 방법을 제공한다. 또한 각 테넌트별로 테넌트의 상황에 맞는 역할을 정의하고, 역할에 따른 어플리케이션 자원을 할당할 수 있게 함으로써, 다양한 테넌트에 맞춤화된 서비스를 제공하는 권한관리 장치와 방법을 제공한다. 권한 관리장치는 사용자 어플리케이션 접속 통제장치, 사용자의 자원에 대한 접속통제장치, 가상의 테넌트 권한 정의 장치, 테넌트 권한 정의 장치를 포함하여 구성된다.

Description

SaaS 환경에서의 권한 관리 장치 및 방법{AUTHORIZATION APPARATUS AND METHOD UNDER SOFTWARE AS A SERVICE PLATFORM}
본 발명은 SaaS(Software as a Service)환경에서 제공하는 어플리케이션에 대한 권한관리 장치 및 방법에 대한 것으로, 더욱 상세하게는 다중 테넌트를 지원할 수 있는 권한관리 장치 및 방법에 대한 것이다.
정보시스템을 개발하고 유지하는 비용이 증가함에 따라서, 자신들의 업무 기능들을 제 3자, 즉 어플리케이션 서비스 제공자들에게 아웃소싱하는 기업들이 늘고 있다. 예를 들면, 어프리케이션 서비스 제공자들은 기업의 여러가지 업무와 관련된 다양한 어플리케이션을 소프트웨어로 개발하여 기업들에게 서비스, 기업들은 이러한 서비스를 전문 서비스 업체로부터 제공받음으로써, 여러 가지 어플리케이션 시스템을 직접 관리함으로써 발생하는 비용과 비효율성을 줄일 수 있다. 한편 상기 서비스 제공자들은 서비스를 받고자 하는 다양한 규모의 기업들과 그들의 서로 다른 요구사항을 지원할 수 있어야 한다.
이러한 요구사항에 맞추기 위하여 등장한 개념이 SaaS(Software as a Service)로서, 이는 소프트웨어 중 기업이 필요로 하는 기능만을 선택적으로 제공하는 소프트웨어의 배포 형태로. 서비스형 소프트웨어로도 불린다. 기업은 필요한 기능만을 이용할 수 있으며, 이용하는 부분에 대해서만 요금을 지급한다.
즉 하나의 소프트웨어는 가능한 많은 기업을 수용할 수 있도록, 포괄적인 기능이 탑재되어 있지만, 이를 이용하고자 하는 기업은 자신에게 필요한 기능만을 선택할 수 있고, 선택하지 않은 기능에 대해서는 비용을 지급할 필요가 없다. 따라서 다양한 기업 각각의 요구에 맞는 맞춤형 서비스를 제공하기 위한 발상으로, 이러한 SaaS는 네트워크를 통해 소프트웨어를 제공한다는 점에서 기존의 ASP(Application Service provider) 서비스와 비슷하지만 좀 더 기업에 맞게 커스터마이징할 수 있는 것이 이점이다. 즉 사용자 인터페이스, 비즈니스 로직, 데이터베이스 스키마 등을 각 기업에 맞게 커스터마이징하는 것이 SaaS의 특징이다.
또한 SaaS 기반 시스템의 경우, 각 기업별로 다른 서버를 할당하여 서비스를 제공하는 기존의 소프트웨어 서비스와는 달리, 하나의 서버를 이용하여 여러 기업에 서비스를 제공하며, 또한 여러 종류의 어플리케이션을 지원할 수 있어야 한다. 그런데, 이러한 환경에서 각각의 기업에게 필요한 어플리케이션 기능을 할당하는 작업은 많은 시간과 노력을 필요로 한다.
예를 들면, 공통의 데이터베이스 내에 모든 기업이 사용하는 기능과 데이터가 포함되는 상황에서, 각 기업의 요구에 따라 필요한 기능이나 자원을 소속된 개인의 접근권한에 따라 개별적으로 할당하고 정의하는 과정에서 많은 오류와 재작업이 발생하고 이로 인한 시간 및 자원의 손실을 가져온다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 목적은 SaaS(Software as a Service) 환경에서 여러 기업을 대상으로 다양한 어플리케이션 서비스를 제공함에 있어서, 기업에 따라서 어플리케이션에 대한 접근권한을 맞춤화하는 시간과 자원의 손실을 감소시킬 수 있는 권한 관리장치를 제공하는 것이다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 다른 목적은 SaaS(Software as a Service) 환경에서 여러 기업을 대상으로 다양한 어플리케이션 서비스를 제공함에 있어서, 기업에 따라서 어플리케이션에 대한 접근권한을 맞춤화하는 시간과 자원의 손실을 감소시킬 수 있는 권한 관리방법을 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 측면은 SaaS(Software as a Service)를 위한 어플리케이션 접속 통제 장치로서, 하나의 테넌트에 소속된 사용자의 어플리케이션 접속요청을 수신하는 어플리케이션 접속요청 수신부, 어플리케이션에 대한 테넌트 권한이 정의되어 있고, 상기 테넌트 권한은 역할들 및 상기 역할별 접속가능한 자원들을 포함하는 테넌트 권한 저장부, 상기 테넌트 권한 저장부를 참조하여 상기 요청된 어플리케이션에 대한 상기 접속요청 사용자가 소속된 테넌트의 권한을 조회하여 접속허용 여부를 결정하는 접속허용 결정부, 어플리케이션에 대한 테넌트별 소속된 사용자들의 역할을 포함하는 권한 정보가 저장되는 사용자 권한 저장부 및 상기 사용자 권한 저장부를 참조하여 상기 접속허용 결정된 사용자에 대하여 상기 요청된 어플리케이션에 대한 접속을 허용하는 접속 허용부를 포함하는 것을 특징으로 하는 어플리케이션 접속통제 장치를 제공한다.
여기서 상기 접속 허용부는, 상기 사용자 권한 저장부를 참조하여 상기 요청된 어플리케이션에 대한 상기 접속허용 결정된 사용자의 역할을 조회하는 역할 조회부, 상기 테넌트 권한 저장부를 참조하여 상기 조회된 사용자의 역할을 기초로 접속 가능한 자원들을 조회하는 접속가능 자원조회부, 사용자 인터페이스를 통하여 상기 조회된 접속가능한 자원들의 목록을 보여주는 자원 표시부를 포함하는 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명의 다른 측면은 SaaS(Software as a Service)를 위한 자원 접속 통제 장치로서, 하나의 테넌트에 소속된 사용자의 어플리케이션 자원에 대한 접속요청을 수신하는 자원 접속요청 수신부, 어플리케이션에 대한 테넌트별 소속 사용자들의 역할을 포함하는 권한 정보가 저장되는 사용자 권한 저장부, 상기 어플리케이션에 대한 테넌트 권한이 정의되어 있고, 상기 테넌트 권한은 역할들 및 상기 역할별 접속가능한 자원들을 포함하는 테넌트 권한 저장부, 상기 사용자 권한 저장부와 상기 테넌트 권한 저장부를 참조하여 상기 요청된 어플리케이션 자원에 대한 상기 사용자의 접속권한을 조회하여 접속권한이 있는지를 조회하는 자원 접속권한 조회부, 상기 접속권한이 조회된 사용자에 대하여 상기 요청된 자원에 대한 접속을 결정하는 자원접속 결정부를 포함하는 것을 특징으로 하는 자원 접속통제 장치를 제공한다.
여기서, 상기 자원접속 결정부는, 어플리케이션에 대한 기본정보 및 상기 어플리케이션 소속의 하나 이상의 자원정보가 저장되는 어플리케이션 정보저장부, 상기 자원접속이 조회된 사용자에 대하여 요청된 자원접속권한이 있는 경우 접속을 허용하는 자원접속 허용부 및 상기 어플리케이션 정보저장부를 참조하여, 상기 접속 요청된 자원에 대한 정보를 획득하여, 상기 자원 접속이 허용된 사용자에 대하여 인터페이스를 제공하는 사용자 인터페이스 제공부를 포함하는 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명의 또 다른 측면은 SaaS(Software as a Service)를 위한 가상 테넌트 권한 정의장치로서, 테넌트에 제공될 어플리케이션에 대한 등록요청을 수신하는 어플리케이션 등록요청 수신부, 어플리케이션에 대한 정보가 저장되는 어플리케이션 정보저장부, 어플리케이션에 대한 가상 테넌트의 사용권한 정보가 저장되는 가상 테넌트 권한 저장부, 상기 등록 요청받은 어플리케이션에 대한 정보를 정의하여 상기 어플리케이션 정보 저장부에 저장하는 어플리케이션 정보 정의부 및 상기 정보가 정의된 어플리케이션에 대한 사용권한을 가상 테넌트에 할당하여 상기 가상 테넌트 권한 저장부에 저장하는 가상테넌트 권한 정의부를 포함하는 것을 특징으로 하는 가상 테넌트 권한 정의장치를 제공한다.
여기서, 상기 어플리케이션 정보 저장부에 저장되는 어플리케이션 정보에는 상기 어플리케이션에 대한 기본정보, 상기 어플리케이션에 소속되는 하나 이상의 어플리케이션 자원 및 상기 어플리케이션 자원에 대한 기본정보가 포함되는 것을 특징으로 한다.
또한 여기서, 상기 가상 테넌트 권한 저장부에 저장되는 상기 가상테넌트의 사용권한으로는, 상기 정보가 정의된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되는 것을 특징으로 한다.
또한 여기서, 상기 가상 테넌트 권한 정의부는, 상기 정보정의된 어플리케이션에 대하여 기본 권한을 부여할 임의의 가상 테넌트를 생성하는 가상 테넌트 생성부, 상기 생성된 가상 테넌트에 소속되는 하나 이상의 역할을 정의하여 상기 가상 테넌트 권한 저장부에 저장하는 역할 정의부 및 상기 정의된 역할에 대하여, 상기 정보정의된 어플리케이션에 소속되는 하나 이상의 자원을 접속가능하도록 정의하여 가상 테넌트 권한 저장부에 저장하는 자원할당부를 포함하는 것을 특징으로 한다.
상기의 목적을 달성하기 위한 본 발명의 또 다른 측면은 SaaS(Software as a Service)를 위한 테넌트 권한 정의장치로서, 테넌트에 대한 어플리케이션 사용요청을 수신하는 어플리케이션 사용요청 수신부, 어플리케이션에 대한 가상 테넌트의 권한정보가 저장되는 가상 테넌트 권한 저장부, 어플리케이션에 대한 어플리케이션 사용을 요청한 테넌트의 권한정보가 저장되는 테넌트 권한 저장부 및 상기 요청받은 어플리케이션에 대하여, 상기 가상 테넌트 권한 저장부에 저장된 상기 가상 테넌트의 권한정보를 상기 사용요청 테넌트의 권한정보로 복사하여 상기 테넌트 권한 저장부에 저장하는 테넌트 권한할당부를 포함하는 것을 특징으로 하는 테넌트 권한 정의장치를 제공한다.
여기서, 상기 사용요청 테넌트에 소속되는 사용자들의 권한 정보가 저장되는 사용자 권한 저장부 및 상기 사용요청 테넌트의 권한정보와 상기 사용자 권한저장부의 사용자들의 권한정보를 참조하여, 상기 사용요청 테넌트에 소속되는 사용자들에 대하여 상기 요청된 어플리케이션 사용 권한을 부여하는 사용자 권한 할당부를 더 포함하는 것을 특징으로 한다.
여기서, 상기 가상 테넌트 권한 저장부에 저장되는 상기 가상 테넌트의 권한정보에는, 상기 사용 요청된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되고, 상기 테넌트 권한 저장부에 저장되는 상기 사용요청 테넌트의 권한정보에는, 상기 요청된 어플리케이션에 대한, 상기 사용요청 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되고, 상기 사용자 권한 저장부에 포함되는 사용자 권한 정보에는, 상기 사용요청 테넌트에 소속되는 사용자들의 기본역할과 상기 요청된 어플리케이션에 대한 역할이 정의된 정보가 포함되는 것을 특징으로 한다.
여기서, 상기 사용자 권한 할당부는, 상기 사용자 권한 저장부에 저장된 상기 사용요청 테넌트에 소속되는 사용자들의 기본역할을 기초로, 상기 요청된 어플리케이션에 대한 사용자들의 역할을 정의하여 상기 사용자 권한 저장부에 저장하는 것을 특징으로 한다.
또한 여기서, 상기 요청된 어플리케이션에 대한 사용자들의 역할은, 다르게 재 정의될 수 있고 상기 테넌트 권한 저장부에 복사된 상기 가상 테넌트의 권한정보는 재 정의 가능한 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명의 일 측면은 SaaS(Software as a Service)를 위한 가상 테넌트 권한 정의장치에서 수행되는 가상테넌트 권한 정의 방법으로, 테넌트에 제공될 어플리케이션에 대한 등록요청을 수신하는 어플리케이션 등록요청 수신단계, 상기 등록 요청받은 어플리케이션에 대한 정보를 정의하는 단계 및 상기 정보가 정의된 어플리케이션에 대한 사용권한을 가상 테넌트에 할당하는 단계를 포함하는 것을 특징으로 하는 가상 테넌트 권한 정의방법을 제공한다.
여기서, 상기 어플리케이션 정보에는 상기 어플리케이션에 대한 기본정보, 상기 어플리케이션에 소속되는 하나 이상의 어플리케이션 자원 및 상기 어플리케이션 자원에 대한 기본정보가 포함되는 것을 특징으로 한다.
또한 여기서 상기 가상테넌트의 사용권한으로는, 상기 정보가 정의된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되는 것을 특징으로 한다.
상기의 다른 목적을 달성하기 위한 본 발명의 다른 측면은 SaaS(Software as a Service)를 위한 테넌트 권한 정의장치에서 수행되는 테넌트 권한 정의 방법으로, 테넌트에 대한 어플리케이션 사용요청을 수신하는 어플리케이션 사용요청 수신단계부, 상기 요청받은 어플리케이션에 대하여, 미리 정의된 가상 테넌트의 권한정보를 상기 사용요청 테넌트의 권한정보로 그대로 할당하는 단계 및 상기 사용요청 테넌트의 할당된 권한정보와 사용요청 테넌트 소속 사용자들의 정보를 참조하여, 상기 사용요청 테넌트 소속 사용자들에 대하여 상기 요청된 어플리케이션에 대한 사용 권한을 부여하는 단계를 포함하는 것을 특징으로 하는 테넌트 권한 정의방법을 제공한다.
상술한 바와 같은 본 발명에 따른 SaaS(Software as a Service) 환경에서의 권한 관리 장치 및 방법을 이용하면, 어플리케이션의 기능을 각각의 기업에게 할당함에 있어서, 어플리케이션에 대한 기본 권한이 할당된 가상 테넌트를 정의하여, 이를 기초로 각각의 기업내 사용자들에게 권한을 할당하는 작업을 간편화하고 기업별로 역할 및 권한을 커스터마이징함으로써 수작업으로 인한 오류와 시간적 손실을 줄일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 어플리케이션 접속을 통제하기 위한 장치의 블록도이다.
도 2는 본 발명의 실시예에 따른 어플리케이션 접속을 통제하는 과정을 보여주는 시퀀스차트이다.
도 3은 본 발명의 실시예에 따른 어플리케이션의 자원의 접속을 통제하기 이한 장치의 블록도이다.
도 4는 본 발명의 실시예에 따른 어플리케이션의 자원의 접속을 통제하는 과정을 보여주는 시퀀스차트이다.
도 5는 본 발명의 실시예에 따른 가상테넌트 권한을 정의하기 위한 장치의 블록도이다.
도 6은 본 발명의 실시예에 따른 어플리케이션 정보저장부의 구조를 보여주는 개념도이다.
도 7은 본 발명의 실시예에 따른 가상테넌트 권한 저장부의 구조를 보여주는 개념도이다.
도 8은 본 발명의 실시예에 따른 가상테넌트의 권한을 정의하는 과정을 보여주는 시퀀스차트이다.
도 9는 본 발명의 실시예에 따른 어플리케이션 사용을 요청한 테넌트의 권한을 정의하기 위한 테넌트 권한정의 장치의 블록도이다.
도 10은 본 발명의 실시예에 따른 테넌트 권한저장부의 구조를 보여주는 개념도이다.
도 11은 본 발명의 실시예에 따른 사용자 권한저장부의 구조를 보여주는 개념도이다.
도 12는 본 발명의 실시예에 따른 어플리케이션 사용을 위한 테넌트의 권한을 정의하는 과정을 보여주는 시퀀스 차트이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부한 도면들을 참조하여 상세하게 설명한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
SaaS(Software as a Service)환경에서 여러 테넌트 즉, 여러 기업들에게 다양한 여러가지 어플리케이션을 제공함에 있어서, 기업의 환경과 요구에 맞는 어플리케이션 사용 환경을 제공하기 위한 권한관리 시스템이 개시된다.
특히, 본 발명에서는 각 테넌트들에 대한 각기 고유의 환경에 맞는 역할들을 부여하고, 각 역할에 대하여 서로 다른 권한을 정의함으로써, 동일 어플리케이션에 대하여 각 테넌트별로 개별적인 권한관리를 할 수 있는 장치가 개시된다.
또한 본 발명에서는 일종의 권한 템플릿인 가상테넌트 개념을 도입하여, 상기 가상 테넌트에 대하여 어플리케이션에 대한 역할 및 역할에 따른 기본권한을 미리 정의 줌으로써, 상기 가상테넌트의 기본역할을 기초로 자동화된 프로세스를 통하여 각각의 테넌트에게 어플리케이션에 대한 권한을 정의할 수 있는 권한정의 장치가 개시된다.
본 발명에서 언급되는 테넌트에는 개별기업, 일정한 목적을 갖는 소규모 그룹, 여러 관계사를 포함하는 전사적 기업, 개인들의 모임 등이 포함될 수 있다. 또한 본 발명에서 언급되는 어플리케이션에는 개인, 그룹 또는 회사의 업무를 지원하기 위한 어플리케이션, 외부의 활동을 지원하기 위한 어플리케이션 등 네트워크를 기반으로 접근하고 관리될 수 있는 모든 어플리케이션을 포함할 수 있다.
본 발명의 실시예에서 언급되는 저장부는 데이터베이스 관리시스템, 파일시스템 등 데이터를 포함하고, 상기 데이터를 일정한 형식으로 저장하고, 읽고, 쓰는 작업을 포함하는 제반 데이터관리 기능을 포함하는 모든 형태의 저장공간 및 데이터관리시스템을 포함한다.
본 발명의 실시예에서 언급되는 역할은 사용자 역할을 예시하고 있고, 자원으로 해당 어플리케이션에서 제공되는 사용자 인터페이스에서 선택가능한 메뉴의 항목(예를 들면 게시판 조회 등)이나 URL을 예시하고 있으나, 이는 어플리케이션이나 테넌트의 종류와 특성에 따라, 본 발명의 사상을 반영하여 좀 더 다양하게 정의될 수 있다.
이하 본 발명에 따른 SaaS 환경에서의 권한 관리 시스템과 관련하여, 사용자들의 어플리케이션 접속요청을 소속 테넌트에 정의된 권한에 따라서 처리하는 접속통제장치의 구성에 대해서 설명하고, 상기 접속통제장치를 구성하는 중요한 요소인 테넌트 권한 저장부와 사용자권한 저장부를 정의하기 위한 장치와 구조에 대해서 살펴보기로 한다.
사용자 접속 통제장치 구성 및 동작설명
사용자 접속통제는 두 단계로 구성될 수 있다. 즉 사용자가 어플리케이션에 대한 접속을 요청하는 경우와 어플리케이션의 자원에 대한 접속을 요청하는 경우로 나뉘어 질 수 있다. 본 발명에 따른 실시예에서는 동일한 어플리케이션이라도 사용자 역할별로 접속이 허용되는 자원이 다르기 때문에 어플리케이션에 대한 접속을 요청하는 경우와 어플리케이션의 자원에 대한 접속을 요구하는 경우를 나누어서 설명하기로 한다.
다만 상기 통제단계는 사용자에게 제공되는 인터페이스에 따라 단계를 분리할 수도 있고, 하나의 단계로 통합할 수도 있을 것이며, 두 개의 단계를 인터페이스를 통해서 연동시킬 수도 있을 것이다.
1) 어플리케이션에 대한 접속통제 장치 구성 및 동작설명
도 1은 본 발명의 실시예에 따른 어플리케이션 접속을 통제하기 위한 장치의 블록도이다.
도 1을 참조하면 본 발명의 실시예에 따른 어플리케이션 접속을 통제하기 위한 장치는 어플리케이션 접속요청 수신부(110), 어플리케이션 접속허용 결정부(120), 어플리케이션 접속 허용부(130), 사용자 권한 저장부(140), 테넌트 권한 저장부(150)를 포함하여 구성된다.
상기 어플리케이션 접속요청 수신부(110)는 사용자의 어플리케이션 접속요청을 수신하는 부분이다.
상기 어플리케이션 접속허용 결정부(120)는 상기 테넌트 권한 저장부(150)를 참조하여 상기 접속요청된 어플리케이션에 대한 사용자가 소속된 테넌트의 접속권한을 조회하고, 유효한 권한정보가 저장되어 있는지를 확인하여 접속허용 여부를 결정하는 부분이다.
상기 어플리케이션 접속 허용부(130)는 상기 접속허용이 결정된 사용자에 대하여 상기 요청된 어플리케이션에 대한 접속을 허용하는 부분으로 사용자 역할조회부(131), 접속가능 자원 조회부(132), 접속가능 자원 표시부(133)를 포함하여 구성된다.
상기 사용자역할 조회부(131)는 상기 사용자 권한 저장부(140)를 참조하여 상기 요청된 어플리케이션에 대한 상기 접속이 허용된 사용자의 역할을 조회하는 부분이다.
상기 접속가능 자원 조회부(132)는 상기 테넌트 권한 저장부(150)를 참조하여 상기 접속허용이 결정된 사용자의 역할에 따라 접속가능한 자원들을 조회하는 부분이다.
접속가능 자원 표시부(133)는 상기 조회된 어플리케이션 자원들과 자원들에 대한 정보를 사용자에게 보여 주어 사용자가 선택할 수 있는 사용자 인터페이스를 제공하는 부분이다.
이하 본 발명의 실시예에 따른 사용자의 어플리케이션 접속 요청에 대한 사용자 통제과정을 살펴보기로 한다.
도 2는 본 발명의 실시예에 따른 어플리케이션 접속을 통제하는 과정을 보여주는 시퀀스 차트이다.
도 2를 참조하면 사용자의 어플리케이션 접속을 통제하는 과정은 어플리케이션 접속요청 수신단계(S210), 어플리케이션 접속권한 조회 단계(S220), 요청된 어플리케이션에 대한 사용자 역할 획득단계(S230), 사용자 역할에 따른 접속가능 자원 획득단계(S240), 접속가능한 자원 표시단계(S250)를 포함하여 구성된다.
사용자로부터 어플리케이션 접속요청을 수신(S210)하면, 테넌트 권한저장부(150)를 참조하여, 상기 사용자가 소속된 테넌트에 대하여 요청된 어플리케이션에 대한 접속권한을 조회한다(S220).
만일 사용자가 소속된 테넌트에게 해당 어플리케이션에 대한 접속권한이 없다면 요청된 어플리케이션에 대한 접속을 허용하지 않고 종료한다(S260).
접속권한이 있다면 상기 어플리케이션에 대한 접속을 허용한다. 이때 요청된 어플리케이션에 대한 접속가능한 자원들의 목록을 사용자 인터페이스로 제공하기 위하여 다음의 단계가 진행된다.
먼저, 사용자 권한저장부(140)를 참조하여 상기 어플리케이션에 대한 사용자의 역할을 획득하여(S230), 이를 기초로 상기 테넌트 권한 저장부(150)를 참조하여 상기 획득된 사용자 역할에 따른 접속가능한 어플리케이션 자원들을 획득한다(S240).
다음으로 상기 어플리케이션 정보 저장부(160)를 참조하여 상기 접속가능한 자원들의 목록에 대한 사용자 인터페이스를 제공한다(S250)
2) 어플리케이션의 자원에 대한 접속통제 장치 구성 및 동작설명
도 3은 본 발명의 실시예에 따른 어플리케이션의 자원의 접속을 통제하기 위한 장치의 블록도이다.
도 3을 참조하면 본 발명의 실시예에 따른 어플리케이션 소속자원에 대한 접속을 통제하기 위한 장치는 자원 접속요청 수신부(310), 자원 접속권한 조회부(320), 자원 접속 결정부(330), 테넌트 권한 저장부(150) 및 어플리케이션 정보 저장부(160)를 포함하여 구성된다.
상기 자원 접속요청 수신부(310)는 사용자의 어플리케이션의 자원에 대한 접속요청을 수신하는 부분이다.
상기 자원 접속권한 조회부(320)는 상기 사용자 권한 저장부(140) 및 테넌트 권한 저장부(150)를 참조하여, 상기 사용자가 상기 요청된 어플리케이션 자원에 대한 접속권한을 갖는지 조회하는 부분이다.
상기 자원 접속 결정부(330)는 상기 접속권한이 조회된 사용자에 대하여 상기 요청된 어플리케이션의 자원에 대한 접속을 결정하는 부분이다. 상기 자원 접속 결정부(330)는 상기 접속권한이 조회된 사용자에 대한 자원에 대한 접속을 허용하는 자원접속 허용부(331)와 상기 자원접속이 허용된 사용자에 대하여 상기 자원에 접속할 수 있도록 어플리케이션 정보저장부(140)로부터 자원에 대한 정보를 획득하여 사용자 인터페이스를 제공하는 사용자 인터페이스 제공부(332)를 포함하여 구성될 수 있다.
이하 본 발명의 실시예에 따른 사용자의 어플리케이션 자원의 접속 요청에 대한 사용자 통제과정을 살펴보기로 한다.
도 4는 본 발명의 실시예에 따른 어플리케이션의 자원의 접속을 통제하는 과정을 보여주는 시퀀스차트이다.
도 4를 참조하면 사용자의 어플리케이션 자원접속을 통제하는 과정은 자원접속요청 수신단계(S410), 자원 접속권한 조회 단계(S420), 자원접속 허용단계(S430) 및 사용자 인터페이스 제공단계(S440)를 포함하여 구성된다.
사용자로부터 자원에 대한 접속요청을 수신(S410)하면, 사용자 권한저장부(140)를 참조하여 역할을 획득하고, 테넌트 권한 저장부(150)를 참조하여 상기 획득된 역할에 대하여, 상기 요청된 자원이 접속 가능한지 여부를 조회한다(S420).
만일 요청 사용자에게 해당 자원에 대한 접속권한이 없다면 요청된 자원에 대한 접속을 허용하지 않고 종료(S450)한다.
접속권한이 있다면 상기 자원에 대한 접속을 허용하는데(S430), 이때 어플리케이션 정보 저장부(160)를 참조하여 상기 요청된 자원에 대한 정보를 획득하여 관련정보를 사용자 인터페이스로 제공한다(S440).
사용자 접속 요청 통제에 대하여, 본 실시예에서는 어플리케이션에 대한 접속통제와 자원에 대한 접속통제를 별도의 장치와 과정으로 구분하여 설명하였으나, 앞서 설명한 것처럼, 본 발명에 따른 사상인 다중 테넌트에 대한 사용자의 권한을 테넌트 요구에 맞추어서 관리하고 통제하기 위한 장치는 제공되는 사용자 인터페이스에 따라 여러 가지 방법으로 구성가능하다.
이하는 상기 통제장치를 구성하는 중요한 요소인 테넌트 권한 저장부와 사용자권한 저장부를 정의하기 위한 장치와 구조에 대해서 살펴보기로 한다. 따라서, 상기 테넌트 권한 저장부와 사용자 권한 저장부에 대한 기본권한이 사전에 정의되는 가상테넌트에 대한 권한정의 장치를 먼저 살펴보고, 다음으로 테넌트 권한정의 장치를 살펴보기로 한다.
가상 테넌트 권한정의 장치 구성 및 동작설명
이하 어플리케이션에 대한 테넌트의 기본권한, 즉 일종의 템플릿을 정의하는 작업인 가상테넌트에 대한 권한정의를 위한 장치의 구성과 동작을 설명하기로 한다. 이는 실제 테넌트가 상기 어플리케이션 사용을 요청하는 시점에, 상기 가상테넌테에게 정의된 권한을 기초로 상기 요청 테넌트에게 어플리케이션에 대한 사용권한을 자동으로 정의해주기 위한 것으로 어플리케이션 개발 직후에 사용될 수 있다.
도 5는 본 발명의 실시예에 따른 가상테넌트 권한을 정의하기 위한 장치의 블록도이다.
도 5를 참조하면 본 발명의 실시예에 따른 가상 테넌트 권한을 정의하기 위한 장치는 어플리케이션 등록 요청 수신부(505), 어플리케이션 정보 정의부(510), 가상테넌트 권한정의부(530), 어플리케이션 정보 저장부(160), 가상테넌트 권한저장부(170)를 포함하여 구성된다.
상기 어플리케이션 정보 정의부(510)는 어플리케이션 등록요청 수신부(505)로부터 SaaS 환경에서 테넌트에게 제공될 어플리케이션에 등록 요청을 접수하여 상기 등록요청된 어플리키케이션에 대한 대한 정보를 정의하는 부분이다. 즉 개발된 어플리케이션에 포함되는 기본정보 및 자원들을 정의하여 어플리케이션 정보저장부(160)에 저장하는 부분이다.
예를 들면, 그룹웨어라는 어플리케이션이 개발되어 테넌트에게 제공된다면, 상기 그룹웨어에 대한 기본적인 정보와 상기 그룹웨어에 속하는 자원들, 즉 전자메일, 게시판 생성, 게시판 조회, 문서작성, 문서결제 등과 같은 하위 모듈들이 자원으로 정의될 것이다.
상기 어플리케이션 정보 저장부(160)는 앞서 설명된 것처럼 어플리케이션의 기본정보 및 어플리케이션에 속하는 자원들에 대한 정보가 포함된다. 상기 어플리케이션 정보 저장부(160)의 좀더 상세한 구조는 후술하기로 한다.
상기 가상 테넌트 권한 정의부(520)는 실제로 존재하지 않는 하나의 가상적인 테넌트를 정의하고, 상기 정보가 저장된 어플리케이션의 자원을 임의로 정의된 하나의 가상 테넌트에 할당하여, 가상 테넌트 권한 저장부(170)에 저장하는 부분이다.
상기 가상 테넌트 권한 정의부(520)는 가상 테넌트 생성부(521)와 가상 테넌트 역할 정의부(523), 그리고 자원 할당부(525)로 구분될 수 있다.
상기 가상 테넌트 생성부(521)는 상기 정보가 정의된 어플리케이션에 대하여 하나의 가상 테넌트를 생성하는 부분이다.
상기 가상테넌트 역할 정의부(523)는 상기 가상 테넌트에 속하는 하나 이상의 역할과 역할에 대한 정보를 정의하는 부분이다. 예를 들면, 상기 역할은 일반 사용자, 관리자, 운영자와 같은 사용자 역할이 포함될 수 있다.
상기 자원 할당부(525)는 상기 역할과 관련된 상기 어플리케이션에 소속된 자원들을 정의하는 부분이다. 예를 들어, 상기 그룹웨어 어플리케이션에 대한 관리자 역할로는 전자메일, 게시판 조회, 문서작성, 문서결제가 정의될 수 있을 것이다.
상기 가상 테넌트 권한 저장부(170)는 상기 가상 테넌트 역할 정의부(523)와 자원 할당부(525)에서 정의된, 어플리케이션에 대한 테넌트의 역할과 이에 따른 어플리케이션의 자원들에 대한 정보가 저장되는 부분이다. 상기 가상 테넌트 권한 저장부(170)의 좀더 상세한 구조는 후술하기로 한다.
이하 상기의 어플리케이션 정보 저장부의 구조를 좀 더 자세히 살펴보기로 한다.
도 6은 본 발명의 실시예에 따른 어플리케이션 정보저장부의 구조를 보여주는 개념도이다.
도 6을 참조하면 상기 어플리케이션 정보 저장부(160)에는 하나 이상의 어플리케이션들(610,620,630)과 어플리케이션 기본정보를 포함하고, 상기 어플리케이션들(610,620,630)과 관련되는 하나 이상의 자원들(611~616)과 자원에 대한 기본정보를 포함하고 있음을 알 수 있다.
즉, 예를 들어, 도 6을 참조하면, 그룹웨어(610)라는 어플리케이션이 개발되어, 상기 그룹웨어(610)에 대한 기본정보가 정의되고, 상기 그룹웨어(610)에 소속되는 자원들인 전자메일(611), 게시판 조회(613), 게시판생성(615), 문서결제(617) 등과 같이 하나 이상의 자원이 정의되어 상기 어플리케이션 정보 저장부(160)에 저장되는 것을 보여준다.
다음으로 상기 가상 테넌트 권한 저장부(170)의 구조를 좀 더 자세히 살펴보기로 한다.
도 7은 본 발명의 실시예에 따른 가상 테넌트 권한저장부의 구조를 보여주는 개념도이다.
도 7을 참조하면 상기 가상 테넌트 권한 저장부(170)에는 하나의 어플리케이션(610)에 대하여 하나의 가상테넌트(700)가 존재하며, 상기 가상테넌트(700)와 관련된 하나 이상의 사용자 역할(710,720,730)이 정의되어 있음을 알 수 있다. 또한 상기 사용자 역할(710,720,730)은 각각 하나 이상의 자원(711-713, 721-723, 731,735)과 연관되어 있음을 확인할 수 있다.
즉, 예를 들면, 도 7을 참조하면, 그룹웨어라는 어플리케이션(610)에 대하여 가상 테넌트(700)가 정의되고, 상기 가상테넌트에 대한 사용자역할로, 일반사용자(710), 관리자(720) 및 운영자(730) 등이 정의되어 있다. 또한 상기 각 사용자별로 자원이 조금씩 다르게 할당되어 있음을 알 수 있는데, 예를 들면, 일반사용자(710)에게 전자메일(711), 게시판조회(712) 및 문서작성(713)이 할당되고, 운영자(720)에게 전자메일(711), 게시판생성(722) 및 문서작성(723)이, 관리자에게 전자메일(731), 게시판조회(732), 문서작성(733), 문서결제(734)가 할당되어 있음을 알수 있다.
상기 구조는 어플리케이션의 자원을 가상의 테넌트에게 할당하기 위한 예시일뿐 본 발명의 가상테넌트 저장부의 구조는 이에 한정되지 않는다.
이하 본 발명의 실시예에 따른 가상 테넌트의 권한을 정의하는 과정을 살펴보기로 한다.
도 8은 본 발명의 실시예에 따른 가상 테넌트의 권한을 정의하는 과정을 보여주는 시퀀스차트이다.
도 8을 참조하면 가상 테넌트의 권한을 정의하는 과정은 어플리케이션 정보등록 요청 접수단계(S810), 어플리케이션 정보 등록 단계(S820), 어플리케이션과 관련된 가상테넌트 생성단계(S830), 가상 테넌트 역할정의 단계(S840), 가상 테넌트 역할별 어플리케이션 자원 정의 단계(S850)를 포함하여 구성된다.
개발된 어플리케이션에 대한 정보등록 요청이 접수되면(S810), 상기 어플리케이션에 대한 기본정보 및 어플리케이션에 소속된 자원들을 정의하여 상기 어플리케이션 정보저장부(160)에 등록한다(S820). 이때 어플리케이션에 소속되는 자원들은 적어도 하나를 포함한다.
다음으로 상기 어플리케이션과 관련되어 사용권한을 부여할 가상 테넌트를 생성하는데(S830), 가상 테넌트를 생성하는 이유는, 가상테넌트의 기본적인 역할을 정의하여, 상기 기본 역할에 따른 상기 어플리케이션의 사용가능한 자원을 정의하고, 추후 실제 테넌트로부터 어플리케이션 사용요청을 접수하면 상기 정의된 가상테넌트의 역할과 이에 관련된 자원을 그대로 복사하여, 요청 테넌트에 대한 어플리케이션 사용 권한을 정의한다.
다음으로, 앞서 설명한 것처럼, 상기 생성된 가상 테넌트와 연관되는 하나 이상의 역할을 정의한다(S840). 예를 들어서, 상기 역할로는 도 7에 도시된 것과 같은 사용자들의 역할이 정의될 수도 있을 것이다. 다만, 상기 역할은 사용자 역할에 한정되는 것이 아니고 어플리케이션의 종류나 기능에 따라서 달라질 수 있다.
다음으로, 상기 정의된 가상 테넌트의 역할에서 사용가능한 상기 어플리케이션 자원들을 하나 이상 정의(S850)함으로써, 역할별 자원에 대한 사용 권한을 할당한다.
상기 과정들(S810~S850)을 통하여 상기 어플리케이션에 대한 상기 가상테넌트의 각 역할별로 접속 가능한 자원들이 정의되어 상기 가상 테넌트 권한 저장부(180)에 저장된다.
다음은 상기의 가상테넌트의 권한정의부를 기초로 테넌트의 권한이 정의되도록 구성된 테넌트 권한 정의장치의 구성에 대해서 살펴보기로 한다.
어플리케이션 사용요청 테넌트 권한정의 장치 구성 및 동작설명
도 9는 본 발명의 실시예에 따른 어플리케이션 사용을 요청한 테넌트의 권한을 정의하기 위한 테넌트 권한정의 장치의 블록도이다.
도 9를 참조하면 본 발명의 실시예에 따른 어플리케이션 사용을 요청한 테넌트 권한을 정의하기 위한 장치는 어플리케이션 사용요청 수신부(910), 테넌트 권한 할당부(920), 사용자 권한 할당부(930), 테넌트 권한 저장부(150), 사용자 권한 저장부(140)를 포함하여 구성된다.
상기 어플리케이션 사용요청 수신부(910)는 테넌트로부터 어플리케이션을 사용하겠다는 요청을 접수하는 부분이다. 상기 테넌트는 신규 테넌트일 수도 있고 기존에 다른 어플리케이션을 사용하던 테넌트일 수도 있다.
상기 테넌트 권한 할당부(920)는 상기 어플리케이션 사용요청 수신부(910)로부터 요청한 테넌트와 요청된 어플리케이션에 대한 정보를 넘겨받아서, 상기 가상 테넌트 권한 저장부(170)에 저장된 가상테넌트의 권한정보를 요청한 테넌트의 권한정보로 복사하여 상기 테넌트 권한 저장부(150)에 저장하는 부분이다.
상기 테넌트 권한 저장부(150)는 앞서 설명한 것처럼 상기 어플리케이션 사용을 요청한 테넌트에 대한 권한 정보가 저장되는 부분이다. 상기 테넌트 권한 저장부(150)의 좀더 상세한 구조는 후술하기로 한다.
상기 사용자 권한 할당부(930)는 상기 사용자 권한 저장부(140)에 저장된 상기 사용요청 테넌트에 소속되는 사용자들의 기본역할을 기초로, 상기 요청된 어플리케이션에 대하여 사용자들의 역할을 설정하여 상기 사용자 권한 저장부(140)에 저장하는 부분이다. 상기 저장된 사용자들의 역할은, 사용자가 어플리케이션과 자원에 대한 접속을 요청하는 경우, 접속 여부를 결정하기 위하여 참조하게 된다.
상기 사용자 권한 저장부(140)는 앞서 설명한 것처럼 상기 어플리케이션 사용을 요청한 테넌트에 소속되는 사용자들에 대한 권한 정보가 저장되는 부분이다. 상기 사용자 권한 저장부(140)의 좀더 상세한 구조는 후술하기로 한다.
이하, 상기 테넌트 권한 저장부(150)의 구조를 좀 더 자세히 살펴보기로 한다.
도 10은 본 발명의 실시예에 따른 테넌트 권한저장부의 구조를 보여주는 개념도이다.
도 10을 참조하면 상기 테넌트 권한 저장부(150)에는 하나 이상의 테넌트들에 대하여 관련된 어플리케이션과 역할에 따른 자원이 정의되어 있는 것을 볼 수 있다.
즉, 예를 들어, 도 10을 참조하면, 테넌트1(1000)은 그룹웨어(610)와 ERP(620)라는 어플리케이션을 사용하고 있으며, 상기 그룹웨어(610)의 경우, 관련된 역할로 일반 사용자(1010), 운영자(1020), 관리자(1030)가 정의되어 있음을 알 수 있다. 또한 각 사용자역할에 대하여 상기 어플리케이션 그룹웨어(610)의 자원들이 할당되어 있음을 알 수 있다.
즉, 일반사용자(1010)에게 전자메일(1011), 게시판조회(1012) 및 문서작성(1013)이 할당되고, 운영자(1020)에게 전자메일(1021), 게시판생성(1022) 및 문서작성(1023)이, 관리자에게 전자메일(1031), 게시판조회(1032), 문서작성(1033), 문서결제(1034)가 할당되어 있음을 알 수 있다.
도 7과 도 10을 참조하면, 상기의 역할에 따라 할당된 자원들을 포함한 상기 테넌트 권한은 도 8의 가상테넌트의 구조의 예시에 나타난 것처럼, 가상 테넌트의 상기 그룹웨어에 대한 권한정보를 그대로 복사하여 상기 테넌트 권한 저장부에 복사하였음을 알 수 있다.
그러나 상기 복사된 권한 정보는 재정의될 수 있다. 예를 들면 운영자(1020)에 대하여 문서작성(1023)을 할당한 부분을 삭제하고, 게시판 조회(1024) 자원으로 재정의하여 할당할 수 있다.
이하, 상기 사용자 권한 저장부(140)의 구조를 좀 더 자세히 살펴보기로 한다.
도 11은 본 발명의 실시예에 따른 사용자 권한저장부의 구조를 보여주는 개념도이다.
도 11을 참조하면 상기 사용자 권한 저장부(140)에는 상기 요청 테넌트에 소속되는 사용자들(1110,1120,1130)의 기본역할들(1111,1121,1131)과 상기 요청된 어플리케이션에 대한 사용자들의 역할(1112, 1122, 1132)이 정의되어 있는 것을 볼 수 있다.
즉 앞에서 설명한 것처럼, 상기 사용자 권한 할당부(930)에서 상기 사용자들의 미리 정의된 기본역할들(1111,1121,1131)과 동일하게, 상기 요청된 어플리케이션에 대한 사용자들의 역할(1112, 1122, 1132)을 설정하게 된다. 다만 상기 설정된 역할(1112, 1122, 1132)은 어플리케이션 별로 다르게 설정되어 할 수도 있으므로, 재정의 과정을 통하여 변경가능하다. 예를 들면 사용자2(1120)의 기본역할은 운영자(1121)로 설정되어 있으나, 그룹웨어에서는 운영자가 아닌 경우 일반사용자(1123)로 재 정의될 수 있다.
이하 본 발명의 실시예에 따른 어플리케이션 사용을 요청한 테넌트에 대하여 어플리케이션 사용권한을 정의하는 과정을 살펴보기로 한다.
도 12는 본 발명의 실시예에 따른 어플리케이션 사용을 위한 테넌트의 권한을 정의하는 과정을 보여주는 시퀀스 차트이다.
도 12를 참조하면 어플리케이션 사용을 요청한 테넌트에 대하여 요청된 어플리케이션의 권한을 정의하는 과정은 어플리케이션 사용요청 접수단계(S1210), 요청된 어플리케이션에 대한 가상 테넌트 권한검색 단계(S1220), 상기 검색된 가상 테넌트 권한을 요청테넌트의 권한으로 복사하는 단계(S1230), 요청 테넌트 소속 사용자들의 기본역할 획득단계(S1240), 어플리케이션에 대한 사용자 역할 정의단계(S1250)를 포함하여 구성된다.
테넌트로부터 어플리케이션에 대한 사용요청이 수신되면(S1210), 상기 요청된 어플리케이션에 대하여 가상테넌트 권한저장부(170)에 등록된 가상 테넌트의 권한을 검색한다(S1220). 가상 테넌트의 권한에는 상기 요청된 어플리케이션에 대한 역할별로 할당된 자원이 포함된다.
다음으로 상기 검색된 가상테넌트의 권한을 요청 테넌트권한으로 복사한다(S1230). 즉 상기 요청된 어플리케이션에 대하여 가상테넌트에 정의되어 있는 역할 및 역할별 자원정보를 동일하게 상기 어플리케이션을 요청한 테넌트의 권한정보로 복사하여 상기 테넌트 권한저장부(150)에 저장한다. 만일 가상테넌트에 정의되어 있는 역할에 따라 정의된 자원을 수정해야 할 필요가 있다면 필요한 부분만 재 정의해 줄 수 있다.
다음은 사용자권한을 정의해주는 단계로서, 먼저 상기 요청 테넌트 소속 사용자에 대한 기본역할을 획득하여(S1240), 상기 요청된 어플리케이션에 대한 사용자의 역할로 정의하고 사용자 권한 저장부(140)에 저장한다(S1250).
상기와 같이 정의된 사용자권한은 사용자가 상기 요청된 어플리케이션이나 자원에 대한 접속을 요청하는 경우 사용자권한 통제을 위해서 참조 된다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (18)

  1. SaaS(Software as a Service)를 위한 어플리케이션 접속 통제 장치로서,
    하나의 테넌트에 소속된 사용자의 어플리케이션 접속요청을 수신하는 어플리케이션 접속요청 수신부;
    어플리케이션에 대한 테넌트 권한이 정의되어 있고, 상기 테넌트 권한은 역할들 및 상기 역할별 접속가능한 자원들을 포함하는 테넌트 권한 저장부;
    상기 테넌트 권한 저장부를 참조하여 상기 요청된 어플리케이션에 대한 상기 접속요청 사용자가 소속된 테넌트의 권한을 조회하여 접속허용 여부를 결정하는 접속허용 결정부;
    어플리케이션에 대한 테넌트별 소속된 사용자들의 역할을 포함하는 권한 정보가 저장되는 사용자 권한 저장부; 및
    상기 사용자 권한 저장부를 참조하여 상기 접속허용 결정된 사용자에 대하여 상기 요청된 어플리케이션에 대한 접속을 허용하는 접속 허용부를 포함하는 것을 특징으로 하는 어플리케이션 접속통제 장치.
  2. 제 1항에 있어서,
    상기 접속 허용부는,
    상기 사용자 권한 저장부를 참조하여 상기 요청된 어플리케이션에 대한 상기 접속허용 결정된 사용자의 역할을 조회하는 역할 조회부;
    상기 테넌트 권한 저장부를 참조하여 상기 조회된 사용자의 역할을 기초로 접속 가능한 자원들을 조회하는 접속가능 자원조회부;
    사용자 인터페이스를 통하여 상기 조회된 접속가능한 자원들의 목록을 보여주는 자원 표시부를 포함하는 것을 특징으로 하는 어플리케이션 접속통제 장치.
  3. SaaS(Software as a Service)를 위한 자원 접속 통제 장치로서,
    하나의 테넌트에 소속된 사용자의 어플리케이션 자원에 대한 접속요청을 수신하는 자원 접속요청 수신부;
    어플리케이션에 대한 테넌트별 소속 사용자들의 역할을 포함하는 권한 정보가 저장되는 사용자 권한 저장부;
    상기 어플리케이션에 대한 테넌트 권한이 정의되어 있고, 상기 테넌트 권한은 역할들 및 상기 역할별 접속가능한 자원들을 포함하는 테넌트 권한 저장부;
    상기 사용자 권한 저장부와 상기 테넌트 권한 저장부를 참조하여 상기 요청된 어플리케이션 자원에 대한 상기 사용자의 접속권한을 조회하여 접속권한이 있는지를 조회하는 자원 접속권한 조회부;
    상기 접속권한이 조회된 사용자에 대하여 상기 요청된 자원에 대한 접속을 결정하는 자원접속 결정부를 포함하는 것을 특징으로 하는 자원 접속통제 장치.
  4. 제 3항에 있어서,
    상기 자원접속 결정부는,
    어플리케이션에 대한 기본정보 및 상기 어플리케이션 소속의 하나 이상의 자원정보가 저장되는 어플리케이션 정보저장부;
    상기 자원접속이 조회된 사용자에 대하여 요청된 자원접속권한이 있는 경우 접속을 허용하는 자원접속 허용부; 및
    상기 어플리케이션 정보저장부를 참조하여, 상기 접속 요청된 자원에 대한 정보를 획득하여, 상기 자원 접속이 허용된 사용자에 대하여 인터페이스를 제공하는 사용자 인터페이스 제공부를 포함하는 것을 특징으로 하는 자원 접속통제 장치.
  5. SaaS(Software as a Service)를 위한 가상 테넌트 권한 정의장치로서,
    테넌트에 제공될 어플리케이션에 대한 등록요청을 수신하는 어플리케이션 등록요청 수신부;
    어플리케이션에 대한 정보가 저장되는 어플리케이션 정보저장부;
    어플리케이션에 대한 가상 테넌트의 사용권한 정보가 저장되는 가상 테넌트 권한 저장부;
    상기 등록 요청받은 어플리케이션에 대한 정보를 정의하여 상기 어플리케이션 정보 저장부에 저장하는 어플리케이션 정보 정의부; 및
    상기 정보가 정의된 어플리케이션에 대한 사용권한을 가상 테넌트에 할당하여 상기 가상 테넌트 권한 저장부에 저장하는 가상테넌트 권한 정의부를 포함하는 것을 특징으로 하는 가상 테넌트 권한 정의장치.
  6. 제 5항에 있어서,
    상기 어플리케이션 정보 저장부에 저장되는 어플리케이션 정보에는 상기 어플리케이션에 대한 기본정보, 상기 어플리케이션에 소속되는 하나 이상의 어플리케이션 자원 및 상기 어플리케이션 자원에 대한 기본정보가 포함되는 것을 특징으로 하는 가상 테넌트 권한 정의장치.
  7. 제 6항에 있어서,
    상기 가상 테넌트 권한 저장부에 저장되는 상기 가상테넌트의 사용권한으로는, 상기 정보가 정의된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되는 것을 특징으로 하는 가상 테넌트 권한 정의장치.
  8. 제 7항에 있어서,
    상기 가상 테넌트 권한 정의부는,
    상기 정보정의된 어플리케이션에 대하여 기본 권한을 부여할 임의의 가상 테넌트를 생성하는 가상 테넌트 생성부;
    상기 생성된 가상 테넌트에 소속되는 하나 이상의 역할을 정의하여 상기 가상 테넌트 권한 저장부에 저장하는 역할 정의부; 및
    상기 정의된 역할에 대하여, 상기 정보정의된 어플리케이션에 소속되는 하나 이상의 자원을 접속가능하도록 정의하여 가상 테넌트 권한 저장부에 저장하는 자원할당부를 포함하는 것을 특징으로 하는 가상 테넌트 권한 정의장치.
  9. SaaS(Software as a Service)를 위한 테넌트 권한 정의장치로서,
    테넌트에 대한 어플리케이션 사용요청을 수신하는 어플리케이션 사용요청 수신부;
    어플리케이션에 대한 가상 테넌트의 권한정보가 저장되는 가상 테넌트 권한 저장부;
    어플리케이션에 대한 어플리케이션 사용을 요청한 테넌트의 권한정보가 저장되는 테넌트 권한 저장부;

    상기 요청받은 어플리케이션에 대하여, 상기 가상 테넌트 권한 저장부에 저장된 상기 가상 테넌트의 권한정보를 상기 사용요청 테넌트의 권한정보로 복사하여 상기 테넌트 권한 저장부에 저장하는 테넌트 권한할당부를 포함하는 것을 특징으로 하는 테넌트 권한 정의장치.
  10. 제 9항에 있어서,
    상기 사용요청 테넌트에 소속되는 사용자들의 권한 정보가 저장되는 사용자 권한 저장부; 및
    상기 사용요청 테넌트의 권한정보와 상기 사용자 권한저장부의 사용자들의 권한정보를 참조하여, 상기 사용요청 테넌트에 소속되는 사용자들에 대하여 상기 요청된 어플리케이션 사용 권한을 부여하는 사용자 권한 할당부를 더 포함하는 것을 특징으로 하는 테넌트 권한 정의장치.
  11. 제 10항에 있어서,
    상기 가상 테넌트 권한 저장부에 저장되는 상기 가상 테넌트의 권한정보에는, 상기 사용 요청된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되고,
    상기 테넌트 권한 저장부에 저장되는 상기 사용요청 테넌트의 권한정보에는, 상기 요청된 어플리케이션에 대한, 상기 사용요청 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되고,
    상기 사용자 권한 저장부에 포함되는 사용자 권한 정보에는, 상기 사용요청 테넌트에 소속되는 사용자들의 기본역할과 상기 요청된 어플리케이션에 대한 역할이 정의된 정보가 포함되는 것을 특징으로 하는 테넌트 권한 정의장치.
  12. 제 11항에 있어서,
    상기 사용자 권한 할당부는, 상기 사용자 권한 저장부에 저장된 상기 사용요청 테넌트에 소속되는 사용자들의 기본역할을 기초로, 상기 요청된 어플리케이션에 대한 사용자들의 역할을 정의하여 상기 사용자 권한 저장부에 저장하는 것을 특징으로 하는 테넌트 권한 정의장치.
  13. 제 12항에 있어서,
    상기 요청된 어플리케이션에 대한 사용자들의 역할은, 다르게 재 정의될 수 있는 것을 특징으로 하는 테넌트 권한 정의장치.
  14. 제 9항에 있어서,
    상기 테넌트 권한 저장부에 복사된 상기 가상 테넌트의 권한정보는 재 정의 가능한 것을 특징으로 하는 테넌트 권한 정의장치.
  15. SaaS(Software as a Service)를 위한 가상 테넌트 권한 정의장치에서 수행되는 가상테넌트 권한 정의 방법으로,
    테넌트에 제공될 어플리케이션에 대한 등록요청을 수신하는 어플리케이션 등록요청 수신단계;
    상기 등록 요청받은 어플리케이션에 대한 정보를 정의하는 단계; 및
    상기 정보가 정의된 어플리케이션에 대한 사용권한을 가상 테넌트에 할당하는 단계를 포함하는 것을 특징으로 하는 가상 테넌트 권한 정의방법.
  16. 제 15항에 있어서,
    상기 어플리케이션 정보에는 상기 어플리케이션에 대한 기본정보, 상기 어플리케이션에 소속되는 하나 이상의 어플리케이션 자원 및 상기 어플리케이션 자원에 대한 기본정보가 포함되는 것을 특징으로 하는 가상 테넌트 권한 정의방법.
  17. 제 16항에 있어서,
    상기 가상테넌트의 사용권한으로는, 상기 정보가 정의된 어플리케이션에 대한, 상기 가상 테넌트에 소속되는 하나 이상의 역할, 그리고 상기 역할에서 접속가능한 하나 이상의 자원이 포함되는 것을 특징으로 하는 가상 테넌트 권한 정의방법.
  18. SaaS(Software as a Service)를 위한 테넌트 권한 정의장치에서 수행되는 테넌트 권한 정의 방법으로,
    테넌트에 대한 어플리케이션 사용요청을 수신하는 어플리케이션 사용요청 수신단계;
    상기 요청받은 어플리케이션에 대하여, 미리 정의된 가상 테넌트의 권한정보를 상기 사용요청 테넌트의 권한정보로 그대로 할당하는 단계 및
    상기 사용요청 테넌트의 할당된 권한정보와 사용요청 테넌트 소속 사용자들의 정보를 참조하여, 상기 사용요청 테넌트 소속 사용자들에 대하여 상기 요청된 어플리케이션에 대한 사용 권한을 부여하는 단계를 포함하는 것을 특징으로 하는 테넌트 권한 정의방법.







KR1020100123807A 2010-12-06 2010-12-06 SaaS 환경에서의 권한 관리 장치 및 방법 KR20120062514A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100123807A KR20120062514A (ko) 2010-12-06 2010-12-06 SaaS 환경에서의 권한 관리 장치 및 방법
US13/292,581 US20120144454A1 (en) 2010-12-06 2011-11-09 Apparatus for managing authorization in software-as-a-service platform and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100123807A KR20120062514A (ko) 2010-12-06 2010-12-06 SaaS 환경에서의 권한 관리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20120062514A true KR20120062514A (ko) 2012-06-14

Family

ID=46163540

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100123807A KR20120062514A (ko) 2010-12-06 2010-12-06 SaaS 환경에서의 권한 관리 장치 및 방법

Country Status (2)

Country Link
US (1) US20120144454A1 (ko)
KR (1) KR20120062514A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056050A (ko) 2017-11-16 2019-05-24 주식회사 갓큐 중앙 집중형 SaaS 솔루션 관리방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176720B1 (en) 2012-04-23 2015-11-03 Google Inc. Installation of third-party web applications into a container
US9148429B2 (en) * 2012-04-23 2015-09-29 Google Inc. Controlling access by web applications to resources on servers
US9262420B1 (en) 2012-04-23 2016-02-16 Google Inc. Third-party indexable text
US8751493B2 (en) 2012-04-23 2014-06-10 Google Inc. Associating a file type with an application in a network storage service
US9195840B2 (en) 2012-04-23 2015-11-24 Google Inc. Application-specific file type generation and use
US9792585B2 (en) * 2012-06-21 2017-10-17 Google Inc. Mobile application management
US9317709B2 (en) 2012-06-26 2016-04-19 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US9323939B2 (en) * 2012-12-17 2016-04-26 Ca, Inc. Multi-tenancy governance in a cloud computing environment
US9430578B2 (en) 2013-03-15 2016-08-30 Google Inc. System and method for anchoring third party metadata in a document
US9727577B2 (en) 2013-03-28 2017-08-08 Google Inc. System and method to store third-party metadata in a cloud storage system
US9047122B2 (en) * 2013-04-02 2015-06-02 Hitachi, Ltd. Integrating server and storage via integrated tenant in vertically integrated computer system
US9461870B2 (en) 2013-05-14 2016-10-04 Google Inc. Systems and methods for providing third-party application specific storage in a cloud-based storage system
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9432379B1 (en) * 2014-10-09 2016-08-30 Emc Corporation Dynamic authorization in a multi-tenancy environment via tenant policy profiles
US9823919B2 (en) 2015-12-30 2017-11-21 Microsoft Technology Licensing, Llc Controlled deployment of application feature in mobile environment
CN110968858B (zh) * 2018-09-30 2022-04-01 北京国双科技有限公司 一种用户权限控制方法及系统
CN112019543A (zh) * 2020-08-27 2020-12-01 四川长虹电器股份有限公司 一种基于brac模型的多租户权限系统
CN112487451B (zh) * 2020-11-30 2023-01-17 北京字跳网络技术有限公司 展示方法、装置和电子设备
CN113407929A (zh) * 2021-02-05 2021-09-17 北京理工大学 一种研发设计资源的访问授权方法及系统
CN115208646B (zh) * 2022-07-03 2024-03-26 上海妙一生物科技有限公司 一种SaaS应用权限管理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019812B2 (en) * 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US8539551B2 (en) * 2007-12-20 2013-09-17 Fujitsu Limited Trusted virtual machine as a client
JP5200721B2 (ja) * 2008-07-16 2013-06-05 富士通株式会社 制御方法、制御装置、及びプログラム
US8271536B2 (en) * 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US9210173B2 (en) * 2008-11-26 2015-12-08 Red Hat, Inc. Securing appliances for use in a cloud computing environment
US20100281173A1 (en) * 2009-05-01 2010-11-04 Microsoft Corporation Delegated administration for remote management

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190056050A (ko) 2017-11-16 2019-05-24 주식회사 갓큐 중앙 집중형 SaaS 솔루션 관리방법

Also Published As

Publication number Publication date
US20120144454A1 (en) 2012-06-07

Similar Documents

Publication Publication Date Title
KR20120062514A (ko) SaaS 환경에서의 권한 관리 장치 및 방법
US10616132B2 (en) Managing user privileges for computer resources in a networked computing environment
US8745242B2 (en) Cloud computing roaming services
US10298666B2 (en) Resource management for multiple desktop configurations for supporting virtual desktops of different user classes
US8782762B2 (en) Building data security in a networked computing environment
RU2598324C2 (ru) Средства управления доступом к онлайновой службе с использованием внемасштабных признаков каталога
US9722886B2 (en) Management of cloud provider selection
US20150242520A1 (en) Cross tenant data access
US10311216B2 (en) Borrowing software licenses in a license management system for time based usage
US9189643B2 (en) Client based resource isolation with domains
KR20130050205A (ko) SaaS 플랫폼 및 이를 이용한 다중 테넌트 지원을 위한 서비스 프로비저닝 방법
CN111062028B (zh) 权限管理方法及装置、存储介质、电子设备
US20200233907A1 (en) Location-based file recommendations for managed devices
Won et al. Advanced resource management with access control for multitenant Hadoop
KR101570980B1 (ko) 멀티 테넌트 환경의 공통 코드 관리 방법, 이를 수행하는 공통 코드 관리 서버 및 이를 저장하는 기록매체
CN111475802A (zh) 权限的控制方法和装置
US20240168972A1 (en) Data Distribution and Access within a Multi-Zone Computing Platform
JP2012137995A (ja) リソース提供システム、アクセス制御プログラム及びアクセス制御方法
KR101837088B1 (ko) 클라우드 컴퓨팅 환경에서 제공되는 총무 관리 프로그램에서 데이터베이스 구성 방법 및 장치
CA2740758C (en) Method and apparatus for sharing user service classes
US20190294699A1 (en) Orphaned content remediation
US20080071897A1 (en) Method, system, and computer program product for federating the state and behavior of a manageable resource
CN112465476A (zh) 一种访问控制方法、装置、设备及介质
CN114462016A (zh) 资源请求方法、装置及系统
JP2021060662A (ja) 情報処理システム及びその制御方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid