

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

# Otentikasi dan keamanan
<a name="connecting-to-devops-agent-remote-servers-authentication-and-security"></a>

Dua metode otentikasi tersedia untuk titik akhir MCP dan A2A:
+ **Token akses (Pembawa) ** — Token tunggal yang dicakup ke satu Ruang Agen. Pengaturan paling sederhana untuk penggunaan individu.
+ **AWS SigV4 ** — otentikasi berbasis AWS kredensi. 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 kredenSIAL 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 IAM agen](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 Token ** akses, pilih ** Aktifkan**.

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 Peng ** aturan**, 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 Ruang Agen.
   + `operate`— Akses penuh. Termasuk semuanya`read`, ditambah mengirim pesan, membuat obrolan, dan mengelola tugas dan rekomendasi backlog.

1. Pilih jenis klien:
   + `human`— Untuk penggunaan IDE dan CLI (Kiro, Claude Code, Cursor, 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 terlindungi, seperti Manajer [AWS Rahasia](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.

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

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

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

### Prasyarat
<a name="prerequisites"></a>
+ AWS kredenSIAL tersedia di lingkungan (melalui SSO, variabel lingkungan, atau file kredensi).
+ Kredensibilitas Anda harus memiliki izin untuk memanggil tindakan AWS DevOps Agen. Untuk izin yang diperlukan, lihat [DevOps Izin IAM agen](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 mengkonfigurasi klien MCP untuk 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 kredenSIAL lokal Anda, jadi tidak diperlukan token akses.

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

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

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

### Pelingkupan token
<a name="token-scoping"></a>
+ Gunakan hak istimewa terkecil: pilih `read` untuk integrasi read-only, `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. Rotasi juga memulai riwayat obrolan baru—lihat bagian berikut.
+ **Pencabutan ** — Jika token dikompromikan, segera cabutnya. Token yang dicabut tidak dapat digunakan dan tidak dapat dipulihkan.

#### Riwayat obrolan dan rotasi token
<a name="chat-history-and-token-rotation"></a>

Setiap token memiliki riwayat obrolan sendiri. Saat Anda memutar token, AWS DevOps Agen memperlakukan nilai token baru sebagai identitas baru. Obrolan yang Anda buat dengan token sebelumnya tidak lagi muncul melalui server jarak jauh.

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

Jika Anda mencurigai token telah dikompromikan, 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 Peng ** aturan ** > Token Ak ** ses**, pilih token yang disusupi, dan pilih Cab ** ut**. Anda dapat mencabut token meskipun token akses dinonaktifkan.

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

#### Mencabut 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 Ruang Agen 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: Daftarkan 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-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 menampung Ruang Agen.

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

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

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 menyaring peristiwa baca-saja.

Acara ini mencakup bidang-bidang utama berikut:


| Bidang | Deskripsi | 
| --- | --- | 
| userIdentity.principalId | ID token akses yang disajikan. | 
| userName | Nama token akses. | 
| requestParameters.agentSpaceId | Ruang Agen yang digunakan token untuk diautentikasi. | 
| requestParameters.accessTokenId | ID token akses. | 
| requestParameters.tokenName | Nama token akses. | 
| requestParameters.protocol | Protokol yang digunakan— MCP atauA2A. | 
| responseElements.AuthenticateAccessToken | Hasilnya — Success atau Failure | 
| resources | Sumber daya Agen Space (AWS::AIDevOps::AgentSpace) yang diautentikasi token, diidentifikasi oleh ARN-nya. | 
| additionalEventData.roleSessionName | Untuk otentikasi yang berhasil, nama sesi peran hilir, dalam formattoken\_{spaceId}\_{timestamp}\_{tokenName}. Gunakan untuk menghubungkan 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 CloudTrail dicatat. Nama sesi peran menggunakan format`token_{spaceId}_{timestamp}_{tokenName}`. Nama sesi ini cocok dengan `roleSessionName` dalam `AuthenticateAccessToken` acara. Gunakan untuk melacak dari otentikasi ke tindakan spesifik yang mengikutinya.

#### Pemanggilan SigV4
<a name="sigv4-invocations"></a>

Pemanggilan yang menggunakan otentikasi AWS SIGv4 alih-alih token akses tidak menghasilkan peristiwa. `AuthenticateAccessToken` AWS DevOps Agen mengaitkan permintaan SIGv4 ke AWS identitas Identitas dan Manajemen Akses (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 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 Token ** akses, pilih Non ** aktifkan**.

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: ** Men `aidevops:UpdateAgentSpace` olak juga mencegah pembaruan Ruang Agen lainnya (nama, deskripsi, lokal). Jika ini terlalu luas, hilangkan dari SCP — penolakan 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 hilang. Hanya A2A v1.0 yang didukung. | Tambahkan A2A-Version: 1.0 header ke permintaan A2A. | 
| HTTP 400 “Ruang agen tidak diselesaikan dari kredenSIAL” | Permintaan A2A \+ SigV4 tidak menyertakan header. X-Agent-Space-Id | Tambahkan X-Agent-Space-Id: <agentSpaceId> ke permintaan. | 
| Batas waktu permintaan | Tanggapan awal memakan waktu 5—30 detik. Investigasi memakan waktu 5-8 menit. | Setel batas waktu klien menjadi setidaknya 120 detik. | 
| Koneksi ditolak | URL titik akhir atau Wilayah salah. | Verifikasi format URL: https://connect.aidevops.{region}.api.aws | 