Pencegahan "confused deputy" lintas layanan - AWS Well-Architected Tool

Kami telah merilis versi baru Kerangka Kerja Well-Architected. Kami juga telah menambahkan lensa baru dan yang diperbarui ke Katalog Lensa. Pelajari lebih lanjut tentang perubahannya.

Pencegahan "confused deputy" lintas layanan

Masalah deputi yang bingung adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memaksa entitas yang lebih istimewa untuk melakukan tindakan. Di AWS, peniruan identitas lintas layanan dapat mengakibatkan masalah confused deputy. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (layanan yang dipanggil) memanggil layanan lain (layanan yang dipanggil). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS menyediakan alat yang membantu Anda melindungi data untuk semua layanan dengan principal layanan yang telah diberi akses ke sumber daya di akun Anda.

Kami merekomendasikan penggunaan kunci konteks kondisi global aws:SourceArn dan aws:SourceAccount dalam kebijakan sumber daya untuk membatasi izin yang diberikan oleh AWS Well-Architected Tool ke layanan lain untuk mengakses sumber daya. Gunakan aws:SourceArn jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan. Gunakan aws:SourceAccount jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global aws:SourceArn dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks global aws:SourceArn dengan karakter wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:wellarchitected:*:123456789012:*.

Jika nilai aws:SourceArn tidak berisi ID akun, seperti ARN bucket Amazon S3, Anda harus menggunakan kedua kunci konteks kondisi global tersebut untuk membatasi izin.

Nilai aws:SourceArn harus berupa beban kerja atau lensa.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi global aws:SourceArn dan aws:SourceAccount di AWS WA Tool untuk mencegah masalah "confused deputy".

JSON
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "wellarchitected.amazonaws.com" }, "Action": "wellarchitected:CreateWorkload", "Resource": [ "arn:aws:wellarchitected:us-east-1:111122223333:ResourceName/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:wellarchitected:*:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }