

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

# Membatasi Akses Agen dalam AWS Akun
<a name="aws-devops-agent-security-limiting-agent-access-in-an-aws-account"></a>

AWS DevOps Agen menggunakan peran IAM untuk menemukan dan mendeskripsikan AWS sumber daya selama investigasi insiden dan evaluasi pencegahan. Anda dapat mengontrol tingkat akses yang dimiliki agen dengan mengonfigurasi kebijakan IAM yang dilampirkan pada peran ini. Topologi aplikasi tidak menunjukkan semua yang dapat diakses agen — kebijakan IAM adalah satu-satunya cara untuk benar-benar membatasi API AWS layanan dan sumber daya apa yang dapat diakses agen.

## Memahami peran IAM untuk AWS DevOps Agen
<a name="understanding-iam-roles-for-aws-devops-agent"></a>

AWS DevOps Agen menggunakan peran IAM untuk mengakses sumber daya dalam dua jenis akun:
+ **Peran akun utama** — Memberikan agen akses ke sumber daya di AWS akun tempat Anda membuat Ruang Agen.
+ **Peran akun sekunder** — Memberikan agen akses ke sumber daya di AWS akun tambahan yang Anda sambungkan ke Ruang Agen.

Untuk kedua jenis akun, Anda dapat membatasi AWS layanan mana yang dapat diakses agen, membatasi akses ke sumber daya tertentu dalam layanan tersebut, dan mengontrol wilayah mana agen dapat beroperasi.

## Memahami pagar pembatas izin
<a name="understanding-permission-guardrails"></a>

AWS DevOps Agen menerapkan pagar pembatas izin untuk setiap sesi yang dibuatnya saat mengakses sumber daya Anda. AWS Pagar pembatas ini bertindak sebagai plafon — ini menentukan set maksimum izin yang dapat digunakan agen, terlepas dari izin apa yang Anda berikan pada peran IAM.

### Cara kerjanya
<a name="how-it-works"></a>

Ketika agen mengasumsikan peran IAM Anda, ia melewati [kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) yang membatasi izin efektif untuk sesi tersebut. Izin yang efektif adalah persimpangan dari:

1. **Kebijakan peran IAM Anda — Kebijakan** terkelola dan kebijakan inline apa pun yang Anda lampirkan ke peran tersebut.

1. **Pagar pembatas izin** — Kebijakan sesi yang diterapkan oleh AWS DevOps Agen pada waktu peran tertentu.

Izin harus ada di kedua lapisan untuk diterapkan. Jika Anda menambahkan izin ke peran Anda yang tidak termasuk dalam pagar pembatas, agen tidak dapat menggunakannya.

### Izin default
<a name="default-permissions"></a>

Kebijakan `AIDevOpsAgentAccessPolicy` terkelola menyediakan set default izin hanya-baca yang digunakan agen untuk investigasi. Izin ini termasuk dalam pagar pembatas, sehingga berfungsi tanpa konfigurasi tambahan.

### Memperluas izin di luar default
<a name="extending-permissions-beyond-the-default"></a>

AWS DevOps Agen mendukung serangkaian izin tambahan yang dikurasi di luar kebijakan terkelola default. Izin ini disertakan dalam pagar pembatas tetapi tidak diaktifkan secara default. Untuk menggunakannya, tambahkan izin khusus ke peran Anda sebagai kebijakan sebaris.

