問題タブ [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.
oracle - Oracle - 更新時に履歴行を作成するトリガー
まず、現在、望ましい動作をしていますが、データベースへの変更が必要になったときに維持するのは簡単ではありません。私は、よりシンプルで、より効率的で、保守しやすいものを探しています (これら 3 つのいずれかを行うものは大歓迎です)。更新を実行すると、現在の行のコピーである履歴行が作成され、現在の行の値が更新されます。その結果、更新前の行の履歴が記録されます。
理由: 私たちは多くの連邦規則に準拠する必要があり、すべての完全な監査履歴を保持するためにこの方法を採用しました。また、いつでもデータベースを見て、物事がどのように見えるかを確認できます (将来の要件) . 同様の理由で、履歴の記録方法を変更することはできません...どのソリューションも、現在のトリガーが作成するデータと同じ結果になる必要があります。
Contact
テーブルの現在のトリガーは次のようになります:
(簡潔にするために不要なフィールドを取り除いています。フィールドの数は重要ではありません)
更新前 (各行):
更新前 (すべての行に対して 1 回):
更新後 (すべての行に対して 1 回):
次のように定義されたパッケージ (トリミングされたフル バージョンは、表ごとにこれをコピーしたものにすぎません):
現在の結果
結果の履歴サンプルは次のとおりです。
各履歴レコードには、現在の行の ID である Entity_ID があり、新しいレコードの Date_Start は、最後の履歴行の Date_Modified と一致します。これにより、次のようなクエリを実行できますWhere Entity_ID = :id Or ID = :id And :myDate < Date_Modified And :myDate >= Date_Start
。履歴は で取得できますEntity_ID = :current_id
。
これを行うためのより良いアプローチはありますか? 概念は単純です。行を更新するときに、古い値を挿入して同じテーブルにコピーし、現在の行を更新します...しかし、実際にそれを行うには、もっと簡単な方法をまだ見つけていません。オラクルのより巧妙で賢明な人が、これに対するより良いアプローチを持っていることを願っています。速度はそれほど重要ではありません。ほとんどの Web アプリケーションと同様に、99% 読み取り 1% 書き込みであり、すべての一括操作は挿入であり、履歴を作成しない更新ではありません。
誰かがこれのメンテナンスを簡素化するためのアイデアを持っているなら、私は非常に感謝しています、ありがとう!
sql - SQL Server 2000 での最終ログイン日時の検出
特定のユーザーが SQL Server に最後にログインしたのはいつかを判断する方法はありますか? データベース サーバーの監査を実行しようとしていますが、冗長なユーザーを削除したいと考えています。
ちなみに、私が興味を持っているのは、個々のデータベースのユーザーではなく、サーバー レベル (つまり、ログイン) のユーザーです。
前もって感謝します。
sql - Sql Server 2008 での変更追跡に関するアドバイス
私のクライアントは、アプリケーションで完全な監査証跡 (すべてのテーブルの履歴データの完全なビュー) を実行する方法を探しています。
テーブルのコピーを作成したり、フィールド名、フィールド値、変更者、変更者などを保存したりする昔ながらの方法を使用する以外に、Sql Server 2008 変更追跡の使用を検討していました。msdnでハウツー記事を
見つけました。
Sql Server 2008 の Change Tracking 機能を使用した (または POC を行った) 人はいますか? また、可能であれば、そこから何を望んでいたのか、何を見つけた/結論付けたのかを明記してください. 同じことに関するヒントは大歓迎です。
[編集]
1 週間経ってもまだ回答がありません。
sql - データのパターンを探して不正行為を阻止する
SQL Server の監査、具体的には不正調査に推奨されるアプリケーションは何ですか?
エンド ユーザーがデータ値を関連付けて不正パターンを見つけられるようにするツールが必要です。このツールは、誤検知を減らすために必要に応じて調整できる必要があります。
また、かなり直感的であることも重要です。理想的には、SQL に慣れていないエンド ユーザーが SQL を直接操作し、GUI インターフェイスを使用してカスタマイズできるようにすることです。
提案?
java - 監査とロギングの違いは?
私はこれらの 2 つの単語に出くわすことが多くなりましたが、これらに大きな違いは見られませんでしたか? つまり、それらは同じ意味で使用されているのか、それともこれら2つにいくつかの違いがあるのか を知りたいということですか? ありがとう。
windows-ce - メッセージ配信を保証するためのwindows-ceのメッセージングテクノロジーは何ですか?
Windows-ce (6.0R3) ベースのデバイスを構築しています。これには、クラウドとの間で保証された監査対応のメッセージ配信 (ストア アンド フォワードを含む) が必要です。
私はそれ以上の選択肢を探していました:
- MSMQ
- 独自のソリューション (プロトタイプ デバイスが使用しているもの)
- AMQP (たとえば、CE 用の RabbitMQ クライアントは見つかりませんでした)
……他にもいる?
パブリック ネットワークを介して機密データを転送する予定であり、大規模なオプションが必要です。組み込みデバイスで実行されるものはすべて、パフォーマンスにも影響されます。
database - 変更履歴の詳細をデータベース (監査証跡) に保存するにはどうすればよいですか?
私は J2EE 開発者で、PostgreSQL データベースで hibernate マッピングを使用しています。
データベースで発生した変更を追跡する必要があります。つまり、フィールドの以前の値と現在の値をすべて保存する必要があります。各フィールドは任意の型 (bytea、int、char...) にすることができます。
単純なテーブルでは簡単ですが、オブジェクトのグラフではより困難です。
つまり、UML の観点から言えば、すべての変更とユーザーと共にデータベースに格納するオブジェクトのグラフがあります。
それを行う方法のアイデアやパターンはありますか?
java - Java監査テーブルログ、CONTEXT_INFOと同等のMySQL
SQLServerに存在するCONTEXT_INFOに相当するMySQLを探しています。または、ユーザー名をトリガーに渡すことができるもののような他のセッション変数。
現在、監査用のテーブルデータのログ記録に取り組んでいます。ログインしたユーザーのユーザー名を削除トリガーに渡す必要があります。
何か案は?いくつかのケースでテーブルから行を削除し、他のケースではそれらを削除済みとしてマークしています。
代替ソリューションは大歓迎です。AOPを使用することを考えましたが、カスケードを削除するときに問題が発生する可能性があります。Hibernate Interceptorsを調べたいのですが、現時点でそれが機能するかどうかはわかりません。
CONTEXT_INFOに相当するMySQLを見つけることができれば、私の仕事も完了し、エレガントです。
ありがとう、
ジュリア。
security - TFS 2008 (Team Foundation Server) のグループとアクセス許可をエクスポートする
監査のためにすべての TFS 2008 グループとアクセス許可をエクスポートする方法はありますか?
.net - メソッドの傍受をサポートしている場合、Autofac を使用して監査を実装しますか?
監査を実装する必要があるプロジェクトにAutofac IoCを使用する予定です(アプリケーションで誰が、何をしているのか)。私はすでにこのテーマ(監査)に関する多くの記事を読んでいました。私の意図は、メソッド インターセプトを使用してこの機能を実装することでした。Unity がこれをサポートしていることは知っていますが、このシナリオで Autofac を使用できるかどうか疑問に思っていました。