

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

# 連線至 DevOps Agent 遠端伺服器
<a name="accessing-devops-agent-connect-to-devops-agent-remote-servers"></a>

AWS DevOps Agent 為模型內容通訊協定 (MCP) 和Agent-to-Agent(A2A) 通訊協定提供專用遠端伺服器。使用這些伺服器將您的 IDE、CLI 或自訂代理程式整合連接到 代理程式空間。

## 支援的通訊協定
<a name="supported-protocols"></a>
+ **MCP （模型內容通訊協定）** – 連接 IDE 和 CLI 用戶端，例如 Kiro、Claude Code、Cursor 和其他 MCP 相容工具。
+ **A2A Agent-to-Agent) 1.0 版** – 連接自動代理程式以進行agent-to-agent程式的通訊。

## 端點
<a name="endpoints"></a>

遠端伺服器可在區域 URL 取得：

```
https://connect.aidevops.{region}.api.aws
```


| 通訊協定 | 路徑 | Method | 
| --- | --- | --- | 
| MCP | /mcp | POST | 
| A2A | /a2a/\* | POST | 
| A2A 代理程式卡 | /.well-known/agent-card.json | GET | 

如需可用區域的清單，請參閱 [支援的區域](about-aws-devops-agent-supported-regions.md)。

## 身分驗證
<a name="authentication"></a>

