Trusted Services「項目監査履歴」の記事一覧
-
この記事で学べること項目監査履歴は、データの正確性を維持し、第三者に改ざん等がされていないことを証明するための更新ログの記録という本来の目的とは別に万一のデータ漏えい事故において、漏えい時期の絞り込みに寄与し、インシデントレスポンスにおける効率的なログ調査を実現できることが新たに注目されています。本記事ではとあるオフィスにおける架空の情報漏えい事故の対応を見て行くことで、効率的な対応が可能である理由を学べます。とあるオフィスでの一幕とある架空企業A社はDXに関する提案・開発支援・運用支援のサービスを手掛ける企業で、多くの見込み客、顧客、商談、プロジェクト情報、サポート状況など、様々な情報をSalesforceで管理している。A社はとある官庁との取引があり、当該官庁向けのプロジェクト情報もステークホルダー管理(個人情報)をした上でSalesforceに保管していた。ある日、A社の営業が顧客でとある官庁から一通のメールを受信した。メールには、当該官庁のセキュリティ運用を担っているベンダーの調査で、ダークWebで取引される情報のサンプルデータ(犯罪者が取引する情報の信ぴょう性を喧伝するために窃取したデータの一部を公開したもの)に当該官庁向けプロジェクトの情報が確認されたこと、プロジェクト情報には個人情報であるステークホルダー情報を含んでいたこと、データの内容からA社より情報が漏えいしたと思われること、また緊急で調査をしてほしい旨が書かれていた。サンプルデータを確認するとA社とお客様でしか知り得ないプロジェクト情報がA社のSalesforce環境のデータと一言一句違わずに書かれており、また個人情報もA社が管理している内容とほぼ同等な内容であることが確認された。A社はCSIRTを中心としたインシデントレスポンスを即時開始。CSIRTは過去に遡ってSalesforce環境におけるアクセスログの調査を開始した。アクセスログの記録についてアクセスログはイベントモニタリングで提供される機能の一つであるリアルタイムイベントモニタリングで確認することができます。詳細はアクセスログの参照ガイドをご参照ください。再びオフィス(本記事のメイントピック)A社はイベントモニタリングを契約の上、リアルタイムイベントモニタリングを有効化し、また定期的にアクセスログの保管をしていたことから、アクセスログを調査できる目途は立った。しかしアクセスログの量は膨大で、またサンプルデータからは漏えい時期を隠匿するためか、レコードの作成日や更新日等の監査項目は記載されていなかった。そのためデータの漏えいした時期や漏えいに関与したユーザアカウントの絞りこみといった調査には相当な時間を要すると思われた。CSIRTに招集された官庁向けプロジェクトのプロジェクトマネージャが漏えいしたサンプルデータを見ると、いくつか古い状態のデータがあるのに気付いた。このデータが古い状態であった期間が特定できればログの絞り込みは容易になるのではないかと考え履歴の調査を開始した。項目監査履歴の特徴項目監査履歴は項目履歴管理の機能を拡張する製品となります。詳細は項目監査履歴とはをご参照ください。ここでは漏えいが発覚しCSIRTによる調査を開始した日を2020/12/31 として、サンプルデータや本番環境のデータの状態例を見ながら項目履歴管理を設定していない場合、項目監査履歴が無い場合、項目監査履歴がある場合の調査対象ログの絞り込み方を確認していきます。【漏えいしたサンプルデータから確認できた古い情報】【本番環境にある情報】※黄色はサンプルデータからの変更点、また日時データは簡略化のため年月以外は1日午前0時に統一、またデータの変更は、値から変更前後がわかりやすいように常に1が加算されるものとしています。例:99(変更前)→100(漏えい値)→101(変更後)項目履歴管理の設定をしていない場合それぞれのレコードでは作成日、最終更新日の監査情報しかありませんので、ログの調査対象期間は、漏えいしていた4つのレコードの中で一番最近に登録されたレコードの作成日(レコード4の2018/04/01)から、漏えい値から変更のあったレコード(レコード1,2,3)のうち、最も古い最終更新日(レコード2の2019/10/01)までの18ヶ月に絞り込まれます。この期間より古いと、レコード4が存在していませんし、また新しいとレコード2の項目Aの値が漏えいした値と異なることになるため調査対象期間から除外されるからです。青:レコードの値が確定できない時期 薄い緑:レコードの値が確定できる時期項目履歴管理の設定を実施していた場合項目履歴管理の設定をしている場合、項目レベルで変更履歴を確認することができます。A社の場合、項目Aに項目履歴管理の設定をしていた為、以下の履歴を確認することができました。【本番環境から確認できるレコード1の履歴】【本番環境から確認できるレコード2の履歴】このログによるとレコード1及びレコード2の項目Aの値が漏えい値から現在の値に変更された日時の特定ができましたが、24カ月より前の変更履歴が既に確認できないため、前の値から漏えい値に変更された日時の特定はできませんでした。また、A社においては履歴を管理できる項目の数が1オブジェクトあたり20項目という上限に抵触したために優先度の低い項目Bには履歴管理の設定ができていませんでした。青:レコードの値が確定できない時期 薄い緑:レコードの値が確定できる時期 濃い緑:漏えい値であったと確定した期間このログにより、レコード1とレコード2の項目Aが同時に漏えい値であった時期は2019年2月1日より前であることになり、調査期間も10ヶ月分に絞り込むことができました。2019年2月1日以降は、レコード1の項目Aが漏えい値と異なるため除外されるからです。項目監査履歴がある場合項目監査履歴があれば、1オブジェクトあたり項目履歴管理の3倍の60項目まで履歴管理を設定できるため、優先度の低かった項目Bの履歴管理も設定でき、またログの保存期間も無期限であるため、以下の情報が追加で確認することができます。【本番環境から確認できるレコード1の履歴】【本番環境から確認できるレコード2の履歴】【本番環境から確認できるレコード3の履歴】薄い緑:レコードの値が確定できる時期 濃い緑:漏えい値であったと確定した期間このログにより、すべてのレコードが存在し、各レコードの項目の値が漏えい当時の値であったのがいつであったのか、すなわちその期間にデータが抜き出されたことを特定できます。今回のお話では、各レコードの漏えい値がSalesforce内に存在していた期間は、2018年1月の僅か1ヶ月間であったことが判明、その調査対象期間のイベントモニタリングのログを解析することにより、漏えいに関与したユーザアカウントの特定と同時に漏えいしたデータの全貌が短期間で特定することが可能となりました。今回のお話では、外部から入手できたレコードが4件と項目も2つのみというシンプルなストーリーでしたが、実際には、外部から入手されたデータが多いほど、漏えい値の存在期間の被っている時期、つまり漏えいした時期がピンポイントで絞り込み可能となりますので、イベントモニタリングの導入には、ぜひセットで項目監査履歴の導入を検討いただければと思います。学習ツールヘルプ:項目履歴管理ヘルプ:項目監査履歴まとめ項目監査履歴は、更新頻度の多い項目に数多く設定しておくことにより、万一の情報漏えいに対してイベントモニタリングと合わせて効率的にインシデントレスポンスを行うことができます。
-
この記事で学べることデータの変更履歴の長期保存がどうして必要なのかを理解し、標準機能で提供される項目履歴管理との違いを理解します。項目単位に変更履歴を設定する方法を学びます。項目履歴管理(標準機能)との違い項目監査履歴(オプション)は、項目履歴管理(標準機能)の制限を拡張させたものですが、利用できるエディション、オブジェクトあたりの追跡できる項目数、保存期間、および保存場所に以下のような違いがあります。項目履歴管理項目監査履歴利用可能なエディション全てEnterprise、Performance、Unlimited項目数/オブジェクト最大20項目最大60項目保管期間本番組織に18 か月API 経由で最大 24 か月アクセス可本番組織に18ヶ月アーカイブ後は無期限保管場所StandardObjectNameHistory または CustomObjectName__Historyアーカイブ前は項目履歴管理と同じアーカイブ後はFieldHistoryArchive Big Object項目監査履歴を利用するメリットイベントモニタリングは、ページまたはレコードレベルでユーザのアクセス履歴を追跡するためのログを提供しますが、更に項目監査履歴を利用することで、レコード内の項目値がどのように変更されたかという履歴を追跡することができるようになります。以下のような要件を満たす必要があるお客様にメリットをもたらします。データの変更履歴を監査証跡として提示し、更新処理が正確で改ざんなどの不正がないことを証明することが求められるが、以下の点で標準機能ではお客様の要求を満たすことができない場合追跡したい項目がオブジェクトあたり20項目を超えるデータを21ヶ月以上の長期間保管したい個人情報保護法や GDPR に求められる個人情報の正確性に対して厳密に準拠したい場合企業の会計情報に影響を与える情報を Salesforce 内で保存管理をしている場合規制業種のお客様(金融サービス、ヘルスケア、ライフサイエンス、医療機器、研究機関など)が、法令やガイドラインで求められる履歴データの保持要件に適合する場合顧客のレコードの項目値がどのように変更されたかの履歴を、過去に遡って調べる必要がある場合変更履歴を保管する仕組みを予めユーザに周知することで期待される、不正行為(コミッションに関係する金額の改ざんなど)の抑止効果コーポレイトガバナンスを強化したい場合項目監査履歴の特徴項目監査履歴データは、Salesforce 組織のデータストレージ制限には含まれませんので、ログを蓄積することでお客様組織のストレージが消費されてしまう心配はありません(項目履歴管理も同様の仕様です)データの変更履歴は、オプションの契約手続きが完了すると、本番組織に18ヶ月保管した後 Big Object にアーカイブされるよう自動的に仕様が拡張されますので、お客様側での特別な設定作業は不要です一部のオブジェクトに対しては、オブジェクトごとに保持ポリシーを定義できます。本番組織の保存期間は 0 〜 18 ヶ月、アーカイブの保存期間は 0 〜 無期限、の範囲で設定可能ですアーカイブデータには 、データローダーやSOQL または Bulk API によるクエリを実行することでアクセスできます 変更履歴を追跡するために必要な設定・操作項目の変更履歴を追跡するための基本的な設定手順は、項目履歴管理(標準機能)と同じです。レコードの変更履歴を管理する を参照ください。項目監査履歴(オプション)で必要となる設定や操作はに以下のものがあります。Salesforce メタデータ API を使用して、オブジェクト単位で変更履歴の保持ポリシーを更新できます。この設定を行うのは、アーカイブデータの保持ポリシーに設定されているデフォルト値(本番組織に18ヶ月、アーカイブは無期限)を変更する場合のみです。例えば、取引先オブジェクトの変更履歴は、本番組織には6か月間、アーカイブには5年間保持する、といった内容でポリシーを変更することができます。メタデータの具体的な編集例はヘルプ記事を参照くださいアーカイブデータを照会するには、FieldHistoryArchive オブジェクトに対して SOQL クエリを実行します。実行する SOQL 文の例は、SOQL with FieldHistoryArchive(英語)を参照ください データローダーで、FieldHistoryArchive オブジェクトのデータをエクスポートすることもできます一般的な考慮事項本番データのレコードを削除すると、関連する履歴レコードもカスケード削除される仕様は項目履歴管理と同じですが、Big Object にアーカイブされたデータは削除されません。このデータを削除するための手順は、「項目履歴および項目監査履歴データの削除」を参照してください項目監査履歴を有効にしている組織で、後からプラットフォーム暗号化を有効にした場合、アーカイブされたデータは自動的に暗号化されません。ヘルプ記事をご確認いただき、アーカイブされたデータを暗号化するためには弊社サポートにお問い合わせください学習ツールサクセスナビ:レコードの変更履歴を管理するヘルプ :項目監査履歴実装ガイド:Field Audit Trail Implementation Guide(英語)トレイルヘッド:アプリケーションへのセキュリティレイヤの追加まとめ項目監査履歴により、長年にわたり、内部統制が適切に行われていることを確認し、第三者に証明できることによりコーポレートガバナンスの強化が実現できます。項目履歴管理(標準機能)の制限拡張オプションですので、ライセンス購入後に特別セットアップは必要にありませんが、保存期間を調整する場合には設定が必要です。