注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
監査ログは、Foundry で実行されたすべてのアクションを包括的に記録し、セキュリティチームが脅威の検出、インシデントの調査、コンプライアンスの確保、およびプラットフォーム全体での説明責任の維持を行えるようにします。監査ログは、プラットフォーム内でユーザーが実行したすべてのアクションの要点をまとめた記録と考えることができます。ログの詳細さと正確さは、多くの場合トレードオフの関係にあります。詳細すぎるログにはより多くの情報が含まれる可能性がありますが、その内容を理解し、判断することが難しくなります。
Foundry の監査ログには、セキュリティ調査やコンプライアンスレビューで重要となる次の質問に答えるために十分な情報が含まれています。
監査ログには、氏名やメールアドレスなどの個人を特定できる情報(PII)を含むユーザーのコンテキスト情報や、機密性が高い可能性のあるその他の利用データが含まれることがあります。そのため、監査ログの内容は機密情報として扱い、必要なセキュリティ資格を持つ人だけが閲覧する必要があります。
監査ログの保持は、プライバシーに関するベストプラクティスです。説明責任を果たせるワークフローには、誰がアクションを実行し、何を行い、いつ発生したかを追跡できる記録が必要だからです。監査データ自体にも機密性がある可能性があるため、目的に基づく最小権限のアクセスを適用し、監視ワークフローを設計する際はプライバシーと市民的自由の実践を確認してください。
顧客が所有する、セキュリティ監視専用の別システム(「セキュリティ情報およびイベント管理」、すなわち SIEM ソリューション)が利用可能な場合、監査ログ(および関連する詳細情報)は通常、そのシステムで取り込み、分析する必要があります。そのようなシステムが用意されていない場合でも、Foundry 自体には十分な柔軟性があり、通常は SIEM で行う軽量なワークフローの一部を、代わりにプラットフォーム内で直接実行できます。
このドキュメントでは、Foundry の監査ログにアクセスし、取り込み、分析する方法を説明します。
audit.2 から audit.3 に移行する:既存の audit.2 の分析を新しい audit.3 スキーマに移行するためのガイダンス。ほかにも、次のドキュメントを利用できます。
list-log-files および get-log-file-content の監査 API ドキュメント。以下に示す仕組みを通じて、ご自身の監査ログを取り込み、監視することを強く推奨します。新しい監査ログのアーカイブを audit.2 から audit.3 に完全に移行する作業を進めているため、継続性を維持するには、すべての監査ログ分析で、新しく改善された audit.3 スキーマのログを使用する必要があります。Audit.3 のログは、SIEM で使用するために API 経由で利用できるほか、プラットフォーム内で分析するために Foundry にエクスポートすることもできます。追加のガイダンスについては、監査ログの監視に関するドキュメントを確認してください。
Foundry は、多様なセキュリティインフラストラクチャと SIEM の要件に対応するため、監査ログを配信する柔軟な仕組みを提供しています。選択する配信方法は、組織の既存のセキュリティツールと分析ワークフローによって異なります。
Audit.3 ログ(すべての新規実装で推奨):
Audit.3 スキーマのログは、セキュリティ運用において大きな利点があります。
Audit.3 ログは、API を通じて SIEM に取り込んで利用できます。また、必要に応じて監査ログを Foundry データセットにエクスポートして利用することもできます。
Audit.2 ログ(レガシー、過去の分析専用):
過去の audit.2 スキーマのログは、約24時間以内に集約、圧縮され、環境ごとに異なるログアーカイブストレージ(たとえば S3 バケット)に移動されます。これらのログには、次の制約があります。
audit.3 への移行前の期間を分析する場合にのみ使用することが推奨されます。Foundry は、アーカイブストレージから監査ログを Foundry にエクスポートすることで、audit.2 ログを顧客に配信できます。
外部 SIEM は、Palantir の監査 API エンドポイントである list-log-files と get-log-file-content を使用して、ストレージから audit.3 ログを直接取り込めます。これらのエンドポイントを使用するために、監査ログのエクスポート用データセットを作成する必要はありません。この方法には次の利点があるため、専任のセキュリティオペレーションセンターと確立された SIEM プラットフォームを持つ組織に推奨されます。
SIEM への取り込みは、過去の audit.2 ログに対する audit.3 ログの利点です。audit.2 ログには、外部 SIEM が直接取り込める公開 API がありません(audit.2 ログは、まず Foundry データセットにエクスポートし、そこから SIEM にエクスポートする必要があります)。
list-log-files エンドポイントは、トークンベースのページネーションを使用します。nextPageToken フィールドは、新しいログファイルが利用可能でないことを示す、data フィールドが空または省略されている場合でも、レスポンスに必ず含まれます。
新しい監査ログを継続的にポーリングするには、次の手順に従います。
startDate と任意の endDate を指定して、最初のリクエストを送信します。nextPageToken を保存します。nextPageToken を指定して、前回の続きから再開します。前回のリクエスト以降に生成された新しいログファイルが返されます。data フィールドが空の場合、新しいログはまだありませんが、nextPageToken は引き続き有効なため、次のポーリングサイクルのために保存してください。この設計により、SIEM との統合では、ログの取りこぼしや重複受信なく、任意の間隔でポーリングできます。endDate パラメーターを省略すると、エンドポイントは常に利用可能な最新のログを返すため、終了日を定めない継続的なポーリングに適しています。
監査 API エンドポイントにアクセスするには、SIEM のリクエストを認証する必要があります。一般的な推奨順に、次の方法を推奨します。ただし、最適な選択肢は、求めるセキュリティモデルによって異なります。
各 API リクエストに Authorization: Bearer <access_token> を含めてください。
Control Panel で、ログを取得する組織の組織権限を開きます。使用するトークンのユーザーに、組織の監査ログを含むデータセットを作成ワークフローを含む既存のロールまたはカスタムロールを割り当てるよう、管理者に依頼してください。サービスアカウントを使用している場合、このロールが必要なユーザーは、アプリケーションによって生成されたサービスユーザーです。
Developer Console アプリケーション(以下で説明)では、監査ログの読み取りアクセスの設定と api:audit-read OAuth スコープの要求に加えて、このロールの割り当てが必要です。これらの設定によって組織権限が付与されるわけではありません。この要件は、組織が1個のみのエンロールメントにも適用されます。
詳細については、権限のドキュメントを参照してください。
Developer Console を使用したサードパーティアプリケーション(推奨):
最も安全で保守しやすい方法は、Developer Console アプリケーションで、適切な監査ログの権限を持つサードパーティアプリケーションを作成することです。Developer Console では、オントロジー SDK と OAuth を使用して公開 API と通信するアプリケーションを作成および管理できます。
この方法には、次の利点があります。
セットアップ手順については、Developer Console のドキュメントとサードパーティアプリケーションのドキュメントを参照してください。
アプリケーションのクライアントIDとクライアントシークレットをクライアント資格情報グラントで使用して、api:audit-read スコープを持つアクセストークンを要求します。
OAuth2 クライアント資格情報:
Developer Console アプリケーションを使用できない場合、OAuth2 クライアント資格情報は、SIEM への自動取り込みに適した安全なプログラムによる認証方法です。
ユーザートークン(非推奨):
管理者ユーザーのトークンには次の制約があるため、本番環境の SIEM との統合では使用を避けてください。
audit.2 と audit.3 のログはどちらも、Control Panel の監査ログツールを使用して、組織ごとに Foundry データセットへ直接エクスポートできます。この方法は、現在 SIEM ツールを導入していないものの、監査ログを分析する必要がある組織に適しています。
監査ログデータが Foundry データセットに取り込まれると、Foundry で直接分析できます。Pipeline Builder はプロトタイプの作成や基本的な簡易分析に使用でき、Code Repositories は膨大なデータ規模に対応する長期的な分析に使用できます。監査ログデータセットは、事前に絞り込まないと Contour で効果的に分析できないほど大きい場合があります。Data Connection を使用して、Foundry から外部の SIEM にエクスポートすることもできます(監査ログ分析の最終的な宛先が SIEM の場合、audit.3 ログは公開 API を通じて直接取得する必要があります)。
監査ログをエクスポートするには、対象組織に対する audit-export:orchestrate-v3 操作権限(audit.3 用)が必要です。この権限は、Control Panel の組織権限タブで設定できる組織管理者ロールで付与できます。詳細については、組織の権限に関するドキュメントを参照してください。
Foundry データセットへの監査ログのエクスポートを設定するには、次の手順に従います。

