AIセキュリティ運用ガイド

Prev Next

概観

Cato AIセキュリティはユーザーの活動をGenAIアプリケーションで記録し、独自のエージェントが呼び出すモデルへの呼び出しを記録します。 ホーム > イベントページでイベントはCato管理アプリケーション(CMA)に表示され、保持、相関、アラートのためにSIEM、データレイク、その他の外部プラットフォームに転送できます。

イベントはメタデータのみを運びます。 モデルとのやり取りで交換されるプロンプトと応答は、イベントに保存されません。 そのコンテンツは、APIキーが必要な権限を持つ発信元がCatoのGraphQL APIからオンデマンドで別に取得します。

AIセキュリティの調査は、したがって、2段階のワークフローです:

  1. イベントをSIEMに転送します。 AIセキュリティイベントがCatoの他のテレメトリと並んで届くように、AIセキュリティイベントのタイプにフィルタリングしてイベントの連携設定を構成します。

  2. APIを使用して、必要な敏感なコンテンツを取得します。 イベントが調査を必要とする場合、そのイベントに関連付けられた識別子でAPIをクエリしてプロンプトとモデル応答を取得します。

注: AIセキュリティのやり取りは、敏感なプロンプトや応答を含めて、APIを使わずにCMAで直接レビューできます。 AI Security for Apps > インタラクションエクスプローラー はあなたのHomegrown Agentsの呼び出しをリストし、 AI Security for Users > セッションエクスプローラー はGenAIアプリケーションを使用したユーザーセッションをリストします。 どちらも、個別の記録にドリルダウンすることを可能にします。 APIは、SIEMで調査を開始する際やプログラムによる取得を目的としています。

Catoイベント

すべてのAIセキュリティイベントは、イベントタイプ AI Security をフラグとして持っています。 イベントのサブタイプは、AIセキュリティのどの部分がイベントを生成したかを識別し、どのフィールドをイベントが持ち、どのAPIクエリがコンテンツを返すかを決定します。 インタラクティブなイベントスキーマエクスプローラーは、Cato Event Schema.で利用可能です。

CMAモジュール

イベントサブタイプ

"説明"

ユーザー向けAIセキュリティ

AIユーザーインタラクション

GenAIアプリケーションとのユーザー活動によって生成されます。

アプリケーション向けAIセキュリティ

アプリケーション実行時保護

Guardポリシーが、Homegrown Agentsの1つを保護している際に、やり取りにアクションを取ると生成されます。

AIユーザーインタラクションフィールド

項目

タイプ

"説明"

アカウントID / アカウント名

ロング / キーワード

Catoアカウントの識別子と表示名。

ad_name / user_id / user_name

キーワード / ロング / キーワード

Catoユーザー、およびそのActive Directory表示名。

vpn_user_email

キーワード

ユーザーのメールアドレス。 調査がメールアドレスから始まった場合にフィルタリングするフィールドです。

application_id / application_name

キーワード

GenAIアプリケーション、例えばmicrosoft_copilot / Microsoft Copilot。

application_type / カテゴリ

キーワード

アプリケーションの分類、例えば、タイプSystemとカテゴリ生成AIツール。

ai_app_risk_level / アプリケーションリスク

キーワード / 整数

アプリケーションのCatoのリスク評価、ラベルおよび数値スコアとして。

is_cloud_app / is_sanctioned_app

ブーリアン

アプリケーションがクラウドにホストされているかどうか、またアカウントで承認されているかどうか。

app_activity_type

キーワード

イベントが表すアクティビティ。 考えられる値: ウェブリクエスト、確認、検知、LLM応答、ファイルトランザクション、エンゲージメント応答。

rule_id / rule_name

キーワード

一致したポリシールール、1つが発火した場所。 app_activity_typeに依存せず、いかなる値にも排他的ではありません。

event_id

キーワード

ユニークイベント識別子。

time / time_str

日付 (エポックミリ秒) / 日付 (ISO-8601)

やり取りが発生した時点、両方の形式で。

session_id / message_id

キーワード

application_idと共に、sessionConversationクエリに渡されます。 message_idは、対応する検知およびLLM応答イベントとプロンプトイベントをペアリングします。

