問題タブ [audit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - SQL Server に監査テーブルを実装するための提案はありますか?
私が過去に使用した簡単な方法の 1 つは、基本的には、監査したいテーブルの構造を反映した 2 番目のテーブルを作成し、メイン テーブルに更新/削除トリガーを作成することです。レコードが更新/削除される前に、現在の状態がトリガーを介して監査テーブルに保存されます。
効果的ではありますが、監査テーブル内のデータは、最も有用ではなく、レポートするのも簡単ではありません。データの変更を監査するためのより良い方法があるかどうか疑問に思っていますか?
これらの記録はあまり更新されるべきではありませんが、非常に機密性の高い情報であるため、すべての変更が監査され、簡単に報告されることが顧客にとって重要です。
sql-server - NHibernate と SqlServer でのデータ監査
プロジェクトで NHibernate を使用しており、データ監査を行う必要があります。IInterceptor インターフェイスについて説明している codeproject に関するこの記事を見つけました。
データを監査するための好ましい方法は何ですか? データベーストリガーを使用していますか? この記事で説明されているものに似たものを使用していますか?
sql-server - DB 監査証跡の最適な実装は何ですか?
DB 監査証跡は、ユーザーの最終変更日、変更日、および作成日をキャプチャします。
いくつかの可能な実装があります:
- SQL Server トリガー
- UserModified、ModifiedDate、CreatedDate 列をデータベースに追加し、それに応じてストアド プロシージャまたは Insert、Update ステートメントにロジックを含めます。
回答に実装(またはリンク)を含めるとよいでしょう。
database - パフォーマンスとスケーラビリティの問題なしにデータベース アクティビティを監査する方法
アプリケーションからのものであるか、他の手段でSQLを発行した人であるかに関係なく、すべてのデータベースアクティビティを監査する必要があります。したがって、監査はデータベース レベルで行う必要があります。問題のデータベースは Oracle です。私は、トリガーを介してそれを行うことを検討しました。また、オラクルが提供するファイングレイン監査と呼ばれるものを介して行うことも検討しました。どちらの場合も、特定のテーブルと特定の列の監査を有効にしました。ただし、これらの方法のいずれかを使用すると、パフォーマンスが本当に悪いことがわかりました.
データのプライバシーに関する規制により、監査は絶対に必要であるため、パフォーマンスを大幅に低下させずにこれを行うにはどうすればよいかを考えています。誰かがこれに関してOracle固有の経験を持っている場合、それは役に立ちますが、データベースアクティビティの監査に関する一般的な慣行だけでなくても問題ありません。
java - 既存のアプリに監査を追加するための適切なパターンまたはフレームワーク?
監査を追加する必要がある既存のJ2EEエンタープライズアプリケーションがあります。つまり、いくつかの重要なドメインタイプ(Employee、AdministratorRightsなど)でCRUD操作を記録できます。
アプリケーションには、標準のn層アーキテクチャがあります。
- Webインターフェイス
- ステートレスセッションBeanとトランザクションPOJOの混合物にカプセル化されたビジネスオペレーション(Springを使用)
- 永続性は、直接JDBC(ビジネスレイヤー内から)とEJB 2.x BMPエンティティBean(私は知っている、私は知っている)の混合物です
私の質問は、横断的関心事として監査を追加するための標準的なパターンまたは(さらに良い)フレームワーク/ライブラリはありますか?AOPは、一般的に横断的関心事を実装するために使用できることを私は知っています。特に監査を目的としたものがあるかどうか知りたいです。
c# - オブジェクトの監査証跡をどのように実装しますか (プログラミング)?
オブジェクトの追加/編集/削除の監査証跡を実装する必要があります。オブジェクトの定義などに ORM (XPO) を使用しています。トリガーされる監査証跡オブジェクトを実装しました。
- 節約中
- 削除中
基本オブジェクトのうち、フィールドの変更について、Audit-AuditTrail (Mast-Det) テーブルに変更を保存します。などと呼ばれるいくつかのメソッド サービスを使用します。
OOP コードに監査証跡をどのように実装しますか? あなたの洞察を共有してください?柄などは?ベストプラクティスなど? もう1つのことは、単体テストを実行するときに監査を無効にする方法です。監査する必要はありませんが、ベースオブジェクトにはコードがあるためです。
オブジェクトへの変更 (編集/追加/削除) と、監査が必要なフィールドの変更
sql-server - SQLServerストアドプロシージャで削除された行の数をカウントする
SQL Server 2005では、行を削除して実際に削除された行数を通知する方法はありますか?
私はselect count(*)
同じ条件で行うことができますが、これは完全に信頼できるものである必要があります。
私の最初の推測は@@ROWCOUNT
変数を使用することでした-しかしそれは設定されていません、例えば
常に0を返します。
MSDNはOUTPUT
構造を提案します。
これは実際には構文エラーで失敗します。
何か案は?
database - 変更ログ/監査データベース テーブルの最適な設計は?
さまざまな変更ログ/監査 (何かが追加、削除、変更されたときなど) を保存するデータベース テーブルを作成する必要があります。特に詳細な情報を保存する必要はないので、次のようなことを考えていました。
- id (イベント用)
- それを引き起こしたユーザー
- イベント名
- イベントの説明
- イベントのタイムスタンプ
ここで何か不足していますか?もちろん、複雑にするつもりはありませんが、デザインを改善し続けることはできます (イベントの種類やそのようなもののために他のテーブルを作成することは、私のニーズを複雑にするため、問題外です)。
asp.net - ユーザーが ASP.NET アプリを離れたときに監査する方法
ASP.NET で、アプリケーションを離れたユーザーを監査する方法を探しています。具体的には、ユーザーのセッションが何らかの理由で放棄/破棄されたときに、SQL Server の監査テーブルに「ログアウト」レコードを挿入したいと思います (必ずしも session.abandon の呼び出しのためではありません)。
セッションセッター/ゲッターを管理する「SessionHelper」クラスがあります。
Global.asax の Session_End にポストバックしようとしましたが、タイムアウトになった後でもこのイベントが発生しませんでした。
SessionHelper クラスで「ファイナライズ」をオーバーライドして、クラスが破棄されたときにそこで実行しようとしましたが、そのイベントも発生しませんでした。
SessionHelper に IDisposable を実装してみますが、いつでも呼び出されるように呼び出す場所がわかりません。
ASP.NET アプリケーションを離れるユーザーを監査する適切な方法は何ですか?
ありがとうございました!
mysql - MySQL テーブルの変更を (MySQL 4 を使用して) どのように監査すればよいですか?
MySQL テーブルのすべての変更を監査するように依頼されました。これを行うのに役立つツールを知っている人はいますか、それとも独自のソリューションを作成する必要がありますか?
独自の監査を作成する場合、最初は別のテーブルを作成し、PHP コードに一連の変更を作成することを考えていました。「fieldname1 -> oldvalue | fieldname2 -> oldvalue, ...」のようなものです。この方法に重大な問題がある場合は、お知らせください。