Misalnya, untuk mengizinkan agen membaca objek dari bucket S3 Anda selama penyelidikan, tambahkan kebijakan inline ke peran Anda:

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-application-bucket",
        "arn:aws:s3:::my-application-bucket/*"
      ]
    }
  ]
}
```

Karena `s3:GetObject` dan `s3:ListBucket` termasuk dalam pagar pembatas, kebijakan inline ini berlaku. Anda dapat memasukkan bucket `Resource` ke spesifik untuk mengikuti prinsip hak istimewa paling sedikit.

### Izin tambahan yang didukung
<a name="supported-additional-permissions"></a>

Izin berikut disertakan dalam pagar pembatas dan dapat diaktifkan dengan menambahkannya ke peran Anda sebagai kebijakan sebaris. Ini tidak diberikan secara default - Anda harus secara eksplisit ikut serta.


| Layanan | Tindakan | Kasus penggunaan | 
| --- | --- | --- | 
| Amazon S3 | s3:GetObject, s3:ListBucket | Baca data aplikasi, log, atau konfigurasi yang disimpan di S3 | 
| AWS Connect Langsung | directconnect:DescribeConnections, directconnect:DescribeDirectConnectGatewayAssociations, directconnect:DescribeDirectConnectGateways, directconnect:DescribeLags, directconnect:DescribeVirtualInterfaces | Selidiki masalah konektivitas jaringan | 

**Catatan:** Daftar ini dapat berkembang seiring waktu karena kemampuan baru ditambahkan ke AWS DevOps Agen. Izin yang tidak tercantum di sini atau dalam kebijakan `AIDevOpsAgentAccessPolicy` terkelola diblokir oleh pagar pembatas.

### Izin diblokir oleh pagar pembatas
<a name="permissions-blocked-by-the-guardrail"></a>

Jika Anda menambahkan izin ke peran Anda yang tidak ada di pagar pembatas, agen tidak dapat menggunakannya. Ini dirancang — pagar pembatas mencegah agen melakukan tindakan di luar ruang lingkup yang dimaksudkan, bahkan jika peran tersebut memungkinkan mereka.

Misalnya, menulis operasi seperti`s3:PutObject`,`ec2:TerminateInstances`, atau `dynamodb:DeleteItem` tidak termasuk dalam pagar pembatas. Bahkan jika peran Anda memberikan izin ini, agen tidak dapat melakukan tindakan ini.

### Ringkasan
<a name="summary"></a>


| Lapisan | Siapa yang mengendalikannya | Tujuan | 
| --- | --- | --- | 
| Kebijakan peran IAM | Anda | Tentukan apa yang Anda ingin agen untuk dapat lakukan | 
| Izin pagar pembatas | AWS DevOps Agen | Mendefinisikan maksimum yang bisa dilakukan agen | 
| Izin yang efektif | Persimpangan keduanya | Apa yang sebenarnya bisa dilakukan agen | 

Model ini memastikan bahwa agen beroperasi dalam batas keamanan yang terdefinisi dengan baik sambil memberi Anda fleksibilitas untuk memperluas kemampuannya untuk kasus penggunaan spesifik Anda.

## Memilih batas sumber daya Anda
<a name="choosing-your-resource-boundaries"></a>

Saat membatasi akses sumber daya, Anda perlu menyertakan izin yang cukup agar agen berhasil menyelidiki insiden aplikasi. Hal ini mencakup:
+ Semua sumber daya untuk aplikasi dalam ruang lingkup yang harus dipantau dan diselidiki oleh agen
+ Semua infrastruktur pendukung yang bergantung pada aplikasi tersebut

Infrastruktur pendukung dapat mencakup:
+ Komponen jaringan (VPC, subnet, penyeimbang beban, gateway API)
+ Penyimpanan data (database, cache, penyimpanan objek)
+ Menghitung sumber daya (instans EC2, fungsi Lambda, kontainer)
+ Layanan pemantauan dan pencatatan (CloudWatch, CloudTrail)
+ Sumber daya identitas dan manajemen akses yang diperlukan untuk memahami izin

Jika Anda membatasi akses terlalu sempit, agen mungkin tidak dapat mengidentifikasi akar penyebab yang berasal dari infrastruktur pendukung di luar batas yang Anda tetapkan.

## Membatasi akses layanan
<a name="restricting-service-access"></a>

Anda dapat membatasi AWS layanan mana yang dapat diakses agen dengan memodifikasi kebijakan IAM yang melekat pada peran agen. Saat membuat kebijakan khusus, ikuti praktik terbaik berikut:
+ **Berikan izin hanya-baca saja** — Agen perlu membaca konfigurasi sumber daya, metrik, dan log selama penyelidikan. Hindari pemberian izin yang memungkinkan agen untuk memodifikasi atau menghapus sumber daya.
+ **Batasi layanan yang diperlukan — Sertakan** hanya AWS layanan yang berisi sumber daya yang relevan dengan aplikasi Anda. Misalnya, jika aplikasi Anda tidak menggunakan Amazon RDS, jangan sertakan izin RDS dalam kebijakan.
+ **Gunakan tindakan spesifik alih-alih wildcard** — Alih-alih memberikan `service:*` izin, tentukan tindakan individual seperti atau. `cloudwatch:GetMetricData` `ec2:DescribeInstances`

Contoh kebijakan yang membatasi layanan tertentu:

```
json

