View a markdown version of this page

連接 MCP 伺服器 - AWS DevOps 代理程式

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

連接 MCP 伺服器

模型內容通訊協定 (MCP) 伺服器透過提供來自外部可觀測性工具、自訂監控系統和操作資料來源的資料存取權,來擴展 AWS DevOps 代理程式的調查功能。本指南說明如何將 MCP 伺服器連線至 AWS DevOps Agent。

要求

連接 MCP 伺服器之前,請確定您的伺服器符合下列要求:

  • 可串流 HTTP 傳輸通訊協定 – 僅支援實作可串流 HTTP 傳輸通訊協定的 MCP 伺服器。

  • 身分驗證支援 – 您的 MCP 伺服器必須支援下列其中一種身分驗證方法:OAuth 2.0 (用戶端登入資料或 3LO)、API 金鑰/以金鑰為基礎的身分驗證,或 AWS Signature 第 4 版 (SigV4)。

安全考量

將 MCP 伺服器連線至 AWS DevOps 代理程式時,請考慮下列安全層面:

請注意,任何 MCP 工具的工具名稱長度上限為 64 個字元。如需每個客服人員空間允許的 MCP 工具數量上限,請參閱 配額

  • 提示注入風險 – 自訂 MCP 伺服器可能會帶來提示注入攻擊的額外風險。如需詳細資訊,請參閱提示注入保護: AWS DevOps 代理程式安全

  • 唯讀工具和存取 – 僅允許列出唯讀 MCP 工具,並確保身分驗證憑證只允許唯讀存取。

AWS DevOps 代理程式安全性 如需提示注入和共同責任模型的詳細資訊,請參閱 。

注意

如果您的 MCP 伺服器位於私有網路上,請參閱 連線至私有託管工具

社群 MCP 伺服器

AWS DevOps 代理程式工具儲存庫包含可部署的 MCP 伺服器,可提供代理程式自訂工具以進行深度基礎設施診斷,例如 Amazon Elastic Kubernetes Service (Amazon EKS) 節點日誌收集、Amazon Virtual Private Cloud (Amazon VPC) DNS 解析探查,以及 Amazon Relational Database Service (Amazon RDS) 資料庫運作狀態檢查。儲存庫由 AWS DevOps Agent 服務團隊維護,所有貢獻在新增之前都會經過相同的安全審查列。若要瀏覽可用的項目,請參閱 GitHub 網站上的 MCP 伺服器目錄

若要使用社群 MCP 伺服器:

  1. 遵循伺服器 README 中的部署指示,將 MCP 伺服器部署至 AWS 您的帳戶。

  2. 請依照下列註冊 MCP 伺服器中的步驟,以 代理程式空間註冊已部署的伺服器做為功能提供者。

註冊 MCP 伺服器 (帳戶層級)

MCP 伺服器會在 AWS 帳戶層級註冊,並在該帳戶中的所有客服人員空間之間共用。個別客服人員空間接著可以從每個 MCP 伺服器選擇所需的特定工具。

步驟 1:MCP 伺服器詳細資訊

  1. 登入 AWS 管理主控台

  2. 導覽至 AWS DevOps 代理程式主控台

  3. 前往能力提供者頁面 (可從側邊導覽存取)

  4. 可用提供者區段中尋找 MCP 伺服器,然後選擇註冊

  5. MCP 伺服器詳細資訊頁面上,輸入下列資訊:

    • 名稱 – 輸入 MCP 伺服器的描述性名稱

    • 端點 URL – 輸入 MCP 伺服器端點的完整 HTTPS URL

    • 描述 (選用) – 新增描述以協助識別伺服器的目的

    • 啟用動態用戶端註冊 – 如果您想要允許 AWS DevOps 代理程式自動向 MCP 伺服器的授權伺服器註冊,請選取此核取方塊

    • 使用私有連線連線至端點 – 如果您希望 AWS DevOps 代理程式私下向 MCP 伺服器發出請求,請選取此核取方塊。您可以選取現有的私有連線或建立新的私有連線。如果您使用 OAuth 身分驗證,私有連線會同時套用至 MCP 伺服器端點和字符交換端點。確保私有連線已設定主機地址,可將流量路由到兩個端點。如需詳細資訊,請參閱連線至私有託管工具

  6. 選擇 Next (下一步)

