다음을 통해 공유


Microsoft Identity Manager 2016 암호 관리

여러 사용자 계정의 암호를 관리하는 것은 여러 데이터 원본이 있는 엔터프라이즈 환경을 관리하는 과정에서 겪게 되는 어려운 작업 중 하나입니다. Microsoft Identity Manager(MIM) 2016은 두 개의 암호 관리 솔루션을 제공합니다.

  • 암호 동기화 – PCNS(암호 변경 알림 서비스)를 활용하여Active Directory에서 암호가 변경되는 것을 캡처하고 다른 연결된 데이터 원본에 전달합니다.

  • 사용자 기반 암호 변경 관리 – 웹 기반 지원 센터 및 셀프 서비스 암호 재설정을 사용하여 WMI(Windows Management Instrumentation)를 활용합니다.

암호 동기화 및 사용자 기반 암호 변경 관리를 사용하면 다음 작업을 수행할 수 있습니다.

  • 사용자가 기억해야 하는 다양한 암호의 수가 줄어듭니다.

  • 사용자의 여러 계정에서 암호를 동시에 설정하거나 동일한 암호로 변경합니다.

  • Active Directory에서 암호를 변경하고 다른 시스템에서도 변경된 암호를 사용하도록 할 수 있습니다.

  • 암호 또는 자격 증명 저장소를 추가적으로 구축하지 않아도 됩니다.

  • 권한이 있는 원본으로서 Active Directory를 사용하여 여러 데이터 원본의 암호를 동기화합니다.

  • MIM 작업에 영향을 받지 않으면서 실시간으로 암호 관리 작업을 수행합니다.

암호 확장

디렉터리 서버용 관리 에이전트는 기본적으로 암호 변경과 설정 작업을 지원합니다. 기본적으로 암호 변경과 설정 작업을 지원하지 않는 파일 기반, 데이터베이스와 확장 가능한 연결 관리 에이전트를 대상으로 .NET 암호 확장 DLL(동적 연결 라이브러리)을 만들 수 있습니다. .NET 암호 확장 DLL은 암호가 변경되거나 이러한 관리 에이전트에 대한 호출 설정이 호출된 경우 언제든지 호출됩니다. 암호 확장 설정은 동기화 서비스 관리자의 이러한 관리 에이전트에서 구성됩니다. 암호 확장을 구성하는 방법에 대한 자세한 내용은 FIM Developer Reference(FIM 개발자 참조)를 참조하세요.

암호 관리를 기본적으로 지원하는 관리 에이전트 암호 확장을 사용하면 암호 관리가 지원되는 관리 에이전트
Active Directory 특성-값 쌍 텍스트 파일
ADLDS(Active Directory Lightweight Directory Services) 구분된 텍스트 파일
IBM 디렉터리 서버 DSML(Directory Services Markup Language)
Lotus Notes Extensible Connectivity
Novell eDirectory 고정 너비 텍스트 파일
Sun 및 Netscape 디렉터리 서버 IBM DB2 유니버설 데이터베이스
LDIF(LDAP 데이터 교환 형식)
Microsoft SQL Server
Oracle 데이터베이스

암호 동기화

암호 동기화는 Active Directory 도메인에서 PCNS(암호 변경 알림 서비스)와 함께 작동하며 Active Directory에서 발생하는 암호 변경이 연결된 다른 데이터 원본으로 자동으로 전파되도록 허용합니다. MIM은 Active Directory 도메인 컨트롤러에서 암호 변경 알림을 수신하는 RPC(원격 프로시저 호출) 서버로서 실행하면서 이 작업을 수행합니다. 암호 변경 요청을 수신하여 인증되면 MIM에서 처리하고 적합한 관리 에이전트에 전파됩니다.

중요

MIM은 양방향 암호 동기화는 지원되지 않습니다. 양방향 암호 동기화를 구성하면 서버 리소스를 소모하고 Active Directory와 MIM에 부정적인 영향을 미칠 수 있는 루프를 만들 수 있습니다.

PCNS는 각 Active Directory 도메인 컨트롤러에서 실행됩니다. 암호 알림을 수신하는 시스템을 대상이라고 합니다. 암호 변경이 보내지기 전에 Active Directory에서 MIM 서버가 PCNS 대상으로 구성되어야 합니다. PCNS 구성은 포함 그룹을 반드시 정의해야 하며 제외 그룹은 선택적으로 정의할 수 있습니다. 이러한 그룹은 도메인에서 민감한 암호의 흐름을 제한하는 데 사용됩니다. 예를 들어 모든 사용자에게 암호를 보내지만 관리자 암호는 보내지 않으려면 도메인 사용자를 포함 그룹으로 사용하도록 선택하고 도메인 관리자는 제외 그룹으로 선택할 수 있습니다. 암호 변경 알림 서비스를 구성하는 방법에 대한 자세한 내용은 Using Password Synchronization(암호 동기화 사용)을 참조하세요.

암호 동기화 프로세스에 관련된 구성 요소는 다음과 같습니다.

  • 암호 변경 알림 서비스 (Pcnssvc.exe) – 암호 변경 알림 서비스는 도메인 컨트롤러에서 실행되며 로컬 암호 필터에서 암호 변경 알림을 수신하고 MIM을 실행하는 대상 서버에서 대기하며 RPC를 사용해 알림을 전달하는 작업을 수행합니다. 서비스는 암호를 암호화하고 MIM을 실행하는 대상 서버에 성공적으로 전달될 때까지 암호 보안이 유지되도록 합니다.

  • SPN(서비스 사용자 이름) – SPN은 PCNS와 대상을 상호 인증하기 위해 Kerberos 프로토콜에서 사용되는 Active Directory의 계정 개체에 대한 속성입니다. SPN은 PCNS가 MIM을 실행하는 올바른 서버를 인증하고 다른 서비스에서 암호 변경 알림을 받지 않도록 보장합니다. SPN은 setspn.exe 도구를 사용하여 만들어지고 할당됩니다. SPN을 구성하는 방법에 대한 자세한 내용은 Using Password Synchronization(암호 동기화 사용)을 참조합니다.

  • 암호 변경 알림 필터 (Pcnsflt.dll) – 암호 필터는 Active Directory에서 일반 텍스트 암호를 가져오는 데 사용됩니다. 이 필터는 MIM을 실행하는 대상 서버에 암호를 배포하는 데 관여하는 각 Windows Server 도메인 컨트롤러의 LSA(로컬 보안 기관)에 의해 로드됩니다. 필터가 설치되고 도메인 컨트롤러를 다시 시작하면 필터에서 해당 도메인 컨트롤러에서 발생하는 암호 변경에 대한 암호 변경 알림을 받기 시작합니다. 암호 알림 필터는 도메인 컨트롤러에서 실행되는 다른 필터와 동시에 실행됩니다.

  • 암호 변경 알림 서비스 구성 유틸리티(Pcnscfg.exe) – pcnscfg.exe 유틸리티는 Active Directory에 저장된 암호 변경 알림 서비스 구성 매개 변수의 유지 및 관리에 사용됩니다. 대상 서버를 정의하고, 암호 큐 다시 시도 간격을 정하고, 대상 서버를 사용하거나 사용하지 않도록 하는 설정하는 것과 같은 구성 매개변수는 MIM을 실행하는 대상 서버에 암호 알림을 인증하거나 보내는 데 사용됩니다. 서비스 구성은 Active Directory에 저장되므로 하나의 도메인 컨트롤러에서만 구성을 업데이트하면 됩니다. Active Directory는 다른 모든 도메인 컨트롤러에 변경 내용을 복제합니다.

  • MIM을 실행하는 서버에 대한 RPC(원격 프로시저 호출) 서버 – 암호 동기화를 사용하는 경우 암호 변경 알림 서비스를 통해 알림을 받을 수 있도록 MIM을 실행하는 서버에 대한 RPC 서버가 시작됩니다. RPC는 동적으로 사용할 포트의 범위를 선택합니다. 방화벽을 통해 Active Directory 포리스트와 통신하는 MIM이 필요한 경우 일정 범위의 포트를 열어야 합니다.

  • 암호 확장 DLL – 암호 확장 DLL은 모든 데이터베이스, 확장 가능한 연결, 파일 기반 관리 에이전트에 대한 확장 규칙을 통해 암호 설정 또는 변경 작업을 구현할 방법을 제공합니다. 연결 디렉터리에 실제로 존재하지는 않지만 프로비전 규칙 확장에서 액세스 또는 설정할 수 있거나 내보내기 특성 흐름에서 사용될 수 있는 "export_password"이라는 암호화된 내보내기 전용 특성을 만들어서 이 작업을 수행할 수 있습니다. 암호 확장을 구성하는 방법에 대한 자세한 내용은 FIM Developer Reference(FIM 개발자 참조)를 참조하세요.

