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 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. 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 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 kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan dalam kebijakan sumber daya untuk membatasi izin yang AWS IoT SiteWise memberikan layanan lain ke sumber daya. Jika aws:SourceArn
nilai tidak berisi ID akun, seperti bucket Amazon S3 Amazon Resource Name (ARN), Anda harus menggunakan kedua kunci konteks kondisi global untuk membatasi izin. Jika Anda menggunakan kunci konteks kondisi global dan nilai aws:SourceArn
berisi ID akun, nilai aws:SourceAccount
dan akun dalam nilai aws:SourceArn
harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.
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.
Nilai aws:SourceArn
harus menjadi sumber daya AWS IoT SiteWise pelanggan yang terkait dengan sts:AssumeRole
permintaan.
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:
. servicename
:*:123456789012
:*
contoh — Pencegahan Deputi Bingung
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan AWS IoT SiteWise untuk mencegah masalah wakil yang membingungkan.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "
iotsitewise
.amazonaws.com" }, "Action": "sts:AssumeRole", "Resource": [ "arn:aws:iotsitewise
:::ResourceName
/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:iotsitewise
:*:123456789012
:*" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }