Identity Management

한 단계 준비 워크플로 만들기

Aung Oo

 

한 눈에 보기:

  • MIISWorkflow 사용
  • 구현 및 구성
  • MIISWorkflow 확장

조직에서 계정을 요청하고 승인하는 웹 기반 인터페이스를 찾고 있고 Microsoft Identity Lifecycle Manager 2007(이전에는 Microsoft Identity Integration Server 2003)을 사용하고 있다면 MIISWorkflow 응용 프로그램을 통해 간단하면서도 효과적인 솔루션을 만들 수 있습니다.

MIISWorkflow는 MIIS 2003 Resource Tool Kit 2.0의 일부로, 2004년 12월부터 제공되고 있습니다. MIISWorkflow는 모든 환경에 적합한 솔루션이라고 말할 수는 없지만 조직의 필요에 맞는 사용자 지정 응용 프로그램을 만들기 위한 좋은 토대가 됩니다.

MIISWorkflow는 웹 응용 프로그램을 통합함으로써 ILM 2007에 승인 기반 준비 기능을 제공합니다. MIISWorkflow는 사용자의 요청을 수락한 다음 특정 요청과 관련하여 결정을 내릴 수 있는 권한이 있는 승인자(주로 관리자)에게 요청을 라우팅하는 한 단계의 워크플로 기반 준비 시스템입니다. 승인자의 결정이 내려지면 ILM은 이를 기반으로 ILM에 정의된 비즈니스 규칙을 사용하여 연결된 디렉터리에 사용자 계정을 준비하는 작업을 수행합니다.

이 응용 프로그램에서는 한 단계 워크플로만 사용할 수 있으며, 병렬 경로가 포함된 다단계 승인 프로세스나 그래픽 인터페이스가 포함된 워크플로 프로세스 같은 복잡한 워크플로 기능은 만들지 못합니다. 조직에 복잡한 워크플로 기능이 필요하지 않다면 MIIS Resource Tool Kit에 포함된 MIISWorkflow 샘플을 사용하여 솔루션을 구현할 수 있습니다.

이 문서에서는 가상의 회사에 있는 HR(인사 관리) 부서에 중점을 두고 설명하겠습니다. 일반적으로 HR 시스템은 조직 내의 모든 직원 정보가 저장되는 신뢰할 수 있는 소스입니다. 그러나 이러한 시스템에는 대개 정규 직원에 대한 자세한 데이터만 있고 계약 직원이나 인턴 사원 같은 임시직 직원에 대한 정보는 없는 경우가 많습니다. HR 시스템에 포함된 데이터를 통해서는 사용자 계정 정보를 비롯하여 사용자가 액세스할 수 있는 시스템을 추적할 수 없습니다. 지금부터 조직 내의 임시직 직원을 대상으로 간단한 추적 시스템을 만드는 방법을 살펴보겠습니다.

MIISWorkflow를 기반으로 시스템 만들기

조직에서 MIISWorkflow를 사용하여 얻을 수 있는 한 가지 이점은 기존 HR 시스템과 작동하는 응용 프로그램을 만들 수 있다는 것입니다. 신규 직원을 채용하면 HR 시스템에 해당 사용자의 정보가 추가됩니다. ILM에서 연결된 디렉터리에 계정을 준비하기 전에 먼저 이 정보를 MIISWorkflow 데이터베이스로 보낸 다음 워크플로 응용 프로그램을 사용하여 승인자에게 사용자 정보를 라우팅하도록 ILM 흐름을 설계할 수 있습니다.

조직에서 HR 시스템을 통해 임시직 직원을 추적하지 않는 경우에는 MIISWorkflow 응용 프로그램을 신뢰할 수 있는 데이터 소스로 사용하여 엔터프라이즈 디렉터리의 직원 계정을 관리할 수 있습니다. 워크플로 응용 프로그램은 승인을 얻는 데 필요한 서류 기반의 관리 작업을 줄여 주므로 사용자가 디렉터리와 응용 프로그램의 계정에 액세스하기 위해 며칠씩 기다리지 않아도 됩니다. 또한 MIISWorkflow를 사용하면 액세스 권한을 빠르게 취소하여 조직의 보안을 강화할 수도 있습니다.

사용자가 액세스할 수 있는 시스템의 수, 각 계정의 요청 날짜 및 종료 날짜, 각 계정의 요청자 및 승인자를 추적하는 감사 도구로 MIISWorkflow를 활용할 수도 있습니다. 또한 자세한 계정 기록이 포함된 보고서를 만들 수 있으므로 조직은 SOX(Sarbanes-Oxley) 및 HIPAA 같은 정부 규정을 쉽게 준수할 수 있습니다.

MIISWorkflow 응용 프로그램은 IIS에서 실행되며 ILM 2007의 디렉터리 통합 및 준비 기능을 사용하여 연결된 디렉터리에 계정을 준비하거나 준비 취소합니다. 워크플로 응용 프로그램의 구성 요소에는 ASP.NET 웹 페이지의 집합, SQL Server™ 데이터베이스, 관리 에이전트 및 권한 부여 정책 저장소가 포함됩니다(그림 1 참조). 워크플로 응용 프로그램은 데이터 저장을 위해 SQL Server를, 인증을 위해 Active Directory®를, 그리고 권한 부여를 위해 Windows® Authorization Manager(일반적으로 AzMan이라고 함)와 정책 저장소를 사용합니다.

그림 1 MIISWorkflow 응용 프로그램 아키텍처

그림 1** MIISWorkflow 응용 프로그램 아키텍처 **(더 크게 보려면 이미지를 클릭하십시오.)

C#과 ASP.NET을 사용하여 워크플로 응용 프로그램을 확장하고 사용자 지정할 수 있습니다. MIISWorkflow는 ContractorApproval, ContractorHistory, ContractorRequest, ContractorStatus 및 ContractorUpdate라는 다섯 개의 .aspx 페이지로 구성됩니다. 이 페이지를 통해 관리자는 시스템의 각 사용자 계정 상태를 요청, 업데이트, 승인 및 추적할 수 있습니다. 기본적으로 MIISWorkflow 응용 프로그램은 Kerberos를 이용하기 위해 IIS Windows 통합 인증을 사용하도록 설정됩니다.

워크플로 응용 프로그램에서는 승인자의 작업을 기반으로 ILM을 트리거하고 ILM에서는 정의된 규칙을 사용하여 연결된 디렉터리에 사용자 계정을 준비하거나 준비 취소합니다. 요청에 대해 작업이 수행되면 곧바로 이 응용 프로그램에서 ILM을 트리거하므로 연결된 디렉터리에서 준비 및 준비 취소를 위해 다음번 ILM 동기화 주기가 발생할 때까지 요청이 대기할 필요가 없습니다.

워크플로 응용 프로그램을 사용하려면 사용자 계정 정보를 저장할 MIISWorkflow 데이터베이스가 필요합니다. 이 데이터베이스는 ILM에서 메타버스(metaverse) 정보를 저장하는 데이터베이스와는 별개의 데이터베이스이지만 동일한 SQL Server 인스턴스에 구성됩니다. 권한 있는 사용자가 워크플로 응용 프로그램을 통해 계정을 요청하면 MIISWorkflow 데이터베이스에 해당 정보가 저장됩니다. 이 정보는 승인자가 해당 페이지에 액세스할 때 ASP.NET 웹 페이지를 통해 렌더링됩니다. 작업에 대한 기록 및 계정에 대한 기타 정보도 이 데이터베이스에 저장됩니다. ILM에서는 워크플로 응용 프로그램과 함께 제공되는 SQL Server 관리 에이전트를 사용하여 MIISWorkflow 데이터베이스에서 정보를 가져온 다음 필요에 따라 계정을 준비하거나 준비 취소합니다.

