コンテンツにスキップ

コネクタカタログとカバレッジ階層

このページはファーストパーティコネクタのカタログであり、それぞれについて、サポート可能な 正直なカバレッジ階層を示す。これはコネクタのモデル(observe-only、minimal-data、3 種類の 観測種別)を説明する ソースを接続する の姉妹編なので、まずそちらを 読んでほしい。本ページはその次の問い、つまりどのソースが存在し、それぞれのシグナルはどれほど良質 なのかに答える。

カバレッジは、私たちがそうあってほしいと願う度合いではなく、常にシステムの監査面が正直に何を 教えてくれるかによって階層化される。本ドキュメント全体で用いる階層は次のとおり。

  • Cooperative(協調的) — 自分が何をしたかを報告するエージェントまたはプラットフォーム (OpenTelemetry、ベンダーの admin API)。存在すれば最高の忠実度を持つが、ソースが協調する ことに依存する。
  • Clean(クリーン) — 読み取りと書き込みをネイティブに分類し、それ自身の監査証跡から逐語的に 取得するストア(SQL 監査、オブジェクトストア/ウェアハウスのデータアクセスログ)。
  • Lossy(劣化あり) — 監査が読み取りと書き込み、あるいは呼び出し元同士を明確に分離できないストア (ドキュメントストア、リネージ)。エッジは得られるが、しばしば approximate になる。
  • Impossible passively(受動的には不可能) — 利用可能な受動的監査面を持たないシステム (インメモリキャッシュ、組み込み型の単一ファイルデータベース)。正直な read-first シグナルは存在せず、 本製品はそうであるかのように振る舞わない。
  • Approximate-by-attribution(帰属による近似) — アクセスは実在するが、その帰属が解決済みの エージェントではなくロール、プロセス、または共有クレデンシャルに対してなされるため、エッジは approximate になる。
  • Untrusted hint(信頼できないヒント) — 宣言された能力(MCP のツールアノテーション)。 裏付けは取るが、それ単独では決して信頼しない。

Cooperative — Claude とベンダーテレメトリ

Section titled “Cooperative — Claude とベンダーテレメトリ”

存在すれば最高忠実度のソース。Claude Code ランタイムソースは組み込みプラグインとして プロセス外で動作する(素の開発ビルドではこれが省かれ、ブートは健全に見せかけるのではなく 正直に警告する)。

Kind観測対象備考
claudeClaude Code OTLP ツールテレメトリ + MCP イントロスペクション → エッジ / コスト / findingsプロセス外プラグイン。エージェント単位のアイデンティティが存在すれば attributed、なければ approximate
claude-apiClaude Admin-API のコストサンプル + ガバナンス姿勢の findingsプロセス内。オフライン時(admin key なし)は no-op
claude-complianceClaude Compliance アクティビティフィードの証跡 → findings構造上 GET のみ。オフライン時は no-op
claude-config静的な Claude 設定ツリー(subagents / Skills / plugins)→ 宣言された能力のエッジメタデータのみ —— 能力面であって、観測されたアクセスではない
claude-consoleClaude org IAM → SSO/SCIM 姿勢の findings(アイデンティティ名簿 + ソース)
claude-wifAnthropic の非人間アイデンティティ/ワークロードアイデンティティ名簿 + 許可スコープのエッジオペレーターが宣言したフェデレーションをモデル化し、静的キーの落とし穴を警告する
claude-managed-agentsClaude managed agents のインベントリ + thread events(webhook receiver + GET pollers)ストリーミングソース(poll_seconds: 0)。オフラインでは no-op
claude-projectsClaude Organization Projects のインベントリ(メンバーシップ / API キー)+ オペレーター宣言のプロジェクトポリシー読み取り専用 Admin API。オフラインでは no-op
claude-apps-gatewayClaude apps gateway の姿勢、宣言された model grants、audit event ingest → トポロジ + findings既存の gateway.yaml と任意の JSONL audit export を読む
claude-batchAnthropic Message Batches + Files API のインベントリ、batch policy enforcement、upload retention expirypayload も file content も決して読まない。admin key がない場合は正直な offline finding
claude-routinesClaude Code Routines(スケジュール済みトリガー)のインベントリ → edges + cadence/review findingsGET のみ。prompt content は hash 化だけされる。ストリーミング(poll_seconds: 0
coworkClaude Cowork OTLP/HTTP logs receiver → activity evidenceプロセス外プラグイン(OTel-proto 依存を分離)
cowork-analyticsClaude Cowork エンゲージメント分析プロセス内(modelprovider client のみ)
codexOpenAI Codex のコストサンプル、usage/auth/admin-audit 証跡、adoption findings読み取り専用 Admin API。営業経由で制限される面は posture finding に劣化する
cursorCursor Admin API の請求コスト、team audit logs、member inventory、budget postureプラン制限の 403/404 は finding に劣化し、決して失敗しない

ベンダー中立な GenAI フレームワークプロファイル(gen_ai.*)— オプトイン

Section titled “ベンダー中立な GenAI フレームワークプロファイル(gen_ai.*)— オプトイン”

カタログが約束するエージェントフレームワーク —— LangGraph / LangChain、CrewAI、 AutoGen / Microsoft Agent Framework、Google ADK(さらに OpenAI SDK、LlamaIndex、 Pydantic-AI、Strands、…)—— は Claude の claude_code.* スキーマを出力しない。それらは OpenTelemetry の GenAI セマンティック規約gen_ai.*)に収束する。同じ claude ソースがこのプロファイルも取り込むため、OTel で計装された フリートはフレームワークごとの専用コネクタではなく単一の取り込みを通じて access mapFinOps に供給される —— 最もレバレッジの高い統合である。

