AD FS 2.0 サービス アカウントが、AD FS 構成データベースにあるトークン署名証明書またはトークン暗号化解除証明書の秘密キーにアクセスできないため、AD FS 2.0 Windows サービスを開始できませんでした。
AD FS 2.0 Windows サービスが正常に開始された場合、モニターは緑の状態に変化し、元の重大アラートは自動的に解決します。
指定したストアで証明書が見つかったものの、証明書の秘密キーへのアクセスに問題がある場合、この状態が発生する可能性があります。 この状態の一般的な原因を次に示します。
.cer ファイルや .p7b ファイルなど、秘密キーを含まないソースから証明書がインストールされました。
証明書の秘密キーが、.pfx ファイルなどから、このイベントで指定したストアとは異なるストア内にインポートされました。
[コンピューター キー] オプションを指定していない証明書要求の一部として証明書が生成されました。
フェデレーション サービスの ID に、証明書の秘密キーへの読み取りアクセス権が付与されていません。
この状態で考えられる解決方法を次に示します。
証明書が秘密キーのないソースからインポートされた場合は、秘密キーのある証明書を選択するか、.pfx ファイルなど、秘密キーを含むソースから証明書をインポートし直します。
証明書がユーザー コンテキストでインポートされた場合は、上で指定したストアが、証明書のインポート先のストアと一致していることを確認します。
[コンピューター キー] オプションを指定していない証明書要求により証明書が生成され、キーがエクスポート可能とマークされている場合は、秘密キーのある証明書をユーザー ストアから .pfx ファイルにエクスポートし、構成ファイルで指定されているストア内に直接インポートし直します。
キーがエクスポート可能とマークされていない場合は、[コンピューター キー] オプションを使用して、新しい証明書を要求します。
フェデレーション サービスの ID に、証明書の秘密キーへの読み取りアクセス権が付与されていない場合は、証明書スナップインを使用して、この状態を修正します。 詳細については、「 AD FS 2.0 トラブルシューティング ガイド (英語の可能性あり)」の AD FS 2.0 のトラブルシューティング前の確認事項に関するセクションで、AD FS 2.0 サービス ユーザー アカウントから証明書の秘密キーへのアクセスが可能であることを確認する手順を参照してください。
Target | Microsoft.ActiveDirectoryFederationServices20.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.ActiveDirectoryFederationServices20.FederationServerBadConfigurationIdentityCertificateHasNoPrivateKeyMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.ActiveDirectoryFederationServices20.FederationServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.ActiveDirectoryFederationServices20.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.ActiveDirectoryFederationServices20.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$)|(^AD FS 2.0$)</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>$Target/Property[Type="Microsoft.ActiveDirectoryFederationServices20.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$)|(^AD FS 2.0$)</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>