MIM 2016 및 인증서 관리자가 실행되고 나면 MIM 인증서 관리자 Windows 스토어 애플리케이션을 배포할 수 있습니다. Windows 스토어 애플리케이션을 사용하면 사용자가 실제 스마트 카드, 가상 스마트 카드 및 소프트웨어 인증서를 관리할 수 있습니다. MIM CM 앱을 배포하는 단계는 다음과 같습니다.
인증서 템플릿을 만듭니다.
프로필 템플릿을 만듭니다.
앱을 준비합니다.
SCCM 또는 Intune을 통해 앱을 배포합니다.
인증서 템플릿 만들기
인증서 템플릿이 버전 3 이상이어야 한다는 점을 제외하고 일반적으로 수행하는 동일한 방식으로 CM 앱에 대한 인증서 템플릿을 만듭니다.
AD CS(인증서 서버)를 실행하는 서버에 로그인합니다.
MMC를 엽니다.
파일 > 추가/제거 스냅인을 클릭합니다.
사용 가능한 스냅인 목록에서 인증서 템플릿을 클릭한 다음 추가를 클릭합니다.
이제 MMC의 콘솔 루트 아래에 인증서 템플릿이 표시됩니다. 두 번 클릭하면 모든 사용 가능한 인증서 템플릿이 표시됩니다.
스마트 카드 로그온 템플릿을 마우스 오른쪽 버튼으로 클릭하고 템플릿 복제를 클릭합니다.
호환성 탭의 인증 기관에서 Windows Server 2008을 선택합니다. 인증서 받는 사람 아래에서 Windows 8.1/Windows Server 2012 R2를 선택합니다. 버전 템플릿 버전은 인증서 템플릿을 처음 만들고 저장할 때 설정됩니다. 이러한 방식으로 인증서 템플릿을 만들지 않은 경우 올바른 버전으로 수정할 수 없습니다.
참고
이 단계는 버전 3 이상 인증서 템플릿이 있는지 확인하므로 중요합니다. 버전 3 템플릿만 인증서 관리자 앱에서 작동합니다.
일반 탭의 표시 이름 필드에 가상 스마트 카드 로그온과 같이 앱의 UI에 표시할 이름을 입력합니다.
요청 처리 탭에서 용도를 서명 및 암호화로 설정하고 다음을 수행합니다…. 등록하는 동안 사용자 프롬프트를 선택합니다.
암호화 탭의 공급자 범주에서 키 스토리지 공급자 및 주체의 컴퓨터에서 사용할 수 있는 모든 공급자를 요청에서 사용할 수 있습니다를 선택합니다.
참고
템플릿의 버전이 3이면 옵션으로 키 스토리지 공급자만 표시됩니다. 표시되지 않는 경우 인증서 템플릿을 올바른 버전으로 만들지 못한 것입니다. 위의 5단계부터 다시 시작하세요.
보안 탭에서 등록 액세스를 제공하려는 보안 그룹을 추가합니다. 예를 들어 모든 사용자에게 액세스 권한을 제공하려면 인증된 사용자 그룹을 선택한 다음, 해당 사용자에 대한 권한 등록을 선택합니다.
확인을 클릭하여 변경 내용을 완료하고 새 템플릿을 만듭니다. 인증서 템플릿 목록에 새 템플릿이 표시되어야 합니다.
파일을 선택하고 스냅인 추가/제거를 클릭하여 MMC 콘솔에 인증 기관 스냅인을 추가합니다. 어떤 컴퓨터를 관리할지 묻는 메시지가 표시되면 로컬 컴퓨터를 선택합니다.
MMC의 왼쪽 창에서 인증 기관(로컬)을 확장한 다음 인증 기관 목록 내에서 CA를 확장합니다.
인증서 템플릿을 마우스 오른쪽 단추로 클릭하고 발급할 새 인증서 템플릿>.
목록에서 만든 새 템플릿을 선택하고 확인을 클릭합니다.
프로필 템플릿 만들기
프로필 템플릿을 만들 때 vSC를 만들거나 제거하고 데이터 컬렉션을 제거하도록 템플릿을 설정해야 합니다. CM 앱은 수집된 데이터를 처리할 수 없으므로 다음과 같이 사용하지 않도록 설정하는 것이 중요합니다.
CM 포털에 관리자 권한이 있는 사용자로 로그인합니다.
관리 > 관리 프로필 템플릿으로 이동합니다. MIM CM 샘플 스마트 카드 로그온 프로필 템플릿 옆에 있는 확인란이 선택되어 있는지 확인한 다음 선택한 프로필 템플릿 복사를 클릭합니다.
프로필 템플릿의 이름을 입력하고 확인을 클릭합니다.
다음 화면에서 새 인증서 템플릿 추가를 클릭하고 CA 이름 옆에 있는 확인란을 선택해야 합니다.
프로필 템플릿 로그온 이름 옆에 있는 확인란을 선택하고 추가를 클릭합니다.
옆에 있는 확인란을 선택한 다음 선택한 인증서 템플릿 삭제를 클릭하여 SmartCardLogon 템플릿을 제거한 다음 확인합니다.
아래로 스크롤하여 설정 변경을 클릭합니다.
가상 스마트 카드 만들기/삭제 및 다각화 관리 키 옆에 있는 확인란을 선택합니다.
사용자 PIN 정책에서 사용자가 제공한을 선택합니다.
왼쪽 창에서 정책 > 변경 갱신 일반 설정을 클릭합니다. 갱신 시 카드 재사용을 선택하고 확인을 클릭합니다.
왼쪽 창에서 정책을 클릭하여 모든 정책에 대해 데이터 수집 항목을 사용하지 않도록 설정해야 합니다. 그런 다음 샘플 데이터 항목 옆의 확인란을 선택하고 데이터 컬렉션 항목 삭제를 클릭한 다음 확인을 클릭해야 합니다.
배포용 CM 앱 준비
명령 프롬프트에서 다음 명령을 실행하여 앱의 압축을 풉 이 명령은 appx라는 새 하위 폴더로 콘텐츠를 추출하고 원본 파일을 수정하지 않도록 복사본을 만듭니다.
makeappx unpack /l /p <app package name>.appx /d ./appx ren <app package name>.appx <app package name>.appx.original cd appx
appx 폴더에서 CustomDataExample.xml 파일 이름을 Custom.data로 변경합니다.
Custom.data 파일을 열고 필요에 따라 매개 변수를 수정합니다.
매개 변수 설명 MIMCM URL CM을 구성하는 데 사용한 포털의 FQDN입니다. 예를 들어 https://mimcmServerAddress/certificatemanagement ADFS URL AD FS를 사용하려는 경우 AD FS URL을 삽입합니다. 예를 들어 https://adfsServerSame/adfs
ADFS를 사용하지 않는 경우 빈 문자열로 이 설정을 구성합니다. 예를 들어<ADFS URL=""/>
개인정보 URL 인증서 등록을 위해 수집한 사용자 세부 정보로 수행할 작업을 설명하는 웹 페이지에 대한 URL을 포함할 수 있습니다. 지원메일 지원 문제에 대한 메일 주소를 포함할 수 있습니다. LobComplianceEnable (로브 컴플라이언스 활성화) true 또는 false로 설정할 수 있습니다. 기본 설정은 true입니다. 최소 핀 길이 기본 설정은 6입니다. 비관리자 true 또는 false로 설정할 수 있습니다. 기본 설정은 false입니다. 컴퓨터의 관리자가 아닌 사용자가 인증서를 등록하고 갱신하도록 하려면 이 속성만 수정합니다. 중요함
ADFS URL에 값을 지정해야 합니다. 값이 지정되지 않은 경우 최신 앱은 첫 번째 사용에서 오류가 발생합니다.
파일을 저장하고 편집기를 종료합니다.
패키지에 서명하면 서명 파일이 만들어집니다. 따라서 AppxSignature.p7x라는 원본 서명 파일을 삭제해야 합니다.
AppxManifest.xml 파일은 서명 인증서의 주체 이름을 지정합니다. 이 파일을 열어서 편집합니다.
이 섹션을 시작하기 전에 서명 인증서를 가져와야 합니다. MIM 2016 인증서 관리자에서 비관리자가 스마트 카드 갱신 사용 설정, 1단계를 참조하세요.
<Identity> 요소에서 게시자 특성의 값을 서명 인증서에 나열된 주체와 동일하게 수정합니다(예: "CN=SUBJECT").
파일을 저장하고 편집기를 종료합니다.
명령 프롬프트에서 다음 명령을 실행하여 appx 파일을 다시 압축하고 서명합니다.
cd .. makeappx pack /l /d .\appx /p <app package name>.appx
여기서 app package name은 복사본을 만들 때 사용한 이름과 같습니다.
signtool sign /f <path\>mysign.pfx /p <pfx password> /fd "sha256" <app package name>.ap px
새 .appx 파일을 제공합니다. pfx 파일은 서명 인증서의 위치와 .pfx 파일의 암호를 제공합니다.
AD FS 인증을 사용하여 작업하려면
가상 스마트 카드 애플리케이션을 엽니다. 이 응용 프로그램을 사용하면 다음 단계에 필요한 값을 보다 쉽게 찾을 수 있습니다.
애플리케이션을 AD FS 서버에 클라이언트로 추가하고 서버에서 CM을 구성하기 위해 AD FS 서버에서 Windows PowerShell을 열고 명령
ConfigureMimCMClientAndRelyingParty.ps1 –redirectUri <redirectUriString> -serverFQDN <MimCmServerFQDN>
을 실행합니다.다음은 ConfigureMimCMClientAndRelyingParty.ps1 스크립트입니다.
# HELP <# .SYNOPSIS Configure ADFS for CM client app and server. .DESCRIPTION What the Script does: a. Registers the MIM CM client app on the ADFS server. b. Registers the MIM CM server relying party (Tells the ADFS server that it issues tokens for the CM server). For parameter information, see 'get-help -detailed' .PARAMETER redirectUri The redirectUri for CM client app. Will be added to ADFS server. It can be found as follows: 1. Open the settings panel. Under settings, there is a "Redirect Uri" text box (an ADFS server address must be configured in order for the text to display). 2. Open MIM CM client app. Navigate to 'C:\Users\<your_username>\AppData\Local\Packages\CmModernAppv.<version>\LocalState', and open 'Logs_Virtual Smart Card Certificate Manager_<version>'. Search for "Redirect URI". .PARAMETER serverFqdn Your deployed MIM CM server’s FQDN. .EXAMPLE .\ConfigureMimCMClientAndRelyingParty.ps1 -redirectUri ms-app://s-1-15-2-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789-0123456789/ -serverFqdn WIN-TRUR24L4CFS.corp.cmteam.com #> # Parameter declaration [CmdletBinding()] Param( [Parameter(Mandatory=$True)] [string]$redirectUri, [Parameter(Mandatory=$True)] [string]$serverFqdn ) Write-Host "Configuring ADFS Objects for OAuth.." #Configure SSO to get persistent sign on cookie Set-ADFSProperties -SsoLifetime 2880 #Configure Authentication Policy #Intranet to use Kerberos #Extranet to use U/P #Create Client Objects Write-Host "Creating Client Objects..." $existingClient = Get-ADFSClient -Name "MIM CM Modern App" if ($existingClient -ne $null) { Write-Host "Found existing instance of the MIM CM Modern App, removing" Remove-ADFSClient -TargetName "MIM CM Modern App" Write-Host "Client object removed" } Write-Host "Adding Client Object for MIM CM Modern App client" Add-ADFSClient -Name "MIM CM Modern App" -ClientId "70A8B8B1-862C-4473-80AB-4E55BAE45B4F" -RedirectUri $redirectUri Write-Host "Client Object for MIM CM Modern App client Created" #Create Relying Parties Write-Host "Creating Relying Party Objects" $existingRp = Get-ADFSRelyingPartyTrust -Name "MIM CM Service" if ($existingRp -ne $null) { Write-Host "Found existing instance of the MIM CM Service RP, removing" Remove-ADFSRelyingPartyTrust -TargetName "MIM CM Service" Write-Host "RP object Removed" } $authorizationRules = "@RuleTemplate = `"AllowAllAuthzRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");" $issuanceRules = "@RuleTemplate = `"LdapClaims`" @RuleName = `"Emit UPN and common name`" c:[Type == `"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname`", Issuer == `"AD AUTHORITY`"] => issue(store = `"Active Directory`", types = (`"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn`", `"http://schemas.xmlsoap.org/claims/CommonName`"), query = `";userPrincipalName,cn;{0}`", param = c.Value); @RuleTemplate = `"PassThroughClaims`" @RuleName = `"Pass through Windows Account Name`" c:[Type ==`"http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname`"] => issue(claim = c);" Write-Host "Creating RP Trust for MIM CM Service" Add-ADFSRelyingPartyTrust -Name "MIM CM Service" -Identifier ("https://"+$serverFqdn+"/certificatemanagement") -IssuanceAuthorizationRules $authorizationRules -IssuanceTransformRules $issuanceRules Write-Host "RP Trust for MIM CM Service has been created"
redirectUri 및 serverFQDN의 값을 업데이트합니다.
redirectUri를 찾으려면 Virtual Smart Card 애플리케이션에서 애플리케이션 설정 패널을 열고 설정을 클릭하면 리디렉션 URI가 AD FS 서버 주소 표시줄 아래에 나열됩니다. URI는 ADFS 서버 주소를 구성한 경우에만 나타납니다.
serverFQDN은 MIMCM 서버의 전체 컴퓨터 이름일 뿐입니다.
ConfigureMIimCMClientAndRelyingParty.ps1 스크립트에 대한 도움말을 보려면 다음을 실행합니다.
get-help -detailed ConfigureMimCMClientAndRelyingParty.ps1
앱 배포하기
CM 앱을 설정할 때 다운로드 센터에서 파일 MIMDMModernApp_<version>_AnyCPU_Test.zip을 다운로드하고 모든 내용을 추출합니다. .appx 파일이 설치 관리자입니다. 일반적으로 Windows 스토어 앱을 배포할 때 System Center Configuration Manager 또는 Intune을 사용하여 앱을 사이드로드할 수 있으며, 그렇게 하면 사용자가 회사 포털을 통해 액세스하거나 컴퓨터에 직접 푸시됩니다.