このプロファイルはオプトインであり、正直に experimental と表示される。 gen_ai 領域全体は OpenTelemetry の Development ステータス(Stable ではない、2026 年 6 月時点)であるため、 仕様自身のゲートをミラーしたときにのみ有効化される。コネクタの semconv_opt_in を、トークン gen_ai_latest_experimental を含むカンマ区切りリストに設定する(OTEL_SEMCONV_STABILITY_OPT_IN をミラーする)。デフォルトでは無効であり、gen_ai.* シグナルは沈黙ウォッチドッグには供給されるが エッジ/コストはマップしない —— 規約が持たない安定性を私たちが主張することは決してない。

規約が変動の途上にあるため、取り込みはデュアルネーム(現在のキー、いまだ実地で出力され続けて いる非推奨の前身の両方を読む)かつマルチシグナル(トレーススパンgen_ai.client.inference.operation.details ログイベントをマップし、クライアントメトリクスを 認識する)である。

読み取る対象現在のキー受け入れ済み(非推奨、依然として出力するもの)
Providergen_ai.provider.namegen_ai.system(v1.36.0 以前のデフォルト。Google ADK、例: gcp.gemini
入力トークンgen_ai.usage.input_tokensgen_ai.usage.prompt_tokensOpenLLMetry/Traceloop → LangChain/LangGraph/CrewAI)
出力トークンgen_ai.usage.output_tokensgen_ai.usage.completion_tokens(同上)
gen_ai 属性マップ先確信度
gen_ai.usage.*(トークン)CostSample(provenance は estimated —— 請求コストではなくトークン)
gen_ai.provider.name / request.model / response.modelコストの provider + model(response を優先)
gen_ai.operation.name = execute_tool + gen_ai.tool.nameagent→tool のアクセスエッジ(mode unknownattributed
gen_ai.conversation.id + gen_ai.agent.{name,id}conversation→agent の帰属エッジ + セッション参照attributed

サポートする方言マトリクス(複数世代の正規化器)

Section titled “サポートする方言マトリクス(複数世代の正規化器)”

GenAI 規約は、実際の 2026 年のフリートで共存する 3 つの世代にわたって変化した。取り込みは 世代固有のマーカーからシグナルごとに世代を検出し、正規化したイベントに対応する semconv ピンを 刻印する(genai.semconv 姿勢 finding が実行ごとに有効なセットを記録し、実行ごとに 1 件の info drift finding が見つかった各非推奨方言にフラグを立てるため、どのフリートが計装のアップグレードを 必要としているか分かる)。メッセージの内容はどの世代からも決して読まれない —— 内容キーは方言 マーカーとしてのみ機能する(minimal-data の姿勢)。

検出された方言刻印されるピン排他マーカー(検証済み)出力するもの(2026 年 6 月検証済み)
レガシー OpenLLMetry/Traceloop(semconv 以前)openllmetryインデックス化された gen_ai.prompt.{i}.* / gen_ai.completion.{i}.*gen_ai.usage.prompt_tokens/completion_tokensllm.usage.total_tokensllm.request.typellm.vendortraceloop.span.kindopenllmetry v0.55.0 未満(2026-03-29 リリース)にピン留めされた Traceloop 計装の LangChain / LangGraph / CrewAI。大文字始まりの provider(OpenAILangchain)は小文字化され、FinOps が大文字小文字で分割しないようにする
v1.36 以前のイベント(仕様自身の名前)1.36.0gen_ai.system、メッセージごとの 5 つのログイベント gen_ai.{system,user,assistant,tool}.messagegen_ai.choice名前で認識される —— 唯一の属性はオプション)Google ADK の LLM スパン(gcp.vertex.agent)、AutoGen(autogen)、Microsoft Agent Framework —— いずれも依然として gen_ai.system を出力する
v1.37 以降のメッセージ(現在)1.41.1gen_ai.provider.namegen_ai.input.messages / gen_ai.output.messages / gen_ai.system_instructionsgen_ai.client.inference.operation.details イベント、gen_ai.workflow.nameOTel 公式計装、openllmetry v0.55.0 以降

世代をまたいで名前が同一のキーのみを持つシグナル(例: ADK の invoke_agent スパン: operation + agent + conversation、provider キーが一切ない)は現在のピンの下で正規化される —— 適用される マッピングはバイト単位で同一であり、生産者の真のリリースは wire からは知り得ないからである。

MCP 規約(mcp.*、semconv v1.39 — Development)

Section titled “MCP 規約(mcp.*、semconv v1.39 — Development)”

上流には正確に 4 つの mcp.* 属性が存在する(mcp.method.namemcp.protocol.versionmcp.resource.urimcp.session.id)。ツールは gen_ai.tool.name に、プロンプトは gen_ai.prompt.name に乗る。取り込みは、Claude パスが出力するのと同じリソース種別を再利用して、 これらのトレースを本製品自身の MCP ガバナンス事実と結合する。

MCP シグナルマップ先
server.address を持つ任意のクライアント側 mcp.* スパンsession→mcp.server エッジ(claude_code.mcp_server_connection エッジと結合)
tools/call + gen_ai.tool.namemcp.tool アクセスエッジ(エンドポイントが既知なら server.address/tool)—— Claude の mcp__server__tool 呼び出しと同じ種別
resources/read / resources/subscribe + mcp.resource.uriread-modemcp.resource エッジ(URI はサニタイズ: クレデンシャル/クエリを除去)
prompts/get + gen_ai.prompt.nameread-modemcp.prompt エッジ(プロンプト面)
SERVER 種別のスパン / `mcp.clientserver.*.duration` メトリクス

