サービス監査動作
このサンプルでは、ServiceSecurityAuditBehavior を使用して、サービス操作中にセキュリティ イベントの監査を有効にする方法を示します。 このサンプルは、「入門サンプル」に基づいています。 サービスとクライアントは、<wsHttpBinding> を使用して構成されています。 mode
の mode
属性は Message
に設定され、clientCredentialType
は Windows
に設定されています。 この例では、クライアントはコンソール アプリケーション (.exe) であり、サービスはインターネット インフォメーション サービス (IIS) によってホストされます。
Note
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。
サービス構成ファイルは、次のように serviceSecurityAudit
要素を使用して監査を構成します。
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
...
<!-- serviceSecurityAudit allows specification of audit location
and whether to audit success, failure or both. This service
logs success and failure of messageAuthentication
to the default location -->
<serviceSecurityAudit auditLogLocation ="Default" messageAuthenticationAuditLevel = "SuccessOrFailure" />
</behavior>
</serviceBehaviors>
</behaviors>
このサンプルを実行すると、操作要求および応答がクライアントのコンソール ウィンドウに表示されます。 クライアントをシャットダウンするには、コンソール ウィンドウで Enter キーを押します。
結果として得られる監査ログは、イベント ビューアーを実行して表示できます。 監査イベントは既定で、Windows XP の場合はアプリケーション ログに、Windows Server 2003 と Windows Vista の場合はセキュリティ ログに表示されます。 Windows Server 2008 と Windows 7 では、監査イベントをアプリケーション ログとサービス ログに表示できます。 監査イベントの場所は、auditLogLocation
属性を "Application" または "Security" に設定することで指定できます。 詳細については、「方法 : セキュリティ イベントを監査する」を参照してください。 イベントがセキュリティ ログに書き込まれる場合は、[ローカル セキュリティ ポリシー] -> [オブジェクト アクセスの監査] を [成功] と [失敗] について有効にする必要があります。
イベント ログを調べる場合、監査イベントのソースは "ServiceModel Audit 3.0.0.0" です。 メッセージ認証監査レコードには "MessageAuthentication" のカテゴリが設定され、サービス認可監査レコードには "ServiceAuthorization" のカテゴリが設定されます。
メッセージ認証監査イベントは、メッセージの改ざんや期限切れの有無、クライアントによるサービス認証の成否などに適用されます。 このイベントでは、認証の成功または失敗に関する情報とクライアント ID、およびメッセージ送信先のエンドポイントとそのメッセージに関連付けられたアクションに関する情報が提供されます。
サービス承認監査イベントは、サービス承認マネージャーによって決定される承認に適用されます。 このイベントでは、承認の成功または失敗に関する情報とクライアント ID、メッセージ送信先のエンドポイント、そのメッセージに関連付けられたアクション、受信メッセージから生成された承認コンテキストの ID、およびアクセス決定を行った承認マネージャーの種類に関する情報が提供されます。
サンプルをセットアップ、ビルド、および実行するには
Windows Communication Foundation サンプルの 1 回限りのセットアップの手順を実行したことを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「 Building the Windows Communication Foundation Samples」の手順に従います。
単一または複数コンピューター構成でサンプルを実行するには、「Windows Communication Foundation サンプルの実行」の手順に従います。