audit.3 スキーマへのアップグレード前の過去の監査ログを分析する必要がある場合は audit.2 を選択します。audit.2 から audit.3 に移行する際は、重要な制限事項を確認してください。エクスポートデータセットの更新:
audit.2 データセットのビルドで、最初の数時間(またはそれ以上)に空の APPEND トランザクションが生成される場合があります。これは、パイプラインが蓄積された監査ログをすべて処理する間に生じる、想定どおりの動作です。audit.3 データセットの新しいエクスポートでは、この遅延は発生しません。audit.3 データセットでは最大100 GiB(かつ10,000ファイル)、audit.2 データセットでは最大10 GiB です。このような大規模な追加が必要になるのは、通常、監査ログデータセットを初めて作成するときだけです。Audit.3 エクスポートデータセットでは、スキーマ内の date 列を Hive パーティション列として使用します。つまり、date 列は通常のデータ列ではなくパーティションキーとして機能するため、クエリ時のデータの表示に影響します。たとえば、date の値は日時型ではなく日付型として書式設定されます。Hive パーティション分割の主要な利点は、アドホック分析で、タイムスタンプではなく date で最初に絞り込むと、Spark や通常のビルドでの参照が大幅に高速化されることです。エクスポートデータセットの無効化:
Control Panel の監査ログアプリケーションから、監査ログのエクスポートデータセットを無効化できます。
Palantir 製品が生成するログはすべて構造化ログです。つまり、特定のスキーマに従っており、下流システムはそのスキーマを前提として自動分析やアラートを行えます。
Palantir の監査ログは現在、従来の audit.2 スキーマと、改良された新しいスキーマである audit.3 の両方で配信されています。新しいイベントの Audit.2 ログは、まもなくエクスポートできなくなり、このスキーマで利用可能なのは過去のログのみになります。すべての新しいイベントは、audit.3 スキーマでのみエクスポートできるようになります。
audit.2 と audit.3 のどちらのスキーマでも、監査ログはログを生成する製品によって異なります。これは、各製品が異なる領域について推論を行い、そのため記述する必要がある事柄も異なるためです。この違いは、以下で説明するように、audit.2 でより顕著です。
製品固有の情報は、主に audit.3 ログの requestFields と resultFields(または audit.2 ログの request_params と result_params)に記録されます。これらのフィールドの内容は、ログを記録する製品と記録されるイベントの両方に応じて形式が変わります。
Palantir のログでは、製品固有の知識が少なくてもログを理解しやすくするために、監査ログのカテゴリーという概念を使用しています。カテゴリーを使用すると、セキュリティアナリストはサービス固有の何百ものイベント名を追跡する必要がなくなり、どの製品や機能がログを生成したかにかかわらず、データの読み込み、権限の変更、認証の試行といった高レベルのアクションに注目できます。この抽象化により、アナリストは実装の詳細を理解しなくても、すべての Foundry サービスで機能する監視クエリを作成できます。たとえば、dataExport で絞り込むと、データのエクスポートに使用された製品にかかわらず、すべてのデータエクスポートイベントを取得できます。
監査ログのカテゴリーでは、監査ログを監査可能なイベントの和集合として記述します。監査ログのカテゴリーは、核となる概念に基づいており、次のように、それらの概念に対するアクションを記述するカテゴリーに分類されています。
| カテゴリー | 説明 | ユースケースの例 |
|---|---|---|
authenticationCheck | トークンの検証など、プログラムによる認証イベントまたは手動の認証イベントを通じて認証ステータスを確認します。 | クレデンシャルスタッフィングを示唆するトークン検証パターンを検出します。 |
dataCreate | プラットフォーム内にそれまで存在しなかった新しいデータエントリーの追加を示します。このイベントがデータの受け入れ先サービスで記録される場合、別のサービスでは dataPromote として反映されることがあります。 | データ作成パターンを追跡し、ガバナンスポリシーを適用します。 |
dataDelete | 削除の粒度にかかわらず、データの削除に関連します。 | 重要なリソースや保護されたリソースの削除についてアラートを出します。 |
dataExport | プラットフォームからのデータのエクスポートです。Palantir の外部システムへのダウンロードや CSV ファイルのダウンロードなど、プラットフォームからデータをダウンロードする場合に使用します。別の Palantir システムにデータをエクスポートした場合は、dataPromote category. を使用します。 | 大量のエクスポート、機密データのエクスポート、または営業時間外のエクスポートについてアラートを出します。 |
dataImport | プラットフォームへのインポートです。dataPromote とは異なり、dataImport はプラットフォーム外部から取り込まれるデータのみを指します。そのため、あるサービスでの dataImport が、別のサービスでは dataPromote として表示されることがあります。 | 悪意のあるファイルのアップロードやポリシー違反を監視します。 |
dataLoad | ユーザーに返すデータの読み込みを指します。純粋にバックエンドで行われる読み込みには、internal を使用します。 | 通常のアクセスパターンのベースラインを確立し、異常な大量データへのアクセスを検出します。 |
tokenGeneration | 新しいトークンの生成につながるアクションです。 | 大量データへのアクセスの準備を示す可能性がある、通常とは異なるトークン作成を検出します。 |
userLogin | ユーザーのログインイベントです。 | ログイン試行の失敗、通常とは異なるログイン時刻、または地理的な異常を監視します。 |
userLogout | ユーザーのログアウトイベントです。 | セッションの継続時間を追跡し、異常に長いセッションを特定します。 |
監査ログのカテゴリーにもバージョンの変更があり、audit.2 ログでの制約の緩い形式から、audit.3 ログでのより厳密で豊富な形式へと変わりました。audit.3 では、各ログにカテゴリーを1つ以上指定する必要があり、各カテゴリーで、どのリクエストフィールドと結果フィールドが存在するかが厳密に定義されているため、自動分析の信頼性が大幅に向上しています。
利用可能なカテゴリーとフィールド仕様の詳細な一覧については、監査ログのカテゴリーのドキュメントを参照してください。また、カテゴリーの使用に関する追加のガイダンスについては、セキュリティ監査ログの監視のドキュメントを参照してください。
監査ログは、環境ごとに1つのログアーカイブに書き込まれます。監査ログが配信パイプラインで処理される際に、ユーザーIDのフィールド(以下のスキーマの uid と otherUids)が抽出され、ユーザーが対応する組織にマッピングされます。
特定の組織向けに実行される監査エクスポートは、その組織に帰属する監査ログに限定されます。サービスユーザー(人間ではないユーザー)のみによって実行されたアクションは、通常、どの組織にも帰属しません。これらのユーザーは組織のメンバーではないためです。例外として、クライアント資格情報グラントを使用し、登録した組織のみが使用するサードパーティアプリケーションのサービスユーザーは、その組織に帰属する監査ログを生成します。
新しいログのエクスポートや分析では、audit.2 ログではなく audit.3 ログを使用してください。
Audit.3 ログは、audit.2 ログと比べて多くの利点を持つ新しいログスキーマに基づいています。新しいスキーマと関連する配信パイプラインが監査ログの利用者にもたらす主な利点は、次のとおりです。
dataExport)に役立ちます。product などの新しいフィールドにより、製品名による絞り込みが容易になります。1つの製品の使用状況に分析対象を絞るために、イベント名をマッピングする複雑なフィルターを用意する必要はありません。Audit.3 ログは、次の保証を念頭に置いて生成されます。
dataLoad は読み込まれるリソースを正確に記述します。audit.3 スキーマのトップレベルに昇格されます。たとえば、名前付きリソースはすべて、リクエストおよび結果のフィールド内だけでなく、トップレベルにも存在します。これらの保証により、どのログについても、(1)そのログを作成した監査対象イベント、および(2)含まれるフィールドを正確に把握できます。これらの保証は製品に依存しないため、セキュリティアナリストは、すべての Foundry サービスで機能する監視クエリを作成できます。
audit.3 ログスキーマを以下に示します。
| フィールド | データ型 | 説明 |
|---|---|---|
categories | set<string> | この監査イベントによって生成されたすべての監査カテゴリー。 |
entities | list<any> | このログのリクエストおよび結果のフィールドに存在するすべてのエンティティ(たとえば、リソース)。 |
environment | optional<string> | このログを生成した環境。 |
eventId | uuid | 監査対象イベントの一意の識別子。同じイベントに属するログ行をグループ化するために使用できます。たとえば、利用者にストリーミングされる大きなバイナリレスポンスの開始時と終了時に出力されるログ行には、同じ eventId が記録されます。 |
host | string | このログを生成したホスト。 |
logEntryId | uuid | この監査ログ行の一意の識別子。システム内のほかのログ行で繰り返し使用されることはありません。Foundry への取り込み中に一部のログ行が重複する場合があり、同じ logEntryId を持つ行が複数存在する可能性があります。同じ logEntryId を持つ行は重複であり、無視できます。 |
name | string | 監査イベントの名前。通常は、すべて大文字のスネークケースで (product name)_(endpoint name) の構造に従います。例:DATA_PROXY_SERVICE_GENERATED_GET_DATASET_AS_CSV2。 |
orgId | optional<string> | 利用可能な場合、uid が属する組織。 |
origin | optional<string> | 発信元マシンの識別子(ベストエフォート)。たとえば、IP アドレス、Kubernetes ノード識別子などです。この値は偽装される可能性があります。 |
origins | list<string> | リクエストヘッダーによって判定される、ネットワークリクエストの発信元。この値は偽装される可能性があります。 ユーザーが開始したリクエストの監査ログを特定するには、 origins が空でない監査ログに絞り込みます。origins が空の監査ログは、ユーザーが開始したリクエストを処理する際に Palantir バックエンドが行った、サービスが開始したリクエストに対応します。origins が空でない監査ログの categories に apiGatewayRequest が含まれる場合、関連するリクエストは API ゲートウェイによって処理されています。ユーザーが開始したリクエストを処理するために API ゲートウェイが行ったリクエストの監査ログを見つけるには、同じ traceId を持ち、userAgent がこの監査ログの service で始まるログに絞り込みます。 |
product | string | このログを生成した製品。 |
producerType | AuditProducer | この監査ログが生成された方法。たとえば、バックエンド (SERVER) またはフロントエンド (CLIENT) から生成されます。 |
productVersion | string | このログを生成した製品のバージョン。 |
requestFields | map<string, any> | メソッド呼び出し時点で判明しているパラメーター。 リクエストおよび結果のフィールド内のエントリーは、上記で定義された categories フィールドによって異なります。 |
result | AuditResult | リクエストが成功したか、または失敗の種類を示します。たとえば、ERROR または UNAUTHORIZED です。 |
resultFields | map<string, any> | メソッド内で導出された情報。通常は戻り値の一部です。 |
sequenceId | optional<integer> | 同じ eventId を共有するイベントの順序を示すフィールド(ベストエフォート)。 |
service | optional<string> | このログを生成したサービス。 |
sid | optional<SessionId> | 利用可能な場合、セッションID。 |
sourceOrigin | optional<string> | TCP スタックによって判定される、ネットワークリクエストの発信元。 |
stack | optional<string> | このログが生成されたスタック。 |
time | datetime | RFC3339Nano 形式の UTC 日時文字列。たとえば、2025-11-13T23:20:24.180Z です。 |
tokenId | optional<TokenId> | 利用可能な場合、API トークンID。 |
traceId | optional<TraceId> | 利用可能な場合、Zipkin トレースID。 |
uid | optional<UserId> | 利用可能な場合、ユーザーID。これは最も下流の呼び出し元です。 |
userAgent | optional<string> | このログの発生元となったユーザーのユーザーエージェント。 |
users | set<ContextualizedUser> | この監査ログに存在するすべてのユーザー。ContextualizedUser: フィールド:
|
現在の audit.3 パイプラインでは、uid フィールドのみが設定されます。userName、firstName、lastName、および realm フィールドは設定されず、groups は常に空です。これらのフィールドを設定するには、IDプロバイダーに対するリアルタイムの参照が必要ですが、これは audit.3 パイプラインの低遅延設計と両立しません。監査ログにユーザープロフィール情報を追加するには、Foundry パイプライン内でユーザーディレクトリデータを下流で参照します。
特定のアプリケーションを分析する際には、通常、監査ログの絞り込みに不変の product スキーマフィールドを使用することを推奨します。service フィールドは、同じ製品の異なるインスタンスを区別して絞り込めるため、利用者にとって役立つ場合があります。特定のインシデントをより詳細に理解するうえでも役立つ可能性があります。
audit.2 ログは、新しい audit.3 ログの記録開始前の期間を分析する場合にのみ使用してください。audit.2 スキーマで新しいイベントをログとしてアーカイブする機能は、まもなく非推奨になるため、audit.2 から audit.3 に移行する際は、重要な制限事項を参照してください。Audit.2 ログでは、リクエストパラメーターや結果パラメーターの形式について、製品間での保証はありません。そのため、監査ログについての推論は、通常、製品ごとに行う必要があります。
Audit.2 ログには、検索の絞り込みに役立つ監査カテゴリーが含まれる場合があります。ただし、このカテゴリーには追加情報は含まれず、監査ログのほかの内容を規定するものでもありません。また、audit.2 ログに監査カテゴリーが含まれることは保証されません。カテゴリーが含まれる場合は、request_params 内の _category または _categories フィールドに格納されます。
audit.2 ログのエクスポートデータセットのスキーマを以下に示します。
| フィールド | データ型 | 説明 |
|---|---|---|
filename | .log.gz | ログアーカイブ内の圧縮ファイルの名前。 |
ip | string | ベストエフォートで特定された送信元 IP アドレス。 |
name | string | PUT_FILE などの監査イベントの名前。 |
request_params | map<string, any> | メソッドの呼び出し時点で判明しているパラメーター。 |
result | AuditResult | イベントの結果(成功、失敗など)。 |
result_params | map<string, any> | メソッド内で得られた情報。通常は戻り値の一部。 |
sid | optional<SessionId> | セッションID(利用可能な場合)。 |
time | datetime | RFC3339Nano 形式の UTC 日時文字列。例:2025-11-13T23:20:24.180Z。 |
token_id | optional<TokenId> | API トークンID(利用可能な場合)。 |
trace_id | optional<TraceId> | Zipkin トレースID(利用可能な場合)。 |
type | string | 監査スキーマのバージョンを指定:"audit.2" |
uid | optional<UserId> | ユーザーID(利用可能な場合)。最下流の呼び出し元を示します。 |
現在、セキュリティ監視やコンプライアンスのために audit.2 ログを使用している組織は、分析を audit.3 スキーマに移行する必要があります。このセクションでは、監査ログのワークフローを移行し、audit.3 の改善点を活用するためのガイダンスを提供します。
audit.3 スキーマは、audit.2 からの単なるバージョン更新ではなく、アーキテクチャの根本的な変更です。移行に影響する主な違いについて、以下のセクションで説明します。
audit.2 の request_params と result_params は、audit.3 では requestFields と resultFields という名前になっています。requestFields と resultFields の内容は、通常、audit.2 の対応するフィールド(request_params と result_params)とは完全に異なります。audit.2 の request_params にあった情報が、audit.3 では resultFields に含まれている場合があり、その逆もあります。audit.3 で特定の情報を探すときは、必ず requestFields と resultFields の両方を確認してください。type フィールドは、ログを生成したスキーマが "audit.2" と "audit.3" のどちらであるかを示します。name フィールド内)はスキーマ間で異なる場合があり、パース処理が特定のイベント名に依存している場合、不一致が発生する可能性があります。DATA_PROXY_SERVICE_GENERATED_GET_DATASET_AS_CSV2。audit.2 イベント名から audit.3 イベント名への直接的な1対1の対応付けがあるわけではありませんが、ほとんどの audit.2 ログイベント名は audit.3 に容易に対応付けることができます。audit.2 でのカテゴリーの使用は任意です)。audit.3 には最上位の categories フィールドがあり、標準化された値の使用が強制されます。audit.3 では、product、service、entities、users などの新しいフィールドを利用でき、絞り込みが容易になります。audit.3 では users フィールドを利用でき、ログエントリーに関連するすべてのユーザーのユーザーIDが含まれます。追加のユーザープロフィールフィールド(userName、firstName、lastName、groups、realm)はスキーマで定義されていますが、現在は値が設定されていません。必要に応じて、下流でこれらの情報を補完してください。Audit.3 は、有効化された後に発生したイベントのみを記録します。過去のイベントは、引き続き audit.2 ログスキーマにのみ存在します。一般提供の準備として2025年11月24日から25日にかけて実施されたインフラストラクチャの更新により、一部のエンロールメントでは、audit.3 ログを利用できない期間が約3時間発生した可能性があります。この期間の分析ニーズを満たすための代替手段として audit.2 ログを使用し、2025年12月4日より後の分析については audit.3 に完全に移行することを推奨します。
audit.2 ログに基づく既存の分析がある場合、移行方法は、現在どこで分析を実行しているかによって異なります。分析方法に該当する以下のセクションの手順に沿って進めてください。
Foundry のエクスポートデータセットを引き続き使用するのではなく、API から直接取り込む方法に移行することを強く推奨します。この方法には、次の利点があります。
audit.2 では24時間以上かかるのに対し、約15分以下になります。移行手順:
list-log-files および get-log-file-content 監査 API エンドポイントから取り込むように SIEM を設定します。audit.3 スキーマ構造に対応するようにパースルールを更新します(以下のセクションを参照)。audit.2 の取り込みと並列で実行します。audit.2 の Foundry エクスポートと SIEM への取り込みを非推奨にします。audit.3 エクスポートデータセットを作成します。audit.2 エクスポートデータセットの稼働を維持します。audit.2 データの下流での利用状況を表示し、どの分析が非推奨になり、どの分析を移行する必要があるかを把握します。イベント名ごとに分析を移行するのではなく、個々の製品のイベント名の代わりに、標準化された監査カテゴリーを使用するように分析をリファクタリングします。
従来の方法(audit.2):
Copied!1 2 3 4# 変更に弱い:変更される可能性がある特定のイベント名に依存します export_events = audit_logs.filter( col("name").isin(["EXPORT_DATASET", "DOWNLOAD_FILE", "CREATE_EXTERNAL_CONNECTION"]) )
新しい方法(audit.3):
Copied!1 2 3 4# 変更に強い: 標準化されたカテゴリーを使用します export_events = audit_logs.filter( col("categories").contains("dataExport") )
このカテゴリーに基づく方法には、次の利点があります。
dataExport カテゴリーを使用します。同時ログ記録期間中に、次の作業を行います。
audit.2 と audit.3 の両方のデータソースで分析を並列で実行します。audit.3 の分析で期待されるイベントが記録されていることを確認します。audit.3 データに対してアラートが正しく発動することを検証します。audit.3 の分析が同等以上の範囲を網羅していることを検証したら、次の作業を行います。
audit.3 API またはデータセットを使用するように切り替えます。audit.2 エクスポートデータセットを無効にします。手順については、エクスポートデータセットの無効化を参照してください。audit.2 の取り込みを削除します。audit.2 ログの生成を停止した後も、過去の audit.2 ログには引き続きアクセスできます。過去にさかのぼる分析や調査では、audit.2(過去)と audit.3(現在)の両方のログを個別にクエリする必要があります。詳細については、重要な制限事項を参照してください。audit.2 の一部のイベント名には、audit.3 に直接対応するものがない場合があります。これは通常、次の場合に発生します。
audit.3 に移行されなかった場合。解決策
audit.2 ログで、そのイベントが引き続き発行されていることを確認します。audit.2 ログの traceId フィールドを使用して、audit.3 データセット内で関連する可能性のある監査ログを探します。requestFields と resultFields の構造は複雑で製品固有の場合があり、audit.2 と audit.3 で異なります。
解決策
audit.2 の request_params または result_params を展開しており、その粒度の詳細が分析に重要な場合は、audit.3 の新しいフィールド構造に合わせてこのロジックをリファクタリングする必要があります。audit.2 と比べて情報がリクエストフィールドと結果フィールドの間で移動している可能性があるため、audit.3 では必ず requestFields と resultFields の両方を確認してください。entities、users、categories など)を優先して使用します。過去の audit.2 データと現在の audit.3 データの両方にまたがる期間を分析する必要があります。詳細については、重要な制限事項を参照してください。
解決策
audit.2 ログを参照します。audit.2 データセットと audit.3 データセットの和集合を取る統合ビューを作成します。type フィールドを使用してスキーマ固有のパースロジックを適用します(たとえば、audit.3 では絞り込みにカテゴリーを使用し、audit.2 では name/result_params を使用します)。list-log-files および get-log-file-content の監査 API ドキュメントを参照してください。