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
penting
Pemberitahuan akhir dukungan: Pelanggan yang ada akan dapat menggunakan Amazon QLDB hingga akhir dukungan pada 07/31/2025. Untuk detail selengkapnya, lihat Memigrasi QLDB Buku Besar Amazon ke Amazon Aurora Postgre
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. Masuk 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 masalah wakil yang bingung, AWS menyediakan alat yang membantu Anda melindungi data Anda untuk semua layanan dengan prinsipal layanan yang telah diberikan akses ke sumber daya di akun Anda.
Sebaiknya gunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan global dalam kebijakan sumber daya untuk membatasi izin yang QLDB diberikan Amazon kepada layanan lain ke sumber daya. Jika Anda menggunakan kedua kunci konteks kondisi global, aws:SourceAccount
nilai dan akun dalam aws:SourceArn
nilai harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.
Tabel berikut mencantumkan kemungkinan nilai aws:SourceArn
untuk ExportJournalToS3
dan StreamsJournalToKinesis
QLDBAPIoperasi. Operasi ini berada dalam ruang lingkup untuk masalah keamanan ini karena mereka memanggil AWS Security Token Service (AWS STS) untuk mengambil IAM peran yang Anda tentukan.
APIoperasi | Layanan yang dipanggil | aws: SourceArn |
---|---|---|
ExportJournalToS3 |
AWS STS (AssumeRole ) |
Memungkinkan QLDB untuk mengambil peran untuk QLDB sumber daya apa pun di akun:
Saat ini, QLDB hanya mendukung wildcard ini ARN untuk ekspor jurnal. |
StreamsJournalToKinesis |
AWS STS (AssumeRole ) |
Memungkinkan QLDB untuk mengambil peran untuk QLDB aliran tertentu:
Catatan: Anda hanya dapat menentukan ID aliran ARN setelah sumber daya aliran dibuat. Dengan menggunakan iniARN, Anda dapat mengizinkan peran hanya digunakan untuk satu QLDB aliran. Memungkinkan QLDB untuk mengambil peran untuk setiap QLDB aliran buku besar:
Memungkinkan QLDB untuk mengambil peran untuk setiap QLDB aliran di akun:
Memungkinkan QLDB untuk mengambil peran untuk QLDB sumber daya apa pun di akun:
|
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 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 ARN —misalnya,. arn:aws:qldb:us-east-1:
123456789012
:*
Contoh kebijakan kepercayaan berikut untuk IAM peran menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan untuk mencegah masalah wakil yang membingungkan. Dengan kebijakan kepercayaan ini, QLDB dapat mengambil peran untuk QLDB aliran apa pun di akun 123456789012
untuk buku besar myExampleLedger
saja.
Untuk menggunakan kebijakan ini, ganti us-east-1
,
123456789012
, dan myExampleLedger
dalam contoh dengan informasi Anda sendiri.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:
us-east-1
:123456789012
:stream/myExampleLedger
/*" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }