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 lebih berhak 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 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 pengguna utama layanan yang telah diberi akses ke sumber daya di akun Anda.
Sebaiknya gunakan aws:SourceArn
atau kunci konteks kondisi aws:SourceAccount
global dalam kebijakan sumber daya untuk membatasi izin yang ECR diberikan Amazon kepada layanan lain ke sumber daya. Gunakan aws:SourceArn
jika Anda hanya ingin satu sumber daya 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 wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi aws:SourceArn
global dengan penuh ARN sumber daya. Jika Anda tidak tahu sumber daya penuh ARN atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn
global dengan karakter wildcard (*
) untuk bagian yang tidak diketahui dari file. ARN Misalnya, arn:aws:
. servicename
:region
:123456789012
:*
Jika aws:SourceArn
nilainya tidak berisi ID akun, seperti bucket Amazon S3ARN, Anda harus menggunakan kedua kunci konteks kondisi global untuk membatasi izin.
Nilai aws:SourceArn
harus ResourceDescription.
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan global dalam kebijakan ECR repositori Amazon untuk mengizinkan AWS CodeBuild akses ke ECR API tindakan Amazon yang diperlukan untuk integrasi dengan layanan tersebut sekaligus mencegah masalah deputi yang membingungkan.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CodeBuildAccess", "Effect":"Allow", "Principal":{ "Service":"codebuild.amazonaws.com" }, "Action":[ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:codebuild:
region
:123456789012
:project/project-name
" }, "StringEquals":{ "aws:SourceAccount":"123456789012
" } } } ] }