권한 부여를 위해 MIISWorkflow에서 사용하는 AzMan은 RBAC(역할 기반 액세스 제어)를 제공하므로 할당된 역할에 따라 각 사용자가 응용 프로그램에서 수행할 수 있는 관리 작업을 제어할 수 있습니다. RBAC에 대한 자세한 내용은 go.microsoft.com/fwlink/?LinkId=85825를 참조하십시오. Active Directory에서 사용자가 인증되어 액세스 권한이 부여되고 나면 워크플로 응용 프로그램에서 AzMan 권한 부여 저장소에 정의된 역할을 확인하여 사용자가 수행할 수 있는 작업에 대해 권한을 부여합니다. 워크플로 응용 프로그램에는 계약 직원 요청자와 계약 직원 승인자라는 두 개의 미리 정의된 역할이 있습니다. 계약 직원 요청자 역할이 할당된 사용자나 그룹은 응용 프로그램을 통해 요청 작업만 할 수 있습니다. 계약 직원 승인자 역할이 할당된 사용자나 그룹은 요청을 만들거나 요청을 승인 또는 거부할 수 있습니다.

MIISWorkflow 응용 프로그램 권한 부여 정책은 XML 파일에 저장됩니다. Windows 사용자 및 그룹이나 응용 프로그램 그룹을 정의된 역할에 할당할 수 있습니다. 응용 프로그램 그룹의 경우 LDAP 쿼리를 통해 특성 값을 기반으로 사용자의 Active Directory 또는 ADAM(Active Directory Application Mode) 계정 개체를 런타임에 조회할 수 있습니다. 예를 들어 department=‘marketing’이라는 쿼리에서 사용자가 해당 그룹에 있으면 true가 반환됩니다.

MIISWorkflow 사용

응용 프로그램 관리자는 AzMan을 통해 응용 프로그램에 대한 액세스를 제어합니다. 조직에서 응용 프로그램을 어떻게 사용하는지에 따라 모든 도메인 사용자 또는 선택한 그룹에게만 계약 직원 요청자 역할을 부여할 수 있습니다. 계약 직원 승인자 역할은 요청을 승인하거나 거부할 권한이 있는 사용자와 그룹에만 부여해야 합니다. 일반적으로 선별된 HR 관리자와 시스템 및 그룹 관리자가 이 역할을 보유합니다. 기본적으로 MIISWorkflow 응용 프로그램에서는 인증 방법으로 IIS Windows 통합 인증을 사용하므로 사용자의 Windows 데스크톱 로그온 자격 증명을 통해 사용자를 인증합니다. 따라서 사용자가 응용 프로그램에 대해 인증할 때 자격 증명을 제공하라는 메시지가 다시 표시되지 않습니다.

계약 직원 요청자 역할의 사용자는 브라우저에서 응용 프로그램의 Contractor Request(계약 직원 요청) 페이지로 이동할 수 있으며 계약 직원 정보를 제공하여 이 직원에 대한 계정을 요청할 수 있습니다. 그림 2는 Contractor Request(계약 직원 요청) 페이지를 보여 줍니다.

그림 2 New Contractor Request(새 계약 직원 요청) 페이지

그림 2** New Contractor Request(새 계약 직원 요청) 페이지 **(더 크게 보려면 이미지를 클릭하십시오.)

계약 직원 요청자 역할의 사용자는 관련 계약 직원의 정보를 채운 다음 요청을 전송합니다. 이 페이지에는 요청 승인을 위한 링크와 상태 확인을 위한 링크가 있지만 요청자는 계약 직원 승인자 역할에도 포함되어 있어야만 승인자 페이지에 액세스할 수 있습니다. 요청자는 Contractor Status(계약 직원 상태) 링크를 클릭하여 자신의 요청을 볼 수는 있지만 다른 사용자가 전송한 요청의 상태는 볼 수 없습니다.

