Claude Platform Docs
Managed Agents自行託管的 Managed Agents

自行託管的 Claude Managed Agents 中的資料與存取

自行託管的 Claude Managed Agents 會將哪些內容傳送到您的網路之外、其日誌、追蹤與指標會送往何處、資料保留多久、誰可以連線到伺服器,以及如何將租戶彼此隔離。

使用自行託管的 Claude Managed Agents 時,您負責營運該伺服器、其資料庫,以及「worker」(工作程序)在其中執行代理程式 shell 與檔案工具的沙箱。本頁回答安全性審查中的問題。伺服器的推論供應商是負責回應其模型呼叫的服務。只有當該供應商是 Claude API 時,伺服器才會連線到 Anthropic。Anthropic 無法遠端存取伺服器或其日誌。

哪些內容會離開您的網路

伺服器建立的每一個連線

伺服器只會連線到以下目的地:

  • 您的推論供應商
  • 伺服器的資料庫
  • 為模型呼叫核發伺服器憑證的服務(如果伺服器從某個服務取得該憑證)
  • 雲端供應商用於列出模型的服務(如果您的推論供應商在另一個服務上列出其模型)
  • 您允許的 MCP 伺服器
  • 您允許的 Git 主機,用於工作階段所使用的儲存庫
  • OpenTelemetry 收集器(如果您有設定)
  • 您為單一登入列出的身分識別提供者(如果您有設定)
  • 密鑰管理器或金鑰管理服務(如果您有設定)
  • 為伺服器核發用於存取該密鑰管理器或金鑰管理服務之憑證的服務
  • 您設定伺服器呼叫的任何其他服務

預設的推論供應商是 Claude API。如果您設定了其他推論供應商,模型呼叫就會改為傳送到該處。只有當 Claude API 是伺服器的推論供應商時,伺服器才會連線到 Anthropic。

若推論供應商提供網頁搜尋和網頁擷取工具,則由推論供應商執行這些工具。伺服器不會為這些工具自行建立任何連線。在您於伺服器設定中將其啟用之前,這些工具都處於關閉狀態。

若要檢查伺服器的流量,請將您的輸出代理伺服器或防火牆日誌與此清單進行比對。伺服器傳送至 Claude API 的請求會帶有 User-Agent 標頭。請參閱標示伺服器軟體的欄位。

worker 可以連線到哪些位置

目的地清單僅涵蓋伺服器。輸出閘道(如果您有執行)會連線至您為其列出的主機,並將您為這些主機儲存的憑證值傳送給它們。worker 是分開的。worker 擁有的網路存取權限,取決於您允許其執行所在的容器、VM 或其他沙箱擁有的網路存取權限。代理程式透過 worker 執行的每個命令都擁有相同的網路存取權限。

伺服器傳送給其推論供應商的內容

每個模型呼叫都包含目前為止的對話內容,包括提示、工具輸入和工具結果。

當 Claude API 是推論供應商時,每個模型呼叫也會攜帶最多三個標頭。這些標頭包含由您的伺服器產生的 ID:

標頭內容
anthropic-managed-agents-session-id該呼叫所服務之工作階段的 ID
anthropic-managed-agents-agent-id該工作階段之代理程式的 ID
anthropic-managed-agents-environment-id該工作階段之環境的 ID

ID 不包含任何名稱或內容,但確實會編碼您的伺服器建立它的時間。透過這些標頭,Anthropic 可以將用量歸屬到某個工作階段、代理程式或環境。沒有任何設定可以關閉這些標頭。如果 ANTHROPIC_BASE_URL 指向代理伺服器或閘道,這些標頭就會傳送到該處。在任何其他推論供應商下,伺服器永遠不會傳送這些標頭。

當 Claude API 是推論供應商時,伺服器也會向 Claude API 確認其用於模型呼叫的憑證是否有效。伺服器會在啟動時檢查,之後每 60 秒檢查一次,除非您變更 health.check_interval。這些檢查不會執行任何推論,也不會攜帶這三個標頭中的任何一個。

標示伺服器軟體的欄位

每個傳送到 Claude API 的請求都帶有一個 User-Agent 標頭,其中註明伺服器軟體及其版本。此標頭本身不會識別您的部署。與每個 Claude API 請求一樣,API 金鑰會識別您的組織。Anthropic 可以使用該標頭來計算自行託管的 Managed Agents 的用量。