注意

MCP 伺服器端點 URL 會顯示在您帳戶中的 AWS CloudTrail 日誌中。

步驟 2:授權流程

選取 MCP 伺服器的身分驗證方法:

OAuth 用戶端登入資料 – 如果您的 MCP 伺服器使用 OAuth 用戶端登入資料流程:

  1. 選取 OAuth 用戶端登入資料

  2. 選擇下一步

OAuth 3LO (三引號 OAuth) – 如果您的 MCP 伺服器使用 OAuth 3LO 進行身分驗證:

  1. 選取 OAuth 3LO

  2. 選擇下一步

API 金鑰 – 如果您的 MCP 伺服器使用 API 金鑰身分驗證:

  1. 選取 API 金鑰

  2. 選擇下一步

AWS SigV4 – 如果您的 MCP 伺服器使用 AWS Signature 第 4 版身分驗證:

  1. 選取 AWS SigV4

  2. 選擇下一步

步驟 3:授權組態

根據選取的身分驗證方法設定其他授權參數:

對於 OAuth 用戶端登入資料:

  1. 用戶端 ID – 輸入 OAuth 用戶端的用戶端 ID

  2. 用戶端秘密 – 輸入 OAuth 用戶端的用戶端秘密

  3. Exchange URL – 輸入 OAuth 權杖交換端點 URL

  4. Exchange 參數 – 輸入 OAuth 權杖交換參數以使用 服務進行驗證

  5. 新增範圍 – 新增身分驗證的 OAuth 範圍

  6. 選擇下一步

對於 OAuth 3LO:

  1. 用戶端 ID – 輸入 OAuth 用戶端的用戶端 ID

  2. 用戶端秘密 – 如果您的 OAuth 用戶端需要,請輸入 OAuth 用戶端的用戶端秘密

  3. Exchange URL – 輸入 OAuth 權杖交換端點 URL

  4. 授權 URL - 輸入 OAuth 授權端點 URL

  5. 程式碼挑戰支援 - 如果您的 OAuth 用戶端支援程式碼挑戰,請選取此核取方塊

  6. 新增範圍 – 新增身分驗證的 OAuth 範圍

  7. 選擇下一步

針對 API 金鑰:

  1. 輸入 API 金鑰名稱

  2. 輸入將在請求中包含 API 金鑰的標頭名稱

  3. 輸入您的 API 金鑰值

  4. 選擇下一步

For AWS SigV4:

AWS SigV4 身分驗證可讓 AWS DevOps 代理程式連線至使用 AWS Signature 第 4 版進行請求簽署的 MCP 伺服器。這對於託管於 Amazon API Gateway 的 MCP 伺服器或其他支援 SigV4 身分驗證 AWS 的服務非常有用。

  1. 設定 IAM 角色 – 選擇下列其中一個選項:

    • 使用現有角色 – 從下拉式清單中選取現有的 IAM 角色。角色必須具有信任政策,允許 AWS DevOps Agent 服務主體擔任該角色 (請參閱建立 SigV4 身分驗證的 IAM 角色)。

    • 手動建立新角色 – 遵循主控台中顯示的step-by-step指示,使用正確的信任政策建立新的 IAM 角色。

    • 在沒有專用角色的情況下註冊 – 在未提供 IAM 角色的情況下註冊 MCP 伺服器。 AWS DevOps 代理程式會改為使用與 Agent Space 相關聯的 AWS 帳戶的 IAM 角色簽署請求,並延遲連線驗證,直到您與伺服器建立關聯為止。選擇此選項,跨連接到客服人員空間 AWS 的帳戶進行跨帳戶存取。如需詳細資訊,請參閱沒有專用角色的跨帳戶存取

  2. AWS 區域 – 輸入 SigV4 簽署 AWS 的區域 (例如 us-east-1)。若要使用 SigV4a 多區域簽署,請輸入 *

  3. 服務名稱 – 輸入 SigV4 簽署 AWS 的服務名稱 (例如,execute-apiAPI Gateway)。

  4. 自訂標頭 (選用) – 新增最多 10 個自訂鍵/值標頭對,以包含在每個已簽章的請求中。

  5. 選擇下一步