계약 직원 승인자 역할의 사용자만 응용 프로그램의 Contractor Approval(계약 직원 승인) 페이지에 액세스할 수 있으며 여기에서 정보를 검토한 후 요청을 승인하거나 거부할 수 있습니다. 그림 3은 Contractor Approval(계약 직원 승인) 웹 페이지 인터페이스를 보여 줍니다.

그림 3 Contractor Approval(계약 직원 승인) 페이지

그림 3** Contractor Approval(계약 직원 승인) 페이지 **(더 크게 보려면 이미지를 클릭하십시오.)

계약 직원 승인자 역할의 사용자는 모든 요청자가 전송한 요청을 볼 수 있습니다. 또한 요청을 승인할 수 있으며, 한 번만 승인하거나 거부하면 다음 페이지로 요청을 라우팅할 수 있습니다. 승인자가 승인하거나 거부하고 나면 Contractor Approval(계약 직원 승인) 페이지에서 요청이 사라지므로 중복 승인 작업이 최소화됩니다.

MIISWorkflow 응용 프로그램에는 새로운 요청에 대해 알려 주는 알림 메커니즘이나 백로그가 별도로 없으므로 승인자는 조직의 요구 사항에 따라 새 요청을 검토하고 보류 중인 요청에 대해 작업을 수행하기 위해 정기적으로 Contractor Approval(계약 직원 승인) 페이지에 액세스해야 합니다. 승인자가 페이지에서 요청을 승인하거나 거부하면 곧바로 응용 프로그램에서 ILM을 트리거하고 승인자의 작업을 기반으로 연결된 디렉터리에 계정이 준비되거나 준비 취소됩니다.

그림 4 Contractor Status(계약 직원 상태) 페이지

그림 4** Contractor Status(계약 직원 상태) 페이지 **(더 크게 보려면 이미지를 클릭하십시오.)

보류 중인 요청의 상태와 완료된 요청에 대한 기록은 Contractor Status(계약 직원 상태) 페이지에서 추적할 수 있습니다(그림 4 참조). 요청자는 이 페이지에서 몇 가지 작업을 수행할 수 있습니다. 예를 들어 직원 ID, 이름, 성, 부서, 상태, 마지막으로 수정한 날짜 등의 정보를 비롯하여 자신의 요청을 볼 수 있습니다. 또한 기존 정보를 편집하거나 기록을 보고 계약 직원의 계정을 종료할 수 있습니다. 이름, 성 및 부서 정보를 수정하고 승인을 위해 정보를 다시 전송할 수도 있습니다. 마지막으로 Contractor History(계약 직원 기록) 페이지에서는 요청에 대해 수행된 작업 및 각 작업이 이루어진 날짜와 시간 등 작업에 대한 기록을 볼 수 있습니다(그림 5 참조).

그림 5 Contractor History(계약 직원 기록) 페이지

그림 5** Contractor History(계약 직원 기록) 페이지 **(더 크게 보려면 이미지를 클릭하십시오.)

MIISWorkflow 응용 프로그램에서는 요청자가 Contractor Status(계약 직원 상태) 페이지에서 계약 직원의 계정을 종료할 수 있으므로 계정을 원활하게 종료할 수 있습니다. 요청자는 Terminate(종료) 링크를 클릭하여 연결된 디렉터리에서 계약 직원 계정을 즉시 비활성화하거나 삭제할 수 있습니다. 워크플로 응용 프로그램에서 계약 직원 계정을 종료하는 이 기능 덕분에 시스템 관리자는 각 디렉터리에서 계약 직원 계정을 찾아 수동으로 삭제할 필요가 없습니다. MIISWorkflow 응용 프로그램은 즉시 ILM을 트리거하여 연결된 디렉터리에서 해당 계정을 준비 취소하므로 계정 삭제가 곧바로 이루어집니다.

MIISWorkflow 구성

MIISWorkflow 응용 프로그램 구성 작업에는 서비스 계정 설정, 응용 프로그램 데이터베이스 설정, 워크플로 응용 프로그램과 작동하도록 ILM 구성, IIS 구성, 정책 저장소 구성 등의 작업이 포함됩니다. 이 응용 프로그램에는 이러한 프로세스를 간소화하는 미리 작성된 스크립트와 구성 파일이 포함되어 있습니다.