エージェントスパン(invoke_agent の client/internal 分割 + invoke_workflow、semconv v1.41 — Development)

Section titled “エージェントスパン(invoke_agent の client/internal 分割 + invoke_workflow、semconv v1.41 — Development)”

v1.41.0 は invoke_agentCLIENT バリアント(リモートのエージェントサービス)と INTERNAL バリアント(プロセス内)に分割した。現実のフレームワークは今日その種別に違反している (AutoGen と Microsoft Agent Framework はプロセス内エージェントに CLIENT をハードコードし、 Google ADK は INTERNAL を使う)ため、取り込みは、スパンが CLIENT でありかつ server.address を 持つときにのみ呼び出しをリモートとして分類する —— それが conversation→genai.agent.remote の 委任エッジを生む。それ以外はすべて、conversation→genai.agent 帰属エッジでカバーされるプロセス内 呼び出しのままである。すなわち、捏造された「リモート」ではなく、クリーンに劣化する。invoke_workflow (v1.41 で新規。CrewAI 形式の crew)は conversation→genai.workflow エッジをマップする。エージェント スパンは上流で Development(experimental)のままであり —— いかなる安定性も主張されない。

安定 vs experimental、正直に: メカニズム(オプトインゲート、方言検出 + デュアルネーム読み取り、 span/event/metric マッピング、封印された CostSample/EdgeObservation の形状)は本製品では安定して いる。それがマップする語彙gen_ai.*/mcp.* キー、operation の enum)は上流で Development であり、再びリネームされる可能性がある。だからこそ取り込みは 1 つにピン留めするのではなく、あらゆる 世代を正規化する。v1.41.1 は gen-ai 規約の最後のバージョン付きリリースである(それらは open-telemetry/semantic-conventions-genai に移行し、そこには 2026 年 6 月時点でリリースがない)。 注記:

  • コストは W3C span id によって重複排除される。 ある operation がそのスパンその operation.details イベントの両方に usage を報告した場合(それらは span id を共有する)、 二重ではなく一度だけ課金される。
  • メトリクスは liveness に供給され、決してコストにはならない。 gen_ai.client.token.usage は 集計値である。スパン/イベントが operation 単位の権威ある usage であるため、メトリクスも課金すると 二重計上になる。v1.39 の mcp.* duration ヒストグラムも同様に認識される。
  • Provider は unknown でありうる。 スパンが model を持つが provider/system を持たない場合、 コストは model id から推測されるのではなく unknown に帰属される。
  • 合計のみのトークン数は分割されない。 prompt/completion の分割を持たないレガシーな llm.usage.total_tokens は決して input/output に推測されない(コストを捏造しない)。
  • OpenInference(Arize/Phoenix)は別の規約であり、このプロファイルでは取り込まれない —— ここで読む llm.* キー(llm.request.typellm.usage.total_tokensllm.vendor)は OpenLLMetry のレガシーマーカーであって、OpenInference の llm.* 名前空間ではない。

Cooperative — ローカルなエージェント面の設定

Section titled “Cooperative — ローカルなエージェント面の設定”

これらのソースはローカルエージェントが宣言した設定を読み、permitted エッジと posture findings を出力する。実行のライブトレースではない。フレームワークがネイティブ OTEL を持つとき、 ライブ使用状況は引き続き上記の gen_ai.* ingest を通じて到着する。

Kind観測対象正直なカバレッジ
opencodeローカルな opencode.json / opencode.jsonc JSONC レイヤー → permission posture、managed/admin override posture、MCP/tool/custom-agent permitted edges、credential-in-config/share/autoupdate/OTEL findings、authoring fragment設定宣言のみ。managed layer はローカルで検出されるが、不変のロックではない。runtime OPENCODE_PERMISSION、test directory redirection、remote organization config はこの reader の範囲外である。有効化時は native OTEL が out-of-band OTEL_* exporter 経由で live gen_ai.* usage を供給できる
gemini-cliGemini CLI settings.json レイヤー(system/user/workspace)→ permitted MCP/tool edges、enforcement-gap posture、effective-config inventory設定宣言のみ。ライブ使用は gen_ai.* ingest に乗る(CLI がネイティブに出力する)。Gemini API ではない(それは hosted-provider 面)
openhandsOpenHands config.toml + env → sandbox/model-pinning/credential/telemetry posture、permitted MCP/action edges設定宣言のみ。native OTEL gen_ai.* 経由のライブ使用
gooseGoose (Block) profiles.yaml + env → admin-settings/model-pinning/extension/tool-approval posture、permitted extension edges設定宣言のみ
clineCline / Kilo Code VSCode settings.json 名前空間 → auto-approve/MCP-allowlist/credential/model-pinning posture設定宣言のみ。上流にネイティブ OTEL はない
grokGrok Build (xAI) —— ローカル設定から読むターミナル用コーディングエージェント: hook 配線、文書化された veto 付き events、宣言可能な governance posturexAI API コネクタではないxai はカタログとコストを読み、モデルに grok-build-0.1 を含む)。これはエージェントを読み、両者は重複しない。観測側は Grok Build がすでに出力する OTLP ingest を通る。PostureEnforced を主張するのは、文書化された veto を持つ唯一の event PreToolUse だけで、その他は observed
openclawOpenClaw openclaw.json(JSON5 discovery、制限された $include)→ エージェントごとの gateway/channel/tool/sandbox/skill/model posture、宣言 channel/skill/model edges設定宣言のみ。上流で inline PEP hook は検証されていない
hermesHermes Agent config.yaml + profile trees + managed scope → terminal/channel/skill/security/model/MCP posture、宣言エッジ設定宣言のみ。上流で inline PEP hook も native OTEL も検証されていない
google-adkexport された Google ADK 2.0 Session JSON → agent/app inventory、sub-agents、tool function calls、transfers、approved-tool drift、Vertex reasoningEngine correlation読み取り専用 export。message content は決して読まない。google-agent platform 面とは別
agents-mdagent instruction files(AGENTS.md とエージェント別の memory/instruction files)の repo walk → SHA-256 baseline drift + instruction-injection / hidden-Unicode / secret scanminimal-data: sanitized paths + hashed details。content は決して読まない
mcpbinstall/distribute された .mcpb desktop extensions → manifest posture scan、enterprise allowlist drift、PKCS#7 signature verificationextension 面の PERMITTED-vs-OBSERVED
codex-managed-configOpenAI Codex managed-config files → enforcement posture + authored baseline との driftobservation-only: 開発者が managed layer を迂回することを防げない(Codex 用の managed-settings 対応物)

