View a markdown version of this page

Cross-service pencegahan wakil yang bingung - AWS PCS

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

Cross-service pencegahan wakil yang bingung

Masalah wakil 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. Cross-service peniruan diri dapat terjadi ketika satu layanan (layanan panggilan) memanggil layanan lain (layanan yang disebut). 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.

Sebaiknya gunakan aws:SourceArn dan kunci konteks kondisi aws:SourceAccount global dalam kebijakan sumber daya untuk membatasi izin yang diberikan Layanan Komputasi AWS Paral AWS el (PCS) kepada sumber daya lainnya. 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:servicename:*: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 cluster ARN.

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

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "pcs.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": [ "arn:aws:pcs:us-east-1:123456789012:cluster/*" ] }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

Peran IAM untuk instans Amazon EC2 disediakan sebagai bagian dari grup simpul komputasi

AWS PCS secara otomatis mengatur kapasitas Amazon EC2 untuk setiap grup simpul komputasi yang dikonfigurasi dalam sebuah cluster. Saat membuat grup simpul komputasi, pengguna harus menyediakan profil instance IAM melalui bidang. iamInstanceProfileArn Profil instans menentukan izin yang terkait dengan instans EC2 yang disediakan. AWS PCS menerima peran apa pun yang memiliki AWSPCS awalan nama peran atau /aws-pcs/ sebagai bagian dari jalur peran. Iz iam:PassRole in diperlukan pada identitas IAM (pengguna atau peran) yang membuat atau memperbarui grup simpul komputasi. Saat pengguna memanggil tindakan CreateComputeNodeGroup atau UpdateComputeNodeGroup API, AWS PCS memeriksa untuk melihat apakah pengguna diizinkan untuk melakukan iam:PassRole tindakan.

Kebijakan contoh berikut memberikan izin untuk hanya meneruskan peran IAM yang namanya dimulai denganAWSPCS.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/AWSPCS*", "Condition": { "StringEquals": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } } ] }