또한 MIISWorkflow 응용 프로그램에는 T-SQL 쿼리 파일도 포함되어 있으므로 쉽게 MIISWorkflow 데이터베이스를 만들 수 있습니다. 쿼리 분석기에서 쿼리 파일을 로드한 다음 쿼리를 실행하면 데이터베이스가 자동으로 만들어집니다.

IIS 구성 작업에는 새 IIS 응용 프로그램 풀과 가상 디렉터리를 만들고 인증 및 액세스 제어를 설정하여 ASP.NET 페이지를 호스팅하는 작업이 포함됩니다. MIISWorkflow 응용 프로그램에는 권한 부여 정책 저장소를 구성하는 데 사용할 수 있는 미리 정의된 역할이 포함된 XML 파일도 함께 제공됩니다. 사용자와 그룹에 기존 역할을 할당하거나 AzMan MMC를 사용하여 새 역할을 만들 수 있습니다.

마지막 단계는 MIISWorkflow 데이터베이스에서 ILM으로 데이터를 가져올 수 있도록 ILM에서 관리 에이전트를 구성하는 것입니다. 이 작업은 XML 파일의 관리 에이전트 구성을 가져오고 SQL Server 관리 에이전트의 미리 작성된 확장 파일을 복사하여 수행할 수 있습니다. XML 파일과 관리 에이전트 확장 파일 모두 응용 프로그램에 포함되어 있습니다. 각 단계를 구성하는 방법에 대한 단계별 지침이 있는 추가 정보 파일도 제공됩니다.

MIISWorkflow 확장

MIISWorkflow 응용 프로그램은 MIIS와의 간단한 워크플로 통합을 개발하기 위한 토대만 제공하므로 몇몇 부분을 사용자 지정하여 응용 프로그램을 확장해야 할 수도 있습니다. 웹 페이지 변경 등의 간단한 수정 작업 외에도 여러 가지 방법으로 이 응용 프로그램을 확장할 수 있습니다.

보류 중인 요청이 있는 경우에 승인자에게 이에 대한 전자 메일 메시지를 보내는 알림 기능을 추가할 수 있습니다. 알림 기능은 요청에 대해 아무런 작업이 수행되지 않은 경우 지정된 날짜 내에 승인자에게 미리 알림 메시지를 보내는 데도 사용할 수 있습니다. 기본 페이지에서 제공하는 것보다 더 많은 사용자 정보가 필요한 경우에는 Contractor Request(계약 직원 요청) 페이지와 Contractor Update(계약 직원 업데이트) 페이지에 필드를 추가할 수도 있습니다. 사용자가 자신이 전송한 요청뿐만 아니라 모든 요청에 대한 기록을 볼 수 있도록 감사자 역할 등의 다른 역할을 응용 프로그램에 추가할 수도 있습니다.

다단계 워크플로 및 그래픽 디자이너를 사용한 워크플로 설계와 같은 복잡한 워크플로 기능은 이 응용 프로그램에서 다루지 않습니다. 그러나 Windows Workflow Foundation을 사용하면 복잡한 워크플로 기능이 있는 보다 강력한 응용 프로그램을 개발할 수 있습니다.

MIIS Resource Tool Kit는 go.microsoft.com/fwlink/?LinkId=85829에서 구할 수 있습니다. 지금 바로 다운로드하여 자신만의 고유한 ID 워크플로 솔루션을 만들어 보십시오.

Aung Oo는 MCS(Microsoft Consulting Services)의 ID 관리 부문 전문가로, Microsoft Identity Management가 처음 릴리스된 이후 기업 및 정부 고객을 위한 엔터프라이즈 디렉터리 및 ID 관리 솔루션의 설계, 개발 및 배포 작업을 담당해 왔습니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..