步驟 4:檢閱並提交

  1. 檢閱所有 MCP 伺服器組態詳細資訊

  2. 選擇提交以完成註冊

  3. AWS DevOps 代理程式將驗證與您的 MCP 伺服器的連線

  4. 成功驗證後,您的 MCP 伺服器將在帳戶層級註冊

在客服人員空間中設定 MCP 工具

在帳戶層級註冊 MCP 伺服器之後,您可以設定該伺服器的哪些工具可供特定 Agent Spaces 使用:

  1. 在 AWS DevOps 代理程式主控台中,選取您的代理程式空間

  2. 前往功能索引標籤

  3. MCP 伺服器區段中,選擇新增

  4. 選取您要連接到此客服人員空間的已註冊 MCP 伺服器

  5. 設定 Agent Space 應可從此 MCP 伺服器使用哪些工具:

    • 允許所有工具 – 讓 MCP 伺服器中的所有工具都可用

    • 選取特定工具 – 可讓您選擇要允許清單的工具

  6. 選擇新增以將 MCP 伺服器連線至您的客服人員空間

AWS DevOps 代理程式現在可以在此代理程式空間的調查期間,使用 MCP 伺服器的允許清單工具。

管理 MCP 伺服器連線

更新身分驗證憑證 – 您可以更新已註冊 MCP 伺服器的身分驗證憑證,而無需取消註冊。導覽至 AWS DevOps Agent 主控台中的功能提供者頁面,選取您的 MCP 伺服器,然後從動作功能表中選擇更新。您的客服人員空間關聯會保留。您可以更新的內容取決於身分驗證方法:

  • API 金鑰 – 輸入新的 API 金鑰值和標頭名稱來輪換憑證。更新期間無法變更端點。

  • OAuth 3LO (三引號 OAuth) – 重新執行授權流程以重新整理儲存的權杖。您不會重新輸入用戶端登入資料。當您提交時, AWS DevOps 代理程式會將您重新導向至提供者的同意頁面,以完成重新授權。或者,您可以覆寫授權 URL。如果您將其保留空白, AWS DevOps 代理程式會從 MCP 伺服器的中繼資料中探索它。

  • AWS SigV4 – 更新伺服器名稱、端點、描述、 AWS 區域、服務、IAM 角色和自訂標頭。

無法更新使用 OAuth 用戶端登入資料的 MCP 伺服器。若要變更這些登入資料,請移除任何作用中的關聯、取消註冊 MCP 伺服器,然後使用新值重新註冊。

檢視連線的 MCP 伺服器 – 若要查看所有連線至客服人員空間的 MCP 伺服器,請選取您的客服人員空間,前往功能索引標籤,然後檢查 MCP 伺服器區段。您也可以在這裡更新選取的工具。

移除 MCP 伺服器連線 – 若要中斷 MCP 伺服器與客服人員空間的連線,請在 MCP 伺服器區段中選取伺服器,然後選擇移除。若要完全刪除 MCP 伺服器註冊,請先將其從所有客服人員空間中移除,然後刪除帳戶層級註冊。

為 SigV4 身分驗證建立 IAM 角色

使用 AWS SigV4 身分驗證時, AWS DevOps 代理程式會在您的帳戶中擔任 IAM 角色,以簽署對 MCP 伺服器的請求。此角色必須具有信任政策,允許 AWS DevOps Agent 服務主體 (aidevops.amazonaws.com) 以混淆代理人保護來擔任該角色。

信任政策

