Pencegahan wakil kebingungan lintas layanan di Amazon EKS - Amazon EKS

Bantu tingkatkan halaman ini

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

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

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

Pencegahan wakil kebingungan lintas layanan di Amazon EKS

Masalah deputi yang membingungkan adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memaksa entitas yang lebih istimewa untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (layanan yang dipanggil) memanggil layanan lain (layanan yang dipanggil). Layanan panggilan dapat dimanipulasi untuk menggunakan izinnya untuk bertindak atas sumber daya pelanggan lain dengan cara yang seharusnya tidak memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS sediakan alat yang membantu Anda melindungi data Anda untuk semua layanan dengan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda.

Sebaiknya gunakan kunci konteks kondisi aws:SourceAccountglobal dalam kebijakan sumber daya untuk membatasi izin yang diberikan Amazon Elastic Kubernetes Service (Amazon EKS) ke layanan lain ke sumber daya. aws:SourceArn

aws:SourceArn

Gunakan aws:SourceArn untuk mengaitkan hanya satu sumber daya dengan akses lintas layanan.

aws:SourceAccount

Gunakan aws:SourceAccount untuk membiarkan sumber daya apa pun di akun itu 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 aws:SourceArn global dengan karakter wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:<servicename>:*:<123456789012>:*.

Jika aws:SourceArn nilainya tidak berisi ID akun, seperti ARN bucket Amazon S3, Anda harus menggunakan keduanya aws:SourceAccount dan aws:SourceArn untuk membatasi izin.

Peran klaster Amazon EKS lintas layanan membingungkan pencegahan wakil

Peran IAM cluster Amazon EKS diperlukan untuk setiap cluster. Cluster Kubernetes yang dikelola oleh Amazon EKS menggunakan peran ini untuk mengelola node dan Cloud Provider lama menggunakan peran ini untuk membuat penyeimbang beban dengan Elastic Load Balancing untuk layanan. Tindakan klaster ini hanya dapat memengaruhi akun yang sama, jadi sebaiknya Anda membatasi setiap peran klaster ke klaster dan akun tersebut. Ini adalah aplikasi khusus dari AWS rekomendasi untuk mengikuti prinsip hak istimewa paling sedikit di akun Anda.

Sumber format ARN

Nilai aws:SourceArn harus ARN dari cluster EKS dalam format. arn:aws: eks:region:account:cluster/cluster-name Misalnya, arn:aws: eks:us-west-2:123456789012:cluster/my-cluster.

Format kebijakan kepercayaan untuk peran klaster EKS

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn dan kunci konteks kondisi aws:SourceAccount global di Amazon EKS untuk mencegah masalah wakil yang membingungkan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:us-west-2:123456789012:cluster/my-cluster" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }