IAM Admin은 콘솔 기능을 제공하는 별도의 웹 어플리케이션 형태로 제공이 되며, IAM Core 가 설치 및 세팅된 상태에서 Web Application Server 에 WAR 형태로 배포된다. IAM Admin 의 View 영역은 jQuery 와 JSP 기술로 구현되어 있으며, Controller 영역은 Anyframe Web, Model 영역은 HibernateJPA와 Anyframe Core 로 구성되어 있다.
IAM Core 가 DB의 설정 내용을 기반으로 실제 대상 어플리케이션의 권한을 제어하는 기능을 주로 제공한다면, IAM Admin 은 Core 가 의존하는 DB 설정을 관리자가 손쉽게 조작할 수 있도록 하며, 변경된 내용을 Core 가 인식할 수 있도록 제어 신호를 전달하는 역할을 제공한다.
IAM Admin 에서는 UI 제어를 위하여 JavaScript Framework 인 jQuery 를 사용하고 있다. jQuery 를 활용하여 화면 리프레쉬를 최소화하면서 서버와의 요청과 응답을 수행할 수 있도록 구성되어 있다. 현재 수많은 플러그인들이 jQuery에 제공되고 있으며, 그 중 Anyframe IAM에서 사용하고 있는 jQuery 관련 플러그인들은 다음과 같다. (jQuery 자체에 대한 설명은 본 매뉴얼의 범위를 벗어나는 영역이므로 아래 목록의 링크를 참조하기 바란다.)
IAM Admin 은 Spring Security 기반의 IAM Core 가 제공하는 기능에 추가하여 사용자 편의 및 기능 향상을 위해 다음과 같은 특징을 제공한다. (권한 리로드 및 어플리케이션 정보 수집 기능은 HttpInvoker 기반으로 작성되어 방화벽 제한없이 동작할 수 있다.)
Cross Browser 지원
IAM Admin 은 Cross Browser 지원하여 Internet Explorer 뿐만 아니라 Firefox, Chrome, Safari 등과 같은 브라우저에서도 동일하게 동작하도록 구현되어 있다.
![]() |
타겟 어플리케이션 권한 리로드
IAM Admin 상에서 변경된 권한 정보는 명시적으로 권한 리로드를 요청하기 전까지는 반영되지 않으며, 관리자가 권한 변경 작업을 종료한 이후 권한 리로드 기능을 수행하면 타켓 어플리케이션(일반적으로 업무 어플리케이션) 의 권한 정보가 갱신된다. 이때 클러스터링 된 서버 환경하에서도 권한 리로드가 가능하다.
![]() |
타겟 어플리케이션 정보 수집
타겟 어플리케이션은 유지보수를 반복하면서 새로운 기능들이 추가되거나 변경이 될 것이다. IAM Admin 에서는 보호된 자원 등록을 손쉽게 할 수 있도록 타겟 어플리케이션의 정보를 수집하는 기능을 제공한다.
![]() |
시간 제한에 의한 권한 관리
IAM Admin 에서는 특정 리소스나 역할에 대한 허용 시간 범위를 설정한 다음, 해당 시간동안 자원에 대한 접근, 역할에 대한 접근을 제어할 수 있으며, 이러한 규칙에 예외되는(접근이 허용된 관리자 등) 역할도 정의할 수 있다.
Auto Complete 지원
권한 관리를 위하여 타겟 어플리케이션의 보호된 자원을 등록하는 것은 복잡하고 어려운 작업이다. IAM Admin 은 자동 완성 기능을 이용해 이미 추출되어 있는 타겟 어플리케이션의 정보를 기반으로 힌트를 제공하여 사용자가 좀 더 손쉽게 보호된 자원을 등록할 수 있도록 지원한다.
IAM Admin은 Anyframe 기반의 Service 들을 통하여 DB 기반의 정보를 관리할 수 있다. 다음의 도해와 설명은 IAM Admin 의 서비스들을 나타낸 것이다. 아래 도해에서 DAO는 공히 Hibernate-JPA 로 기반으로 구성되어 있다. 해당 서비스들을 이용하여 권한을 구성하는 방법에 대한 내용은 사용법을 참고하도록 한다.
IAM Admin 에서 주로 사용되는 Service 들의 첫번째 목록이다. 사용자그룹-사용자 관계(groupsUsers), 사용자 (users), 권한(authorites), 역할(roles) 역할-리소스 관계(securedResourceRoles)과 같이 IAM Core 에서 핵심적으로 바라보는 정보들을 관리한다.
IAM Admin 에서 주로 사용되는 Service 들의 두번째 목록이다. 사용자그룹(groups), 보호된 자원(securedResources), 자원후보군(candidateSecuredResources)과 같은 정보들을 관리한다.
IAM Admin 에서는 시간 범위를 설정한 다음, 해당하는 시간동안 자원에 대한 접근, 역할에 대한 접근을 제어할 수 있으며, 이러한 규칙에 예외되는(예를 들어 접근이 허용된 관리자) 역할도 정의할 수 있다.
업무 어플리케이션을 개발하는 경우, 사용 권한에 따라 화면의 버튼 디스플레이 여부를 제어하거나, 메뉴 디스플레이 여부를 제어해야 하는 경우가 있다. 이 때 권한을 체크하기 위힌 서비스를 제공한다.