Clean — ネイティブストア監査(逐語的な読み取り/書き込み)

Section titled “Clean — ネイティブストア監査(逐語的な読み取り/書き込み)”

これらはストア自身の監査証跡を読み、読み取り/書き込みの分類を逐語的に取得する —— クエリテキストから 推論することは決してない。pgaudits3cloudtrailaccess map が構築される中心となる正準の R/RW ソースである(ハイフン付きの pg-audit / s3-cloudtrail エイリアスも 解決される)。

Kind観測対象
pgauditPostgreSQL pgAudit 証跡(csvlog/jsonlog)→ R/RW テーブルアクセス、pgAudit の CLASS から READ/WRITE を逐語的に取得
s3cloudtrailAWS CloudTrail S3 イベント → オブジェクト R/RW、CloudTrail の readOnly フラグから読み取り/書き込みを取得(Claude-on-Bedrock のモデル呼び出しも表面化する)
snowflake-auditSnowflake ネイティブのアクセス履歴
databricks-ucDatabricks Unity Catalog 監査
bigquery-auditBigQuery データアクセス監査
redshift-auditAmazon Redshift 監査
mssql-auditSQL Server 監査
oracle-auditOracle 統合監査
gcs-auditGoogle Cloud Storage データアクセス監査
azure-blob-auditAzure Blob Storage 監査

Cloud management plane — org/tenant インベントリ + control-plane アクティビティ

Section titled “Cloud management plane — org/tenant インベントリ + control-plane アクティビティ”

管理プレーンのトライクラウド対応 —— 上記のストア監査コネクタがカバーするリソースごとの データプレーンとは別物である。それぞれがクラウドの org/tenant control plane に対するライブの 読み取り専用 API クライアントである。リソースのトポロジーを発見し(インベントリエッジ、 mode=unknown、attributed)、クラウドのネイティブな監査フィードを読んで control-plane の アクティビティを取得する(identity→…api エッジ、読み取り/書き込み分類済み)。これらは AWS が すでに s3cloudtrail(データプレーン)とアカウントレベルの IAM/CloudTrail aws コネクタで支える マトリクスを完成させる。両者ともプロセス内で動作し、オフラインセーフである(クレデンシャルが なければ Gather は no-op)。両者とも control plane のみを観測する —— ペイロード、シークレット、キー、 リソースプロパティを決して観測しない。

Kind観測対象正直なカバレッジ
gcp-auditGCP Resource Manager / IAM(org→folder→project→service-account トポロジー)+ Cloud Audit Logs(Admin Activity + Data Access)→ identity→gcp.apiログがある箇所では Clean: Admin Activity はログ種別の定義により書き込み、Data Access は標準メソッド動詞により読み取り/書き込み。Data Access ログが無効(GCP ではデフォルトで無効)の箇所、またはメソッド動詞が非標準(unknown、決して推測しない)の箇所では Lossy。宣言された共有プリンシパルは approximateprincipalEmail は SPIFFE/SA 名簿に収束する
azure-activityAzure Resource Graph(tenant→subscription→resource トポロジー)+ Azure Monitor Activity Log(control-plane operations)→ identity→azure.apicontrol-plane の書き込み/削除は Clean(RBAC アクションから逐語的)。汎用の action サフィックスは Lossyunknown —— 読み取りも書き込みもありうる)。データプレーンの読み取りは Activity Log に含まれないazure-blob-audit / azurekeyvault データプレーンがそれらをカバーする)。共有呼び出し元は approximate。呼び出し元の objectId/appId は Entra 名簿に収束する
cloudflareCloudflare edge estate —— REST API v4 経由の Workers、R2 buckets、Logpush jobs → topology edgesinventory のみ(この connector に audit feed はない)。スコープ済み読み取り専用 token。cloudflare-ai-gateway / MCP-portals AI 面とは別

GCP の Data Access オプトインと Azure の read-not-logged ギャップは、このプレーンの正直な opaque なエッジである。これらのログが無効な箇所では、アクティビティエッジの不在はアクセスが なかった証明にはならない。クラウドごとの完全な階層テーブルは、同梱の cloud-management コネクタ契約 docs/contracts/S165-connectors-cloud-management.md にある。

Hosted model providers —— カタログ、姿勢、メータリング

Section titled “Hosted model providers —— カタログ、姿勢、メータリング”

これらのソースはホスト型 model-provider のアカウントとカタログをガバナンスする。推論は proxy しない。プロバイダーに利用可能な usage API がない場合、費用は集約 billing feed から 取り出すのではなく、推論パスを囲むコネクタの Meter で見積もられる。