模型呼叫也可以在請求主體中以 metadata.user_id 攜帶標籤 cma-server。每個伺服器上的標籤都相同,因此標籤本身不會識別您的部署、您的使用者或您的工作階段。當呼叫抵達 Anthropic 時,即使代理伺服器移除了 User-Agent 標頭,Anthropic 仍可使用該標籤來計算自行託管的 Managed Agents 的用量。

呼叫是否攜帶該標籤取決於呼叫的傳送目的地:

  • 伺服器會在這些呼叫上傳送該標籤: 傳送至 Claude API、Microsoft Foundry,以及接受與 Claude API 相同請求之模型閘道的呼叫。
  • 伺服器永遠不會在這些呼叫上傳送 metadata.user_id: 傳送至 Amazon Bedrock、Claude Models on Google Cloud (Google managed),以及採用其他請求格式之模型閘道的呼叫。

如果模型閘道或代理伺服器將呼叫轉送給其他供應商,metadata.user_id 可能會隨之傳送。在攜帶 metadata.user_id 的呼叫上,您自己的代理伺服器或閘道必須在請求主體中接受該欄位。如果它拒絕該欄位,每個模型呼叫都會失敗。

日誌、追蹤與指標會送往何處

伺服器會將其日誌寫入標準錯誤輸出。當您在 Docker、Kubernetes 或服務管理器下執行伺服器時,該系統會從標準錯誤輸出收集日誌。

在您使用標準 OpenTelemetry 環境變數啟用追蹤和指標之前,伺服器不會記錄任何追蹤或指標。伺服器只會將它們傳送到這些變數所指向的位置。Prometheus 端點也可以公開指標。請參閱伺服器的監聽位置。

資料保留多久

您的日誌管線、收集器和追蹤後端決定日誌、追蹤和指標的保留時間。伺服器不保留任何日誌檔案,也不儲存任何追蹤或指標。

伺服器會將其他所有內容(例如代理程式、工作階段和工作階段歷史記錄)儲存在您的資料庫中。如果您未設定資料庫(這是預設值),伺服器會將這些資料保存在記憶體中,重新啟動後資料就會被清除。如果您設定了密鑰管理器,伺服器會將每個新保管庫憑證的密鑰保存在該密鑰管理器中,而不是資料庫中。伺服器先前儲存的密鑰會保留在資料庫中。

工作階段及其歷史記錄會一直保留在您的資料庫中,直到您將其刪除為止。無論工作階段是否已封存,伺服器都不會因其存在時間而將其刪除。透過 API 刪除工作階段會從您的資料庫中移除該工作階段及其歷史記錄,但伺服器會保留該工作階段的 ID。工作階段執行期間,伺服器可能會拒絕刪除作業。刪除作業不會觸及其他位置的副本,例如資料庫備份、匯出的日誌與追蹤,或代理程式寫入記憶體儲存區的內容。在 Kubernetes 上,刪除作業也會保留該工作階段的 /workspace 磁碟區,如釋放工作階段的磁碟區所述。

伺服器傳送給模型的內容以及模型傳回的內容,受您的組織與提供該模型服務的供應商之間的協議所規範。該協議的資料保留條款適用。當由 Claude API 提供模型服務時,適用您的組織與 Anthropic 之間的資料保留協議和設定。如果您的組織有零資料保留(ZDR)安排,該安排會以與其他 Messages API 呼叫相同的方式涵蓋這些模型呼叫。

「API 與資料保留」頁面將 Claude Managed Agents 列為不受 ZDR 涵蓋。原因是當 Anthropic 營運該服務時,Anthropic 會保存工作階段紀錄,直到您將其刪除。由誰保存這些紀錄,取決於由誰營運該服務:

  • 由 Anthropic 營運: 由 Anthropic 保存這些紀錄。使用自行託管的沙箱時,您只需託管沙箱,其餘部分由 Anthropic 執行。
  • 由您營運(使用自行託管的 Managed Agents): 由您自行保存這些紀錄。

誰可以連線到伺服器

Anthropic 無法遠端存取伺服器或其日誌。您的應用程式和 worker 會連線至伺服器。伺服器永遠不會連線至 worker。

伺服器接受的憑證

伺服器所接受的憑證均非由 Anthropic 核發,Anthropic 也未持有其中任何憑證。伺服器接受的每個憑證都屬於下列其中一種:

  • 由您設定或建立的憑證
  • 由您的身分識別提供者核發的憑證
  • 由伺服器自行產生的憑證,例如伺服器在每項工作中交給 worker 的權杖

