Sun Java Enterprise System 5 기술 개요

3장 Java ES 통합 기능

이 장에서는 Java ES 구성 요소를 단일 소프트웨어 시스템으로 통합하는 데 중요한 역할을 수행하는 기능을 이해하기 위한 개념적, 기술적 배경을 제공합니다. 이러한 기능들은 서로 다른 인프라 제품을 수동으로 통합하는 것과 비교하여 Java ES 사용의 장점을 이해하는 데 유용합니다.

이 장의 내용은 다음과 같습니다.

Java ES 통합 설치 프로그램

모든 Java ES 구성 요소는 한 설치 프로그램으로 설치됩니다. Java ES 설치 프로그램은 Java ES 소프트웨어를 호스트 시스템으로 전송합니다. 설치 프로그램을 통해 컴퓨팅 환경에 있는 호스트에 여러 Java ES 구성 요소를 선택 및 설치할 수 있습니다. 또한 설치 프로그램은 설치할 특정 Java ES 구성 요소에 따라 일부 설치 시 구성도 제공합니다.

Java ES 설치 프로그램에서는 본질적으로 분산 설치를 수행하지 않습니다. 분산된 Java ES 소프트웨어 솔루션을 배포하려면 Java ES 설치 프로그램으로 해당 환경에서 한 번에 한 대씩 각 컴퓨터에 적합한 구성 요소를 설치합니다. 배포 구조와 구성 요소 종속성에 따라 적절한 순서의 설치 세션 및 구성 절차를 사용해야 합니다.

설치 프로그램은 그래픽 모드와 텍스트 기반 모드 모두에서 대화식으로 실행되며 매개 변수 구동 자동 설치 모드도 제공합니다. 설치 프로그램은 영어 외에도한국어, 프랑스어, 독일어, 스페인어, 중국어 간체, 중국어 번체, 일본어도 지원합니다.

이 절에서는 통합된 Java ES 설치 프로그램의 다음 요소에 대해 설명합니다. 자세한 내용은 Sun Java Enterprise System 5 UNIX용 설치 설명서를 참조하십시오.

기존 소프트웨어 검사

설치 프로그램은 설치할 호스트를 검사하고 이미 설치되어 있는 Java ES 구성 요소를 식별합니다. 그런 다음 설치 프로그램은 기존의 모든 구성 요소가 적절한 릴리스 수준에 있어 상호 운영할 수 있는지 확인하기 위해 여러 수준에서 검사를 합니다. 설치 프로그램에서는 호환되지 않아서 업그레이드하거나 제거해야 하는 소프트웨어 구성 요소를 알려줍니다.

또한 설치 프로그램은 이미 설치되어 있는 J2SE 또는 NSS와 같은 Java ES 공유 구성 요소( 공유 구성 요소 참조)를 검사하고 모든 비호환성을 나열합니다. 설치를 계속 진행하면 설치 프로그램은 자동으로 이러한 공유 구성 요소를 최신 버전으로 업그레이드합니다.

종속성 검사

설치 프로그램은 구성 요소를 포괄적으로 검사하여 선택한 설치 구성 요소가 올바르게 작동하는지 확인합니다. 많은 구성 요소가 다른 구성 요소와 종속성이 있습니다. 따라서 설치할 구성 요소를 선택하면 설치 프로그램은 선택된 구성 요소와 종속성이 있는 구성 요소와 하위 구성 요소를 자동으로 포함시킵니다. 선택한 다른 구성 요소가 구성 요소에 로컬로 종속되어 있는 경우 이 구성 요소를 선택 취소할 수 없습니다. 그러나 로컬 종속성이 아니면 경고 메시지가 표시되지만 해당 종속성이 다른 호스트 컴퓨터의 구성 요소로 충족된다는 가정 아래 작업을 계속할 수 있습니다.

초기 구성

대다수의 Java ES 구성 요소는 초기 구성을 완료한 후에 시작될 수 있습니다. 일부 구성 요소에 대해서는 초기 구성이 Java ES 설치 프로그램으로 수행될 수 있습니다.

설치 프로그램에서 이 초기 구성을 수행하도록 선택하거나(지금 구성 옵션) 초기 구성을 수행하지 않고 소프트웨어를 설치하도록 선택할 수 있습니다(나중에 구성 옵션). 어떤 경우이든지 설치가 완료된 후에는 설치된 구성 요소를 각각 명시적으로 구성해야 합니다.

설치 프로그램이 초기 구성을 수행하도록 선택한 경우 설치하는 동안 필요한 구성 정보를 제공해야 합니다. 특히 관리자 아이디, 비밀번호 등과 같이 모든 구성 요소 제품에 공통되는 매개 변수 값을 지정할 수 있습니다.

제거

Java ES는 제거 프로그램도 제공하여 Java ES 설치 프로그램으로 로컬 컴퓨터에 설치된 구성 요소를 제거합니다. 제거 프로그램은 로컬 종속성을 확인하고 해당 종속성이 발견되면 경고를 표시합니다. 제거 프로그램에서는 Java ES 공유 구성 요소를 제거하지 않습니다. 설치 프로그램과 마찬가지로 제거 프로그램은 그래픽 모드, 텍스트 기반 모드 또는 자동 모드로 실행할 수 있습니다.

시스템 모니터링 서비스

Java ES에는 실시간 시스템 서비스 모니터링을 제공하는 새로운 모니터링 기능이 있습니다. 모니터링은 Sun Java System Monitoring Framework(공유 구성 요소) 및 Sun Java System Monitoring Console(제품 구성 요소)로 구현됩니다. 모니터링 프레임워크는 자동으로 구성되어 설치된 Java ES 구성 요소 각각에 대한 데이터를 수집하도록 설정되며, Monitoring Console은 모니터된 데이터를 표시하는 데 사용되는 그래픽 인터페이스입니다. Monitoring Console은 Java ES를 설치하는 중에 선택할 수 있는 구성 요소이며, 모니터링 프레임워크는 자동으로 설치됩니다.

모니터링은 시스템 관리자가 성능을 평가하고 경보를 수신할 수 있도록 런타임 데이터 수집 및 노출, 서비스 품질 기준 계산을 수행하는 프로세스입니다. 관리자는 런타임 연산 중에 Monitoring Console과 상호 작용하면서 성능 통계를 표시하며, 모니터링 임계값을 동적으로 설정하고, 사용자 정의 모니터링 작업을 정의하며, 경보를 확인합니다.

통합 아이디 및 보안 서비스

Java ES의 중요한 기능 중 하나는 사용자 아이디의 통합 관리와 통합된 인증 및 권한 부여 프레임워크입니다. 이 절에서는 Java ES에서 제공되는 통합 아이디 및 보안 서비스를 이해하기 위한 기술적 배경을 설명합니다.

단일 아이디

Java ES 환경 내에서 최종 사용자는 단일 통합 아이디를 가집니다. 해당 단일 아이디를 기반으로 사용자는 포털, 웹 페이지 및 서비스(예: 메시징, 캘린더, 인스턴트 메시징 등)와 같은 다양한 자원에 액세스할 수 있습니다.

이 통합 아이디와 보안 기능은 Directory Server, Access Manager 및 기타 Java ES 구성 요소 간의 긴밀한 공동 작업을 기반으로 합니다.

Java ES 서비스 또는 자원에 대한 사용자 액세스는 사용자 저장소 또는 디렉토리의 단일 사용자 항목에 사용자별 정보를 저장하여 수행됩니다. 이러한 정보에는 대개 고유 이름 및 비밀번호, 전자 메일 주소, 조직 내 역할, 웹 페이지 기본 설정 등의 데이터가 포함됩니다. 사용자 항목의 정보는 사용자를 인증하거나 특정 자원에 대한 액세스 권한을 부여하거나 해당 사용자에게 다양한 서비스를 제공하는 데 사용될 수 있습니다.