Kind観測対象正直なカバレッジ
openaiOpenAI platform の利用量とコスト(org API)+ model/API-key catalog読み取り専用 org/admin key。data-plane payload なし。OpenAI-org path ではなく実際の Azure 面を扱う azure-openai とは別
geminiGemini(Google)ホスト型 model catalog + オペレーター配線の usage exporthosted-provider 面。local CLI settings を観測する gemini-cli、enterprise Vertex 面をカバーする vertex とは別。Google はこのパスで aggregate usage API を公開しないため、usage はオペレーターが配線したもの
deepseekDeepSeek hosted catalog、account balance availability、PRC sovereignty postureaggregate usage API なし。宣言された価格から推論を囲んで cost を計測
mistralMistral catalog + governance posturepublic usage/billing/spending-cap API なし。list price から推論を囲んで cost を計測
xaixAI/Grok live catalog、billing endpoints、key/ACL inventory、credit/spending-limit posture読み取り専用 management billing endpoints を cost に使う。management と inference credentials は別
glmZhipu GLM / Z.ai declared catalog、USD list-price Meter、entitlement probe、sovereignty posturecatalog-only + Meter: GLM には検証済み usage/billing/balance/admin/key/organization API がない。PRC nexus / Entity List の注意事項は z.aibigmodel.cn の両面に適用
vertexGoogle Vertex AI catalog、model ごとの token usage(Cloud Monitoring)、opt-in billed cost(billing export)、opt-in Model Armor safety postureAI Studio パスがカバーしない enterprise Google 面。GCP に real-time cost API はない
azure-openaiAzure OpenAI / AI Foundry deployments + models(ARM)、Azure Monitor token usage/cost 面読み取り専用 management-plane client。data-plane payload なし
openrouterOpenRouter live catalog(USD/MTok pricing)、account usage/limit posture、approved-model policy driftexported MeterCall 経由の billed cost。オフラインでは no-op
cohereCohere live model catalog(cursor-paginated Models API)public usage/billing/org API なし(dashboard のみ)—— 正直な coverage caveat。list price から推論を囲んで cost を計測
falfal.ai API-key lifecycle inventory + rotation posture、queue API を囲む cost meteringpublic usage/audit API なし —— governance は key lifecycle による。深い面は営業経由に限定され UNVERIFIED と表示

Self-hosted inference —— ローカルカタログと使用状況

Section titled “Self-hosted inference —— ローカルカタログと使用状況”

Self-hosted inference は常にスコープ内であるため、gateway の後付けではなく第一級のソースとする。 この階層はローカル runtime が実際に何を提供しているかを観測する。

