このサンプルでは、 ServiceSecurityAuditBehavior を使用して、サービス操作中のセキュリティ イベントの監査を有効にする方法を示します。 このサンプルは、入門に基づいています。 サービスとクライアントは、<wsHttpBinding> を使用して構成されています。 mode
security<の>属性がMessage
に設定され、clientCredentialType
がWindows
に設定されています。 このサンプルでは、クライアントはコンソール アプリケーション (.exe) であり、サービスはインターネット インフォメーション サービス (IIS) によってホストされています。
注
このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。
サービス構成ファイルは、 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" に設定することで指定できます。 詳細については、「 方法: セキュリティ イベントを監査する」を参照してください。 イベントがセキュリティ ログに書き込まれる場合、LocalSecurityPolicy-> オブジェクト アクセスの有効化は "Success" と "Failure" に設定する必要があります。
イベント ログを見ると、監査イベントのソースは "ServiceModel Audit 3.0.0.0" です。 メッセージ認証監査レコードのカテゴリは "MessageAuthentication" ですが、サービス承認監査レコードのカテゴリは "ServiceAuthorization" です。
メッセージ認証監査イベントには、メッセージが改ざんされたかどうか、メッセージの有効期限が切れているかどうか、およびクライアントがサービスに対して認証できるかどうかが含まれます。 クライアントの ID と共に認証が成功したか失敗したか、メッセージに関連付けられたアクションと共にメッセージが送信されたエンドポイントに関する情報を提供します。
サービス承認監査イベントは、サービス承認マネージャーによって行われた承認の決定に対応します。 承認が成功したか失敗したかに関する情報と共に、クライアントの ID、メッセージが送信されたエンドポイント、メッセージに関連付けられているアクション、受信メッセージから生成された承認コンテキストの識別子、アクセスの決定を行った承認マネージャーの種類に関する情報が提供されます。
サンプルを設定、ビルド、実行するには
Windows Communication Foundation サンプル のOne-Time セットアップ手順を実行していることを確認します。
ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
シングル コンピューター構成またはクロスコンピューター構成でサンプルを実行するには、「 Windows Communication Foundation サンプルの実行」の手順に従います。