invocation_id

キーワード

message_idとして同じ一連のイベントを別の識別子ネームスペースでペアリングし、どちらのコンテンツクエリでも使用されません。

interaction_intent

キーワード

プロンプトの背後にある分類された意図、例えば情報を得ること。

interaction_topic / interaction_sub_topic

キーワード

分類された件名、例えば、法律/データプライバシー。

url/リファラーURL

キーワード

ページURLおよび参照元ページURL(該当する場合)

file_name

キーワード

転送されたファイルの名前。 アプリケーション活動タイプがファイルトランザクションの場合にのみ存在。

engagement_outcome_action

キーワード

エンゲージメントポリシープロンプトへのユーザーの反応後に行われたアクション。

user_justification

キーワード

エンゲージメントポリシープロンプトへのユーザーの反応

event_count

整数

レコードに表示される発生回数。

cato_app

キーワード

GenAIアプリケーションのCatoアプリケーション識別子、例えば、chatgpt。

注意: すべてのイベントに取得可能なコンテンツがあるとは限らない。 session_idとmessage_idは、app_activity_typeがプロンプト、検出、またはLLMレスポンスであるイベントにのみ表示される。 ウェブリクエストとファイルトランザクションイベントはそれを含まない。

アプリケーションランタイム保護項目

項目

"説明"

event_type/event_sub_type

これらのイベントに対するAlways AIセキュリティ/アプリケーションランタイム保護。 これらの値を使用して、統合またはイベントページでフィルターを適用。

event_id/event_count

ユニークなイベント識別子と、レコードに表示される発生回数。

time/time_str

インタラクションがインターセプトされた時間(ミリ秒のエポックタイムスタンプおよびISO-8601 UTC文字列として)。

account_id/account_name

Catoアカウント識別子および表示名。 account_idはAPIクエリへaccountIdとして渡される値です。

guard_id/guard_name

アプリケーションを保護し、意思決定を行ったガード。

rule_id/rule_name

一致した特定のガードポリシールール。

アクション

強制執行の結果、例えば匿名化、ブロック、またはモニタ。

detectors

このインタラクションに対して発火した検出器、例としてPII検出器。

application_id

ガードが保護している自家製エージェント。

invocation_id

調査のキー。 特定のインタラクションを識別し、プロンプトおよび応答を取得するためのインボケーションクエリに渡される値。

session_id

同一会話セッションに属するインボケーションをグループ化する。

cato_app/is_cloud_app/is_sanctioned_app

イベントに存在しますが、AIアプリケーションセキュリティの調査には関連しません。

用語集。 CMAで「自家製エージェント」と呼ばれるものはイベントでは「アプリケーション」と呼ばれます。 application_idフィールドはガードが保護している自家製エージェントを識別します。

SIEMへのイベント送信

イベント統合はCatoイベントデータを手動でエクスポートしたり、継続的にポーリングすることなく、外部のプラットフォームやストレージ先に自動で転送します。 統合はCMAのリソース > 統合 > 設定済の統合で設定されます。 概略については、イベント統合の開始をご覧ください。

ネイティブ統合が利用できない場合、カスタムHTTPプッシュ統合を使用して選択した宛先へJSON形式でイベントをプッシュ可能です。 カスタムヘッダーは設定可能で、多様なベンダーとの互換性があります。 詳細情報は、カスタムHTTPプッシュ統合によるデータ送信を参照してください。

AIセキュリティイベントのフィルター