Java ES의 경우 사용자 항목은 Directory Server에서 제공하는 디렉토리에 저장됩니다. 사용자가 Java ES 구성 요소에서 제공되는 서비스를 요청할 때 해당 서비스는 Access Manager를 통해 사용자를 인증하고 특정 자원에 대한 액세스 권한을 부여합니다. 요청된 서비스에서 사용자 디렉토리 항목의 사용자별 구성 정보를 검사합니다. 서비스는 해당 정보를 사용하여 사용자가 요청한 작업을 수행합니다.

다음 그림에서는 사용자 인증 및 권한 부여를 수행하고 사용자에게 서비스를 제공하기 위한 사용자 항목 액세스를 설명합니다.

그림 3–1 여러 서비스를 지원하는 단일 사용자 항목

디렉토리의 단일 사용자 항목과 상호 작용하는 여러 Java ES 구성 요소를 보여주는 다이어그램.

이 시스템에서 파생된 기능 중 하나는 웹 기반 사용자가 임의의 Java ES 서비스에 사인 온하면 다른 시스템 서비스에 자동으로 인증되는 기능입니다. 단일 사인온 기능은 Java ES에서 제공하는 강력한 기능입니다.

인증 및 단일 사인 온

Access Manager는 Java ES 인증 및 권한 부여 서비스를 제공합니다. Access Manager는 Directory Server의 정보를 사용하여 기업에서 사용자와 Java ES 웹 서비스 또는 기타 웹 기반 서비스 간의 상호 작용을 중개합니다.

Access Manager는 정책 에이전트라는 외부 구성 요소를 사용합니다. 정책 에이전트는 Access Manager로 보호되는 서비스나 자원을 호스트하는 웹 서버에 플러그 인됩니다. 정책 에이전트는 Access Manager를 대신하여 보호되는 자원에 대한 사용자 요청을 중개합니다. Portal Server와 같은 일부 Java ES 구성 요소에 대한 정책 에이전트 기능은 Access Manager SDK 하위 구성 요소에서 제공합니다.

인증

Access Manager에는 기업 내에서 HTTP 또는 HTTPS를 통해 웹 서비스에 대한 액세스를 요청하는 사용자의 아이디를 확인하기 위한 인증 서비스가 포함되어 있습니다. 예를 들어 동료의 전화 번호를 조회해야 하는 회사 직원은 브라우저를 통해 회사의 온라인 전화 번호부로 이동합니다. 전화번호부 서비스에 로그인하려면 사용자 아이디와 비밀번호를 입력해야 합니다.

인증 순서는 그림 3–2에 나와 있습니다. 정책 에이전트는 전화 번호부 로그온 요청을 중개하며(1), 해당 요청을 인증 서비스에 전송합니다(2). 인증 서비스는 Directory Server에 저장된 정보와 대조하여 사용자 아이디 및 비밀번호를 확인합니다(3). 로그인 요청이 유효하면 사용자가 인증되며(4, 5 및 6) 회사 전화 번호부가 해당 직원에게 표시됩니다(7). 로그인 요청이 유효하지 않으면 오류가 생성되며 인증이 실패합니다.

또한 인증 서비스는 HTTPS에서 인증서 기반 인증도 지원합니다.

그림 3–2 인증 순서

웹 브라우저, 정책 에이전트, 인증 서비스, 세션 서비스 및 Directory Server를 포함하여 인증 순서를 보여주는 다이어그램.

단일 사인 온(SSO)