Kind観測対象正直なカバレッジ
localOllama model catalog(/api/tags)、Ollama residency(/api/ps —— 現在ロードされているモデルと GPU/CPU 分割・unload deadline ——、OpenAI 互換面での vLLM token usageresidency は posture として報告され、severity は PLACEMENT である。完全に VRAM 上の model は informational、CPU 上または CPU/GPU に分割された model は、オペレーターが知らされずに latency を負担するため flag される。Ollama は aggregate token metrics を公開せず metering に寄与しない。この source から local inference の per-call identity/policy は依然得られず、governance には gateway または OTel path が必要。localhost の Ollama は credential 不要なため、空の config が動作する read-only default。server の無効化は明示的な空 URL であり、両方が空なら no-op

Kernel backstop — eBPF / Tetragon(clean シグナル、approximate 帰属)

Section titled “Kernel backstop — eBPF / Tetragon(clean シグナル、approximate 帰属)”

moat の非協調的な半分。協調パスがエージェントが報告するものを見るのに対し、これはカーネルが 行ったことを見る —— ファイルの読み取り/書き込みと外向き接続を、エージェントが自身のテレメトリを 無効化したときでさえ見る。アクセスはカーネルの ground-truth である(何が起きたかの clean 階層の シグナル)。帰属はその限界について意図的に正直である —— カーネルはランタイムアイデンティティ (プロセス/cgroup/コンテナ)に帰属し、解決済みのエージェントには決して帰属しないため、すべての eBPF エッジは approximate である。ペイロードを復号も検査も決してしない(TLS の本文には盲目である)。

Kind観測対象正直な限界
ebpfTetragon カーネルイベント → ファイル R/RW(MAY_* マスク)とネットワークエッジ。エージェントが協調的テレメトリなしにカーネルで動作したときのオプションの回避防止 findingエージェント匿名 → 常に approximate。エージェント単位の台帳ではなくストリーミングバックストップ

これは eBPF プログラムを自身でロードはしない。カーネルキャプチャは Tetragon(独立した堅牢化された DaemonSet)が行う。 デプロイ要件 を参照。

Lossy — エッジは得られるが、しばしば approximate

Section titled “Lossy — エッジは得られるが、しばしば approximate”
Kind観測対象なぜ lossy か
mongo-auditMongoDB 監査ドキュメントストア。呼び出し元の分離が弱い
openlineageOpenLineage 実行イベント → データセットリネージリネージは呼び出し単位の監査ではない
delta-sharingDelta Sharing 受信者アクティビティ共有受信者の帰属

Approximate-by-attribution & 許可側ソース

Section titled “Approximate-by-attribution & 許可側ソース”

これらは許可側(宣言された grant)か、解決済みのエージェントではなくロール/プロセス/共有 クレデンシャルに帰属するアクセスのいずれかを出力する。

Kind観測対象階層
iceberg-catalogIceberg REST カタログ → 許可された grant + vend されたクレデンシャルのアイデンティティpermitted
inference-gatewayK8s Gateway API Inference-Extension のルーティング → 許可された推論ルートpermitted
aws-kms / gcp-kms / azure-key-vaultクラウド KMS 監査 → キーアクセスエッジ(キー材料は決して含まない)approximate
external-secrets / sops / kmipシークレット管理マニフェスト / KMIP locate → プロビジョニング/カストディエッジapproximate(存在であって、使用ではない)
istio-telemetryIstio Telemetry CRD → L7 メッシュエッジapproximate(パースされた CRD であって、ライブフローではない)
egress-proxyEgress プロキシの判定ログ → L7 egress エッジapproximate
kong-auditKong 監査ログ → 設定変更の findingsapproximate
ai-gatewayEnvoy AI Gateway の使用記録 → コストサンプル(FinOps)コストストリーム
githubエージェントのデータソースとしての GitHub repositories → observed R/RW access edges(webhook-first、API-poll reconciliation)+ permitted ACL edgesobserved + permitted。ストリーミング(poll_seconds: 0
gitlabGitLab repositories → observed R/RW access edges + permitted ACL edgesobserved + permitted。ストリーミング(poll_seconds: 0

Posture observers — アクセスエッジではなく findings

Section titled “Posture observers — アクセスエッジではなく findings”

姿勢(同期/健全性/ドリフト、認証異常)を findings として表面化する read-first オブザーバー。estate を 決してミューテートしない。

Kind観測対象
runtimeAI ワークロードが動作する場所(Linux procfs、Docker デーモン、Kubernetes API)→ コンテインメントエッジ + 健全性 findings(ホストアクセスが必要 —— デプロイ要件 を参照)
argocd / flux / crossplaneGitOps / control-plane CRD → 同期、健全性、ドリフト、コンポジション姿勢
kerberosKDC 認証テレメトリ → Kerberoasting findings
aaaRADIUS / TACACS+ AAA 観測
ssfShared-Signals / CAEP レシーバー(エージェント kill-switch)
edugain / openidfedフェデレーション集約 / OpenID-Federation 信頼チェーン → フェデレーション姿勢
managed-settingsClaude managed-settings ポリシー → 許可エッジ + ドリフト findings
envoy-ai-gatewayEnvoy AI Gateway 宣言済み設定 export → gateway posture + gateway-vs-Olivares policy drift(ai-gateway usage stream の config 側)
kong-agent-gatewayKong agent-gateway 宣言済み設定 export → posture + policy drift
litellmLiteLLM proxy 宣言済み設定 export → posture + policy drift
bedrock-kbAmazon Bedrock Knowledge Bases の retrieval health/config(Agent Runtime Retrieve health-check)→ KB ごとの posture findings + KB→data-source edges。RetrieveAndGenerate は決して行わず(課金推論なし)、完全な document content も決して読まない
takTAK Server CoreConfig.xml posture(+ 任意の mTLS probe)と、govern された minimal-data Cursor-on-Target ingest(position は digest、uid は hash 化)
a2aAgent2Agent (A2A) v1.0 peers → Agent Card discovery + JWS/JCS signature verification(peer trust level)と、observed task/message interactions の agent↔agent edges。Observe-only —— task を決して dispatch しない。signed cards の出力は別機能

Untrusted hint — MCP イントロスペクション

Section titled “Untrusted hint — MCP イントロスペクション”

mcp ソースは MCP サーバー(stdio + Streamable HTTP)をイントロスペクトし、サーバーの宣言された R/RW ヒントを伴う能力エッジを、プロトコルリビジョン、機能面、レジストリ来歴の findings とともに 出力する。MCP 仕様によれば、ツールアノテーションは信頼できない宣言である —— 観測されたソースに 対して裏付けの取れる能力の主張であって、それ単独では決して信頼されない。(協調的な claude ソースも OTLP パスの一部として MCP をイントロスペクトする。mcp は、サーバーリストや .mcp.json に 向ける単独のイントロスペクターである。)

Kind観測対象階層
mcpMCP サーバーの tools/resources/prompts → 宣言された能力エッジ + 姿勢 findingsuntrusted hint

Out-of-process なブローカー & メッシュオブザーバー

Section titled “Out-of-process なブローカー & メッシュオブザーバー”

これらは重いワイヤープロトコルの依存ツリーを抱えるため、それぞれプロセス外で動作する(依存が コアにリンクされることは決してない)。1 つのコネクタが多数のターゲットに到達する。

Kind観測対象
kafkaKafka / Event Hubs / Redpanda / MSK のトピックアクティビティ
amqpAMQP ブローカー(RabbitMQ、Azure Service Bus)
nats / mqtt / cloudqueueNATS、MQTT、クラウドキューのアクティビティ
debeziumDebezium change-data-capture ストリーム
envoyEnvoy ALS / ext_authz / ext_proc の観測サービス
hubbleCilium Hubble のフローデータ

アイデンティティ名簿プロバイダ

Section titled “アイデンティティ名簿プロバイダ”

これらは帰属を鋭くする(approximate エッジを attributed に変える)非人間アイデンティティ 名簿を満たす。grant 面を持つ各ソースは、permitted-vs-observed 差分の PERMITTED 側として、 Gather から許可アクセスSignalPolicy)エッジも出力する。

Kind名簿許可エッジ
vaultentities、groups、policiesACL policy のパス grant(vault.path)、バインドされた entity ごとに展開
ldapusers、service/computer アカウント、groups特権グループメンバーシップ → ディレクトリ grant(ldap.directory
idp(Okta / Entra)users、apps/service principals、groupsapp 割り当て / スコープ grant(okta.app / entra.app
infisicalmachine identities、org members、projectsproject grant(infisical.project
keycloakrealms、clients、roles、groups、users名簿のみ(no-op Gather
pingone / forgerock同じ multi-provider reader 経由の PingOne / ForgeRock directory roster(kind が対応する provider を設定。pingpingone の alias)名簿のみ(no-op Gather
spiffeSPIRE 登録エントリ名簿のみ(no-op Gather

ブートごとの一度きりの許可 grant パスには identity エントリに as_source: true を、または定期的な 再スキャンには poll_seconds を伴う別の sources エントリを配線する —— 1 つの kind に対して 両方は決して配線しない(okta/entra は単一の idp コネクタを共有するため、プロセスごとに ソースとして登録できる idp ファミリーのインスタンスは 1 つのみ)。グループ/ロールのメンバーシップは 型付き名簿スナップショットのみを通って移動し、決してエッジとしては移動しない。

エージェントアイデンティティフェデレーション

Section titled “エージェントアイデンティティフェデレーション”

ハイパースケーラーのエージェントレジストリは、プレーンの SPIFFE/WIF 名簿に対して読み取り専用で フェデレートする。それらのエージェント単位の行(agent_identity / workload_identity 種別)は専用の 共有されないアイデンティティであるため、access map はそれらを確固たるエージェント単位の帰属として 扱う。同じソースからの補助的な行(blueprint プリンシパル、クレデンシャルプロバイダ、サービス アカウント裏付けのエージェント)は approximate のままである。フェデレーションはレジストリへ決して 書き込まない。control tower へのエクスポートは別個の後発の能力である。

Kindフェデレート対象Gather
entra-agentMicrosoft Entra Agent ID(agent identities、agent users、blueprints、blueprint principals、owners/sponsors、スナップショット内 orphan 計算、opt-in soft-deleted)を Graph v1.0 経由でnhi_longlived_credential drift findings、CA/risky-agent/governance/sponsorless posture findings、opt-in beta auditLogs/signIns observed agent access edges —— poll_seconds 付き sources entry を追加
agentcoreAWS Bedrock AgentCore Identity(workload identities、token-vault クレデンシャルプロバイダ)+ AgentCore Policy エンジン/Cedar ポリシーをコレクションとしてnhi_longlived_credential ドリフト findings(静的 API-key プロバイダ)—— poll_seconds を伴う sources エントリを追加
google-agentGoogle Agent Identity(Agent Runtime reasoning engines、SPIFFE-based agent identities)+ Agent Registry / Agent Gateway posture。行は完全な SPIFFE IDを ref に使い spiffe roster に収束。Gather は帰属のない registry agents、読み取り可能な registry 外の shadow reasoning engines、リスクのある MCP tool annotations、gateway registry posture を検出registry/gateway posture findings + shadow-agent detection —— poll_seconds 付き sources entry を追加
agent365Microsoft Agent 365 registry(Entra identity がない agents も含む package-level inventory)。Graph v1.0、app-permission client credentials または delegated token、opt-in package detailsregistry-hygiene findings(blocked deployed packages、全ユーザーに deploy された external/shared packages)—— poll_seconds 付き sources entry を追加
foundry-agentsMicrosoft Foundry projects、agent applications/deployments、ARM + Foundry Agent Service v1 経由の現在の Agent Service agents。app identity links を entra-agent と相関ARM 由来の application posture findings(Entra agent identity の欠落、enabled app 上の failed deployment)—— poll_seconds 付き sources entry を追加
ai-control-towerServiceNow AI Control Tower のデジタルアセットインベントリ(Table API、読み取り専用)no-op(名簿のみ)
oasfAGNTCY/OASF エージェント記述子 + Agent Badge 検証 —— アイデンティティ仕様が VCDM 2.0 準拠になるまで EXPERIMENTALbadge findings —— poll_seconds を伴う sources エントリを追加
onepassword1Password アカウントを secret_store カストディアンとしてアイテム使用のシークレットアクセスエッジ —— poll_seconds を伴う sources エントリを追加

再ポーリング可能な Gather を持つ 7 つの kind(entra-agentagent365agentcorefoundry-agentsgoogle-agentoasfonepassword) については、名簿側を as_source なしidentity エントリとして、エッジ/findings 側を poll_seconds を伴う別個の sources エントリとして配線する —— as_source: true 経由で両方ではない。 それはブートごとに一度しかスキャンを実行しない(また、同じ kind の重複登録は拒否される)。

レジストリが宣言したowner/sponsor は名簿同期中に NHI ライフサイクルレコードに着地し (PUT /nhi/{ref}/ownership と同じ意味論)、レジストリが主張したorphan(blueprint が消失した Entra エージェント)は同じレコードの registry_orphaned フラグに着地する —— ライフサイクルスイープが それを orphaned に OR で取り込み、nhi_orphaned finding を出力するため、orphan 検出は追加の配線 ゼロでフェデレートされたエージェントを監視する。vault-audit ソースidentity ではなく sources 配下)は Vault のファイル監査デバイスを tail し、同じ entity:<name> ref に対して vault の許可 grant の OBSERVED 対応物を出力する。

ナレッジドキュメントソース(access-map カバレッジではない)

Section titled “ナレッジドキュメントソース(access-map カバレッジではない)”

これらは access map ではなく knowledge モジュール(モジュール VIII)に供給する。ガバナンス付き 検索のためにドキュメント内容を取り込み、R/RW エッジを出力せず、バス上に観測を生成しない。 モジュールが取り込みリクエスト(POST /v1/m/knowledge/kbs/{id}/ingest {"source":"<name>"})で それらをプルする(List → Fetch)ため、それらはそのモジュールに配線される —— OLIVARES_SOURCES_CONFIGsources ではなく documents の下で名前を付ける。各々は読み取り専用かつ minimal-data である: ソースの ACL と来歴を運ぶ(個人のメールは決して運ばない。モジュールは永続化前に本文を秘匿化する)。

Kind取り込み対象
gdriveGoogle Drive ドキュメント(Docs/Sheets/Slides/ファイル)
confluenceAtlassian Confluence のスペース & ページ
notionNotion ワークスペース、データベース & ページ
sharepointMicrosoft SharePoint / OneDrive のサイト & ドキュメント
s3contentオブジェクトストレージの内容(S3 / R2 / GCS オブジェクト)
sap_odataSAP OData service entities を governed documents として
salesforceSalesforce objects/records を governed documents として
snowflakeSnowflake tables/rows を governed documents として(snowflake-audit R/RW observer とは別)
azure_ai_searchAzure AI Search index documents
postgresPostgreSQL rows を governed documents として —— 構造上 read-only、行ごとの宣言 ACL、列ごとの classification(pgaudit R/RW observer とは別。NL-to-SQL ではない)。Postgres を governed context source とする を参照。
filesystemfile-server content(local / NFS / SMB)—— 構造上 root 内に読み取りを制限、POSIX owner/group/ACL を Document ACL にマップ、xattr classification(filelog log sink とは別)。ファイルサーバーをガバナンスする を参照。
// OLIVARES_SOURCES_CONFIG — document sources live under "documents", never "sources"
{
"documents": [
{ "name": "eng-wiki", "kind": "confluence",
"config": { "export_path": "/var/lib/olivares/confluence" } }
]
}

出力先(カバレッジではない)

Section titled “出力先(カバレッジではない)”

出力コネクタは findings と通知を配信する。何も観測せず、カバレッジ階層を持たない。ソースとは別に 配線される。

プロセス内の出力先 kind: slackteamspagerdutyopsgeniewebhooksiemsplunkhecsyslogservicenowjiraemailtwiliochronicledatadogelasticsnmpfilelogotlplog(OTLP/HTTP logs)、s3archive(S3 Object Lock WORM sink —— 通知ごとに不変の lock-verified object を 1 つ)。

3 つの broker egress kind は組み込みプラグインとしてプロセス外で実行する(プラグインソースと 同様、wire-protocol 依存ツリーが engine に link されることはない): kafkaamqpcloudqueue —— ソース側の双子と同じ kind 名であり、出力先としては通知を CloudEvent として設定済み broker/queue へ 配信する。task build:connectors のない素の開発ビルドは、存在を装うのではなく、正直なブート警告を 出してそのような出力先をスキップする。

R/RW 差分コネクタはデフォルトバイナリに配線されているが、2 つは他にはないデプロイ要件を伴う —— コネクタのコードはホスト非依存だが、それが消費するデータはそうではない:

  • ebpfTetragon のカーネルイベントエクスポートを消費する。 コネクタはカーネル能力を必要としない —— Tetragon が所有する 0600 のファイル/FIFO/stdinevents_path、デフォルト -)を読む。Tetragon 自身は、最小限の CAP_BPF + CAP_PERFMON を 保持し、seccomp/AppArmor 付きで非 root として動作し、インバウンドリスナーを持たない、独立した 堅牢化された DaemonSet である。したがってデプロイは: Tetragon を特権で実行し(バンドルされた ファイルアクセス + TCP-connect の TracingPolicy)、次に ebpf をそのエクスポートに向ける。 最小 Tetragon: v1.0。
  • runtime はホストの procfs(proc_root、デフォルト /proc)、Docker デーモンソケット (docker_socketデフォルトで無効 —— docker.sock への読み取りアクセスは root 相当。 意図的にオプトインし、理想的には GET 許可リスト化したソケットプロキシ経由で)、および/または Kubernetes API(デフォルトはクラスタ内 ServiceAccount)を読む。有効化したものだけをマウントする。
  • gcp-audit は GCP サービスアカウント(key JSON または WIF/ADC が発行する access_token) として認証し、読み取り専用の管理ロールのみを必要とする: roles/resourcemanager.organizationViewer + roles/iam.serviceAccountViewer + roles/logging.viewer —— Data Access エントリの読み取りには加えて roles/logging.privateLogViewer が必要。organization_id(org ウォーク + org スコープ監査) および/または projects をスコープする。Data Access 監査ログは GCP ではデフォルトで無効: IAM/data-access 設定に従って有効化すること。さもなければアクティビティフィードは正直に過小報告する。
  • azure-activity は Entra サービスプリンシパル(client-credentials)または managed-identity の access_token として認証し、tenant ルート(またはサブスクリプションごと)で Reader ロールのみを必要とする —— その単一ロールが Resource Graph、サブスクリプション一覧、 Activity Log をカバーする。subscriptions が未設定のとき、サブスクリプションは自動列挙される。

両者とも依然としてプロセス内(transport A)で動作する。それらをホスト近傍のプロセス外 コレクターデプロイに隔離したい場合のために、cmd/{pg-audit,s3-cloudtrail,ebpf-source} の go-plugin バイナリが存在する。

すべてのソースはオプトインかつ deny-closed である: log_path/path/events_path の欠落は 起動時の設定エラーであり(ソースは配線されない)、決して静かな no-op にはならない。デモ estate (quickstart)は、ライブソースを配線する前に clean 階層のシグナルをエンドツーエンド で確認できるよう、本物のバスを通じて同等の合成観測をシードする。