どの統合を選択しても、アカウントの全イベントボリュームを転送するのではなく、AIセキュリティイベントに絞ることができます。 これは、イベントフィルターで行われ、フィルターグループとして設定されます。グループ内の条件は「かつ」で結合され、グループ間は「または」で結合されるので、どれかのグループに一致するとイベントが転送されます。 どのイベントフィールドも条件として利用可能です。

  1. イベントフィルターにフィルターグループを追加。 統合構成でイベントフィルターを開き、フィルターグループを追加します。

  2. イベントタイプの条件を設定。 フィールドイベントタイプ、値AIセキュリティ。 これにより、グループはすべてのサブタイプのAIセキュリティイベントにスコープされます。
     

  3. (オプション)サブタイプの条件を設定。 フィールド サブタイプ、値 AIユーザーインタラクションおよびアプリケーションランタイム保護、またはこの統合に必要なものだけが選ばれます。 同じグループに両方の条件があるため、「かつ」で結ばれたので、選択されたサブタイプのAIセキュリティイベントのみ転送されます。

  4. (オプション)2つのサブタイプを別々にルート設定。 両方の値を持つ単一グループは、同じ宛先に両方のサブタイプを送信します。 異なる宛先に配達するためには、2つのイベント統合を設定し、各グループに1つのサブタイプをスコープします。

  5. 必要に応じてさらに絞り込みます。 同じグループに条件を追加してボリュームを削減可能。 たとえば、ガード名フィルターを追加すると、特定のガードに一致するアプリケーション ランタイム保護イベントのみを転送できます。
     

APIを使用して機密コンテンツを取得

AIセキュリティイベントは、インタラクションの内容を意図的に除外しており、プロンプト、モデル応答、またはモデルとのやり取りされた生メッセージ データは含まれていません。 そのコンテンツは要求に応じてCatoのGraphQL APIから取得され、APIキーに必要な権限が付与された呼び出し元にのみ提供されます。 2つのクエリが利用可能で、イベントサブタイプごとに1つ。

APIキーと権限

クエリは、CMAで生成されたCato APIキーで認証されます。 APIキーの作成方法の詳細については、Cato APIのためのAPIキー生成をご覧ください。

インタラクションコンテンツへのアクセスはキーのRBAC権限によって制御されます。

アクセス

権限

AIユーザーインタラクションにおける機密コンテンツ

AIセキュリティ > ユーザー向けAIセキュリティ > 機密コンテンツの読み取り

アプリケーションランタイム保護における機密コンテンツ

AIセキュリティ > アプリ向けAIセキュリティ > 機密コンテンツの読み取り

APIエンドポイントとスキーマ

APIエンドポイントとスキーマのURLは、お使いのCMAインスタンスがホストされているロケーションに特定されています。 値はCMAアカウントおよびAPIエンドポイントとスキーマのURLに付加されることがあります。

リソース

URL形式

APIエンドポイント

https://api.<prefix>.catonetworks.com/api/v1/graphql2

APIスキーマ

https://api.<prefix>.catonetworks.com/api/schema

異なるCMA地域に対するプレフィックス

CMA地域

CMA URL

プレフィックス

APIエンドポイント

アイルランド

cc.catonetworks.com

なし

https://api.catonetworks.com/api/v1/graphql2

米国 - バージニア

cc.us1.catonetworks.com

us1

https://api.us1.catonetworks.com/api/v1/graphql2

インド

cc.in1.catonetworks.com

in1

https://api.in1.catonetworks.com/api/v1/graphql2

日本

cc.jp1.catonetworks.com

jp1

https://api.jp1.catonetworks.com/api/v1/graphql2

あなたのCMAアカウントのURLからプレフィックスを識別し、各リクエストで対応するエンドポイントを使用してください。 詳細については、Cato APIとは何かをご覧ください。

GraphQLプレイグラウンドでのクエリ実行

GraphQL Playgroundは、ブラウザから直接Cato APIに対してクエリを実行するために使用され、即席の調査やスクリプト化前の接続性確認に役立ちます。 手順については、GraphQLプレイグラウンドからCato APIへの接続をご覧ください。

AIユーザーインタラクション

AIユーザーインタラクションイベントの背後にあるユーザープロンプトとモデルレスポンスを取得します。 同じ会話はCMAにあるAIセキュリティユーザー向け>セッションエクスプローラーで利用可能です。

ポリシーで設定された検出器に一致したAIユーザーインタラクションは、app_activity_typeフィールド内で検出を含みます。 これらのイベントは、セキュリティ調査に最も関連があります。

リクエストフィールド

変数

タイプ

ソース

accountId

ID!

このイベントのaccount_id。

sessionId

ID!

