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 menggambarkan AWS sumber daya selama investigasi insiden dan evaluasi pencegahan. Anda dapat mengontrol tingkat akses yang dimiliki agen dengan mengonfigurasi kebijakan IAM yang dilampirkan ke peran ini. Topologi aplikasi tidak menampilkan 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 — Memberi agen akses ke sumber daya di AWS akun tempat Anda membuat Ruang Agen.
Peran akun sekunder — Memberi 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 ke setiap sesi yang dibuat saat mengakses sumber daya Anda AWS . Pagar pembatas ini bertindak sebagai plafon - ini mendefinisikan kumpulan izin maksimum yang dapat digunakan agen, terlepas dari izin apa yang Anda berikan pada peran IAM.
Cara kerjanya
Ketika agen mengambil peran IAM Anda, agen akan melewati kebijakan sesi yang membatasi izin efektif untuk sesi tersebut. Izin efektif adalah persimpangan dari:
Kebijakan peran IAM Anda — Kebijakan terkelola dan kebijakan sebaris apa pun yang Anda lampirkan ke peran.
Pagar pembatas izin — Kebijakan sesi yang diterapkan oleh AWS DevOps Agen pada waktu peran asumsi.
Izin harus ada di kedua lapisan untuk berlaku. Jika Anda menambahkan izin ke peran Anda yang tidak disertakan dalam pagar pembatas, agen tidak dapat menggunakannya.
Izin default
Kebijakan AIDevOpsAgentAccessPolicy terkelola menyediakan kumpulan izin baca-saja default yang digunakan agen untuk penyelidikan. Izin ini termasuk dalam pagar pembatas, sehingga mereka bekerja tanpa konfigurasi tambahan.
Memperluas izin di luar default
Kebijakan terkel AIDevOpsAgentAccessPolicy ola default hanya memberikan sebagian dari apa yang diizinkan pagar pembatas. Pagar pembatas juga mengizinkan setiap tindakan dalam kebijakan ter ReadOnlyAccess AWS kelola, ditambah beberapa izin tambahan. Untuk menggunakan izin yang diizinkan pagar pembatas tetapi kebijakan default tidak diberikan, tambahkan izin tersebut ke peran Anda sebagai kebijakan sebaris.
Misalnya, untuk mengizinkan agen membaca objek dari bucket S3 Anda selama penyelidikan, tambahkan kebijakan sebaris 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 sebaris ini berlaku. Anda dapat menjangkau Resource bucket tertentu untuk mengikuti prinsip hak istimewa paling sedikit.
Izin tambahan yang didukung
Anda dapat mengaktifkan izin apa pun yang didukung pagar pembatas dengan menambahkannya ke peran Anda sebagai kebijakan sebaris. Ini tidak diberikan secara default — Anda harus secara eksplisit ikut serta.
Kami telah sepenuhnya menguji dan memverifikasi bahwa hanya izin dalam kebijakan AIDevOpsAgentAccessPolicy terkelola yang aman untuk digunakan dengan agen. Izin lain yang didukung pagar pembatas belum diuji dengan agen. Mengaktifkan mereka berada di bawah model tanggung jawab AWS bersama
Tabel berikut mencantumkan izin tambahan yang didukung pagar pembatas di luar kebijakan terkel ReadOnlyAccess ola.
| Layanan | Tindakan | Kasus penggunaan |
|---|---|---|
| Amazon Athena | athena:StartQueryExecution, athena:StopQueryExecution |
Jalankan kueri Athena terhadap katalog data Anda |
| AWS KMS | kms:Decrypt |
Mendekripsi sumber daya terenkripsi seperti objek S3 |
Izin diblokir oleh pagar pembatas
Jika Anda menambahkan izin ke peran Anda yang tidak ada di pagar pembatas, agen tidak dapat menggunakannya. Ini berdasarkan desain — 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 ingin Anda lakukan oleh agen |
| Pagar pembatas izin | AWS DevOps Agen | Mendefinisikan maksimum yang dapat dilakukan agen |
| Izin 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 harus menyertakan izin yang cukup agar agen berhasil menyelidiki insiden aplikasi. Hal ini mencakup:
Semua sumber daya untuk aplikasi dalam lingkup yang harus dipantau dan diselidiki oleh agen
Semua infrastruktur pendukung yang bergantung pada aplikasi tersebut
Infrastruktur pendukung dapat meliputi:
Komponen jaringan (VPC, subnet, penyeimbang beban, gateway API)
Penyimpanan data (database, cache, penyimpanan objek)
Sumber daya komputasi (instans EC2, fungsi Lambda, wadah)
Layanan pemantauan dan penebangan (CloudWatch, CloudTrail)
Sumber daya manajemen identitas dan 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 yang dapat diakses agen dengan memodifikasi kebijakan IAM yang dilampirkan pada peran agen. Saat membuat kebijakan khusus, ikuti praktik terbaik berikut:
Berikan izin baca-saja — Agen perlu membaca konfigurasi sumber daya, metrik, dan log selama penyelidikan. Hindari pemberian izin yang memungkinkan agen 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 tertentu alih-alih wildcard — Alih-alih memberikan
service:*izin, tentukan tindakan individual seperticloudwatch:GetMetricDataatauec2: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 untuk 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 mengakses hanya fungsi Lambda dengan nama yang dimulai dengan “production-”.
Menggunakan batasan 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 mengakses hanya instans EC2 yang ditandai denganEnvironment=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 Anda 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 Capabilities
Pilih akun sekunder yang ingin Anda edit dari bagian Cloud dan pilih Edit
Mem ilih Buat kebijakan DevOps Agen baru menggunakan template dan ikuti petunjuknya
Praktik terbaik kebijakan kustom
Berikan izin 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
Meninjau dan mengaudit izin secara teratur — Tinjau kebijakan IAM agen secara berkala untuk memastikannya tetap sesuai dengan persyaratan keamanan Anda