AD FS 서비스 계정이 AD FS 구성 데이터베이스에 있는 토큰 서명 또는 토큰 암호 해독 인증서에 대한 개인 키에 액세스할 수 없기 때문에 AD FS Windows 서비스를 시작하지 못했습니다.
AD FS Windows 서비스가 성공적으로 시작되면 모니터가 녹색 상태로 변하고 중요 경고가 자동으로 해결됩니다.
이러한 상황은 인증서를 지정한 저장소에서 찾았지만 인증서의 개인 키에 액세스하는 데 문제가 있는 경우에 발생할 수 있습니다. 이러한 상황이 발생한 일반적인 원인은 다음과 같습니다.
.cer 또는 .p7b 파일 같은 개인 키가 포함되지 않는 원본에서 인증서를 설치했습니다.
인증서의 개인 키를 이 이벤트에 지정된 저장소와 다른 저장소에 가져왔습니다(예: .pfx 파일).
인증서가 "컴퓨터 키" 옵션을 지정하지 않는 인증서 요청의 일부로 생성되었습니다.
페더레이션 서비스 ID에 인증서의 개인 키에 대한 읽기 권한이 부여되지 않았습니다.
이 상황을 해결할 수 있는 방법은 다음과 같습니다.
개인 키가 없는 원본에서 인증서를 가져온 경우, 개인 키가 있는 인증서를 선택하거나 개인 키를 포함하는 원본에서 다시 인증서를 가져오십시오(예: .pfx 파일).
사용자 컨텍스트에서 인증서를 가져온 경우, 이전에 지정한 저장소가 인증서를 가져온 저장소와 일치하는지 확인하십시오.
"컴퓨터 키" 옵션을 지정하지 않은 인증서 요청에 의해 인증서가 생성되고 키가 내보내기 가능으로 표시된 경우, 사용자 저장소에서 .pfx 파일로 개인 키와 함께 인증서를 내보낸 다음 구성 파일에 지정한 저장소로 다시 바로 가져오십시오.
키가 내보내기 가능으로 표시되지 않은 경우 "컴퓨터 키" 옵션을 사용하여 새 인증서를 요청하십시오.
페더레이션 서비스 ID에 인증서의 개인 키에 대한 읽기 권한이 부여되지 않은 경우 인증서 스냅인을 사용하여 이 조건을 수정하십시오. 자세한 내용은 AD FS 문제 해결 가이드에서 "AD FS 문제 해결 전 확인할 사항" 섹션의 "인증서의 개인 키를 AD FS 서비스 사용자 계정으로 액세스할 수 있는지 확인" 절차를 참조하십시오.
Target | Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">133</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices2012R2.FederationServer"]/ADFSEventLog$</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">100</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesMOM2005RegularExpression</Operator>
<Pattern>(^AD FS$)</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>