KR101294951B1 - 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체 - Google Patents

폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체 Download PDF

Info

Publication number
KR101294951B1
KR101294951B1 KR1020117018538A KR20117018538A KR101294951B1 KR 101294951 B1 KR101294951 B1 KR 101294951B1 KR 1020117018538 A KR1020117018538 A KR 1020117018538A KR 20117018538 A KR20117018538 A KR 20117018538A KR 101294951 B1 KR101294951 B1 KR 101294951B1
Authority
KR
South Korea
Prior art keywords
policy
subject
policies
subjects
hierarchy
Prior art date
Application number
KR1020117018538A
Other languages
English (en)
Other versions
KR20110101249A (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 닛본 덴끼 가부시끼가이샤
Publication of KR20110101249A publication Critical patent/KR20110101249A/ko
Application granted granted Critical
Publication of KR101294951B1 publication Critical patent/KR101294951B1/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
    • 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)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와 서브젝트 집합간의 포함 관계를 특정 가능한 정보를 저장하는 롤 정보 기억 수단(11)과, 폴리시를 나타내는 정보와 그 폴리시의 적용 대상으로 되는 서브젝트 집합의 식별 정보를 포함하는 폴리시 기술을 저장하는 폴리시 기술 기억 수단(12)과, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 2 이상의 폴리시를 계층화한 폴리시 계층을 생성하는 폴리시 계층화 수단(13)과, 상기 폴리시 계층을 나타내는 정보에 기초하여, 전순서화(totally ordering)의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을, 계층에서의 상위ㆍ하위의 관계를 유지한 채로, 전순서화하는 폴리시 순서화 수단(14)을 구비한다.

Description

폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체{POLICY MANAGEMENT DEVICE, POLICY MANAGEMENT SYSTEM, AND METHOD AND INFORMATION STORAGE MEDIUM USED THEREFOR}
본 발명은, 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 프로그램에 관한 것으로, 특히, 반순서(半順序; partially order) 구조를 갖는 폴리시 기술을 전순서(全順序)화하여, 폴리시 일람을 생성 또는 액세스 제어 룰로 변환할 수 있는 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 프로그램에 관한 것이다.
최근의 컴플라이언스 의식의 성장으로부터, 많은 기업에서 자사 업무 시스템에서의 액세스 제어의 철저가 도모되고 있다. Unix(등록상표) 파일 시스템 등의 OS 액세스 기구에서 볼 수 있는 바와 같이, 일반적인 액세스 제어 룰은, 업무 시스템을 이용하는 종업원 등의 「서브젝트」, 업무 시스템이 제공하는 파일 등의 「오브젝트」, 읽기쓰기 등의 그 오브젝트에의 액세스 방법인 「액션」의 3개의 정보를 조합하여 기술되고, 액세스 제어 기구에 적용된다.
여기서, 종업원수나 업무 파일수의 규모가 커짐에 따라서, 액세스 제어 룰의 기술이나 관리에 관련되는 관리자의 부하가 증대된다고 하는 문제가 있다. 그 해결책의 하나로서, 역할 베이스 액세스 제어 방식(RBAC; Role-based Access Control)이 잘 알려져 있다. RBAC에서의 액세스 제어 룰에는, 소속 부문이나 직책 등 종업원의 「역할」과, 그 역할에 허가되는 액세스권으로서, 오브젝트와 액션의 조의 집합을 기술한다.
이와 같은 역할 단위의 룰 기술에 의해, 서브젝트 단위로 기술하는 것보다도 룰수의 증가를 억제할 수 있기 때문에, 관리자의 부하가 저감된다. 또한, 혼란을 피하기 위해서, 이하에서는, 「서브젝트」 「오브젝트」 「액션」의 조로 이루어지는 액세스 제어 룰을 ACL(Access Control List)이라고 부르고, RBAC에서의 액세스 제어 룰을 RBAC 폴리시 또는 간단히 폴리시라고 부른다.
그런데, RBAC 폴리시의 집합을 전술한 액세스 기구에 적용하기 위해서는, 그 폴리시의 집합을 단일의 ACL 기술로 변환할 필요가 있다. 또한, 종래의 RBAC 방식에서는, 긍정적 폴리시, 즉 소정의 역할에 대하여 「허가되는 액세스권」만이 기술되므로, 단순히 각 폴리시에 관련지어진 역할을 갖는 서브젝트 집합 S와, 오브젝트와 액션의 조의 집합 OA와 직적(直積; direct products) S×OA를 계산하고, 그들을 임의의 기술 순서로 연결함으로써 단일의 ACL로 변환 가능하다.
그러나, 폴리시 관리의 실무에서는, 부정적 폴리시, 즉 소정의 역할에 대하여 「금지되는 액세스권」도 더불어 기술하고자 하는 경우가 있다.
예를 들면, 「경리부원은 공유 서버 상의 경리 파일에 액세스해도 된다(폴리시 1).」라고 하는 것보다 큰 서브젝트 집합에 대한 긍정적 폴리시에 대하여, 「타부문의 겸무자는 경리 파일에 액세스해서는 안된다(폴리시 2).」라고 하는 것보다 작은 서브젝트 집합에 대한 부정적인 폴리시를 예외적인 폴리시로서 기술하고자 하는 경우가 있다.
상기 단일의 ACL로의 변환은, 긍정적 폴리시와 부정적 폴리시를 동시에 포함하는 폴리시 집합으로부터, 허가 또는 거부해야 할 서브젝트와 오브젝트와 액션의 조를 동정하는 것밖에 되지 않는다. 특허 문헌 1에는, 폴리시 집합을 계층화하고, 그 계층 구조에 기초하여, 허가 또는 거부해야 할 서브젝트와 오브젝트와 액션의 조를 결정하는 방법이 기재되어 있다.
: 일본 특개 2006-155104호 공보(단락 0071)
긍정적 폴리시와 부정적 폴리시를 동시에 포함하는 폴리시 집합을 올바르게 단일의 ACL로 변환하기 위해서는, 그 폴리시 집합의 각 요소에 대하여 서브젝트 집합의 포함 관계에 따라서, ACL 상의 기술 순서를 결정하는 것이 필요하다.
예를 들면 전술한 폴리시 집합을 단일의 ACL로 변환하는 경우, 폴리시 2로부터 도출되는 ACL 기술의 뒤에 폴리시 1로부터 도출되는 ACL 기술을 연결하지 않으면 폴리시간의 원칙ㆍ예외의 관계를 올바르게 반영할 수 없다. 만약, 폴리시 1로부터 도출되는 ACL 기술이 먼저 연결된 경우에는, 액세스 제어 기구는, 경리부원의 일부인 겸무자에 대하여, 폴리시 1로부터 도출된 ACL 기술에 따라서 경리 파일에의 액세스를 허가하게 된다.
여기서, 본 발명에 이용하는 용어를 이하와 같이 정의한다.
[폴리시 포함 관계의 정의]
임의의 2개의 폴리시 p1, p2가 있고, 각각에 대응하는 서브젝트 집합을 S1, S2로 한다. 이때, S1⊆S2일 때, 또한 그때만, p1은 p2를 포함한다고 정의한다. 또한, 이 포함 관계를 p1<p2로 쓴다.
[폴리시 집합의 전순서의 정의]
임의의 폴리시 집합 P={p1, p2, …, pN}이 주어졌을 때, 다음의 성질을 만족시키는 P의 요소의 계열 σ를 P의 전순서라고 부른다.
ㆍ(성질) : 「임의의 P의 요소 pi, pj에 대하여, pi<pj이면, 반드시 σ 속에서 pi는 pj보다도 먼저 출현한다.」
상기 단일 ACL에서의 올바른 기술 순서는, 상술에서 정의되는 폴리시 집합의 전순서에 상당한다. 즉, pi<pj인 폴리시 pi, pj에 대하여, 각각에 대응하는 ACL 기술을 A(pi), A(pj)로 하면, 단일의 ACL은, A(pi│A(pj))의 순으로 연결한 것이다.
예를 들면, 임의의 P={p1, p2, p3, p4, p5}에 대하여, 각각의 폴리시에 대응하는 서브젝트 집합 S1, S2, S3, S4, S5에 대하여, 도 18에 도시한 바와 같은 포함 관계가 있는 것으로 한다. 이때, P에 포함되는 폴리시 포함 관계는, p1>p2, p1>p3, p1>p4, p1>p5, p2>p4, p2>p5, p3>p4이고, 이들 순서(반순서)를 만족시키는 전순서 σ는, <p1, p2, p3, p4, p5> 또는 <p1, p2, p3, p5, p4> 등이다.
그러나, RBAC 폴리시 관리 방식에서는, 폴리시에 대응하는 서브젝트 집합의 포함 관계에 기초하여, 폴리시 집합의 전순서를 구하는 구체적인 방법이 개시되어 있지 않고, 긍정적 폴리시와 부정적 폴리시를 포함하는 폴리시 집합에 대응하는 ACL의 기술 순서를 폴리시 관리자에게 제시하거나, 단일의 ACL로 올바르게 변환할 수 없었다.
예를 들면, 특허 문헌 1에 기재되어 있는 방법에서는, 오브젝트 집합의 계층(제어 패스)에 기초하여, 대상의 리소스가 중복되는 액세스 제어 설정에 모순이 없는지의 여부를 해석하고, 모순이 검출된 경우에는, 주어진 모순 대처 룰(액세스 효과값이 소정의 액세스 효과값 이상인지의 여부)에 의해, 모순되는 액세스 제어 설정 중 어느 하나를 수정한다는 취지가 기재되어 있다.
그러나, 특허 문헌 1에 기재되어 있는 방법에서는, 서브젝트 집합의 포함 관계에 의해 폴리시간에 원칙ㆍ예외의 관계가 생기는 것에 대해서는 전혀 고려되어 있지 않다. 예를 들면, 예외가 먼저 등록되어 있는 것에 의해 모순이 검출되면, 올바른 순서로 적용하면 모순이 생기지 않는 경우라도 폴리시 관리자가 설정한 폴리시를 위반한 것으로서 검출하게 될 가능성도 있다.
따라서, 본 발명은, 긍정적 폴리시와 부정적 폴리시를 동시에 포함하는 폴리시 집합을 올바르게 단일의 액세스 제어 룰로 변환할 수 있는 폴리시 관리 시스템, 폴리시 관리 방법 및 폴리시 관리용 프로그램을 제공하는 것을 목적으로 한다.
본 발명에 따른 폴리시 관리 장치는, 폴리시의 적용 대상으로 되는 서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와, 상기 롤 정보에 포함되는 서브젝트 집합간의 포함 관계를 특정 가능한 정보를 저장하는 롤 정보 기억 수단과, 폴리시를 나타내는 정보와, 그 폴리시의 적용 대상으로 되는 서브젝트 집합을 식별하기 위한 정보를 포함하는 폴리시 기술을 저장하는 폴리시 기술 기억 수단과, 상기 폴리시 기술 기억 수단에 저장되어 있는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 2 이상의 폴리시를 계층화한 폴리시 계층을 생성하는 폴리시 계층화 수단과, 상기 폴리시 계층화 수단에 의해 생성된 폴리시 계층을 나타내는 정보에 기초하여, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을, 계층에서의 상위ㆍ하위의 관계를 유지한 채로, 전순서화하는 폴리시 순서화 수단을 구비한 것을 특징으로 한다.
또한, 본 발명에 따른 폴리시 관리 시스템은, 폴리시의 적용 대상으로 되는 서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와, 상기 롤 정보에 포함되는 서브젝트 집합간의 포함 관계를 특정 가능한 정보를 저장하는 롤 정보 기억 수단을 구비하는 롤 기억 장치와, 폴리시를 나타내는 정보와, 그 폴리시의 적용 대상으로 되는 서브젝트 집합을 식별하기 위한 정보를 포함하는 폴리시 기술을 저장하는 폴리시 기술 기억 수단을 구비하는 폴리시 기술 기억 장치와, 상기 폴리시 기술 기억 수단에 저장되어 있는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 수단과, 상기 폴리시 계층화 수단에 의해 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 수단을 구비하는 폴리시 전순서화 장치를 갖는 것을 특징으로 한다.
또한, 본 발명에 따른 폴리시 순서화 방법은, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과, 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 폴리시 리스트 표시 방법은, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과, 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝과, 폴리시 순서화 스텝에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 일람 표시 스텝을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 ACL 생성 방법은, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과, 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝과, 폴리시 순서화 스텝에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 스텝을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 폴리시 순서화 프로그램은, 컴퓨터에, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와, 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리를 실행시키는 것을 특징으로 한다.
또한, 본 발명에 따른 폴리시 리스트 표시 프로그램은, 컴퓨터에, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와, 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리와, 폴리시 순서화 처리에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 일람 표시 처리를 실행시키는 것을 특징으로 한다.
또한, 본 발명에 따른 ACL 생성 프로그램은, 컴퓨터에, 서브젝트 집합간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상으로 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여, 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와, 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리와, 폴리시 순서화 스텝에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 처리를 실행시키는 것을 특징으로 한다.
본 발명에 따르면, 긍정적 폴리시와 부정적 폴리시를 동시에 포함하는 폴리시 집합을 올바르게 단일의 액세스 제어 룰로 변환할 수 있다.
도 1은 제1 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도.
도 2는 폴리시 계층화 수단(103)이 갖는 1차 기억 장치의 예를 도시하는 설명도.
도 3은 폴리시 계층의 예를 도시하는 설명도.
도 4는 제1 실시 형태의 동작의 일례를 도시하는 플로우차트.
도 5는 폴리시 계층의 예를 도시하는 설명도.
도 6은 위상적 소트 처리의 처리 플로우의 예를 설명하는 플로우차트.
도 7은 서브젝트 집합간의 포함 관계의 구체예를 도시하는 설명도.
도 8은 폴리시 DB(102)에 저장되는 폴리시 기술의 구체예를 도시하는 설명도.
도 9는 폴리시 계층의 구체예를 도시하는 설명도.
도 10은 제2 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도.
도 11은 제2 실시 형태의 동작의 일례를 설명하는 플로우차트.
도 12는 제2 실시 형태에서의 폴리시 DB(102)의 스키마(폴리시 DB 스키마)의 예를 도시하는 설명도.
도 13은 ACL 기술로의 변환 처리의 처리 플로우의 예를 설명하는 플로우차트.
도 14는 제3 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도.
도 15는 제3 실시 형태의 동작의 일례를 설명하는 플로우차트.
도 16은 제3 실시 형태에서의 폴리시 DB(102)의 스키마(폴리시 DB 스키마)의 예를 도시하는 설명도.
도 17은 폴리시 순서를 표시하는 일람 화면의 예를 도시하는 설명도.
도 18은 서브젝트 집합간의 포함 관계의 예를 도시하는 설명도.
도 19는 본 발명의 개요를 도시하는 블록도.
도 20은 본 발명의 개요로서 폴리시 관리 장치의 다른 구성예를 도시하는 블록도.
1. 제1 실시 형태
1. 1. 구성
이하, 본 발명의 실시 형태를 도면을 참조하여 설명한다. 도 1은 본 발명의 제1 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도이다. 도 1에 도시한 폴리시 관리 시스템은, 액세스 제어 폴리시 관리 장치(1)를 구비한다. 액세스 제어 폴리시 관리 장치(1)는, 중앙 처리 장치(CPU)(100)를 갖는 컴퓨터로서, 폴리시 데이터베이스(DB)(102)와, 롤 DB(101)와, 폴리시 계층화 수단(103)과, 폴리시 순서화 수단(104)을 포함한다. 또한, 도 1에서는, 액세스 제어 폴리시 관리 장치(1)가 상기 구성 요소를 모두 구비하는 예를 나타내고 있지만, 예를 들면, 폴리시 DB(102)나 롤 DB(101)가 별도의 장치(데이터베이스 시스템)로서 실장되고, 네트워크를 통하여 접속되어 있는 구성이어도 된다.
폴리시 DB(102)는, 폴리시 기술을 저장한다. 폴리시 기술은, 예를 들면, 폴리시의 식별자(이하, 폴리시 ID라고 함)와, 특정한 롤의 식별자(이하, 롤 ID라고 함)와, 오브젝트마다 허가 또는 금지하는 액션을 규정한 1개 이상의 기술 요소를 포함하는 정보이다. 또한, 폴리시 DB(102)는, 폴리시 계층화 수단(103)으로부터의 폴리시 ID의 입력을 받아, 저장하고 있는 폴리시 기술 중으로부터 대응하는 폴리시 기술을 출력한다.
롤 DB(101)는, 롤 ID마다 관련지어진 유저명 등의 서브젝트의 집합을 나타내는 정보를 저장한다. 이하, 롤 ID와 서브젝트 집합을 대응지은 정보를 롤 정보라고 하는 경우가 있다. 또한, 롤 DB(101)는, 폴리시 계층화 수단(103)으로부터의 롤 ID의 입력을 받아, 저장하고 있는 서브젝트 집합 중으로부터 대응하는 서브젝트 집합을 출력한다. 또한, 롤 DB(101)가 저장하는 정보에는, 롤 정보 외에, 각 롤 정보에 포함되는 서브젝트 집합간의 포함 관계를 특정 가능한 정보가 포함되어 있어도 된다. 예를 들면, 각 서브젝트 집합의 귀속에 관한 정보(그 서브젝트 집합이 적용 범위 전체로부터 보아 어느 그룹에 속해 있는지 등)를 포함하고 있어도 된다.
폴리시 계층화 수단(103)은, 내부적으로 구비하는 1차 기억 장치(1031)(도 2 참조)에 저장된 폴리시 ID 리스트(1032)로부터 순차적으로 폴리시 ID를 추출하면서, 폴리시 DB(102)로부터 대응하는 폴리시 기술을 추출한다. 또한, 추출한 폴리시 기술에 기술된 롤 ID를 롤 DB(101)에 입력하여, 대응하는 서브젝트 집합을 추출한다. 또한, 폴리시 ID를 노드로 하고, 추출한 서브젝트 집합에 포함 관계가 있는 폴리시 ID 노드간에, 유향 링크(directed link)를 부가한 폴리시 계층 데이터를 생성하고, 폴리시 순서화 수단(104)에 출력한다.
여기서, 폴리시 계층 데이터란, 이하와 같이 정의되는 「폴리시 계층」을 기술한 정보이다.
[폴리시 계층의 정의]
임의의 폴리시 집합 P={p1, p2, …, pN}이 주어졌을 때, P의 각 요소를 노드로서 갖고, 임의의 요소 pi, pj의 사이에 pi<pj의 관계가 있으면, pi로부터 pj를 향하는 유향 링크를 부가한 유향 그래프(directed graph)를, 폴리시 계층이라고 부른다. 이때, 임의의 노드 p에 인접하는 노드 집합 중, 서로 유향 링크로 접속되지 않는 노드의 집합을 층이라고 부른다.
예를 들면, 전술한 폴리시 집합의 전순서의 정의에서 나타낸 폴리시 집합의 예에서는, 도 3과 같은 폴리시 계층이 얻어진다. 이에 대하여, 위상적 소트를 행함으로써, 전순서를 구할 수 있다.
본 발명에서는, 서브젝트 집합간의 포함하는ㆍ포함되는 관계를 순서 매김 룰로 하고, 서브젝트 집합의 집합에 대하여, 이 순서 매김 룰을 적용하여 각 폴리시를 열거한다. 이때, 일부의 요소에 대하여 포함하는ㆍ포함되는 관계에 없어도, 원래의 룰에 반하지 않도록 열거하기 위해서, 폴리시 계층이라고 하는 개념을 도입한다. 예를 들면, 부문 단위의 액세스권을 RBAC 폴리시로 한 경우, 조직 계층에 동형의 폴리시 계층을 작성하고, 하층으로부터 상층을 향하여 적용함으로써, 복수의 RBAC 폴리시를 올바른 순서로 적용할 수 있다. 여기서, 올바른 순서란, 「하위 부문의 폴리시는 상위 부문의 폴리시보다도 먼저 적용되어야 한다」라고 하는 룰로 정해진 순서를 말한다.
폴리시 순서화 수단(104)은, 폴리시 계층화 수단(103)이 출력하는 폴리시 계층 데이터에 대하여, 위상적 소트를 행하여 얻어지는, 폴리시 적용 순서를 나타내는 폴리시 ID열을 출력한다.
또한, 본 실시 형태에서, 폴리시 계층화 수단(103) 및 폴리시 순서화 수단(104)은, 그들의 기능을 실현하기 위한 프로그램과 프로그램에 따라서 제어를 실행하는 CPU(100)에 의해 실현 가능하다.
1. 2. 동작
다음으로, 본 실시 형태의 동작에 대하여 설명한다. 도 4는 본 실시 형태의 폴리시 관리 시스템(보다 구체적으로는, 액세스 제어 폴리시 관리 장치(1))의 동작의 일례를 설명하는 플로우차트이다.
도 4에 도시한 예에서는, 우선, 폴리시 계층화 수단(103)이, N개의 폴리시 ID를 포함하는 폴리시 ID 리스트(1032)를, 선두로부터 주사하여 k번째의 폴리시 ID인 pid[k]를 추출한다(스텝 A1). 여기서 k의 초기값은 1이다.
계속해서, 폴리시 DB(102)에 pid[k]를 입력하여, 대응하는 폴리시 기술 p[k]를 취득하고(스텝 A2), p[k]에 포함되는 롤 ID인 rid[k]를, 롤 DB(101)에 입력하여 대응하는 서브젝트 집합 S[k]를 취득한다(스텝 A3). 이때, <pid[k], S[k]>의 조를 1차 기억 장치(1031)의 스택 영역에 푸시한다(LIFO 방식으로 저장한다).
이상의 처리를 N개 모든 폴리시 ID에 대하여 반복한다(스텝 A4∼A5).
그리고, 폴리시 ID 리스트(1032)에 대하여, 모든 처리를 완료하였을 때(k=N), 폴리시 계층화 수단(103)이 다음의 동작을 행한다. 또한, 이때, 스택 영역에는, <pid[1], S[1]>, <pid[2], S[2]>, …, <pid[N], S[N]>(이하, <pid[1], S[1]> 내지 <pid[N], S[N]>이라고 함)이 저장되어 있다.
폴리시 계층화 수단(103)은, <pid[1], S[1]> 내지 <pid[N], S[N]>에 대하여, 우선 그 입력에 포함되는 S[1]∼S[N] 중의 임의의 2개를 이용한 모든 조합{<S[1], S[2]>, <S[1], S[3]>, …, <S[1], S[N]>, …, <S[N-1], S[N]>}을 생성하고(스텝 A6), 각 조합에 대하여, 이하에 기재하는 스텝 A7∼A12의 동작을 반복한다.
우선, 스텝 A7에서 <S[i], S[j]>를 참조한 것으로 한다. 이때, 폴리시 계층화 수단(103)은, S[i], S[j]의 포함 관계를 판정한다(스텝 A8). 폴리시 계층화 수단(103)은, 판정 결과로서, (ⅰ) S[i]⊆S[j], (ⅱ) S[j]⊆S[i], (ⅲ) 포함 관계 없음의 3가지 중 어느 것인지를 판별하고, 각각의 경우에 대하여, 이하와 같이 동작한다. 또한, 서브젝트 집합간의 포함 관계는, 예를 들면, 롤 DB(101)에 저장되어 있는 각 서브젝트 집합의 귀속에 관한 정보를 참조함으로써 판별해도 된다.
(ⅰ) S[i]⊆S[j]의 경우, pid[i] 및 pid[j]에 대응하는 노드 n[i], n[j]를 생성하고, n[i]로부터 n[j]를 향하는 유향 링크를 생성한다(스텝 A9).
(ⅱ) S[j]⊆S[i]의 경우, pid[i] 및 pid[j]에 대응하는 노드 n[i], n[j]를 생성하고, n[j]로부터 n[i]를 향하는 유향 링크를 생성한다(스텝 A10).
(ⅲ) 포함 관계 없음의 경우, pid[i] 및 pid[j]에 대응하는 노드 n[i], n[j]를 생성한다(스텝 A11).
이상의 동작에 의해, 폴리시 계층화 수단(103)은, 도 5에 도시한 바와 같은 폴리시 계층을 나타내는 폴리시 계층 데이터를 생성하고, 생성한 폴리시 계층 데이터를 폴리시 순서화 수단(104)에 입력한다. 도 5는 폴리시 계층의 예를 도시하는 설명도이다. 도 5는 pid[1]∼pid[8]을 대상으로 한 경우의 예로서, 위에 위치하는 노드에 대응하는 폴리시일수록 원칙적인 폴리시이고, 또한 아래에 위치하는 노드에 대응하는 폴리시일수록 예외적인 폴리시인 것이 나타내어져 있다.
다음으로, 폴리시 순서화 수단(104)은, 입력된 폴리시 계층 데이터를 주사하여, 위상적 소트를 행하여 폴리시 순서를 결정하고, 결정한 폴리시 순서를 나타내는 폴리시 ID열을 출력한다(스텝 A13). 위상적 소트란, 순서 매김 룰과 열거 대상의 집합을 공급하였을 때에, 「소트 출력 중, a→b의 순으로 배열되어 있는 임의의 2요소 a, b에 대하여, a→b는 순서 매김 룰에 적어도 반하고 있지 않은 것, 즉 룰에서 부여한 순서인 것, 또는 룰을 적용할 수 없는 조합인 것」이라고 하는 조건을 충족시키면서 전체 요소를 1열로 배열하는 소트 방법이다.
또한, 도 6은 폴리시 순서화 수단(104)에 의한 위상적 소트 처리의 처리 플로우의 일례를 설명하는 플로우차트이다. 도 6에 도시한 예에서는, 폴리시 순서화 수단(104)은, 우선, 입력된 폴리시 계층 데이터를 주사하여, 입력 링크가 없는 노드의 집합 N을 추출한다(스텝 B1).
다음으로, N의 각 요소를 기점으로 하여, 폴리시 계층 데이터에 대하여, 깊이 우선 탐색에 따라, 이하의 스텝 B2를 재귀적으로 실행한다.
스텝 B2에서는, 참조 중인 노드가 다음의 조건을 충족시키는 경우에, 소정의 스택에 그 노드를 추가한다. 또한, 그 조건이 충족되지 않은 경우, 그 참조 중 노드에 방문 완료 플래그를 부여한다.
ㆍ(조건) : 그 노드에 출력 링크가 일절 없거나, 있어도 링크처 노드 모두에 방문 완료 플래그가 부가되어 있다.
그리고, 그 스택으로부터 1개씩 노드를 추출하면서, 그 노드에 부여된 번호 k에 대응하는 폴리시 ID인 pid[k]의 리스트를 생성한다(스텝 B3).
1. 3. 효과
이상과 같이 생성된 리스트 중의 폴리시 ID는, 폴리시 계층 데이터에서, 대응하는 노드가 N의 요소로부터 「깊은 층→얕은 층」의 순으로 정렬되어 있다. 예를 들면, 노드 n[j]로부터 n[i]로의 유향 패스가 존재하는 경우, 즉 n[j]가 n[i]보다도 보다 깊은 층에 있는 경우, 반드시 pid[j], pid[i]의 순으로 리스트에 출현한다. 이때, 스텝 A8∼A11에서의 폴리시 계층 데이터의 생성 방법으로부터, pid[i] 및 pid[j]에 대응하는 서브젝트 집합은, 반드시 S[j]⊆S[i]의 관계에 있기 때문에, pid[i] 및 pid[j]에 대응하는 폴리시 기술간의 포함 관계가 유지된다고 하는 효과가 얻어진다.
즉, 본 실시 형태에 따르면, 반순서 구조의 서브젝트 집합의 포함 관계에 기초하여, 폴리시 집합의 전순서를 일의로 구할 수 있다.
1. 4. 구체예
이하, 보다 구체적인 예를 이용하여 본 실시 형태의 동작을 설명한다. 우선, 롤 DB(101)에 저장된 서브젝트 집합으로서, 「전사원」 「경리 부문」 「인사 부문」 「총무부원」 「경리ㆍ인사 겸무자」의 4개가 저장되어 있고, 이들 상호의 포함 관계가 도 7 대로인 것으로 한다.
또한, 폴리시 DB(102)에는, 4개의 서브젝트 집합의 각각에 대응하는 폴리시로서, 이하에 기재하는 내용을 갖는 폴리시 기술이 저장되어 있는 것으로 한다.
ㆍ폴리시 ID=p1 : <회사 전체 폴리시> 전사원 롤의 유저에 대하여, 회사 전체 공통 Web 서버에의 액세스를 허가한다.
ㆍ폴리시 ID=p2 : <경리부 폴리시> 경리부 롤의 유저에 대하여, 경리부 파일 서버에의 액세스를 허가한다.
ㆍ폴리시 ID=p3 : <인사부 폴리시> 인사부 롤의 유저에 대하여, 인사부 그룹 웹 서버에의 액세스를 허가한다.
ㆍ폴리시 ID=p4 : <총무부 폴리시> 총무부 롤의 유저에 대하여, 총무부 파일 서버에의 액세스를 허가한다.
ㆍ폴리시 ID=p5 : <경리ㆍ인사 겸무 폴리시> 경리ㆍ인사 겸무 롤의 유저에 대하여, 경리부 파일 서버에의 액세스를 금지하고, 인사부 그룹 웹 서버에의 액세스를 금지한다.
또한, 폴리시 계층화 수단(103)의 폴리시 ID 리스트(1032)에는, 전술한 폴리시 ID가, 「p1」 「p2」 「p3」 「p4」 「p5」의 순으로 기재되어 있는 것으로 한다. 또한, 폴리시 기술 포맷은, 경리부 등의 「롤」, Web 서버ㆍ파일 서버 등의 「리소스」를 기술할 수 있으면 충분하지만, 본 예에서는, 도 8에 도시한 바와 같은 XACML(eXtende Access control Markup Language)을 이용하는 것으로 한다. 도 8은 폴리시 DB(102)에 저장되는 폴리시 기술의 예를 도시하는 설명도이다.
또한, 전사원의 유저 ID로서, {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}가 주어져 있는 것으로 한다. 또한, "keiri_ichiro" 및 "keiri_jiro"는 경리부 소속, "jinji_hanako"는 경리부와 인사부에 소속(경리ㆍ인사 겸무), "jinji_kyouko"는 인사부 소속, "soumu_taro"는 총무부 소속인 것으로 하여 각 서브젝트 집합에 관련지어져 있는 것으로 한다.
이때, 폴리시 계층화 수단(103)은, 스텝 A1에서, 폴리시 ID 리스트(1032)를 참조하여, 우선 폴리시 ID=p1(pid[1]=p1)을 추출한다. 그리고, 스텝 A2에서, pid[1]=p1을 폴리시 DB(102)에 입력하여, 「전사원 폴리시」를 추출한다. 그리고, 스텝 A3에서, 대응하는 롤 ID인 「전사원 롤」을 롤 DB(101)에 입력하여, 전사원의 유저 ID를 포함하는 서브젝트 집합을 취득하고, 스택 영역에 폴리시 ID와 서브젝트 집합과의 조를 저장한다.
1회째의 처리에서는, 폴리시 ID 리스트(1032)로부터 pid[1]=p1을 추출하고, 서브젝트 집합으로서 S[1]={keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}를 취득한다. 그리고, 스택 영역에, <p1, {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}>를 저장한다.
그리고, 폴리시 ID=p2∼p5에 대하여, 마찬가지의 동작을 반복한다(스텝 A4, A5).
2회째의 처리에서는, 폴리시 ID 리스트(1032)로부터 pid[2]=p2를 추출하고, 서브젝트 집합으로서 S[2]={keiri_ichiro, keiri_jiro}를 취득한다. 그리고, 스택 영역에, <p2, {keiri_ichiro, keiri_jiro}>를 저장한다.
3회째의 처리에서는, 폴리시 ID 리스트(1032)로부터 pid[3]=p3을 추출하고, 서브젝트 집합으로서 S[3]={jinji_hanako, jinji_kyouko}를 취득한다. 그리고, 스택 영역에, <p3, {jinji_hanako, jinji_kyouko}>를 저장한다.
4회째의 처리에서는, 폴리시 ID 리스트(1032)로부터 pid[4]=p4를 추출하고, 서브젝트 집합으로서 S[4]={soumu_taro}를 취득한다. 그리고, 스택 영역에, <p4, {soumu_taro}>를 저장한다.
5회째의 처리에서는, 폴리시 ID 리스트(1032)로부터 pid[5]=p5를 추출하고, 서브젝트 집합으로서 S[5]={jinji_hanako}를 취득한다. 그리고, 스택 영역에, <p5, {jinji_hanako}>를 저장한다.
5회째의 처리를 끝내어 반복 동작을 완료한 후, 폴리시 계층화 수단(103)의 스택 영역에는, 이하와 같은 데이터가 저장되어 있다.
<p5, {jinji_hanako}>
<p4, {soumu_taro}>
<p3, {jinji_hanako, jinji_kyouko}>
<p2, {keiri_ichiro, keiri_jiro}>
<p1, {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}>
계속해서, 폴리시 계층화 수단(103)은, 그 스택 영역에 저장된 5개의 서브젝트 집합을 추출하여, 10가지의 서브젝트 집합의 조합을 생성한다(스텝 A6). 그리고, 각 조합으로부터, 폴리시 계층 데이터를 생성한다.
폴리시 계층 데이터의 생성 방법은, 포함 관계에 의해 3가지이므로, 각각의 경우에 대하여 구체예를 나타낸다.
(ⅰ) S[i]⊆S[j]의 경우
예를 들면 {keiri_ichiro, keiri_jiro}와 {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}의 조합의 경우, 전자의 서브젝트 집합에 대응하는 폴리시 ID는 p2이고, 후자는 p1이므로, 노드 p2 및 노드 p1을 생성하여, 노드 p2로부터 노드 p1로 향하는 유향 링크를 부여한다(스텝 A9).
(ⅱ) S[j]⊆S[i]의 경우
예를 들면 {jinji_hanako, jinji_kyouko}와 {jinji_hanako}의 조합의 경우, 전자의 서브젝트 집합에 대응하는 폴리시 ID는 p3이고, 후자는 p5이므로, 노드 p3 및 노드 p5를 생성하여, 노드 p5로부터 노드 p3으로 향하는 유향 링크를 부여한다(스텝 A10). 단, 노드 p3에 대해서는, 전단의 동작에서 이미 생성 완료된 경우에는, 중복된 노드는 생성하지 않는다.
(ⅲ) 포함 관계 없음의 경우
예를 들면, {jinji_hanako, jinji_kyouko}와 {soumu_taro}의 조합의 경우, 전자의 서브젝트 집합에 대응하는 폴리시 ID는 p3이고, 후자는 p4이므로, 노드 p3 및 노드 p5를 생성하고, 그 사이에 일절의 유향 링크를 부여하지 않는다(스텝 A11). 단, 노드 p3에 대해서는, 전단의 동작에서 이미 생성 완료된 경우에는, 중복된 노드는 생성하지 않는다.
이상의 동작에 의해, 폴리시 계층화 수단(103)은, 도 9에 도시한 폴리시 계층을 표현하는 폴리시 계층 데이터를 생성한다. 도 9는 폴리시 계층의 예를 도시하는 설명도이다. 도 9에 도시한 예에서는, 노드로서, 5개의 폴리시에 대응하는 5개의 노드(노드 p1, p2, p3, p4, p5)가 생성되고, 유향 링크로서 6개의 링크(노드 p5로부터 노드2, 노드 p5로부터 노드 p3, 노드 p4로부터 노드 p1, 노드 p3으로부터 노드 p1, 노드 p2로부터 노드 p1)가 부여되어 있다.
이와 같은 폴리시 계층 데이터에 대하여, 폴리시 순서화 수단(104)은 위상적 소트를 행하여, 폴리시 순서를 결정한다(스텝 A13).
구체적으로는, 우선, 입력 링크가 없는 노드 집합 {노드 p4, 노드 p5}를 추출한다(스텝 B1). 이들 중 어느 것의 노드로부터 깊이 우선 탐색을 행해도 되지만, 여기서는 노드 p5로부터 탐색을 행하는 것으로 한다.
계속해서, 노드 p5를 기점으로 하여 깊이 우선 탐색을 행하여, 상기 조건에 합치하는 노드 p1을 검출하고, 스택에 저장한다(스텝 B2). 또한, 노드 p1에 방문 완료 플래그를 부여한다.
이 탐색 동작은 재귀적으로 행하므로, 다음으로 폴리시 순서화 수단(104)은, 노드 p2 내지 노드 p3에 대하여, 상기 조건 판정을 행한다. 지금, 노드 p2를 참조 중인 것으로 하면, 노드 p2의 링크처는 노드 p1밖에 없고, 또한 노드 p1에는 방문 완료 플래그가 부여되어 있으므로, 노드 p2는 상기 조건에 합치한다. 따라서, 노드 p2를 스택에 저장하고, 방문 완료 플래그를 부여한다. 노드 p3에 대해서도 마찬가지이다. 최종적으로 노드 p5로부터 링크된 모든 노드 p1, 노드 p2, 노드 p3에 방문 완료 플래그가 부여되므로, 노드 p5도 스택에 저장되고, 방문 완료 플래그가 부여된다. 이때, 스택에는, 선두로부터 노드 p5, 노드 p3, 노드 p2, 노드 p1의 순으로 노드가 저장되어 있다.
그 후, 또 하나의 입력 링크가 없는 노드인 노드 p4를 기점으로 하여, 깊이 우선 탐색을 행한다. 이 경우, 노드 p4로부터 링크되어 있는 노드는, 노드 p1만이며, 또한 노드 p1은 방문 완료 플래그가 부여되어 있으므로, 폴리시 순서화 수단(104)은, 간단히 노드 p4를 스택에 저장하고, 방문 완료 플래그를 부여하여 탐색 처리를 종료한다.
이상의 결과, 스택에는, 선두로부터 노드 p4, 노드 p5, 노드 p3, 노드 p2, 노드 p1의 순으로 노드가 저장되어 있다.
그리고, 폴리시 순서화 수단(104)은, 스택의 선두로부터 노드를 1개씩 참조하면서, 참조 노드에 대응하는 폴리시 ID의 리스트를 생성한다(스텝 B3).
즉, p4→p5→p3→p2→p1이라고 하는 순서로 배열한 폴리시 ID 리스트를 생성한다. 이것은, 폴리시 계층 데이터에서, 「깊은 층→얕은 층」의 순으로 폴리시 ID를 정렬한 결과에 상당한다.
2. 제2 실시 형태
2. 1. 구성
다음으로, 본 발명의 제2 실시 형태에 대하여 도면을 참조하여 설명한다. 도 10은 제2 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도이다. 도 10에 도시한 폴리시 관리 시스템은, 도 1에 도시한 제1 실시 형태를 기본으로 하고, 액세스 제어 폴리시 관리 장치(1)가, ACL 생성 조건 입력 수단(107)과, ACL 생성 수단(108)을 더 구비한다.
ACL 생성 조건 입력 수단(107)은, 키보드 장치나 마우스 장치 등의 유저 입력 장치를 갖고, 폴리시의 변환 범위에 관한 조건 입력을 받아, 그 조건을 폴리시 ID 리스트의 형식으로, 폴리시 계층화 수단(103)에 입력한다. 또한, 그 변환 범위에 포함되는 폴리시 기술의 집합을 폴리시 DB(102)로부터 추출하고, ACL 생성 수단(108)에 입력한다.
ACL 생성 수단(108)은, 2차 기억 장치를 갖고, ACL 생성 조건 입력 수단(107)으로부터 입력된 각각의 폴리시 기술에 대하여, 폴리시 순서화 수단(104)으로부터 입력된 폴리시 순서에 따라서, 롤 DB(101)를 참조하면서, 순차적으로 ACL 기술로 변환하고, 변환 결과(ACL 기술)를 2차 기억 장치에 저장한다.
또한, 본 실시 형태에서, ACL 생성 조건 입력 수단(107)은, 유저 입력 장치와 데이터 입력의 접수나 변환에 관련되는 기능을 실현하기 위한 프로그램과 프로그램에 따라서 제어를 실행하는 CPU(100)에 의해 실현 가능하다. 또한, ACL 생성 수단(108)은, 그 기능을 실현하기 위한 프로그램과 프로그램에 따라서 제어를 실행하는 CPU(100)에 의해 실현 가능하다.
2. 2. 동작
도 11은 본 실시 형태의 폴리시 관리 시스템(보다 구체적으로는, 액세스 제어 폴리시 관리 장치(1))의 동작의 일례를 설명하는 플로우차트이다. 도 11에 도시한 예에서는, 우선, ACL 생성 조건 입력 수단(107)이, 유저 입력 장치를 통하여, 폴리시 배부 조건(ACL 생성 조건이라고도 함)의 지시 입력을 받는다(스텝 D1). 그 조건에는, 적어도 폴리시 생성 범위가 포함된다. 여기서, 폴리시 생성 범위에 대해서는, 예를 들면 「폴리시 DB에 저장된 모든 폴리시」, 「과거 ACL 생성이 지시되어 있지 않은 폴리시」, 「지정한 롤 집합에 대응하는 폴리시」 등, 폴리시 DB(102)에 저장된 폴리시 기술의 집합을 특정할 수 있는 것이면, 임의의 조건을 지시 가능하다.
다음으로, ACL 생성 조건 입력 수단(107)은, 입력된 폴리시 생성 범위에 관한 조건에 따라서, 폴리시 DB(102)를 참조하면서, 그 조건에 합치하는 폴리시 집합을 동정한다(스텝 D2). 여기서, 폴리시 집합의 동정 방법에 관하여, 예를 들면 도 12에 도시한 바와 같은 폴리시 DB 스키마에 따라서 폴리시 DB(102)에 폴리시 기술이 저장되어 있는 경우, 생성 범위 조건에 대응하는 ACL 생성 완료 플래그 컬럼이나 롤 ID 컬럼을 참조함으로써, 조건에 합치하는 폴리시 ID를 동정할 수 있다. 보다 구체적으로는, 이하와 같은 SQL문으로 뷰를 생성해도 된다.
ㆍACL 생성 유무의 예 : SELECT 폴리시 ID FROM 폴리시 DB WHERE AL 생성 플래그=0(여기서는, 미생성을 나타내는 값)
ㆍ롤 ID의 예 : SELECT 폴리시 ID FROM 폴리시 DB WHERE 롤 ID=(지정된 롤 ID[1]) OR 롤 ID=(지정된 롤 ID[2]) OR …
이와 같이 폴리시 ID 리스트(1032)에 저장 가능한 폴리시 ID의 집합으로서 폴리시 집합을 추출하면, ACL 생성 조건 입력 수단(107)은, 그 폴리시 집합의 리스트(폴리시 ID 리스트)를, 폴리시 계층화 수단(103)의 1차 기억 장치(1031)에 카피한다(저장한다). 또한, 그 폴리시 ID 리스트로부터, 대응하는 폴리시 기술의 집합을 폴리시 DB(102)로부터 추출하여, ACL 생성 수단(108)에 입력한다.
그 후, 폴리시 계층화 수단(103) 및 폴리시 순서화 수단(104)은, 제1 실시 형태의 스텝 A1∼A13의 동작과 마찬가지로, 폴리시 계층화 수단(103)의 1차 기억 장치(1031)에 저장되어 있는 폴리시 집합에 대한 폴리시 순서 데이터를 생성한다(스텝 D3).
그리고, ACL 생성 수단(108)은, ACL 생성 조건 입력 수단(107)으로부터 입력된 각 폴리시 기술에 대하여, 폴리시 순서화 수단(104)으로부터 입력된 폴리시 순서 데이터에 따라서, ACL 기술로 변환하고, 2차 기억 장치의 동일 파일에 추기한다(스텝 D4).
이하, 폴리시 기술로부터 ACL 기술로의 변환 방법을 도 13을 참조하여 보다 구체적으로 설명한다. 도 13은 ACL 기술로의 변환 처리의 처리 플로우의 일례를 설명하는 플로우차트이다. 도 13에 도시한 예에서는, ACL 생성 수단(108)은, 우선 현재 참조하고 있는 폴리시 기술에 포함되는 롤 ID, 및 오브젝트ㆍ액션의 조의 집합 OA를 추출한다(스텝 E1). 여기서, 오브젝트란 액세스 대상인 파일이나 컴퓨터 등이고, 액션이란 오브젝트에 대하여 행해지는 조작(예를 들면, 파일에의 읽어들이기나 기입 등)이다.
다음으로, 롤 ID를 롤 DB(101)에 입력하여, 대응하는 서브젝트 집합 S를 취득한다(스텝 E2). 그 후, 서브젝트 집합 S와 오브젝트ㆍ액션 조 집합 OA의 직적 S×OA를 계산한다(스텝 E3).
예를 들면, S={sato, suzuki, tanaka}이고, OA={(파일1, read-only), (파일2, read-write)}일 때, 이하의 6개의 (S, O, A)의 조가 얻어진다.
(1) (sato, 파일1, read-only)
(2) (sato, 파일2, read-write)
(3) (suzuki, 파일1, read-only)
(4) (suzuki, 파일2, read-write)
(5) (tanaka, 파일1, read-only)
(6) (tanaka, 파일2, read-write)
마지막으로, 상기 (S, O, A)의 조의 각각을 ACL 기술로 변환하여, 2차 기억 장치에 추기한다(스텝 E4). 여기서, ACL 기술 형식은, S, O, A가 식별 가능하면 임의이다. 예를 들면, 각 요소를 콤마 단락으로 열거하는 CSV(Comma, Separeted Valures) 형식을 이용하는 경우, 이하와 같은 ACL 기술을 생성해도 된다.
(1) sato, 파일1, read-only(개행 기호)
(2) sato, 파일2, read-write(개행 기호)
(3) suzuki, 파일1, read-only(개행 기호)
(4) suzuki, 파일2, read-write(개행 기호)
(5) tanaka, 파일1, read-only(개행 기호)
(6) tanaka, 파일2, read-write(개행 기호)
2. 3. 효과
이상과 같이, 본 실시 형태에 따르면, 폴리시간의 예외ㆍ원칙 관계에 대하여 적절하게, 즉 예외를 우선하여, ACL 기술로 변환할 수 있다. 이것은, 폴리시 계층화 수단(103)이, 예외 폴리시를 보다 깊은 층에 배치하여, 폴리시 계층 데이터를 생성하고, 폴리시 순서화 수단(104)이, 그 폴리시 계층 데이터의 보다 깊은 층으로부터 얕은 층을 향하여 폴리시 ID를 순서화하고, 그 순서에 기초하여 ACL 기술로 변환하기 위해서이다.
3. 제3 실시 형태
3. 1. 구성
다음으로, 본 발명의 제3 실시 형태에 대하여 도면을 참조하여 설명한다. 도 14는 제3 실시 형태의 폴리시 관리 시스템의 구성예를 도시하는 블록도이다. 도 14에 도시한 폴리시 관리 시스템은, 도 1에 도시한 제1 실시 형태를 기본으로 하고, 액세스 제어 폴리시 관리 장치(1)가, 폴리시 표시 조건 입력 수단(105)과, 폴리시 리스트 표시 수단(106)을 더 구비한다.
폴리시 표시 조건 입력 수단(105)은, 키보드 장치나 마우스 장치 등의 유저 입력 장치를 갖고, 폴리시의 표시 범위 및 표시 순서에 관한 조건 입력을 받아, 폴리시 표시 범위를 폴리시 ID 리스트로 변환하여, 폴리시 계층화 수단(103)에 입력한다. 또한, 표시 순서에 대해서는, 폴리시 리스트 표시 수단(106)에 입력한다.
폴리시 리스트 표시 수단(106)은, 액정 디스플레이 장치(LCD) 등의 표시 디바이스를 갖고, 폴리시 표시 조건 입력 수단(105)으로부터 폴리시 순서의 순으로 표시하도록 표시 조건의 입력을 받았을 때에, 폴리시 순서화 수단(104)이 출력하는 폴리시 순서에 따라서, 각 폴리시의 정보(예를 들면, 폴리시 ID)를 표시 디바이스에 일람 표시한다.
또한, 본 실시 형태에서, 폴리시 표시 조건 입력 수단(105)은, 유저 입력 장치와 데이터 입력의 접수나 변환에 관련되는 기능을 실현하기 위한 프로그램과 프로그램에 따라서 제어를 실행하는 CPU(100)에 의해 실현 가능하다. 또한, 폴리시 리스트 표시 수단(106)은, 그 기능을 실현하기 위한 프로그램과 프로그램에 따라서 제어를 실행하는 CPU(100)와 표시 디바이스에 의해 실현 가능하다.
3. 2. 동작
도 15는 본 실시 형태의 폴리시 관리 시스템(보다 구체적으로는, 액세스 제어 폴리시 관리 장치(1))의 동작의 일례를 설명하는 플로우차트이다. 도 15에 도시한 예에서는, 우선, 폴리시 표시 조건 입력 수단(105)이, 유저 입력 장치를 통하여, 표시 조건의 지시 입력을 받는다(스텝 C1). 그 표시 조건에는, 적어도 폴리시 표시 범위와 표시 순서에 관한 조건이 포함된다. 여기서, 폴리시 표시 범위에 대해서는, 예를 들면 「폴리시 DB에 저장된 모든 폴리시」, 「갱신 일시에 관한 기간」, 「폴리시를 작성한 관리자 ID」 등, 폴리시 DB(102)에 저장된 폴리시 기술의 집합을 특정할 수 있는 것이면, 임의의 조건을 지시 가능하다. 또한, 표시 순서에 대해서는, 예를 들면 「폴리시 적용순」 외에, 「폴리시 명칭의 사전순」이나 「폴리시 갱신 일시순」 등을 지정할 수 있도록 해도 된다.
다음으로, 폴리시 표시 조건 입력 수단(105)은, 입력된 폴리시 표시 범위에 관한 조건에 따라서, 폴리시 DB(102)를 참조하면서, 그 조건에 합치하는 폴리시 집합을 동정한다(스텝 C2). 여기서, 폴리시 집합의 동정 방법에 관하여, 예를 들면 도 16에 도시한 바와 같은 폴리시 DB 스키마에 따라서 폴리시 DB(102)에 폴리시 기술이 저장되어 있는 경우, 표시 범위 조건에 대응하는 갱신 일시 컬럼이나 관리자ID 컬럼을 참조함으로써, 조건에 합치하는 폴리시 ID를 동정할 수 있다. 보다 구체적으로는, 이하와 같은 SQL문으로 뷰를 생성해도 된다.
ㆍ갱신 일시의 예 : SELECT 폴리시 ID FROM 폴리시 DB WHERE (지정된 기간의 시작) < 갱신 일시 AND 갱신 일시 < (지정된 기간의 끝)
ㆍ관리자 ID의 예 : SELECT 폴리시 ID FROM 폴리시 DB WHERE 관리자 ID=(지정된 관리자 ID)
이와 같이 폴리시 ID 리스트(1032)에 저장 가능한 폴리시 ID의 집합으로서 폴리시 집합을 추출하면, 폴리시 표시 조건 입력 수단(105)은, 그 폴리시 집합의 리스트(폴리시 ID 리스트)를, 폴리시 계층화 수단(103)의 1차 기억 장치(1031)에 카피한다(저장한다). 또한, 접수한 표시 조건을 폴리시 리스트 표시 수단(106)에 입력한다.
그 후, 폴리시 계층화 수단(103) 및 폴리시 순서화 수단(104)은, 제1 실시 형태의 스텝 A1∼A13의 동작과 마찬가지로, 폴리시 집합에 대한 폴리시 순서 데이터를 생성한다(스텝 C3). 그리고, 폴리시 리스트 표시 수단(106)은, 생성된 폴리시 순서 데이터에 따라서, 폴리시 집합의 각 요소인 폴리시 ID 또는 관련지어진 폴리시 명칭을, 표시 장치를 통하여 표시한다(스텝 C4). 폴리시 리스트 표시 수단(106)은, 예를 들면, 도 17에 도시한 바와 같은 일람 화면을 표시해도 된다. 도 17에 도시한 예에서는, 폴리시 ID를 지시된 순서로 일람 표시하는 예가 나타내어져 있다. 또한, 표시 순서의 절환 지시로서, 「우선도순」, 「이름순」, 「작성 일시순」 중 어느 하나를 선택하는 라디오 버튼이 나타내어져 있다.
3. 3. 효과
이상과 같이, 본 실시 형태에 따르면, 폴리시 순서에 따라서 일람 표시함으로써, 액세스 제어 폴리시 관리 장치(1)의 유저인 폴리시 관리자는, 직관적으로 폴리시가 적용되는 순서를 인식할 수 있어, 폴리시의 모순 등을 발견하기 쉬워진다. 예를 들면, 폴리시 관리자는, 자신이 작성한 폴리시보다도 후에 표시되는 폴리시(즉, 보다 우선도가 낮은 폴리시)를 검증하는 것만으로, 자신이 작성한 폴리시에 모순되고, 또한 실제로 적용되는 다른 폴리시를 발견할 수 있다.
이하, 본 발명의 개요에 대하여 설명한다. 도 19는 본 발명의 개요를 도시하는 블록도이다. 본 발명의 폴리시 관리 장치(10)는, 롤 정보 기억 수단(11)과, 폴리시 기술 기억 수단(12)과, 폴리시 계층화 수단(13)과, 폴리시 순서화 수단(14)을 구비한다.
롤 정보 기억 수단(11)(예를 들면, 롤 DB(101))은, 폴리시의 적용 대상으로 되는 서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와, 롤 정보에 포함되는 서브젝트 집합간의 포함 관계를 특정 가능한 정보를 저장한다.
폴리시 기술 기억 수단(12)(예를 들면, 폴리시 DB(102))은, 폴리시를 나타내는 정보와, 그 폴리시의 적용 대상으로 되는 서브젝트 집합을 식별하기 위한 정보를 포함하는 폴리시 기술을 저장한다.
폴리시 계층화 수단(13)(예를 들면, 폴리시 계층화 수단(103))은, 폴리시 기술 기억 수단(12)에 저장되어 있는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성한다.
폴리시 계층화 수단(13)은, 예를 들면, 서브젝트 집합에 포함 관계가 있는 폴리시 노드간에, 유향 링크를 부가한 폴리시 계층 데이터를 생성함으로써, 폴리시 계층을 생성해도 된다.
폴리시 순서화 수단(14)(예를 들면, 폴리시 순서화 수단(104))은, 폴리시 계층화 수단(13)에 의해 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 2 이상의 폴리시에 의한 폴리시 집합을 전순서화한다.
폴리시 순서화 수단(14)은, 예를 들면, 입력 링크가 없는 노드의 집합의 각 요소를 기점으로 하여, 폴리시 계층 데이터에 대하여, 깊이 우선 탐색에 따라서 위상적 소트를 행함으로써, 전순서화의 대상으로 된 폴리시 집합을 전순서화해도 된다.
그와 같은 구성에 의해, 서브젝트 집합의 포함 관계로부터 폴리시의 포함 관계를 도출하고, 도출된 폴리시의 포함 관계에 기초하여, 폴리시 집합의 전순서를 일의로 구할 수 있으므로, 긍정적 폴리시와 부정적 폴리시를 동시에 포함하는 폴리시 집합을 올바르게 단일의 액세스 제어 룰로 변환할 수 있다.
또한, 도 20은 본 발명의 개요로서 폴리시 관리 장치의 다른 구성예를 도시하는 블록도이다. 예를 들면, 도 20에 도시한 바와 같이, 본 발명의 폴리시 관리 장치(1)는, 폴리시 리스트 표시 수단(15)을 더 구비하고 있어도 된다.
폴리시 리스트 표시 수단(15)(예를 들면, 폴리시 리스트 표시 수단(106))은, 폴리시 순서화 수단(14)에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시한다.
그와 같은 구성에 의해, 폴리시 집합의 각 요소에 대하여, 단일의 ACL에서의 기술 순서를 일람 표시할 수 있으므로, 폴리시 관리자에 의한 폴리시의 검증을 지원할 수 있다.
또한, 도 20에 도시한 바와 같이, 본 발명의 폴리시 관리 장치(1)는, ACL 생성 수단(16)을 더 구비하고 있어도 된다.
ACL 생성 수단(16)(예를 들면, ACL 생성 수단(108))은, 폴리시 순서화 수단에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환한다.
그와 같은 구성에 의해, 긍정적 폴리시 및 부정적 폴리시의 양방을 요소로서 갖는 폴리시 집합에 대하여, 전순서에 따른 기술순으로 단일의 ACL을 생성할 수 있으므로, 액세스 제어 기구에서, 예외적으로 정한 폴리시에 따른 액세스 제어를 적절하게 실시시킬 수 있다.
또한, 도 19 및 도 20에 도시한 바와 같은, 물리적으로 분리된 1개의 장치(폴리시 관리 장치)가 모든 수단을 갖는 예 외에, 전술한 대로 2개 이상의 물리적으로 분리된 장치에서 도 19 및 도 20에 도시한 수단을 구비하고, 이들 장치를 유선 또는 무선으로 접속함으로써 폴리시 관리 시스템을 구성하는 것도 가능하다.
예를 들면, 폴리시 관리 시스템은, 롤 정보 기억 수단을 구비하는 롤 기억 장치와, 폴리시 기술 기억 수단을 구비하는 폴리시 기술 기억 장치와, 폴리시 계층화 수단 및 폴리시 순서화 수단을 구비하는 폴리시 전순서화 장치에 의해 구성되어도 된다. 또한, 폴리시 전순서화 장치는, 폴리시 리스트 표시 수단 또는 ACL 생성 수단을 더 구비해도 된다.
이와 같이 구성한 경우, 다수의 롤 정보 및/또는 폴리시 기술이 존재하는 대규모 환경에서, 폴리시 전순서화 장치를 복수대 구비함으로써, 부하 분산을 달성할 수 있다.
이 출원은, 2009년 2월 10일에 출원된 일본 출원 특원 2009-028985호를 기초로 하는 우선권을 주장하고, 그 개시 모두를 여기에 원용한다.
본 발명은, 데이터베이스화된 폴리시에 대하여, 폴리시 순서에 따른 검색 뷰를 생성하는 폴리시 검색 장치나, 생성한 액세스 제어 리스트를 원격 서버에 설정하는 폴리시 배부 장치라고 하는 용도에도 적용 가능하다.