このイベントのsession_id。

messageId

ID!

このイベントのmessage_id。 セッション内の個々のプロンプトを識別します。

appId

ID!

このイベントのapplication_id。

userId

ID

このイベントのuser_id。 オプション。

GraphQL

query SessionConversation(
  $accountId: ID!
  $sessionId: ID!
  $messageId: ID!
  $appId: ID!
) {
  aiSecurity(accountId: $accountId) {
    endUsers {
      sessionConversation(
        input: { sessionId: $sessionId, messageId: $messageId, appId: $appId }
      ) {
        userPrompt
        llmResponse
      }
    }
  }
}

変数:

{
  "accountId": "<ACCOUNT_ID>",
  "sessionId": "<session_id from the event>",
  "messageId": "<message_id from the event>",
  "appId": "<application_id from the event>"
}

カール

curl -s -X POST https://api.<prefix>.catonetworks.com/api/v1/graphql2 \
  -H "x-api-key: $CATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query SessionConversation($accountId: ID!, $sessionId: ID!, $messageId: ID!, $appId: ID!) { aiSecurity(accountId: $accountId) { endUsers { sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { userPrompt llmResponse } } } }",
    "variables": {
      "accountId": "",
      "sessionId": "",
      "messageId": "",
      "appId": ""
    }
  }' | jq .

Python

import json, urllib.request 
 
API_KEY = "<API_KEY>" 
 
QUERY = """ 
query SessionConversation($accountId: ID!, $sessionId: ID!, $messageId: ID!, $appId: ID!) { 
  aiSecurity(accountId: $accountId) { 
    endUsers { 
      sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { 
        userPrompt 
        llmResponse 
      } 
    } 
  } 
} 
""" 
payload = json.dumps({"query": QUERY, "variables": { 
    "accountId": "<ACCOUNT_ID>", 
    "sessionId": "<session_id from event>", 
    "messageId": "<message_id from event>", 
    "appId": "<application_id from event>", 
}}).encode("utf-8") 
req = urllib.request.Request( 
    "https://api.<prefix>.catonetworks.com/api/v1/graphql2", 
    data=payload, 
    headers={"x-api-key": API_KEY, "Content-Type": "application/json"}, 
    method="POST", 
) 
with urllib.request.urlopen(req, timeout=30) as resp: 
    print(json.dumps(json.load(resp), indent=2)) 

対応項目

パス

イベントタイプ

説明

userPrompt

文字列

ユーザーがGenAIアプリケーションに送信したテキスト。

llmResponse

文字列

アプリケーションの応答テキスト。

例の対応

{
  "data": {
    "aiSecurity": {
      "endUsers": {
        "sessionConversation": {
          "userPrompt": "",
          "llmResponse": ""
        }
      }
    }
  }
}

アプリケーション ランタイム保護

アプリケーションのランタイム保護イベントに関連する呼び出しメタデータと生のチャットメッセージを取得します。 同じ呼び出しがアプリケーションのセキュリティ > インタラクションエクスプローラー内のCMAにあります。

要求項目

Variable

タイプ

送信元

accountId

ID!

イベントのaccount_id。

iD

ID!

イベントのinvocation_id。 特定のインタラクションを識別します。

GraphQL

query GetInvocation($accountId: ID!, $id: ID!) {
  aiSecurity(accountId: $accountId) {
    apps {
      invocation(input: { id: $id }) {
        id
        sessionId
        timestamp
        tokenCount
        guard {
          id
          name
        }
        action
        data {
          message {
            role
            content {
              text
            }
          }
        }
      }
    }
  }
}

変数:

{
  "accountId": "",
  "id": "<イベントからのinvocation_id>"
}

Curl

curl -s -X POST https://api..catonetworks.com/api/v1/graphql2 \
  -H "x-api-key: ” \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query GetInvocation($accountId: ID!, $id: ID!) { aiSecurity(accountId: $accountId) { apps { invocation(input: {id: $id}) { id sessionId timestamp tokenCount guard { id name } action data { message { role content { text } } } } } } }",
    "variables": {
      "accountId": "",
      "id": "<イベントからのinvocation_id>"
    }
  }' | jq .

