• 검색 결과가 없습니다.

VOMS (Virtual Organization Membership Service) [5]는 EDG와 DataTAG 프로젝트의 일부로 개발된 것으로 그리드 환경에 가상조직에 속한 사용자들에 대한 인증 모델을 제시하고 구현한다. 이식성이 좋아 많은 그리드 미들웨어에서 가상조직 기반 인증을 위해서 같이 사용하고 있다.

(1) 가상조직 구조

VOMS에서는 한 사용자는 그리드 자원을 사용하기 위해서는 특정 가상조직에 속해있는 것을 가정하였다. 사용자는 여러 개의 가상조직에 속할 수 있으며, 자신인 원하는 가상조직을 선택하여 그 조직의 멤버쉽을 가지고 원격 자원을 접근하게 된다. 반면에 자원제공자는 자신의 자원을 접근을 허락한 여러 가상조직의 멤버쉽과 사용자 역할에 따라서 다양하게 권한 제어를 할 수 있다.

가상조직은 여러 개의 하위 가상조직으로 나뉠 수가 있어, 계층적 구조로 정의가 된다. 따라서 가상조직의 구성은 DAG (Direct Acyclic Graph)로 표현이 된다. 하나의 가상조직에 속한 사용자는 그 조직의 상위조직에 해당하는 모든 멤버쉽을 동시에 가지게 된다.

- 19 - (2) 사용자 Attribute

한 가상조직의 사용자의 Attribute는 그룹, Role, Capability의 세 가지 Credential로 정의가 된다. 그룹은 사용자가 속한 가상조직 내에서의 부분조직을 말하며, Role은 사용자가 속한 그룹에서의 역할 혹은 성질을 기술하고, Capability는 사용자는 특수한 성질을 기술하는데 사용된다. 따라서 사용자는 Attribute는 그 사용자가 속한 가상조직에서 한 그룹의 멤버쉽, Role, Capability를 나타내는 문자열이다.

사용자의 Attribute인 그룹, Role, Capability는 FQAN (Fully Qualified Attribute Names)으로 정의 되며 그 형식은 아래와 같다.

/VO[/Role = role][/Capability = cap]

예를 들어, campus.example.org 가상조직에서 Nerds 그룹에서 Administrator 역할을 하는 FQAN은 “/campus.example.org/Nerds/Role=Administrator”로 표현된다.

(3) 시스템

VOMS 시스템은 사용자를 대신하는 사용자 클라이언트와 그 클라이언트로부터 자원 사용에 대한 요청을 받아 그 결과를 돌려주는 사용자 서버가 있으며, 가상조직 관련 사용자 권한 관리를 하는 클라이언트와 서버를 별도로 정의한다.

사용자는 그리드 자원을 사용하기 위해서 프록시 인증서를 VOMS 서버로부터 받아 온다. 이에 해당하는 클라이언트 프로그램은 voms-proxy-init이다. 그림 12에서 보듯이, 사용자는 VOMS 서버에 자신의 사용자 인증서를 사용해서 상호 인증을 하고, VOMS 서버는 사용자 인증 확인을 한 후 요청한 VO 인증서를 사용자에게 보낸다.

그림 12. VOMS 권한 인증 모델 [5]

- 20 -

자원제공자는 사용자가 제시한 사용자 Attribute 인증서에서 관련 정보 (그룹, 역할, 능력)를 추출하고, 자신의 지역 정책에 맞는지 확인하여 해당하는 권한을 사용자에게 부여한다.

(4) PERMIS, CAS, Akenti 와의 비교 가. PERMIS

Ÿ VOMS는 사용자의 Attribute가 그룹, 역할, 능력으로 구성되며, PERMIS는 역할만을 정의하고 있다.

Ÿ VOMS는 Attribute 인증서를 사용자에게 보내고, 사용자가 그것을 자원제공자에게 제시할 지 책임을 지고 있으나, PERMIS는 미리 생성한 Attribute 인증서를 정해진 데이터베이스데 넣고 조회를 한다. 이는 사용자가 자신의 권한의 일부만을 요구하는 것이 힘들게 된다.

Ÿ PERMIS는 정책 결정하는 정책 엔진까지 포함하는 시스템이며, VOMS는 그 부분에 대해서는 구현에 따라 다르게 할 수 있도록 정의하지 않고 있다.

나. CAS

Ÿ CAS는 Attribute 인증서를 발급하지 않고 CAS 서버의 이름이 포함된 프록시 인증서를 발급한다. VOMS는 프록시 인증서의 확장 필드를 사용하므로 CAS 프록시 인증서를 사용 가능하다.

Ÿ CAS는 사용자의 Attribute가 아니라 Permission에 대한 인증을 하게 되어, 자원제공자가 자신의 자원에 대한 접근 제어를 하는 그리드 모델과 불일치하게 된다.

다. Akenti

Ÿ Akenti는 순수 Pull 모델로 사용자는 자신의 개인 인증에 해당하는 Credential을 자원제공자에게 제시하면 된다.

Ÿ Akenti도 PERMIS와 마찬가지로 정책 엔진을 포함한다.

- 21 -

관련 문서