Claims (14)

  1. 폴리시의 적용 대상이 되는 서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와, 상기 롤 정보에 포함되는 서브젝트 집합 간의 포함 관계를 특정 가능한 정보를 저장하는 롤 정보 기억 수단과,
    폴리시를 나타내는 정보와, 그 폴리시의 적용 대상이 되는 서브젝트 집합을 식별하기 위한 정보를 포함하는 폴리시 기술을 저장하는 폴리시 기술 기억 수단과,
    상기 폴리시 기술 기억 수단에 저장되어 있는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 2 이상의 폴리시를 계층화한 폴리시 계층을 생성하는 폴리시 계층화 수단과,
    상기 폴리시 계층화 수단에 의해 생성된 폴리시 계층을 나타내는 정보에 기초하여, 전순서(全順序)화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을, 계층에서의 상위ㆍ하위의 관계를 유지한 채로, 전순서화하는 폴리시 순서화 수단
    을 구비한 것을 특징으로 하는 폴리시 관리 장치.
  2. 제1항에 있어서,
    폴리시 순서화 수단에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 폴리시 리스트 표시 수단을 구비한 폴리시 관리 장치.
  3. 제1항 또는 제2항에 있어서,
    폴리시 순서화 수단에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 수단을 구비한 폴리시 관리 장치.
  4. 제1항 또는 제2항에 있어서,
    폴리시 계층화 수단은, 서브젝트 집합에 포함 관계가 있는 폴리시 노드간에, 유향 링크(directed link)를 부가한 폴리시 계층 데이터를 생성함으로써, 폴리시 계층을 생성하는 폴리시 관리 장치.
  5. 제4항에 있어서,
    폴리시 순서화 수단은, 입력 링크가 없는 노드의 집합의 각 요소를 기점으로 하여, 폴리시 계층 데이터에 대하여, 깊이 우선 탐색에 따라서 위상적 소트(sort)를 행함으로써, 전순서화의 대상이 된 폴리시 집합을 전순서화하는 폴리시 관리 장치.
  6. 폴리시의 적용 대상이 되는 서브젝트 집합을 나타내는 정보를 포함하는 롤 정보와, 상기 롤 정보에 포함되는 서브젝트 집합 간의 포함 관계를 특정 가능한 정보를 저장하는 롤 정보 기억 수단을 구비하는 롤 기억 장치와,
    폴리시를 나타내는 정보와, 그 폴리시의 적용 대상이 되는 서브젝트 집합을 식별하기 위한 정보를 포함하는 폴리시 기술을 저장하는 폴리시 기술 기억 수단을 구비하는 폴리시 기술 기억 장치와,
    상기 폴리시 기술 기억 수단에 저장되어 있는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 수단과,
    상기 폴리시 계층화 수단에 의해 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 수단
    을 구비하는 폴리시 전순서화 장치
    를 갖는 폴리시 관리 시스템.
  7. 제6항에 있어서,
    상기 폴리시 전순서화 장치는,
    폴리시 순서화 수단에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 폴리시 리스트 표시 수단을 더 구비한 폴리시 관리 시스템.
  8. 제6항 또는 제7항에 있어서,
    상기 폴리시 전순서화 장치는,
    폴리시 순서화 수단에 의해 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 수단을 더 구비한 폴리시 관리 시스템.
  9. 서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과,
    상기 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝
    을 포함하는 것을 특징으로 하는 폴리시 순서화 방법.
  10. 서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과,
    상기 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝과,
    상기 폴리시 순서화 스텝에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 일람 표시 스텝
    을 포함하는 것을 특징으로 하는 폴리시 리스트 표시 방법.
  11. 서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 스텝과,
    상기 폴리시 계층화 스텝에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 스텝과,
    상기 폴리시 순서화 스텝에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 스텝
    을 포함하는 것을 특징으로 하는 ACL 생성 방법.
  12. 컴퓨터에,
    서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와,
    상기 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리
    를 실행시키기 위한 폴리시 순서화 프로그램을 저장한 정보 저장 매체.
  13. 컴퓨터에,
    서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와,
    상기 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리와,
    상기 폴리시 순서화 처리에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합의 요소를 정렬시켜 일람 표시하는 일람 표시 처리
    를 실행시키기 위한 폴리시 리스트 표시 프로그램을 저장한 정보 저장 매체.
  14. 컴퓨터에,
    서브젝트 집합 간의 포함 관계가 특정 가능한 주어진 서브젝트 집합 및 적용 대상이 되는 서브젝트 집합이 나타내어진 폴리시 집합에 대하여,
    상기 폴리시 집합에 포함되는 2 이상의 폴리시에 대하여, 각 폴리시를 노드로 하고, 각 폴리시가 적용되는 서브젝트 집합의 포함 관계에 기초하여, 서로 포함 관계를 갖지 않는 서브젝트 집합에 적용되는 폴리시로부터 구성되는 층을 포함하는 폴리시 계층을 생성하는 폴리시 계층화 처리와,
    상기 폴리시 계층화 처리에서 생성된 폴리시 계층을 나타내는 정보에 기초하여, 상이한 층의 폴리시 간의 계층 관계를 유지한 채로, 전순서화의 대상인 상기 2 이상의 폴리시에 의한 폴리시 집합을 전순서화하는 폴리시 순서화 처리와,
    상기 폴리시 순서화 처리에서 전순서로서 결정된 폴리시 순서에 따라서, 전순서화의 대상인 폴리시 집합에 포함되는 각 폴리시 기술을 ACL 기술로 변환하는 ACL 생성 처리
    를 실행시키기 위한 ACL 생성 프로그램을 저장한 정보 저장 매체.
