Pencegahan confused deputy lintas layanan - AWS Layanan Migrasi Database

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 kunci konteks kondisi aws:SourceAccountglobal aws:SourceArndan dalam kebijakan sumber daya untuk membatasi izin yang AWS Database Migration Service memberikan layanan lain ke sumber daya. Jika aws:SourceArn nilai tidak berisi ID akun, seperti nama instance AWS DMS replikasi (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.

AWS DMS mendukung opsi wakil yang bingung mulai dari versi 3.4.7 dan lebih tinggi. Untuk informasi selengkapnya, lihat AWS Catatan rilis Database Migration Service 3.4.7. Jika instans replikasi Anda menggunakan AWS DMS versi 3.4.6 atau yang lebih rendah, pastikan Anda meningkatkan ke versi terbaru sebelum menetapkan opsi deputi yang membingungkan.

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 aws:SourceArn global dengan karakter wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:dms:*:123456789012:rep:*.

Peran IAM untuk digunakan dengan AWS DMS API untuk pencegahan wakil yang membingungkan lintas layanan

Untuk menggunakan AWS CLI atau AWS DMS API untuk migrasi database, Anda harus menambahkan peran dms-vpc-role dan dms-cloudwatch-logs-role IAM ke AWS akun Anda sebelum dapat menggunakan fitur AWS DMS. Untuk informasi selengkapnya, lihat Membuat IAM peran untuk digunakan dengan AWS CLI dan AWS DMS API.

Contoh berikut menunjukkan kebijakan untuk menggunakan dms-vpc-role peran dengan contoh my-replication-instance replikasi. Gunakan kebijakan ini untuk mencegah masalah wakil yang membingungkan.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnEqual": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:rep:my-replication-instance" } } } ] }

Kebijakan IAM untuk menyimpan penilaian preflight di Amazon S3 untuk pencegahan wakil yang membingungkan lintas layanan

Untuk menyimpan hasil prasesmen di bucket S3, Anda membuat kebijakan IAM yang memungkinkan AWS DMS untuk mengelola objek di Amazon S3. Untuk informasi selengkapnya, lihat Buat IAM sumber daya .

Contoh berikut menunjukkan kebijakan kepercayaan dengan kondisi wakil yang membingungkan yang ditetapkan pada peran IAM yang memungkinkan AWS DMS untuk mengakses semua tugas dan penilaian berjalan di bawah akun pengguna tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": [ "arn:aws:dms:your_region:your_account_id:assessment-run:*", "arn:aws:dms:region:your_account_id:task:*" ] } } } ] }

Menggunakan Amazon DynamoDB sebagai titik akhir target AWS DMS dengan pencegahan wakil kebingungan lintas layanan

Untuk menggunakan Amazon DynamoDB sebagai titik akhir target untuk migrasi database, Anda harus membuat peran IAM yang AWS DMS memungkinkan untuk mengasumsikan dan memberikan akses ke tabel DynamoDB. Kemudian, gunakan peran ini saat Anda membuat titik akhir DynamoDB target di. AWS DMS Untuk informasi selengkapnya, lihat Menggunakan Amazon DynamoDB sebagai target.

Contoh berikut menunjukkan kebijakan kepercayaan dengan kondisi deputi bingung yang ditetapkan pada peran IAM yang memungkinkan semua AWS DMS titik akhir mengakses tabel DynamoDB.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:endpoint:*" } } } ] }