Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pencegahan "confused deputy" lintas layanan
Masalah "confused deputy" adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang memilik hak akses lebih tinggi untuk melakukan tindakan tersebut. 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.
Kami merekomendasikan menggunakan aws:SourceArn dan aws:SourceAccountkunci konteks kondisi global dalam kebijakan sumber daya untuk membatasi izin yang AWS CloudFormation memberikan layanan lain ke sumber daya tertentu, seperti CloudFormation ekstensi. 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.
Pastikan bahwa nilai aws:SourceArn
adalah sumber ARN daya yang CloudFormation disimpan.
Cara paling efektif untuk melindungi dari masalah wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi aws:SourceArn
global dengan penuh ARN sumber daya. Jika Anda tidak mengetahui sumber daya yang lengkap ARN atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn
global dengan wildcard (*
) untuk bagian yang tidak diketahui dari file. ARN Misalnya, arn:aws:
.cloudformation
:*:123456789012
:*
Jika aws:SourceArn
nilai tidak berisi ID akun, Anda harus menggunakan kedua kunci konteks kondisi global untuk membatasi izin.
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan CloudFormation untuk mencegah masalah wakil yang membingungkan.
Contoh kebijakan kepercayaan yang menggunakan aws:SourceArn
dan kunci aws:SourceAccount
kondisi
Untuk layanan registri CloudFormation , lakukan panggilan ke AWS Security Token Service (AWS STS) untuk mengambil peran layanan di akun Anda. Peran ini dikonfigurasi untuk ExecutionRoleArn
di RegisterTypeoperasi dan LogRoleArn
diatur dalam LoggingConfigoperasi. Untuk informasi selengkapnya, lihat Mengonfigurasi peran eksekusi dengan IAM izin dan kebijakan kepercayaan untuk akses ekstensi publik.
Contoh kebijakan kepercayaan peran ini menggunakan pernyataan kondisi untuk membatasi AssumeRole
kemampuan peran layanan hanya pada tindakan pada CloudFormation ekstensi tertentu di akun yang ditentukan. aws:SourceAccount
Kondisi aws:SourceArn
dan dievaluasi secara independen. Setiap permintaan untuk menggunakan peran layanan harus memenuhi kedua kondisi tersebut.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
123456789012
" }, "StringLike": { "aws:SourceArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource/*
" } } } ] }
Informasi tambahan
Misalnya kebijakan yang menggunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan untuk peran layanan yang digunakan oleh StackSets, lihatSiapkan kunci global untuk mengurangi masalah wakil yang membingungkan.
Untuk informasi selengkapnya, lihat Memperbarui kebijakan kepercayaan peran di Panduan IAM Pengguna.