암호 동기화 준비

MIM 및 Active Directory 환경에서 암호 동기화를 설정하기 전에 다음 사항을 확인합니다.

  • MIM이 설치 지침에 따라 설치되어 있습니다.

  • 암호 동기화를 위해 관리해야 하는 연결된 데이터 원본에 대한 관리 에이전트가 이미 만들어진 상태이고 개체가 성공적으로 가입되고 동기화되어 있습니다.

암호 동기화를 설정하려면

  • PCNS(암호 변경 알림 서비스)를 설치하고 실행하는 데 필요한 클래스와 특성을 추가하기 위해 Active Directory 스키마를 확장합니다.

  • 각 도메인 컨트롤러에 PCNS를 설치합니다.

  • MIM 서비스 계정에 대한 Active Directory에서 SPN(서비스 사용자 이름)을 구성합니다.

  • 대상 MIM 서비스와 통신하도록 PCNS를 구성합니다.

  • 암호 동기화를 위해 관리해야 하는 연결된 데이터 원본에 대한 관리 에이전트를 구성합니다.

  • MIM 암호 동기화를 사용합니다.

암호 동기화 설정에 대한 자세한 내용은 Using Password Synchronization(암호 동기화 사용)을 참조합니다.

암호 동기화 프로세스

Active Directory 도메인 컨트롤러에서 다른 연결된 데이터 원본으로 암호 변경 요청을 동기화하는 프로세스가 다음 다이어그램에 나와 있습니다.

  1. 사용자가 Ctrl+Alt+Del을 눌러 암호 변경 요청을 시작합니다. 새 암호를 포함한 암호 변경 요청은 가장 가까운 도메인 컨트롤러로 전송됩니다.

  2. 도메인 컨트롤러는 암호 변경 요청을 기록하고 암호 변경 알림 필터(Pcnsflt.dll)에 알립니다.

  3. 암호 변경 알림 필터는 PCNS(암호 변경 알림 서비스)에 요청을 전달합니다.

  4. PCNS는 암호 변경 요청을 확인한 다음 Kerberos를 사용하여 SPN(서비스 사용자 이름)을 인증하고 암호화된 RPC의 암호 변경 요청을 MIM 대상 서버에 전달합니다.

  5. MIM은 원본 도메인 컨트롤러의 유효성을 검사한 다음 도메인 이름을 사용하여 해당 도메인에 서비스를 제공하는 관리 에이전트를 찾고, 암호 변경 요청의 사용자 계정 정보를 사용하여 커넥터 공간에 해당하는 개체를 찾습니다.

  6. MIM은 조인 테이블 정보를 사용하여 암호 변경을 수신하는 관리 에이전트를 결정하고 암호 변경을 해당 관리 에이전트에게 푸시합니다.

암호 동기화 보안

다음과 같은 암호 동기화 보안 문제가 해결되었습니다.

  • 암호 원본에서의 인증 – 암호 변경 알림이 수신되면 MIM 및 원본 도메인 컨트롤러에서 Kerberos 인증이 실행되어 받는 사람 및 보낸 사람 모두가 유효한지 확인합니다. 암호 변경 알림을 수신하면 MIM에서는 호출자가 도메인이 속한 도메인 컨트롤러 컨테이너에 계정이 있는지 확인합니다.

  • 안전하지 않은 연결로 인해 대상 데이터 원본에 대한 암호 동기화 실패 - 관리 에이전트가 안전한 연결을 요구하도록 구성되었지만 안전한 연결이 검색되지 않는 경우 동기화가 일어나지 않습니다. 관리 에이전트가 안전하지 않은 연결을 허용하도록 구성된 경우에는 동기화가 진행됩니다. 안전하지 않은 연결에 대한 허용은 관련 위험에 대해 검토하고 이해한 후에 활성화되어야 합니다.

  • 암호의 안전한 스토리지 – MIM은 암호를 암호화된 형태로 일시적으로만 저장합니다. MIM 암호 변경 알림 작업 중에 수신하는 모든 암호는 MIM 프로세스에 입력되는 즉시 암호화됩니다. 대상 연결 데이터 원본에 암호가 성공적으로 전송되면 암호는 바로 해독되고 암호를 저장하는 메모리는 즉시 삭제됩니다. 대상 연결 데이터 원본에 대한 쓰기 작업에서 오류가 발생한 경우 암호화된 암호는 다시 시도를 모두 사용할 때까지 저장되며 그 이후에 메모리에서 삭제됩니다.

  • 보안 암호 큐 – PCNS 암호 큐에 저장된 암호는 전달될 때까지 암호화된 상태를 유지합니다.