使用下列信任政策建立 IAM 角色。將 取代REGION為您的 AWS 區域 (例如 us-east-1),並將 取代ACCOUNT_ID為您的 AWS 帳戶 ID。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "aidevops.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "ACCOUNT_ID" }, "ArnLike": { "aws:SourceArn": "arn:aws:aidevops:REGION:ACCOUNT_ID:service/*" } } } ] }

信任政策包含下列條件,以防止混淆代理人問題

  • aws:SourceAccount – 將角色假設限制為來自您 AWS 帳戶的請求。

  • aws:SourceArn – 將角色假設限制為您帳戶中來自 AWS DevOps Agent 服務資源的請求。

許可政策

將許可政策連接至角色,授予叫用 MCP 伺服器所需的最低許可。例如,如果您的 MCP 伺服器託管在 Amazon API Gateway 後方,該角色應具有 API Gateway 資源的execute-api:Invoke許可。

多區域簽署 (SigV4a)

如果您的 MCP 伺服器部署在多個 AWS 區域,您可以使用 SigV4a (簽章版本 4a) 進行多區域簽署。若要啟用此功能,請在設定 SigV4 授權時,輸入 *做為 AWS 區域。SigV4a 使用非對稱簽署,允許單一簽署的請求跨多個區域有效。

沒有專用角色的跨帳戶存取

您可以不用為 MCP 伺服器註冊專用 IAM 角色,而是使用無角色註冊:在沒有角色的情況下註冊伺服器,並使用已與您的 Agent Space 建立關聯 AWS 之帳戶的 IAM 角色進行 AWS DevOps代理程式簽署請求。當您的 MCP 伺服器需要存取跨連線至客服人員空間之主要和次要 AWS 帳戶的資源,而不是單一角色的範圍限定在一個帳戶時,這會很有用。

運作方式

沒有專用角色的跨帳戶存取運作方式如下:

  1. 在沒有角色的情況下註冊 MCP 伺服器 – 在 SigV4 授權組態步驟中,選擇在沒有專用角色的情況下註冊。 AWS DevOps 代理程式會註冊伺服器,但尚未驗證連線,因為沒有角色可簽署驗證請求。

  2. 將 MCP 伺服器與客服人員空間建立關聯 – 當您將 MCP 伺服器新增至客服人員空間時, AWS DevOps 客服人員會使用主要 AWS 帳戶 (監視器) 角色進行驗證。它會假設該角色和呼叫listTools,以確認伺服器可連線且組態有效。客服人員空間必須具有與其相關聯的主要 AWS 帳戶。該帳戶的角色必須能夠叫用您的 MCP 伺服器。

  3. 調查期間 – 當客服人員在特定帳戶上操作時使用 MCP 伺服器時,會使用該帳戶的角色簽署請求 - 主要帳戶的主要帳戶角色,以及每個次要帳戶對應的次要帳戶角色。代理程式將與此 MCP 伺服器搭配使用的每個主要或次要帳戶角色都必須能夠叫用它。

要求

將無角色 SigV4 MCP 伺服器與客服人員空間建立關聯之前:

  • 客服人員空間必須具有與其相關聯的主要 AWS 帳戶。如果沒有主要帳戶,關聯會失敗,因為主要帳戶角色會執行listTools驗證。錯誤訊息為:「在沒有專用角色的情況下註冊的 SigV4 MCP 伺服器需要在客服人員空間中建立主要帳戶關聯。」

  • 主要帳戶角色必須授予叫用 MCP 伺服器的許可 (例如,execute-api:Invoke針對 API Gateway 託管伺服器)。您希望代理程式與此 MCP 伺服器搭配使用的每個次要帳戶角色也必須授予此許可。如需詳細資訊,請參閱許可政策。 AWS DevOps 代理程式會在關聯時間使用主要角色,並在調查這些帳戶時使用次要角色。

疑難排解

關聯無角色 MCP 伺服器失敗:「需要主要帳戶關聯」

如果您註冊的 MCP 伺服器沒有專用角色且關聯失敗,請檢查錯誤訊息。如果錯誤指出伺服器在客服人員空間中需要主要帳戶關聯,則客服人員空間沒有與其連接的主要 AWS 帳戶。

AWS DevOps 代理程式會在建立關聯時,使用代理程式空間主要 AWS 帳戶的 IAM 角色來驗證無角色 SigV4 MCP 伺服器。若要解決此問題:

  1. 如果沒有主要帳戶,請將主要 AWS 帳戶新增至客服人員空間。

  2. 請確定帳戶的 IAM 角色具有叫用 MCP 伺服器的許可 (例如,execute-api:Invoke針對託管於 Amazon API Gateway 的伺服器)。

  3. 再次關聯 MCP 伺服器。

  • 安全 in AWS DevOps 代理程式

  • 設定 代理程式空間

  • 提示注入保護