Python

import json, urllib.request 
 
API_KEY = "<CATO_API_KEY>" 
 
QUERY = """ 
query GetInvocation($accountId: ID!, $id: ID!) { 
  aiSecurity(accountId: $accountId) { 
    apps { 
      invocation(input: {id: $id}) { 
        id 
        sessionId 
        timestamp 
        tokenCount 
        guard { id name } 
        action 
        data { message { role content { text } } } 
      } 
    } 
  } 
} 
""" 
payload = json.dumps({"query": QUERY, "variables": { 
    "accountId": "<ACCOUNT_ID>", 
    "id": "<invocation_id from the event>", 
}}).encode("utf-8") 
req = urllib.request.Request( 
    "https://api.<prefix>.catonetworks.com/api/v1/graphql2", 
    data=payload, 
    headers={"x-api-key": API_KEY, "Content-Type": "application/json"}, 
    method="POST", 
) 
with urllib.request.urlopen(req, timeout=30) as resp: 
    print(json.dumps(json.load(resp), indent=2)) 

対応項目

パス

イベントタイプ

説明

invocation.id

ID!

グローバルに一意のinvocation ID。

.sessionId

ID

同じ会話セッションからの呼び出しをグループ化します。 追跡されない場合はnull。

.タイムスタンプ

DateTime!

呼び出しがインターセプトされたUTCの時間。

.tokenCount

Int!

呼び出しの合計トークン数(プロンプトと完了)。

.guard.id / .guard.name

ID! / String!

呼び出しを受信したガードです。 呼び出しがガードに関連付けられていない場合、ガードオブジェクトはnullになる可能性があります。

.アクション

Enum!

施行結果を大文字のAPI値として表示します: BLOCK, ANONYMIZE, MONITOR, もしくは NONE。 イベントではこれらの値が異なるキャピタリゼーションで表示されます。例: Anonymize。

.data.message[]

[InvocationMessage!]!

生のチャットメッセージ。 それぞれが役割(USER, ASSISTANT, TOOL_CALL, TOOL_MESSAGE, またはカスタムロール)および内容[](それぞれにテキストフィールドを含む)を持ちます。 これはsensitiveデータであり、「Read Sensitive Content」権限の背後にゲートされています。

例の対応

{
  "data": {
    "aiSecurity": {
      "apps": {
        "invocation": {
          "id": "01a00ada-c424-700b-9898-ed1ea05a82fb",
          "sessionId": "8cf9384d-9a45-4d01-aeff-c3eb31164599",
          "timestamp": "2026-08-16T13:55:04.392Z",
          "tokenCount": 30,
          "guard": {
            "id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
            "name": ""
          },
          "action": "BLOCK",
          "data": {
            "message": [
              {
                "role": "user",
                "content": [
                  {
                    "text": ""
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}

付録: サンプルイベントとAPIコール

サンプルイベントとコンテンツを取得するためのAPIコール、両方のイベントサブタイプに対して。

ユーザー向けAIセキュリティ

サンプルイベント

[
  {
    "account_id": ,
    "account_name": "",
    "ad_name": "",
    "ai_app_risk_level": "中",
    "app_activity_type": "確認",
    "application_id": "microsoft_copilot",
    "application_name": "Microsoft Copilot",
    "application_risk": 5,
    "application_type": "システム",
    "categories": [
      "生成AIツール"
    ],
    "cato_app": "microsoft_copilot",
    "event_count": 1,
    "event_id": "7c41ae90b2d5f318",
    "event_sub_type": "AIユーザーインタラクション",
    "event_type": "AIセキュリティ",
    "interaction_intent": "情報取得",
    "interaction_sub_topic": "データプライバシー",
    "interaction_topic": "法律",
    "invocation_id": "01a01f70-9b12-74ac-8f31-2b6ce0d41aa7",
    "is_cloud_app": true,
    "is_sanctioned_app": true,
    "message_id": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
    "session_id": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
    "time": 1787233820104,
    "time_str": "2026-08-20T13:50:20Z",
    "url": "https://copilot.microsoft.com/chats",
    "user_id": ,
    "user_name": "",
    "vpn_user_email": ""
  },
  {
    "account_id": ,
    "account_name": "",
    "app_activity_type": "検出",
    "application_id": "microsoft_copilot",
    "application_name": "Microsoft Copilot",
    "event_count": 1,
    "event_id": "b0d3572ea9146fc7",
    "event_sub_type": "AIユーザーインタラクション",
    "event_type": "AIセキュリティ",
    "invocation_id": "01a01f70-9b12-74ac-8f31-2b6ce0d41aa7",
    "message_id": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
    "rule_id": "1296751412582697861",
    "rule_name": "",
    "session_id": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
    "time": 1787233820331,
    "time_str": "2026-08-20T13:50:20Z",
    "user_id": ,
    "user_name": "",
    "vpn_user_email": ""
  }
]

APIコール

curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
  -H "x-api-key: " \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query SessionConversation($accountId: ID!, $sessionId: ID!, $messageId: ID!, $appId: ID!) { aiSecurity(accountId: $accountId) { endUsers { sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { userPrompt llmResponse } } } }",
    "variables": {
      "accountId": "",
      "sessionId": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
      "messageId": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
      "appId": "microsoft_copilot"
    }
  }' | jq .

API 応答

{
  "data": {
    "aiSecurity": {
      "endUsers": {
        "sessionConversation": {
          "userPrompt": "",
          "llmResponse": ""
        }
      }
    }
  }
}

アプリ向けAIセキュリティ

サンプルイベント

[
  {
    "account_id": ,
    "account_name": "",
    "action": "ブロック",
    "detectors": [
      "SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
    ],
    "event_count": 1,
    "event_id": "f98820262dfb8aa9",
    "event_sub_type": "アプリケーション ランタイム保護",
    "event_type": "AIセキュリティ",
    "guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
    "guard_name": "",
    "interaction_id": "01a01f71-c3e5-75be-a3cc-d77ec3b9277f",
    "internalId": "f98820262dfb8aa9",
    "internal_id": "f98820262dfb8aa9",
    "invocation_id": "01a01f71-c3e5-75be-a3cc-d77ec3b9277f",
    "is_sanctioned_app": false,
    "rule_id": "1296751412582697861",
    "rule_name": "",
    "session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
    "time": 1787233944579,
    "time_str": "2026-08-20T13:52:24Z"
  },
  {
    "account_id": ,
    "account_name": "",
    "action": "ブロック",
    "detectors": [
      "SIMPLE_DETECTOR_TYPE_SECURITY_CONTROLS_JAILBREAK",
      "SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
    ],
    "event_count": 1,
    "event_id": "31156257bcf2d54c",
    "event_sub_type": "アプリケーション ランタイム保護",
    "event_type": "AIセキュリティ",
    "guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
    "guard_name": "",
    "interaction_id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
    "internalId": "31156257bcf2d54c",
    "internal_id": "31156257bcf2d54c",
    "invocation_id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
    "is_sanctioned_app": false,
    "rule_id": "1296751412582697861",
    "rule_name": "",
    "session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
    "time": 1787233974486,
    "time_str": "2026-08-20T13:52:54Z"
  }
]

APIコール

curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
  -H "x-api-key: " \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query GetInvocation($accountId: ID!, $id: ID!) { aiSecurity(accountId: $accountId) { apps { invocation(input: {id: $id}) { id sessionId timestamp tokenCount guard { id name } action data { message { role content { text } } } } } } }",
    "variables": {
      "accountId": "",
      "id": "01a01f72-38ce-782f-96c5-5ca071ac9792"
    }
  }' | jq .

API 応答

{
  "data": {
    "aiSecurity": {
      "apps": {
        "invocation": {
          "id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
          "sessionId": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
          "timestamp": "2026-08-20T13:52:54.486Z",
          "tokenCount": 38,
          "guard": {
            "id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
            "name": "<guard_name>"
          },
          "action": "ブロック",
          "data": {
            "message": [
              {
                "role": "ユーザー",
                "content": [
                  {
                    "text": "<user_prompt>"
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}