

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Connect ke server jauh DevOps Agen
<a name="accessing-devops-agent-connect-to-devops-agent-remote-servers"></a>

AWS DevOps Agen menyediakan server jarak jauh khusus untuk protokol Model Context Protocol (MCP) dan Agent-to-Agent (A2A). Gunakan server ini untuk menghubungkan IDE, CLI, atau integrasi agen kustom Anda ke Ruang Agen.

## Protokol yang didukung
<a name="supported-protocols"></a>
+ **MCP (Model Context Protocol)** — Hubungkan klien IDE dan CLI seperti Kiro, Claude Code, Cursor, dan alat lainnya. MCP-compatible 
+ **A2A (Agent-to-Agent) v1.0 —** Hubungkan agen otonom untuk komunikasi agen-ke-agen.

## Titik akhir
<a name="endpoints"></a>

Server jarak jauh tersedia di URL regional:

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


| Protokol | Jalan | Metode | 
| --- | --- | --- | 
| MCP | /mcp | POST | 
| A2A | /a2a/\* | POST | 
| Kartu agen A2A | /.well-known/agent-card.json | GET | 

Untuk daftar Wilayah yang tersedia, lihat[Wilayah yang Didukung](about-aws-devops-agent-supported-regions.md).

## Autentikasi
<a name="authentication"></a>