MCP 和 A2A 端點皆可使用兩種身分驗證方法：
+ **存取字符 （承載）** – 範圍為一個客服人員空間的單一字符。用於個別用途的最簡單設定。
+ **AWS SigV4** – AWS 以憑證為基礎的身分驗證。支援多個 Agent Spaces，並與現有的 AWS 身分控管整合。由 [mcp-proxy-for-aws](https://github.com/aws/mcp-proxy-for-aws) 自動處理，這是使用登入 AWS 資料簽署請求的本機代理。

## 建立存取字符
<a name="create-an-access-token"></a>

### 先決條件
<a name="prerequisites"></a>
+ 必須在您的客服人員空間上啟用存取權杖功能。
+ 您必須擁有 IAM 許可才能管理存取權杖 (`aidevops:CreateAccessToken`、`aidevops:RevokeAccessToken`、`aidevops:RotateAccessToken`)。如需完整清單，請參閱[DevOps 代理程式 IAM 許可](aws-devops-agent-security-devops-agent-iam-permissions.md)。

### 啟用存取權杖
<a name="enable-access-tokens"></a>

1. 登入 AWS 管理主控台並開啟 AWS DevOps 代理程式主控台。

1. 選擇您的客服人員空間。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 在**存取字符**區段中，選擇**啟用**。

1. 確認動作。

### 建立權杖
<a name="create-a-token"></a>

1. 開啟代理程式空間的 DevOps 代理程式 Web 應用程式，然後從導覽功能表中選擇**設定**，然後選擇**存取字符**。

1. 選擇 **Generate token (產生字符)**。

1. 輸入字符的名稱。

1. 選擇範圍：
   + `read` – 檢視調查、建議、聊天和客服人員空間資源。
   + `operate` – 完整存取。包含 中的所有內容`read`，以及傳送訊息、建立聊天和管理待處理任務和建議。

1. 選擇用戶端類型：
   + `human` – 適用於 IDE 和 CLI 使用 (Kiro、Claude Code、Cursor 和其他互動式工具）。
   + `agent` – 用於自動 A2A 整合和程式設計代理程式。

1. 設定過期時間 (1 到 60 天）。

1. 複製字符值並存放在安全的位置，例如 [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)。您無法再次擷取它。

建立字符之後，Web 應用程式會顯示組態範例，您可以直接複製到用戶端。

## 與 Kiro 連線
<a name="connect-with-kiro"></a>

對於 [Kiro](https://kiro.dev/) 使用者，可以從 IDE 或 [Kiro Powers 市集](https://kiro.dev/powers/#aws-devops-agent)取得專用的 **AWS DevOps Agent** 電源。

**步驟 1：安裝電源**

從 Powers 市集安裝 **aws-devops-agent** 電源。

**步驟 2：設定環境變數**

設定下列環境變數來設定連線：

```
DEVOPS_AGENT_TOKEN=<your-access-token>
DEVOPS_AGENT_REGION=<your-agent-space-region>
```

**步驟 3：核准 Kiro 中的變數**

前往**設定** > **MCP 核准的 Env Vars** 並核准 `DEVOPS_AGENT_TOKEN`和 `DEVOPS_AGENT_REGION`。在環境變數獲得核准之前，Kiro 不會將它們傳遞至 MCP 伺服器。

**步驟 4：重新啟動 Kiro**

重新啟動 Kiro 以套用變更。

Kiro 電源包含 `aws-mcp`做為備用，可在遠端伺服器端點無法使用時提供直接 AWS API 存取。

## 使用 Claude Code 連線
<a name="connect-with-claude-code"></a>

對於 [Claude Code](https://code.claude.com/docs/en/overview) 使用者， AWS DevOps Agent 可從 **aws-agents-for-devsecops** Claude 外掛程式取得，該外掛程式將 AWS DevOps Agent 和 AWS 安全代理程式功能帶入 Claude。從 [Claude 外掛程式](https://claude.com/plugins/aws-agents-for-devsecops)或[來源儲存庫](https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-agents-for-devsecops)安裝它。

1. 安裝 **aws-agents-for-devsecops** 外掛程式。

1. 執行 `/aws-agents-for-devsecops:setup-devops-agent`命令來設定您的連線。

## 與其他 MCP 用戶端連線
<a name="connect-with-other-mcp-clients"></a>

對於任何與 MCP 相容的用戶端，請使用下列項目設定伺服器：
+ **URL** – `https://connect.aidevops.{region}.api.aws/mcp`
+ **授權標頭** – `Bearer <your-token>`
+ **逾時** – 最短 120 秒 （初始回應可能需要 5–30 秒；持續的聊天工作階段可能需要更長的時間）

如果您偏好手動設定連線，而不是使用專用電源或外掛程式，則此組態也適用於 Kiro 和 Claude Code。

範例 MCP 組態：

```
{
  "mcpServers": {
    "aws-devops-agent": {
      "url": "https://connect.aidevops.{region}.api.aws/mcp",
      "headers": {
        "Authorization": "Bearer <your-access-token>"
      }
    }
  }
}
```

`{region}` 將 取代為您的 Agent Space 區域 （例如 `us-east-1`)，並將 `<your-access-token>`取代為字符值。

## 使用 SigV4 身分驗證
<a name="use-sigv4-authentication"></a>

SigV4 身分驗證使用您的 AWS 登入資料，而非存取字符。Kiro power 和 Claude Code 外掛程式包含透過 的內建 SigV4 支援`mcp-proxy-for-aws`，這會使用您的本機 AWS 登入資料簽署請求。

### 使用 SigV4 時
<a name="when-sigv4-is-used"></a>
+ 當存取權杖未設定或失敗 （過期、無效） 時做為**備用**。
+ 當您有多個客服人員空間且需要`agent_space_id`每個工具呼叫路由 時，做為**主要**身分驗證。
+ 作為**使用者選擇** – 在 Claude Code 中，執行安裝技能以從 Bearer 權杖切換到 SigV4 驗證。

### 先決條件
<a name="prerequisites"></a>
+ AWS 環境中可用的登入資料 （透過 SSO、環境變數或登入資料檔案）。
+ 您的登入資料必須具有叫用 AWS DevOps 代理程式動作的許可。如要了解必要的許可，請參閱 [DevOps 代理程式 IAM 許可](aws-devops-agent-security-devops-agent-iam-permissions.md)。
+ `uvx` 已安裝 （代理透過 執行`uvx mcp-proxy-for-aws@latest`)。

### 範例組態
<a name="example-configuration"></a>

若要將 MCP 用戶端設定為使用 SigV4 而非存取字符，請透過 執行伺服器`mcp-proxy-for-aws`。`{region}` 將 取代為 代理程式空間的區域 （例如 `us-east-1`)：

```
{
  "mcpServers": {
    "aws-devops-agent": {
      "command": "uvx",
      "timeout": 120000,
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://connect.aidevops.{region}.api.aws/mcp",
        "--service", "aidevops",
        "--region", "{region}"
      ]
    }
  }
}
```

代理會使用本機 AWS 登入資料簽署每個請求，因此不需要存取字符。

### Multi-Agent-Space路由
<a name="multi-agent-space-routing"></a>

在 SigV4 模式中，`agent_space_id`傳遞每個工具呼叫，以指定要使用的客服人員空間。這可讓您從單一用戶端跨多個客服人員空間進行路由。

## A2A 整合
<a name="a2a-integration"></a>

A2A 端點會使用 HTTP\+JSON 繫結實作 [A2A v1.0 規格](https://a2a-protocol.org/latest/specification/)。

### 客服人員卡探索
<a name="agent-card-discovery"></a>

在以下位置擷取代理程式卡：

```
GET https://connect.aidevops.{region}.api.aws/.well-known/agent-card.json
```

### 受支援的操作
<a name="supported-operations"></a>
+ `SendMessage` – 傳送訊息並接收回應。
+ `SendStreamingMessage` – 產生回應時串流回應。
+ `GetTask` – 檢查非同步任務的狀態。
+ `ListTasks` – 列出客服人員空間的任務。
+ `CancelTask` – 取消執行中的任務。
+ `SubscribeToTask` – 透過伺服器傳送的事件訂閱任務更新。

### 技能
<a name="skills"></a>
+ **調查** – 操作問題的深度非同步分析 (5-8 分鐘）。
+ **聊天**：操作問題的即時解答。

## 安全考量
<a name="security-considerations"></a>

### 權杖範圍
<a name="token-scoping"></a>
+ 使用最低權限：`operate`只有在用戶端需要傳送訊息或管理任務時，`read`才為唯讀整合選擇 。
+ 定期輪換權杖。字符會在設定的持續時間後過期 （最長 60 天）。
+ 將權杖儲存在環境變數或秘密管理員中。請勿在原始程式碼中硬式編碼字符。
+ 未經人工審核，請勿自動執行客服人員回應。

### IP 允許清單
<a name="ip-allowlist"></a>

建立存取權杖時，您可以選擇指定 IP 允許清單。設定後，字符只能從指定的 IP 地址或 CIDR 範圍使用。來自其他 IPs請求會因存取遭拒錯誤而遭到拒絕。

### 權杖輪換和撤銷
<a name="token-rotation-and-revocation"></a>
+ **輪換** – 輪換權杖以產生新的權杖值，同時保留權杖的名稱、範圍和 IP 允許清單。舊字符會立即失效。使用新的字符值更新您的用戶端組態。
+ **撤銷** – 如果權杖洩露，請立即撤銷權杖。撤銷的權杖無法使用，也無法還原。

#### 回應遭到入侵的字符
<a name="responding-to-a-compromised-token"></a>

如果您懷疑字符已洩露，請遵循下列步驟：

1. **封鎖所有字符存取** – 在 AWS DevOps 代理程式主控台中，開啟您的代理程式空間，選擇**組態**索引標籤，然後在存取字符區段中選擇**停用**。這會立即封鎖對 代理程式空間的所有字符型存取。

1. **撤銷洩露的字符** – 在 Web 應用程式中，前往**設定** > **存取字符**，選擇洩露的字符，然後選擇**撤銷**。即使停用存取權杖，您也可以撤銷權杖。

1. **重新啟用存取字符** – 撤銷遭到入侵的字符之後，如果您仍需要字符型存取，請從**組態**索引標籤重新啟用存取字符。

#### 以程式設計方式撤銷權杖
<a name="revoking-tokens-programmatically"></a>

您也可以使用 以程式設計方式撤銷權杖`awscurl`。下列命令使用 SigV4 身分驗證。將區域 (`us-east-1`) 取代為建立客服人員空間的區域。

**注意：**步驟 1 使用 AWS CLI。步驟 2 和 3 使用 [awscurl](https://github.com/okigan/awscurl)，這是使用 SigV4 簽署 HTTP 請求的命令列工具，因為存取字符操作尚未有專用的 AWS CLI 命令。

**步驟 1：列出您的客服人員空間**

```
aws aidevops list-agent-spaces --region us-east-1
```

**步驟 2：列出客服人員空間的存取權杖**

```
awscurl --service aidevops --region us-east-1 \
  -H "Accept: application/json" \
  "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens"
```

**步驟 3：撤銷權杖**

```
awscurl --service aidevops --region us-east-1 -X POST \
  -H "Accept: application/json" \
  "https://cp.aidevops.us-east-1.api.aws/v1/agentspaces/{agentSpaceId}/access-tokens/{accessTokenId}/revoke"
```

將 `{agentSpaceId}`和 取代`{accessTokenId}`為先前回應中的值。

### 可追蹤性
<a name="traceability"></a>

使用存取字符時， AWS DevOps 代理程式會代表您擔任角色來執行動作。此`AssumeRole`呼叫會記錄在具有工作階段標籤的 AWS CloudTrail 中，以識別權杖和呼叫者：
+ `AgentSpaceId` – 客服人員空間的識別符。
+ `UserId` – 權杖建立者的身分。
+ `AccessTokenId` – 字符的唯一識別符。
+ `TokenName` – 使用的存取字符名稱。
+ `ClientType` – 使用的通訊協定 (MCP、A2A)。
+ `SourceIp` – 用戶端的 IP 地址。
+ `UserAgent` – 用戶端使用者代理程式字串 （可用時）。

任一身分驗證方法的直接 MCP 和 A2A 端點調用都不會記錄在 CloudTrail 中。每個調用都有記錄在 CloudTrail 中的對應下游 AWS API 呼叫，其可識別的角色工作階段名稱格式為 `token_{spaceId}_{timestamp}_{tokenName}`。

### VPC 端點政策限制
<a name="vpc-endpoint-policy-limitation"></a>

遠端伺服器端點不支援 VPC 端點政策。VPC 端點政策無法限制使用存取字符或 SigV4 身分驗證的呼叫。

### 停用存取權杖
<a name="disabling-access-tokens"></a>

存取字符功能預設為關閉。若要在啟用後停用它：

1. 開啟 代理程式空間的**組態**索引標籤。

1. 在**存取字符**區段中，選擇**停用**。

停用會立即封鎖所有字符型存取。現有的字符不會刪除，但在重新啟用功能之前無法使用。

為了防止組織中的使用者啟用存取權杖，請建立拒絕存取權杖 API 動作和 `UpdateAgentSpace` 動作 （控制存取權杖切換） 的服務控制政策 (SCP)：

**注意：**拒絕`aidevops:UpdateAgentSpace`也會防止其他客服人員空間更新 （名稱、描述、地區設定）。如果太廣泛，請將其從 SCP 中省略 — 剩餘的拒絕仍然會阻止權杖建立和使用，即使有人啟用此功能。

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessTokenOperations",
      "Effect": "Deny",
      "Action": [
        "aidevops:UpdateAgentSpace",
        "aidevops:CreateAccessToken",
        "aidevops:GetAccessToken",
        "aidevops:ListAccessTokens",
        "aidevops:RotateAccessToken",
        "aidevops:RevokeAccessToken"
      ],
      "Resource": "*"
    }
  ]
}
```

## 疑難排解
<a name="troubleshooting"></a>


| 徵狀 | 原因 | Resolution | 
| --- | --- | --- | 
| HTTP 401 未授權 | 字符無效或過期。 | 在 Web 應用程式中建立新的字符或輪換現有的字符。 | 
| HTTP 400 "需要 A2A-Version 標頭" | 缺少通訊協定版本標頭。僅支援 A2A v1.0。 | 將A2A-Version: 1.0標頭新增至 A2A 請求。 | 
| 請求逾時 | 初始回應需要 5-30 秒。調查需要 5-8 分鐘。 | 將用戶端逾時設定為至少 120 秒。 | 
| 連線遭拒 | 不正確的端點 URL 或區域。 | 驗證 URL 格式： https://connect.aidevops.{region}.api.aws | 