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
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
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
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
Ketika agen mengasumsikan peran IAM Anda, ia melewati kebijakan sesi yang membatasi izin efektif untuk sesi tersebut. Izin yang efektif adalah persimpangan dari:
Kebijakan peran IAM Anda — Kebijakan terkelola dan kebijakan inline apa pun yang Anda lampirkan ke peran tersebut.
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
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
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
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 |
Izin diblokir oleh pagar pembatas
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 sepertis3: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
| 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
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
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:GetMetricDataec2: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
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
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
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
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