問題タブ [auditing]
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.
calendar - MSCRM に費やされた時間を追跡する
私の要件は、活動に関する各営業担当者の時間を追跡できる必要があるということです。また、管理者が実行して、各ユーザーが通話/販売/商談などに費やした時間を確認できるレポート。
ユーザーが特定のアクティビティを使用している時間を追跡するには、何を使用すればよいですか?
私は監査を使用してそれを行うことができると思います。
もっと良いアイデアはありますか?
tfs - TFS 2012: バイナリをビルドおよびソース コードに関連付ける
私は TFS 2012 に飛び込み始めており、層、ビルド サーバー、コントローラー、およびエージェントがどのように機能するか、およびさまざまなビルド スクリプトがさまざまな構成とプロジェクトをどのように持つことができるかについての基本的な理解を持っています。
ただし、私が苦労していることの 1 つは、特定の変更セットまたはシェルフセットが特定のビルドを生成したことを証明できるようにする必要があるというソース管理ソリューションの要件です。つまり、特定のバイナリが与えられた場合、そのバイナリを生成したリリース変更セットを指すことができます。また、リリース ブランチにマージされたテスト変更セットを指すこともできるはずです。ここでの考え方は、単なる職務の分離ではなく、リリースとテストの変更セットが同一であるため、コード レビュー担当者によってプロジェクトにコードが挿入されていないことを検証することです。
「バイナリ プロモーション」について説明している1 つのブログ投稿を読みましたが、その概念は私の状況で役に立ちますか? このバイナリ プロモーションが TFS でどのように設定されているかを見つけるのに苦労しています。
oracle - Oracle 監査付与 dba ロール
XP SP2 仮想マシンで Oracle 11gR1 を実行しています。完全な開示: これは割り当て用です。
ユーザーに DBA ロールが付与されるたびに監査し、イベントが発生したときに電子メールを送信しようとしています。
このコマンドAUDIT DBA;
は、DBA ロールで実行されたすべてのアクションを監査すると思います。私は電子メール部分を処理する完全に機能する手順を持っていますが、標準監査が詳細な監査ポリシーと同じ方法で手順をトリガーする方法を知りません。
ポリシーを使用してみました
FGA_NOTIFY は電子メールの手順です。しかし、「SYSが所有するオブジェクトにポリシーを追加することは許可されていません」という通知が表示されます。Oracle のドキュメントを検索しても、これを回避する方法は見つかりませんでした。
私の質問は、電子メール通知をトリガーできる DBA ロールをユーザーが取得したときに、監査と Oracle データベースの方法を提案できる人はいますか?
よろしくお願いします。
svn - フォルダーを監視し、ファイルの変更をサイレントにチェックインするように SVN/TFS を構成しますか (監査目的で)?
( ServerFaultにも投稿されましたが、ここには SVN/TFS ユーザーが増えることに気付きました)
結論の質問:
- チェンジャーのユーザー名とともに、ターゲット フォルダー内のファイルに加えられたすべての変更をサイレント モードでチェックインする無人サービスが実行されている SVN/TFS リポジトリを作成することは可能ですか? ファイルを変更する人には完全に見えないようにする必要があります。
私の質問の背景は次のとおりです。
多くの人が ASP.NET Web サイトに変更を展開しています...デザイナーは HTML と CSS の変更を展開し、.NET 開発者は ASPX、DLL ファイルを展開し、グラフィック デザイナーは画像を展開します。
理論的には、これらすべての展開は非常に管理された方法で行われます。ソース コードは SVN で維持され、展開パッケージが作成されてバージョン管理され、展開は最初に運用前のサイトでテストされ、ライブへの展開は文書化されます。理論的には、どのファイルが、いつ、なぜ、誰によって変更されたかを常に把握しています。
ただし、誰かがライブ サイトで直接変更を行い、すべての手順をバイパスすることがあります。通常、これは何らかの緊急事態が原因です。時々、サイトに問題を引き起こす変更が行われます...そして誰もそれを所有していません!
したがって、私たちが探しているのは、サーバー上の特定のフォルダーに対するすべてのファイルの変更をキャプチャする、ある種の無人サービスです。ファイルの変更が発生したときに「チェックイン」する必要があります。つまり、ファイル全体の新しいバージョンをキャプチャし、ユーザーの Windows ログインもキャプチャします。つまり、すべてのファイルは、SVN や TFS などと同じように、それに加えられた変更の履歴を取得します。ファイルの履歴でバージョン間の差分を確認できるはずです。キャプチャする内容の 99% は、適切な手順によって行われた変更である必要がありますが、そうでない 1% も含まれている必要があります。
明確にするために、OSSEC のような「ファイルの整合性」アラートを送信するサービスを探しているわけではありません。すべてのファイル変更をキャプチャするだけでよいので、何か問題が発生した場合は、変更ログをチェックして、通常の手順以外で何が行われたかを把握できます。また、明らかに完全に自動化する必要があります - ユーザーに追加の手順に従うことを要求することは、私たちが求めているものではありません!
また、定期的にバックアップを取り、それらの間の違いを探すことは、私たちが望んでいることではありません。
wcf - カスタム データとイベント リスナーを使用した nhibernate セッション
私が取り組んでいる WCF プロジェクトでは、保持しているエンティティに対してある種の監査ログを実装する必要があります。基本的に、監査証跡は 4 つの必須フィールドで構成されます
- 作成日時
- 作成したユーザー ID
- 更新日時
- 更新されたユーザー ID
これはドメイン層にあるべきではないと思うので、DataAccess 層の nHibernate Event Listeners を介してこれを実装しようとしています。これまでのところ、DateTime は期待どおりに機能していますが、イベント リスナーでユーザー ID を取得する方法を理解できていません。理想的には、nHibernate セッション オブジェクトにアタッチされたある種のカスタム データとしてユーザー ID を取得したいと考えています。
どんな提案でも大歓迎です。
java - Javaでの監査とデータ履歴
アプリケーションの構成用のドメインオブジェクトとそれに関連するテーブルのセットがあります。認証されたユーザーは、プレゼンテーション層を介してこれらのドメインオブジェクトデータを変更できます。これらの ドメインオブジェクトには非常に重要なデータがあり、誰がいつデータを変更したかを見つける必要があります。私のアプリケーションのデータアクセスレイヤーは、JPA、Hibernate、Springを使用して実装されています。ユーザー+アクション日付+アクションタイプ+以前の値で構成されるすべての変更の記録が必要です。
たとえば、些細なドメインオブジェクト(この質問の目的のために簡略化されています)を考えてみましょう。
Connection
次の値を持つインスタンスがあると想定します。
ユーザー(例John
)がUIにログインし、この接続を次の値に変更した後:
ご覧のとおり、JohnはプロトコルをHTTPS
からHTTP
(安全なプロトコルから安全でないプロトコルに!)に変更しました。その結果Connection
、監査可能にするためにインスタンスの履歴を別のテーブルに保存する必要があります。
私は自分のための解決策を研究し、次の結果を見つけました:
- トリガー: 1つの可能性は、テーブルにトリガーを定義することです。この方法の短所は、データベースへの依存関係です。
- Hibernate Envers:このソリューションは優れていますが、DAOレイヤーがHibernateに依存するようになり、JPAとそのプロバイダーの独立性のメリットが得られません。
- Spring Data Commons + hades:は良いですが、 : 、、、など
MappedSuperClass
の注釈によって任意のエンティティに列を追加しました。これは、エンティティの完全な履歴と状態を保存することを意味します。Create User
Create Date
Last Update User
Last Update Date
- 私自身の設計/実装: *この目標のためにレイヤーを実装することはできますが、この要件は私にとって特別なものではなく、ベストプラクティスに従って他の人によって解決されたと思うので、このソリューションは好きではありません(すべきではありません) t車輪の再発明)
誰かがこの問題の提案や解決策を持っていますか?
(私の質問が長く、専門家にとって基本的すぎる場合は申し訳ありません)
spring - webapp の JPA エンティティの監査:ログインユーザーを取得する方法は?
JPA エンティティの簡単な監査要件があります。作成日と最終変更日と作成者を保持します。作成者は、現在ログインしているユーザーである必要があります。
基本クラスまたは JPA インターセプター (追加のフレームワークなし) で注釈を@PrePersist
使用してこれを実装したいと思います。@PreUpdate
ただし、どちらの場合も、HttpSession に格納されている現在ログインしているユーザーにアクセスする方法が必要です。
基本エンティティークラスのメソッドまたは JPA インターセプターからこの情報にアクセスするにはどうすればよいですか?
それを達成する方法に関するベストプラクティスまたはテスト済みの方法はありますか?
私は、リクエストごとに、ログインしたユーザーオブジェクトをグローバルに到達可能な ThreadLocal (たとえば、Spring シングルトンサービス内) に配置する Web インターセプターを追加して、どこからでも検索できるようにすることを考えていました...
それは良い考えのように聞こえますか?
どんな提案でも大歓迎です!
編集:ここで同様の質問が見つかりました(右側の提案を通じて自分自身を投稿した後にのみ見つかりました):JPAエンティティでcreatedByとupdatedByを自動的に設定します
結論は ThreadLocal の方向に進んでいるようです...それでも、どんなフィードバックも歓迎します!
hibernate - リビジョンごとに変更されたプロパティを取得する
Hibernate Envers を使用してエンティティとプロパティを監査しています ( org.hibernate.envers.global_with_modified_flag=true
)。これは機能しているようですが、特定のリビジョンで変更された特定のエンティティのすべてのプロパティを、以前のものと比較して取得したいと考えています。おまけとして、変更セットをあるリビジョンから別のリビジョンに取得できると便利です。これまでのところ、変更されたエンティティのみを取得しています。
Java のすべてのエンティティに対して比較メソッドを作成したくないので、このリビジョンの変更されたプロパティを取得する方法はありますか? の線に沿った何か
あればいいのですが、そのような機能を見つけるには私が愚かすぎるのかもしれません。