이전 단락에서 설명된 인증 시나리오에서 중요한 단계를 강조합니다. 사용자의 인증 요청이 확인되면 그림 3–2와 같이 Access Manager의 세션 서비스가 사용됩니다(4). 세션 서비스에서 세션 토큰을 생성합니다. 세션 토큰에는 사용자의 아이디 정보 및 토큰 아이디가 포함되어 있습니다(5). 세션 토큰이 정책 에이전트로 다시 전송된 다음(6) 정책 에이전트에서 인증을 요청한 브라우저로 해당 토큰을 쿠키로 전송합니다(7) .

인증된 사용자가 다른 보안 서비스에 액세스하려고 하면 브라우저는 세션 토큰을 해당 정책 에이전트에 전달합니다. 정책 에이전트는 세션 서비스에서 사용자의 이전 인증이 아직 유효한지 확인하여 사용자 아이디 및 비밀번호를 다시 입력하도록 요청하지 않은 채 두 번째 서비스에 대한 액세스 권한을 해당 사용자에게 부여합니다.

따라서 사용자가 한 번만 사인 온하면 Java ES에서 제공하는 여러 웹 기반 서비스에 인증될 수 있습니다. 단일 사인 온 인증은 사용자가 명시적으로 로그아웃하거나 세션이 만료될 때까지 유효합니다.

권한 부여

Access Manager에는 Java ES 환경의 웹 기반 자원에 대한 액세스 제어를 제공하는 정책 서비스도 포함되어 있습니다. 정책특정 조건에서 특정 자원에 대한 액세스 권한이 있는 사용자를 설명하는 규칙입니다. 권한 부여 순서는 다음 그림에 나와 있습니다.

그림 3–3 권한 부여 순서

웹 브라우저, 정책 에이전트, 정책 서비스 및 디렉토리 서버를 포함하여 텍스트로 설명된 권한 부여 순서를 보여주는 다이어그램.

인증된 사용자가 Access Manager로 보호되는 자원을 요청하면(1) 정책 에이전트는 정책 서비스에 알리고(2), 정책 서비스에서는 Directory Server의 정보를 사용하여(3) 해당 자원에 적용되는 액세스 정책을 평가한 다음 사용자에게 해당 자원에 대한 액세스 권한이 있는지 확인합니다(4). 해당 사용자에게 액세스 권한이 있으면(5) 해당 자원 요청이 실현됩니다(6).

Access Manager는 기업에서 정책을 정의, 수정, 부여, 해지 및 삭제하는 수단을 제공합니다. 정책은 Directory Server에 저장되며 조직 항목의 정책 관련 속성을 통해 구성됩니다. 사용자에 대해 역할을 정의하여 정책 정의에 통합할 수도 있습니다.

Access Manager 정책 에이전트가 정책을 시행합니다. 정책 서비스에서 액세스 요청을 거부하면 정책 에이전트도 사용자가 요청 중인 보호되는 자원에 대한 액세스를 거부합니다.

이 장의 주요 용어

이 절에서는 이 장에서 사용된 주요 기술 용어에 대해 Java ES 환경에서 사용되는 방법에 중점을 두면서 설명합니다.

디렉토리

데이터 쓰기가 아닌 데이터 읽기로 최적화된 특수 데이터베이스입니다. 대부분의 디렉토리는 산업 표준 프로토콜인 LDAP(Lightweight Directory Access Protocol)를 기반으로 합니다.

정책

특정 조건에서 특정 자원에 대한 액세스 권한이 있는 사용자를 설명하는 규칙입니다. 규칙은 조직 내의 사용자 그룹 또는 역할을 기반으로 할 수 있습니다.

단일 아이디

Java ES 디렉토리에 있는 단일 사용자 항목에 따라 사용자가 소유하는 아이디입니다. 사용자는 이 단일 사용자 항목을 기반으로 포털, 웹 페이지 및 서비스(예: 메시징, 캘린더, 인스턴스 메시징 등)와 같은 다양한 Java ES 자원에 액세스할 수 있습니다.

단일 사인온

분산된 시스템의 한 서비스에서 인증된 사용자가 시스템의 다른 서비스에도 자동으로 인증되도록 하는 기능입니다.