伺服器的監聽位置

伺服器在一個位址和連接埠上接受 API 請求。伺服器還會另外開啟兩個監聽器,每個都只在您將其啟用時才會開啟。

監聽器預設開啟預設位址所要求的內容
API 請求是127.0.0.1:8400,僅限同一台機器存取。若要變更位址和連接埠,請設定 server.addr。請參閱伺服器接受的憑證。
您伺服器上的主控台,一個網頁是。若要停止提供主控台,請參閱關閉主控台。與 API 請求相同的位址和連接埠任何可以連線到該網頁的人都不需要任何內容即可載入網頁。若要在主控台中執行任何操作,使用者需透過您的身分識別提供者登入。
Prometheus 指標端點否localhost:9464,僅限同一台機器存取不需要憑證
伺服器為輸出閘道提供的監聽器否每個介面上的連接埠 8410閘道的金鑰

關於後兩個監聽器的更多詳細資訊:

  • Prometheus 指標端點: 此端點不要求任何憑證,因此誰可以連線到它取決於它的監聽位置。如果您將 OTEL_METRICS_EXPORTER 設為 prometheus 且未設定位址,它會在預設位址上監聽。如果您透過伺服器 Helm chart 將其啟用,它會在每個伺服器 pod 的連接埠 9464 上監聽。此時,任何具有通往 pod 位址之路由的對象都可以連線到它,除非有 NetworkPolicy 封鎖該流量。
  • 輸出閘道的監聽器: 輸出閘道是位於您的沙箱與網際網路之間的選用代理伺服器。伺服器會在另一個連接埠上監聽閘道。此監聽器使用純 HTTP,而其回應會攜帶已儲存的憑證值。Compose 堆疊和伺服器 Helm chart 只讓閘道連線到它。如果您以其他任何方式執行伺服器,請採取相同做法。

Docker Compose 堆疊會在 Docker 主機的 loopback 位址 127.0.0.1 上發布連接埠 8400。請執行 Docker Engine 28.3.3 或更新版本。在某些較早的版本中,主機所在區域網路中的機器可以連線到發布在 loopback 上的連接埠。若要在其他位址上發布該連接埠,請在 .env 中設定 CMA_PUBLISH_ADDRESS。

多租戶

每個部署僅在單一信任層級下為一個「tenant」(租戶)提供服務。同一部署中的環境無法將信任層級彼此隔離。伺服器 API 金鑰可存取每個環境。每個具有角色的呼叫者都可以在每個環境中執行工作階段,並能存取該環境的 worker 所能連線的任何網路與檔案。

要隔離的對象做法
租戶為每個租戶提供各自的部署,並搭配各自的資料庫、伺服器 API 金鑰與 worker。
不同信任層級的工作負載為每個信任層級提供各自的部署,並以設定租戶的方式進行設定。例如受信任與不受信任的程式碼,或是會連線到只有部分呼叫者可使用之系統的 worker。
同一部署內的呼叫者啟用單一登入,將群組對應至 developer 或 user 角色,並將伺服器 API 金鑰保留給管理員使用。各角色可執行的操作說明這些呼叫者能看到的內容。

密鑰管理器、單一登入與模型閘道

如果您的部署使用下列其中一項服務,也請在該處將各部署彼此隔離:

  • 密鑰管理器: 依照密鑰管理器限制所述,將各部署的密鑰彼此隔離。
  • 單一登入: 為每個部署提供其他部署均未列出的 audiences 項目,使其拒絕其他部署的權杖。在每個信任層級的部署中,僅將角色授予該層級所允許的呼叫者,且不設定 default_role。
  • 模型閘道: 若要區分各部署,請在 inference.headers 下為每個部署的某個標頭(例如 x-tenant-id)設定各自的值。

角色不會限制的事項

角色僅限制呼叫者以其自身權杖所發出的請求。代理程式執行的程式碼可以使用其沙箱所持有的任何憑證呼叫伺服器。環境金鑰可讀取其環境中每個工作階段的事件並張貼工具結果。因此,請讓每個工作階段在各自的沙箱中執行,並讓環境金鑰不進入該沙箱。開始使用自行託管的 Claude Managed Agents與在 Kubernetes 上部署中的堆疊即採用此做法。

這個頁面有幫助嗎?