KR1020117018538A 2009-02-10 2010-01-26 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체 KR101294951B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2009-028985 2009-02-10
JP2009028985 2009-02-10
PCT/JP2010/000414 WO2010092755A1 (ja) 2009-02-10 2010-01-26 ポリシー管理装置、ポリシー管理システム、それに用いる方法およびプログラム

Publications (2)

Publication Number Publication Date
KR20110101249A KR20110101249A (ko) 2011-09-15
KR101294951B1 true KR101294951B1 (ko) 2013-08-23

Family

ID=42561604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018538A KR101294951B1 (ko) 2009-02-10 2010-01-26 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체

Country Status (6)

Country Link
US (1) US8875221B2 (ko)
EP (1) EP2378458A4 (ko)
JP (1) JP5482667B2 (ko)
KR (1) KR101294951B1 (ko)
CN (1) CN102308302A (ko)
WO (1) WO2010092755A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US9256716B2 (en) 2010-09-22 2016-02-09 Nec Corporation Access authority generation device
CN103283190A (zh) * 2010-12-24 2013-09-04 日本电气株式会社 通信系统、控制装置、策略管理装置、通信方法和程序
WO2012173626A1 (en) * 2011-06-16 2012-12-20 Hewlett-Packard Development Company, L.P. System and method for policy generation
US9081975B2 (en) * 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
CN104714825B (zh) * 2015-03-20 2019-01-04 北京瑞星网安技术股份有限公司 统一策略配置的方法
US11763321B2 (en) 2018-09-07 2023-09-19 Moore And Gasperecz Global, Inc. Systems and methods for extracting requirements from regulatory content
JP7326930B2 (ja) * 2019-07-01 2023-08-16 富士通株式会社 探索プログラム、探索方法、および、情報処理装置
US11314922B1 (en) * 2020-11-27 2022-04-26 Moore & Gasperecz Global Inc. System and method for generating regulatory content requirement descriptions
US11823477B1 (en) 2022-08-30 2023-11-21 Moore And Gasperecz Global, Inc. Method and system for extracting data from tables within regulatory content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280727A (ja) * 2003-03-18 2004-10-07 Ricoh Co Ltd 電子掲示板システム
JP2007249617A (ja) * 2006-03-16 2007-09-27 Yaskawa Electric Corp ファイルサーバシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001294089A1 (en) * 2000-08-18 2002-02-25 Camelot Information Technologies Ltd. A system and method for a greedy pairwise clustering
US20040039594A1 (en) * 2002-01-09 2004-02-26 Innerpresence Networks, Inc. Systems and methods for dynamically generating licenses in a rights management system
US8595347B2 (en) * 2004-09-30 2013-11-26 Cisco Technology, Inc. Method and apparatus for device based policy configuration in a network
JP4301513B2 (ja) 2004-11-26 2009-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ポリシーを用いたアクセス制御効果の判定方法
US8056114B2 (en) * 2005-08-23 2011-11-08 The Boeing Company Implementing access control policies across dissimilar access control platforms
US20090063747A1 (en) * 2007-08-28 2009-03-05 Rohati Systems, Inc. Application network appliances with inter-module communications using a universal serial bus
US20090178102A1 (en) * 2008-01-04 2009-07-09 Khaled Alghathbar Implementing Security Policies in Software Development Tools
JP5083042B2 (ja) * 2008-05-30 2012-11-28 富士通株式会社 アクセス制御ポリシーの遵守チェック用プログラム
US20100299717A1 (en) * 2009-05-22 2010-11-25 National University Of Ireland, Galway System for Annotation-Based Access Control
US9477671B2 (en) * 2009-05-27 2016-10-25 Oracle International Corporation System and method for implementing effective date constraints in a role hierarchy
US9268954B2 (en) * 2009-10-07 2016-02-23 Ca, Inc. System and method for role discovery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280727A (ja) * 2003-03-18 2004-10-07 Ricoh Co Ltd 電子掲示板システム
JP2007249617A (ja) * 2006-03-16 2007-09-27 Yaskawa Electric Corp ファイルサーバシステム

Also Published As

Publication number Publication date
KR20110101249A (ko) 2011-09-15
US8875221B2 (en) 2014-10-28
WO2010092755A1 (ja) 2010-08-19
US20110289550A1 (en) 2011-11-24
JPWO2010092755A1 (ja) 2012-08-16
EP2378458A1 (en) 2011-10-19
EP2378458A4 (en) 2013-01-09
JP5482667B2 (ja) 2014-05-07
CN102308302A (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
KR101294951B1 (ko) 폴리시 관리 장치, 폴리시 관리 시스템, 그것에 이용하는 방법 및 정보 저장 매체
US10977380B2 (en) Hybrid role and attribute based access control system
US11140166B2 (en) Multi-tenant authorization
Cohen et al. Models for coalition-based access control (CBAC)
Chassiakos et al. A web-based system for managing construction information
US20190364051A1 (en) Organization based access control system
US8301606B2 (en) Data management method and apparatus
Kraska et al. S chengen DB: A Data Protection Database Proposal
Baumgrass et al. Deriving role engineering artifacts from business processes and scenario models
CN101794312A (zh) 基于安全视图的xml访问控制方法
Vela et al. A practical application of our MDD approach for modeling secure XML data warehouses
Baumgrass et al. Bridging the gap between role mining and role engineering via migration guides
Blanco et al. Security policies by design in NoSQL document databases
Prasetyo et al. Development of project document management system based on data governance with DAMA International framework
WO2017019711A1 (en) Indexing structured data with security information
Mohamed et al. Authorization policy extension for graph databases
Aris Budi Santoso et al. Master data management implementation in distributed information system case study directorate general of tax, ministry of finance of Republic of Indonesia
Oury et al. A model to link them all: IFLA LRM as a driver for harmonization of cataloguing standards related to serials and other continuing resources
Abramov et al. Tool support for enforcing security policies on databases
Zellweger A demonstration of automated database application development
Shen et al. Research on access control decision model of Internet of Things based on attribute exploration
Nelson et al. Using polyinstantiation to develop an MLS application
Lubos et al. Analysis Operations On The Run: Feature Model Analysis in Constraint-based Recommender Systems
Dillon et al. On the Move to Meaningful Internet Systems, OTM 2010: Confederated International Conferences: CoopIS, IS, DOA and ODBASE, Hersonissos, Greece, October 25-29, 2010, Proceedings, Part I
Suvo et al. A Relational data model and database proposal for small firms in the retail sector of Bangladesh

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
LAPS Lapse due to unpaid annual fee