{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:GetMetricData",
        "cloudwatch:GetMetricStatistics",
        "cloudwatch:DescribeAlarms",
        "logs:GetLogEvents",
        "logs:FilterLogEvents",
        "ec2:DescribeInstances",
        "lambda:GetFunction",
        "lambda:GetFunctionConfiguration"
      ],
      "Resource": "*"
    }
  ]
}
```

## Membatasi akses sumber daya
<a name="restricting-resource-access"></a>

Untuk membatasi agen ke sumber daya tertentu dalam layanan, gunakan izin tingkat sumber daya dalam kebijakan IAM Anda. Ini memungkinkan Anda memberikan akses hanya ke sumber daya yang cocok dengan pola tertentu.

**Menggunakan pola ARN sumber daya:**

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:GetFunction",
        "lambda:GetFunctionConfiguration"
      ],
      "Resource": "arn:aws:lambda:*:*:function:production-*"
    }
  ]
}
```

Contoh ini membatasi agen untuk hanya mengakses fungsi Lambda dengan nama yang dimulai dengan “produksi-”.

**Menggunakan pembatasan berbasis tag:**

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeInstanceStatus"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Environment": "production"
        }
      }
    }
  ]
}
```

Contoh ini membatasi agen untuk hanya mengakses instans EC2 yang ditandai. `Environment=production`

## Membatasi akses regional
<a name="restricting-regional-access"></a>

Untuk membatasi AWS wilayah mana yang dapat diakses agen, gunakan kunci `aws:RequestedRegion` kondisi dalam kebijakan IAM Anda:

```
{
  "Version": "2012-10-17",		 	 	 		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:Describe*",
        "lambda:Get*",
        "cloudwatch:Get*"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": [
            "us-east-1",
            "us-west-2"
          ]
        }
      }
    }
  ]
}
```

Contoh ini membatasi agen untuk mengakses sumber daya hanya di wilayah us-east-1 dan us-west-2.

## Membuat kebijakan IAM khusus
<a name="creating-custom-iam-policies"></a>

Saat membuat Ruang Agen atau menambahkan akun sekunder, Anda memiliki opsi untuk membuat peran IAM kustom menggunakan templat kebijakan. Ini memungkinkan Anda untuk menerapkan prinsip hak istimewa paling sedikit.

**Saat membuat Ruang Agen**

Dari konsol DevOps Agen di Konsol AWS Manajemen...
+ Pilih **Buat peran DevOps Agen baru menggunakan dokumen kebijakan** dan ikuti petunjuknya

**Saat mengedit Ruang Agen**

Dari konsol DevOps Agen di Konsol AWS Manajemen...
+ Pilih tab **Kemampuan**
+ Pilih akun sekunder yang ingin Anda edit dari bagian **Cloud** dan klik Edit
+ Pilih **Buat kebijakan DevOps Agen baru menggunakan templat** dan ikuti petunjuknya

## Praktik terbaik kebijakan kustom
<a name="custom-policy-best-practices"></a>
+ **Berikan izin hanya-baca saja - Hindari izin** yang memungkinkan modifikasi atau penghapusan sumber daya
+ **Gunakan izin tingkat sumber daya bila memungkinkan** — Batasi akses ke sumber daya tertentu menggunakan pola atau tag ARN
+ **Tinjau dan audit izin** secara berkala - Tinjau kebijakan IAM agen secara berkala untuk memastikan kebijakan tersebut tetap selaras dengan persyaratan keamanan Anda