{
  "format": "agent-article-v0",
  "article_id": "EA-259",
  "canonical_url": "/tools/ea-259-agent-egress-control-network-policy",
  "page_type": "reference",
  "claim_ids": [],
  "evidence_ids": [
    "EA-259-CURRENT-APPROVAL",
    "EA-259-CURRENT-BODY-READBACK"
  ],
  "unknown_ids": [
    "EA-259-UNKNOWN-01"
  ],
  "operational_object_ids": [],
  "provider": [],
  "models": [],
  "plans": [],
  "surfaces": [],
  "regions": [],
  "current_status": "CURRENT",
  "observation_status": "SPEC_ONLY",
  "freshness": "CURRENT",
  "last_verified": "2026-10-06",
  "supersedes": [],
  "superseded_by": [],
  "provenance": [
    "V23-CANDIDATE-EA259-FIRST-20261015-C3",
    "BODY-SHA256:cd1ffc85bd85f85513c9a8e0fb87ed8f9f338eb6bcdca75266278d1eaa375854"
  ],
  "article_sources": [
    {
      "id": "EA-259-CURRENT-APPROVAL",
      "evidence_class": "RESEARCH",
      "title": "現行本文の監査・revision対応",
      "supports": [
        "現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。"
      ],
      "limit": "監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。",
      "origin_class": "AUDITED_CANONICAL_RESEARCH_PACKET",
      "source_or_experiment_ids": [
        "V23-CANDIDATE-EA259-FIRST-20261015-C3"
      ],
      "supporting_locators": [
        "1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER!A60:U60",
        "EA_REVISION_LEDGER!A60:U60",
        "EA-259-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_CANONICAL_APPROVAL_READBACK"
    },
    {
      "id": "EA-259-CURRENT-BODY-READBACK",
      "evidence_class": "IMPL",
      "title": "現行本文の収録照合",
      "supports": [
        "公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。"
      ],
      "limit": "本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。",
      "checked_at": "2026-10-17",
      "origin_class": "IMPLEMENTATION_READBACK",
      "source_or_experiment_ids": [
        "BODY-SHA256:cd1ffc85bd85f85513c9a8e0fb87ed8f9f338eb6bcdca75266278d1eaa375854"
      ],
      "supporting_locators": [
        "content/staging/EA-259.md",
        "cd1ffc85bd85f85513c9a8e0fb87ed8f9f338eb6bcdca75266278d1eaa375854",
        "EA-259-FIRST-20261006"
      ],
      "provenance_status": "CURRENT_APPROVED_BODY_HASH_MATCH"
    }
  ],
  "research_sections": [
    {
      "heading": "PUBLIC_CLAIM",
      "text": "Agent egress controlは、private endpointやVPC接続の有無だけで判定せず、Agent runtimeから外部destinationへ出る実際のpathを制御します。\n\n\n基本はdeny-by-defaultとし、必要なtool/API destinationだけを明示的に許可します。network reachabilityとtool/API authorizationは別controlです。"
    },
    {
      "heading": "INBOUND_IS_NOT_EGRESS",
      "text": "private endpointは主にinbound/private accessを構成します。private endpointがあることだけを、Agentのinternet egressが閉じている証拠にはしません。\n\n\nmanaged Agent runtimeでは、outbound trafficがcustomer VPC/VNetを通るかprovider-managed producer networkから出るかをfeature単位で確認します。"
    },
    {
      "heading": "DENY_BY_DEFAULT",
      "text": "Agent runtime、pod、namespace、subnet等の実際のenforcement対象を特定し、default-deny egressを基準にします。\n\n\n許可先はtool/API単位でinventoryし、owner、用途、protocol/port、identity、期限を記録します。\n\n\nopen-ended web accessが必要な場合、任意internet egressではなく専用proxy/brokerへの集約を検討します。"
    },
    {
      "heading": "DNS_AND_FQDN",
      "text": "default-denyはDNSも停止し得るため、必要なresolver pathを明示的に許可します。\n\n\nFQDN allowlistはDNS answer、TTL、resolver trust、policy engineのDNS observation/proxyへ依存します。domain名を記述しただけでdestination identityが恒久的に固定されたとは扱いません。\n\n\nDNS resolver自体を広く許可すると、FQDN policyのtrust boundaryが広がる場合があります。"
    },
    {
      "heading": "L3_L4_L7",
      "text": "IP/CIDR、port/protocol、FQDN、HTTP/DNS等のpolicy layerを区別します。\n\n\nL3/L4で到達可能でも、HTTP path/methodやtool actionまで許可されたことにはなりません。必要な場合のみL7 controlを追加し、proxy dependencyとfailure modeを運用対象にします。"
    },
    {
      "heading": "TOOL_AUTHORIZATION",
      "text": "network allowはIAM、OAuth、API key、resource policy、service authを代替しません。\n\n\nAgentがdestinationへ接続可能でも、実行可能なaction/resourceは最小権限で別途制限します。\n\n\nnetwork denyとapplication authorizationの双方を通過しなければside effectを許可しない構成を採ります。"
    },
    {
      "heading": "MANAGED_RUNTIME_BOUNDARY",
      "text": "managed Agent serviceではprovider/service/featureごとにdefault internet egressとcustomer networkへのroutingが異なり得ます。\n\n\nMicrosoft Foundryではinboundとoutboundが別decisionであり、public egressとprivate endpointを併用できます。managed networkのAllow Only Approved Outboundではprivate endpoint、service tag、FQDN rule等を使用します。\n\n\nGoogle Agent PlatformではVPC Service ControlsやPSC interfaceの有無、producer/runtime種別によってinternet egress pathが変わります。PSC/VPC接続だけを全producerのegress denyとして一般化しません。"
    },
    {
      "heading": "KUBERNETES_AND_CILIUM",
      "text": "Kubernetes NetworkPolicyは実装CNIがenforcementを提供していることを前提にします。default-deny egressを置いた場合、DNS等の必要trafficを別途許可します。\n\n\nCiliumのtoFQDNsはDNS responseからIPを学習しTTLを尊重します。DNS proxy/L7 DNS ruleとruntime stateを確認し、policy YAMLの存在だけでenforcement成功としません。"
    },
    {
      "heading": "VERIFICATION",
      "text": "deployment/change時にAgent runtimeから次を検証します。\n- intended destinationへのpositive test\n- 未許可internet destinationへのnegative test\n- direct IPへのnegative test\n- alternate hostnameへのnegative test\n- DNS resolutionとresolver path\n- IPv4/IPv6\n- proxy/NAT/firewall route\n- policy realized state\n- flow/DNS/proxy/service logs\n- tool/API authorization denial\n\n\n「許可先へ接続できた」だけではegress controlの検証完了としません。"
    },
    {
      "heading": "BREAK_GLASS",
      "text": "緊急時のallow-all/public egressは、owner、理由、開始時刻、expiry、監査記録を持つbreak-glassとして扱います。恒久的なfallback ruleとして残しません。"
    },
    {
      "heading": "FAILURE_ENVELOPE",
      "text": "allow-all residual、selector miss、CNI non-enforcement、DNS outage、resolver over-trust、DNS answer change、wildcard overbreadth、direct-IP/IPv6/alternate-host bypass、proxy/NAT bypass、managed producer bypass、perimeter exception、tool credential overreach、dependency omission、redirect/CDN、WebSocket/QUIC、policy propagation delay、failover、break-glass残置、L7/DNS proxy outage、secret-bearing logs、observability gapを想定します。"
    },
    {
      "heading": "IMPLEMENTATION_STATE",
      "text": "本項は2026-10-06時点のMicrosoft Foundry networking、Google Agent Platform PSC/VPC Service Controls、Kubernetes NetworkPolicy、Cilium DNS/FQDN/L7 policy、AWS VPC Lattice authorization documentationに基づきます。organization runtimeへのnetwork mutation、live Agent egress/exfiltration testは未実施です。"
    },
    {
      "heading": "SAFE_WORDING",
      "text": "Agent egress controlは、private endpointやVPC接続の有無だけで判定せず、runtimeごとの実際のoutbound pathにdeny-by-defaultと必要destinationのallowlistを適用します。DNS/FQDN、L3/L4/L7、proxy/NAT、service perimeter、identity/tool authorizationを分離し、許可経路の成功と未許可経路の拒否をAgent runtimeからreadbackします。"
    },
    {
      "heading": "OPEN_UNKNOWN",
      "text": "organization runtime/provider、actual Agent tools、destination/dependency inventory、CNI/policy engine、DNS topology、IPv6、direct-IP controls、proxy/NAT/firewall、VPC-SC/perimeter、IAM/OAuth/service auth、redirects/CDN、WebSocket/QUIC、failover、break-glass、logging/redaction、cost/quota、tenant-specific managed-runtime routesは未確認です。"
    }
  ],
  "human_url": "/tools/ea-259-agent-egress-control-network-policy",
  "markdown_url": "/agent/article.md?path=%2Ftools%2Fea-259-agent-egress-control-network-policy",
  "json_url": "/agent/article.json?path=%2Ftools%2Fea-259-agent-egress-control-network-policy"
}