Dua metode otentikasi tersedia untuk titik akhir MCP dan A2A:
+ **Access token (Bearer)** — Satu token yang dicakup ke satu Ruang Agen. Pengaturan paling sederhana untuk penggunaan individu.
+ **AWS SiGv4** — otentikasi berbasis AWS kredensyal. Mendukung beberapa Ruang Agen dan terintegrasi dengan tata kelola AWS identitas yang ada. Ditangani secara otomatis oleh [mcp-proxy-for-aws](https://github.com/aws/mcp-proxy-for-aws), proxy lokal yang menandatangani permintaan menggunakan kredensyal Anda. AWS 

## Buat token akses
<a name="create-an-access-token"></a>

### Prasyarat
<a name="prerequisites"></a>
+ Fitur token akses harus diaktifkan di Ruang Agen Anda.
+ Anda harus memiliki izin IAM untuk mengelola token akses (`aidevops:CreateAccessToken`,`aidevops:RevokeAccessToken`,`aidevops:RotateAccessToken`). Untuk daftar lengkapnya, lihat [DevOps Izin Agen IAM](aws-devops-agent-security-devops-agent-iam-permissions.md).

### Aktifkan token akses
<a name="enable-access-tokens"></a>

1. Masuk ke Konsol AWS Manajemen dan buka konsol AWS DevOps Agen.

1. Pilih Ruang Agen Anda.

1. Pilih tab **Konfigurasi**.

1. Di bagian **Access token**, pilih **Enable**.

1. Konfirmasikan tindakan.

### Buat token
<a name="create-a-token"></a>

1. Buka aplikasi web DevOps Agen untuk Ruang Agen Anda, lalu dari menu navigasi, pilih **Pengaturan**, lalu pilih **Token Akses**.

1. Pilih **Hasilkan token**.

1. Masukkan nama untuk token.

1. Pilih ruang lingkup:
   + `read`— Lihat investigasi, rekomendasi, obrolan, dan sumber daya Agen Ruang.
   + `operate`— Akses penuh. Termasuk semua yang ada di dalamnya`read`, ditambah mengirim pesan, membuat obrolan, dan mengelola tugas dan rekomendasi backlog.

1. Pilih jenis klien:
   + `human`— Untuk penggunaan IDE dan CLI (Kiro, Kode Claude, Kursor, dan alat interaktif lainnya).
   + `agent`— Untuk integrasi A2A otonom dan agen terprogram.

1. Tetapkan kedaluwarsa (1 hingga 60 hari).

1. Salin nilai token dan simpan di lokasi yang aman dan aman, seperti [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html). Anda tidak dapat mengambilnya lagi.

Setelah membuat token, aplikasi web menampilkan contoh konfigurasi yang dapat Anda salin langsung ke klien Anda.

## Connect dengan Kiro
<a name="connect-with-kiro"></a>

Untuk pengguna [Kiro](https://kiro.dev/), kekuatan **AWS DevOps Agen** khusus tersedia dari IDE atau dari pasar [Kiro Powers](https://kiro.dev/powers/#aws-devops-agent).

**Langkah 1: Pasang daya**

Instal kekuatan **aws-devops-agent** dari pasar Powers.

**Langkah 2: Mengatur variabel lingkungan**

Mengatur variabel lingkungan berikut untuk mengkonfigurasi koneksi:

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

**Langkah 3: Menyetujui variabel di Kiro**

Buka **Pengaturan>** **MCP Disetujui Env Vars** dan setujui dan. `DEVOPS_AGENT_TOKEN` `DEVOPS_AGENT_REGION` Kiro tidak meneruskan variabel lingkungan ke server MCP sampai mereka disetujui.

**Langkah 4: Mulai ulang Kiro**

Mulai ulang Kiro untuk menerapkan perubahan.

Daya Kiro termasuk `aws-mcp` sebagai fallback, yang menyediakan akses AWS API langsung ketika titik akhir server jarak jauh tidak tersedia.

## Connect dengan Claude Code
<a name="connect-with-claude-code"></a>

Untuk pengguna [Claude Code](https://code.claude.com/docs/en/overview), AWS DevOps Agen tersedia dari plugin Claude **aws-agents-for-devsecops**, yang membawa kemampuan Agen dan Agen Keamanan ke Claude. AWS DevOps AWS [Instal dari [plugin Claude](https://claude.com/plugins/aws-agents-for-devsecops) atau repositori sumber.](https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-agents-for-devsecops)

1. Instal plugin **aws-agents-for-devsecops**.

1. Jalankan `/aws-agents-for-devsecops:setup-devops-agent` perintah untuk mengkonfigurasi koneksi Anda.

## Connect dengan klien MCP lainnya
<a name="connect-with-other-mcp-clients"></a>

Untuk MCP-compatible klien apa pun, konfigurasikan server dengan:
+ **URL** — `https://connect.aidevops.{region}.api.aws/mcp`
+ **Header otorisasi** - `Bearer <your-token>`
+ **Timeout** - 120 detik minimum (tanggapan awal dapat memakan waktu 5-30 detik; sesi obrolan yang sedang berlangsung mungkin memakan waktu lebih lama)

Konfigurasi ini juga berfungsi dengan Kiro dan Claude Code jika Anda lebih suka mengonfigurasi koneksi secara manual daripada menggunakan daya atau plugin khusus.

Contoh konfigurasi MCP:

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

Ganti `{region}` dengan Wilayah Ruang Agen Anda (misalnya,`us-east-1`) dan `<your-access-token>` dengan nilai token.

## Gunakan otentikasi SiGv4
<a name="use-sigv4-authentication"></a>

Otentikasi SiGv4 menggunakan AWS kredensyal Anda alih-alih token akses. Plugin Kiro power dan Claude Code menyertakan dukungan SigV4 bawaan`mcp-proxy-for-aws`, yang menandatangani permintaan menggunakan kredensyal lokal Anda. AWS 

### Ketika SiGv4 digunakan
<a name="when-sigv4-is-used"></a>
+ Sebagai **fallback** ketika token akses tidak dikonfigurasi atau gagal (kedaluwarsa, tidak valid).
+ Sebagai autentikasi **utama** ketika Anda memiliki beberapa Ruang Agen dan perlu merutekan `agent_space_id` per panggilan alat.
+ Sebagai **pilihan pengguna** — di Claude Code, jalankan skill setup untuk beralih dari token Bearer ke sigV4 auth.

### Prasyarat
<a name="prerequisites"></a>
+ AWS kredensyal yang tersedia di lingkungan (melalui SSO, variabel lingkungan, atau file kredensyal).
+ Kredensyal Anda harus memiliki izin untuk memanggil tindakan Agen AWS DevOps . Untuk izin yang diperlukan, lihat [DevOps Izin Agen IAM](aws-devops-agent-security-devops-agent-iam-permissions.md).
+ `uvx`diinstal (proxy berjalan melalui`uvx mcp-proxy-for-aws@latest`).

### Contoh konfigurasi
<a name="example-configuration"></a>

Untuk mengonfigurasi klien MCP agar menggunakan SiGv4 alih-alih token akses, jalankan server melalui. `mcp-proxy-for-aws` Ganti `{region}` dengan Wilayah Ruang Agen Anda (misalnya,`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}"
      ]
    }
  }
}
```

Proxy menandatangani setiap permintaan dengan AWS kredensyal lokal Anda, jadi tidak diperlukan token akses.

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

Dalam mode SiGv4, `agent_space_id` teruskan setiap panggilan alat untuk menentukan Ruang Agen mana yang akan digunakan. Ini memungkinkan untuk merutekan beberapa Ruang Agen dari satu klien.

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

Titik akhir A2A mengimplementasikan spesifikasi [A2A v1.0 menggunakan pengikatan HTTP\+JSON](https://a2a-protocol.org/latest/specification/).

### Penemuan kartu agen
<a name="agent-card-discovery"></a>

Ambil kartu agen di:

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

### Operasi yang didukung
<a name="supported-operations"></a>
+ `SendMessage`— Kirim pesan dan terima tanggapan.
+ `SendStreamingMessage`— Streaming tanggapan saat dihasilkan.
+ `GetTask`— Periksa status tugas asinkron.
+ `ListTasks`— Daftar tugas untuk Ruang Agen.
+ `CancelTask`— Batalkan tugas yang sedang berjalan.
+ `SubscribeToTask`— Berlangganan pembaruan tugas melalui acara yang dikirim server.

### Keterampilan
<a name="skills"></a>
+ **menyelidiki** — Analisis asinkron mendalam dari masalah operasional (5-8 menit).
+ **obrolan** — Jawaban instan untuk pertanyaan operasional.

## Pertimbangan keamanan
<a name="security-considerations"></a>

### Pelingkupan token
<a name="token-scoping"></a>
+ Gunakan hak istimewa paling sedikit: pilih `read` untuk integrasi hanya-baca, `operate` hanya ketika klien perlu mengirim pesan atau mengelola tugas.
+ Putar token secara berkala. Token kedaluwarsa setelah durasi yang dikonfigurasi (maksimum 60 hari).
+ Simpan token dalam variabel lingkungan atau manajer rahasia. Jangan hardcode token dalam kode sumber.
+ Jangan mengeksekusi respons agen secara otomatis tanpa tinjauan manusia.

### Daftar Izin IP
<a name="ip-allowlist"></a>

Saat membuat token akses, Anda dapat secara opsional menentukan daftar izin IP. Saat dikonfigurasi, token hanya dapat digunakan dari alamat IP atau rentang CIDR yang ditentukan. Permintaan dari IP lain ditolak dengan kesalahan akses ditolak.

### Rotasi dan pencabutan token
<a name="token-rotation-and-revocation"></a>
+ **Rotasi** — Putar token untuk menghasilkan nilai token baru sambil mempertahankan nama token, cakupan, dan daftar izin IP. Token lama segera dibatalkan. Perbarui konfigurasi klien Anda dengan nilai token baru.
+ **Pencabutan** — Jika token dikompromikan, segera cabut. Token yang dicabut tidak dapat digunakan dan tidak dapat dipulihkan.

#### Menanggapi token yang dikompromikan
<a name="responding-to-a-compromised-token"></a>

Jika Anda mencurigai token telah disusupi, ikuti langkah-langkah berikut:

1. **Blokir semua akses token** — Di konsol AWS DevOps Agen, buka Ruang Agen Anda, pilih tab **Konfigurasi**, dan pilih **Nonaktifkan** di bagian Token akses. Ini segera memblokir semua akses berbasis token ke Ruang Agen.

1. **Cabut token yang dikompromikan** **— Di aplikasi web, buka **Pengaturan>** **Token Akses, pilih token** yang disusupi, dan pilih Cabut.** Anda dapat mencabut token bahkan saat token akses dinonaktifkan.

1. **Re-enable token akses** — Setelah mencabut token yang disusupi, aktifkan kembali token akses dari tab **Konfigurasi** jika Anda masih memerlukan akses berbasis token.

#### Pencabutan token secara terprogram
<a name="revoking-tokens-programmatically"></a>

Anda juga dapat mencabut token secara terprogram menggunakan. `awscurl` Perintah berikut menggunakan otentikasi SiGv4. Ganti Region (`us-east-1`) dengan Region tempat Agen Space Anda dibuat.

**Catatan:** Langkah 1 menggunakan AWS CLI. Langkah 2 dan 3 menggunakan [awscurl](https://github.com/okigan/awscurl), alat baris perintah yang menandatangani permintaan HTTP dengan SigV4, karena operasi token akses belum memiliki perintah CLI khusus. AWS 

**Langkah 1: Daftar Ruang Agen Anda**

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

**Langkah 2: Daftar token akses untuk Ruang Agen**

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

**Langkah 3: Cabut token**

```
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"
```

Ganti `{agentSpaceId}` dan `{accessTokenId}` dengan nilai dari tanggapan sebelumnya.

### Ketertelusuran
<a name="traceability"></a>

AWS DevOps Agen merekam aktivitas server jarak jauh di AWS CloudTrail. Gunakan catatan ini untuk melacak siapa yang memanggil server jarak jauh dan apa yang dilakukan agen sebagai hasilnya. AWS DevOps Agen mengirimkan CloudTrail acara ke AWS akun yang menjadi tuan rumah Ruang Agen.

#### Akses acara otentikasi token
<a name="access-token-authentication-events"></a>

Setiap kali AWS DevOps Agen mengautentikasi token akses untuk titik akhir MCP atau A2A, ia memancarkan peristiwa ke. `AuthenticateAccessToken` CloudTrail AWS DevOps Agen mencatat otentikasi yang berhasil dan gagal. Gunakan catatan ini untuk mengaudit penggunaan yang sah dan mendeteksi upaya yang ditolak. Contohnya termasuk token yang kedaluwarsa atau dicabut, dan permintaan yang diblokir oleh IP allowlist.

Acara ini memiliki karakteristik sebagai berikut:
+ **Sumber acara** - `aidevops.amazonaws.com`
+ **Nama event** – `AuthenticateAccessToken`
+ **Acara manajemen** - Acara ini adalah acara manajemen dan tidak hanya-baca, sehingga tetap terlihat saat Anda memfilter acara hanya-baca.

Acara ini mencakup bidang-bidang utama berikut:


| Bidang | Deskripsi | 
| --- | --- | 
| userIdentity.principalId | ID token akses yang disajikan. | 
| userName | Nama token akses. | 
| requestParameters.agentSpaceId | Agen Space token mengautentikasi. | 
| requestParameters.accessTokenId | ID token akses. | 
| requestParameters.tokenName | Nama token akses. | 
| requestParameters.protocol | Protokol yang digunakan— MCP atauA2A. | 
| responseElements.AuthenticateAccessToken | Hasilnya— Success atauFailure. | 
| resources | Sumber daya Agent Space (AWS::AIDevOps::AgentSpace) token mengautentikasi, diidentifikasi oleh ARN-nya. | 
| additionalEventData.roleSessionName | Untuk otentikasi yang berhasil, nama sesi peran hilir, dalam format. token\_{spaceId}\_{timestamp}\_{tokenName} Gunakan untuk mengkorelasikan otentikasi dengan tindakan yang dilakukan agen. | 
| sourceIPAddress | Alamat IP klien. | 
| userAgent |  User-Agent String klien, bila tersedia. | 
| errorCode, errorMessage | Untuk otentikasi yang gagal, alasan otentikasi ditolak. | 

**catatan**  
** AWS DevOps Agen tidak pernah mencatat nilai token pembawa mentah. Hanya ID token akses buram yang muncul di acara tersebut.

#### Acara aksi hilir
<a name="downstream-action-events"></a>

Saat Anda menggunakan token akses, AWS DevOps Agen mengambil peran atas nama Anda untuk melakukan tindakan. AWS DevOps Agen mencatat `AssumeRole` panggilan ini CloudTrail dengan tag sesi yang mengidentifikasi token dan pemanggil:
+ `AgentSpaceId`— Pengidentifikasi Ruang Agen.
+ `UserId`— Identitas pembuat token.
+ `AccessTokenId`— Pengidentifikasi unik token.
+ `TokenName`— Nama token akses yang digunakan.
+ `ClientType`— Protokol yang digunakan (MCP, A2A).
+ `SourceIp`— Alamat IP klien.
+ `UserAgent`— User-Agent String klien (bila tersedia).

Setiap tindakan yang dilakukan agen atas nama Anda memiliki panggilan AWS API hilir terkait yang dicatat CloudTrail . Nama sesi peran menggunakan format`token_{spaceId}_{timestamp}_{tokenName}`. Nama sesi ini cocok dengan `roleSessionName` di `AuthenticateAccessToken` acara tersebut. Gunakan untuk melacak dari otentikasi ke tindakan spesifik yang mengikutinya.

#### Doa SiGv4
<a name="sigv4-invocations"></a>

Pemanggilan yang menggunakan otentikasi AWS SiGv4 alih-alih token akses tidak menghasilkan peristiwa. `AuthenticateAccessToken` AWS DevOps Agen mengatribusikan permintaan SiGv4 ke identitas AWS Identity and Access Management (IAM) Anda. Anda dapat melacak tindakan yang dilakukan agen melalui panggilan AWS API hilir yang mereka picu.

### Batasan kebijakan titik akhir VPC
<a name="vpc-endpoint-policy-limitation"></a>

Titik akhir server jarak jauh tidak mendukung kebijakan titik akhir VPC. Panggilan yang menggunakan token akses atau otentikasi SigV4 tidak dapat dibatasi oleh kebijakan titik akhir VPC.

### Menonaktifkan token akses
<a name="disabling-access-tokens"></a>

Fitur token akses dinonaktifkan secara default. Untuk menonaktifkannya setelah mengaktifkan:

1. Buka tab **Konfigurasi** Ruang Agen Anda.

1. Di bagian **Access token**, pilih **Nonaktifkan**.

Menonaktifkan segera memblokir semua akses berbasis token. Token yang ada tidak dihapus tetapi tidak dapat digunakan sampai fitur diaktifkan kembali.

Untuk mencegah pengguna di organisasi Anda mengaktifkan token akses, buat Kebijakan Kontrol Layanan (SCP) yang menolak tindakan API token akses dan `UpdateAgentSpace` tindakan (yang mengontrol sakelar token akses):

**Catatan:** Menyangkal `aidevops:UpdateAgentSpace` juga mencegah pembaruan Ruang Agen lainnya (nama, deskripsi, lokal). Jika ini terlalu luas, hilangkan dari SCP — penyangkalan yang tersisa masih mencegah pembuatan dan penggunaan token, bahkan jika seseorang mengaktifkan fitur tersebut.

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

## Pemecahan masalah
<a name="troubleshooting"></a>


| Gejala | Penyebab | Resolusi | 
| --- | --- | --- | 
| HTTP 401 Tidak Sah | Token tidak valid atau kedaluwarsa. | Buat token baru atau putar token yang ada di aplikasi web. | 
| HTTP 400 "A2A-Version header diperlukan” | Header versi protokol tidak ada. Hanya A2A v1.0 yang didukung. | Tambahkan A2A-Version: 1.0 header ke permintaan A2A. | 
| Batas waktu permintaan | Respons awal membutuhkan waktu 5-30 detik. Investigasi memakan waktu 5-8 menit. | Atur batas waktu klien setidaknya 120 detik. | 
| Koneksi ditolak | URL atau Wilayah titik akhir salah. | Verifikasi format URL: https://connect.aidevops.{region}.api.aws | 