

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# DevOps Agent リモートサーバーに接続する
<a name="accessing-devops-agent-connect-to-devops-agent-remote-servers"></a>

AWS DevOps エージェントは、Model Context Protocol (MCP) および Agent-to-Agent (A2A) プロトコル専用のリモートサーバーを提供します。これらのサーバーを使用して、IDE、CLI、またはカスタムエージェント統合をエージェントスペースに接続します。

## サポートされるプロトコル
<a name="supported-protocols"></a>
+ **MCP (モデルコンテキストプロトコル)** – Kiro、Claude Code、カーソル、その他の MCP 互換ツールなどの IDE クライアントと CLI クライアントを接続します。
+ **A2A (Agent-to-Agent) v1.0** – エージェントagent-to-agent通信用に自律エージェントを接続します。

## エンドポイント
<a name="endpoints"></a>

リモートサーバーは、リージョン URL で利用できます。

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


| プロトコル | パス | 方法 | 
| --- | --- | --- | 
| 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 エンドポイントの両方で 2 つの認証方法を使用できます。
+ **アクセストークン (ベアラー)** – 1 つのエージェントスペースにスコープされた 1 つのトークン。個別の使用のための最も簡単なセットアップ。
+ **AWS SigV4** – AWS 認証情報ベースの認証。複数のエージェントスペースをサポートし、既存の AWS ID ガバナンスと統合します。 AWS 認証情報を使用してリクエストに署名するローカルプロキシである [mcp-proxy-for-aws](https://github.com/aws/mcp-proxy-for-aws) によって自動的に処理されます。

## アクセストークンを作成する
<a name="create-an-access-token"></a>

### 前提条件
<a name="prerequisites"></a>
+ アクセストークン機能は、エージェントスペースで有効にする必要があります。
+ アクセストークン (`aidevops:CreateAccessToken`、、) を管理するには`aidevops:RevokeAccessToken`、IAM アクセス許可が必要です`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. **[設定]** タブを選択します。

1. **アクセストークン**セクションで、**有効化**を選択します。

1. アクションを確認します。

### トークンを作成する
<a name="create-a-token"></a>

1. エージェントスペースの DevOps エージェントウェブアプリを開き、ナビゲーションメニューから**設定**を選択し、**アクセストークン**を選択します。

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) などの安全で安全な場所に保存します。再度取得することはできません。

トークンを作成すると、ウェブアプリケーションにクライアントに直接コピーできる設定例が表示されます。

## Kiro との接続
<a name="connect-with-kiro"></a>

[Kiro](https://kiro.dev/) ユーザーには、IDE または Kiro Powers マーケットプレイスから専用の **AWS DevOps Agent** パワーを利用できます。 [https://kiro.dev/powers/#aws-devops-agent](https://kiro.dev/powers/#aws-devops-agent)

**ステップ 1: 電源をインストールする**

Powers Marketplace から **aws-devops-agent** power をインストールします。

**ステップ 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 コードで接続する
<a name="connect-with-claude-code"></a>

[Claude Code](https://code.claude.com/docs/en/overview) ユーザーの場合、 AWS DevOps エージェントは **aws-agents-for-devsecops** Claude プラグインから使用できます。これにより、 AWS DevOps エージェントと 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>"
      }
    }
  }
}
```

をエージェントスペースのリージョン ( など`us-east-1`) `{region}`に、 をトークン値`<your-access-token>`に置き換えます。

## SigV4 認証を使用する
<a name="use-sigv4-authentication"></a>

SigV4 認証は、アクセストークンの代わりに AWS 認証情報を使用します。Kiro power および Claude Code プラグインには、ローカル AWS 認証情報を使用してリクエストに署名する`mcp-proxy-for-aws`、 を介した組み込み SigV4 サポートが含まれています。

### SigV4 を使用する場合
<a name="when-sigv4-is-used"></a>
+ アクセストークンが設定されていないか失敗した場合 (期限切れ、無効) の**フォールバック**として。
+ 複数のエージェントスペースがあり、ツール呼び出し`agent_space_id`ごとに でルーティングする必要がある場合の**プライマリ**認証として。
+ **ユーザーの選択**として – Claude Code でセットアップスキルを実行して、ベアラートークンから 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>

アクセストークンの代わりに SigV4 を使用するように MCP クライアントを設定するには、 を介してサーバーを実行します`mcp-proxy-for-aws`。をエージェントスペースのリージョン (例: `us-east-1`) `{region}`に置き換えます。

```
{
  "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`を渡して、使用するエージェントスペースを指定します。これにより、1 つのクライアントから複数のエージェントスペースにルーティングできます。

## 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 分）。
+ **chat** – 運用上の質問に対する即時の回答。

## セキュリティに関する考慮事項
<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. **侵害されたトークンの取り消し** – ウェブアプリで、**設定** > **アクセストークン**に移動し、侵害されたトークンを選択し、**取り消し**を選択します。アクセストークンが無効になっている場合でも、トークンを取り消すことができます。

1. **アクセストークンの再有効化** – 侵害されたトークンを取り消した後、トークンベースのアクセスがまだ必要な場合は、**設定**タブからアクセストークンを再有効化します。

#### プログラムによるトークンの取り消し
<a name="revoking-tokens-programmatically"></a>

を使用してプログラムでトークンを取り消すこともできます`awscurl`。次のコマンドは SigV4 認証を使用します。リージョン (`us-east-1`) を、エージェントスペースが作成されたリージョンに置き換えます。

**注:** ステップ 1 では CLI AWS を使用します。ステップ 2 と 3 では、アクセストークンオペレーションに専用の CLI コマンドがまだないため、SigV4 で HTTP リクエストに署名するコマンドラインツールである [awscurl](https://github.com/okigan/awscurl) AWS を使用します。

**ステップ 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 Agent はユーザーに代わってロールを引き受けてアクションを実行します。この`AssumeRole`呼び出しは、トークンと発信者を識別するセッションタグを使用して AWS CloudTrail に記録されます。
+ `AgentSpaceId` – エージェントスペースの識別子。
+ `UserId` – トークン作成者の ID。
+ `AccessTokenId` – トークンの一意の識別子。
+ `TokenName` – 使用されるアクセストークンの名前。
+ `ClientType` – 使用するプロトコル (MCP、A2A)。
+ `SourceIp` – クライアントの IP アドレス。
+ `UserAgent` – Client User-Agent 文字列 (使用可能な場合）。

直接 MCP および A2A エンドポイント呼び出しは、どちらの認証方法でも CloudTrail には記録されません。各呼び出しには、CloudTrail に記録された対応するダウンストリーム AWS API コールがあり、 形式の識別可能なロールセッション名があります`token_{spaceId}_{timestamp}_{tokenName}`。

### VPC エンドポイントポリシーの制限
<a name="vpc-endpoint-policy-limitation"></a>

リモートサーバーエンドポイントは VPC エンドポイントポリシーをサポートしていません。アクセストークンまたは SigV4 認証のいずれかを使用した呼び出しは、VPC エンドポイントポリシーでは制限できません。

### アクセストークンの無効化
<a name="disabling-access-tokens"></a>

アクセストークン機能はデフォルトでオフになっています。有効にした後で無効にするには:

1. エージェントスペース**の設定**タブを開きます。

1. **Access tokens** セクションで、**Disable** を選択します。

を無効にすると、すべてのトークンベースのアクセスがすぐにブロックされます。既存のトークンは削除されませんが、機能を再度有効にするまで使用できません。

組織内のユーザーがアクセストークンを有効にできないようにするには、アクセストークン 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>


| 症状 | 原因 | 解像度 | 
| --- | --- | --- | 
| HTTP 401 未承認 | トークンが無効または期限切れです。 | ウェブアプリで新しいトークンを作成するか、既存のトークンをローテーションします。 | 
| HTTP 400 「A2A-Version ヘッダーが必要」 | プロトコルバージョンヘッダーがありません。A2A v1.0 のみがサポートされています。 | A2A リクエストにA2A-Version: 1.0ヘッダーを追加します。 | 
| リクエストタイムアウト | 初期応答には 5～30 秒かかります。調査には 5～8 分かかります。 | クライアントタイムアウトを少なくとも 120 秒に設定します。 | 
| 接続が拒否されました | エンドポイント URL またはリージョンが正しくありません。 | URL 形式を確認します。 https://connect.aidevops.{region}.api.aws | 