암호 동기화 오류 복구 시나리오

사용자가 암호를 변경할 때마다 오류 없이 변경이 동기화되는 것이 가장 좋습니다. 다음 시나리오는 MIM이 일반적인 동기화 오류에서 복구하는 방법을 설명합니다.

  • Active Directory에서 MIM에 대한 암호 알림 오류 - 네트워크가 중단되거나 MIM을 실행하는 서버를 사용할 수 없는 경우 발생할 수 있습니다. 암호 변경 알림이 PCNS에 의해 도메인 컨트롤러의 로컬에서 큐 대기 상태로 있습니다. PCNS에서 다시 시도 간격 구성에 따라 알림을 다시 시도합니다.

  • 대상 데이터 원본에 대한 암호 동기화 오류 - 네트워크가 중단되거나 대상 데이터 원본을 사용할 수 없는 경우 발생할 수 있습니다. 암호 변경 알림은 큐 대기 상태에 있으며 다시 시도 및 다시 시도 간격에 대한 관리 에이전트 구성에 따라 다시 시도됩니다. 다시 시도하는 과정에서 저장된 모든 암호는 암호화되며 작업이 성공하거나 다시 시도 횟수 제한에 도달하면 삭제됩니다.

  • 오류 발생 후 MIM을 실행하는 웜 대기 서버의 활성화 – 오류가 발생한 MIM을 실행하는 주 서버의 경우 암호 동기화를 위해 웜 대기 서버를 구성하고 암호 변경 손실 없이 활성화할 수 있습니다. 자세한 내용은 MIISactivate: Server Activation Tool(MIISactivate: 서버 활성화 도구)을 참조하세요.

일부 심각한 오류의 경우 여러 차례 다시 시도하더라도 작업에 성공하지 못할 수 있습니다. 이러한 경우 오류 이벤트가 기록되고 프로세스가 중지됩니다. 다음 이벤트의 경우 다시 시도를 하지 않습니다.

이벤트 심각도 설명
6919 정보 타임스탬프가 만료되어서 암호 동기화 설정 작업이 수행되지 않았습니다.
6921 오류 대상 관리 에이전트에서 암호 관리를 사용하도록 하지 않았으므로 암호 동기화 설정 작업이 처리되지 않았습니다.
6922 오류 대상 관리 에이전트에서 암호 관리 구성되어 있지 않으므로 암호 동기화 설정 작업이 처리되지 않았습니다.
6923 경고 연결된 디렉터리에서 대상 커넥터 공간 개체를 찾을 수 없으므로 암호 동기화 설정 작업이 처리되지 않았습니다.
6927 오류 암호가 대상 시스템의 암호 정책을 충족하지 않으므로 암호 동기화 설정 작업에 실패했습니다.
6928 오류 대상 관리 에이전트에 대한 암호 확장이 암호 설정 작업을 지원하도록 구성되지 않았으므로 암호 동기화 설정 작업에 실패했습니다.

사용자 기반 암호 변경 관리

MIM은 암호 재설정에 WMI(Windows Management Instrumentation)를 사용하는 두 개의 웹 애플리케이션을 제공합니다. 암호 동기화와 마찬가지로 관리 에이전트 디자이너에서 관리 에이전트를 구성할 때 암호 관리가 활성화됩니다. 암호 관리 및 WMI에 대한 자세한 내용은 MIM Developer Reference(MIM 개발자 참조)를 참조하세요.

MIM에서는 설치 과정 중에 암호 관리 작업을 특별히 지원하는 두 개의 보안 그룹을 만듭니다.

  • FIMSyncBrowse - 이 그룹의 구성원은 WMI 쿼리를 사용하여 검색 작업을 수행할 때 사용자 계정에 대한 정보를 수집할 권한이 있습니다.

  • FIMSyncPasswordSet - 이 그룹의 구성원은 WMI와의 암호 관리 인터페이스를 사용하여 계정 검색, 암호 설정 및 암호 변경 작업을 수행할 수 있는 권한이 있습니다.