Pencegahan confused deputy lintas layanan - AWS Transfer Family

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. Untuk penjelasan rinci tentang masalah ini, lihat masalah wakil yang membingungkan di Panduan IAM Pengguna.

Sebaiknya gunakan kunci konteks kondisi aws:SourceAccountglobal aws:SourceArndan global dalam kebijakan sumber daya untuk membatasi izin yang dimiliki AWS Transfer Family untuk 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.

Cara paling efektif untuk melindungi dari masalah wakil yang membingungkan adalah dengan menggunakan Amazon Resource Name (ARN) yang tepat dari sumber daya yang ingin Anda izinkan. Jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn global dengan karakter wildcard (*) untuk bagian yang tidak diketahui. ARN Misalnya, arn:aws:transfer::region::account-id:server/*.

AWS Transfer Family menggunakan jenis peran berikut:

  • Peran pengguna — Memungkinkan pengguna yang dikelola layanan mengakses sumber daya Transfer Family yang diperlukan. AWS Transfer Family mengambil peran ini dalam konteks pengguna ARN Transfer Family.

  • Peran akses - Menyediakan akses hanya ke file Amazon S3 yang sedang ditransfer. Untuk AS2 transfer masuk, peran akses menggunakan Amazon Resource Name (ARN) untuk perjanjian. Untuk AS2 transfer keluar, peran akses menggunakan konektor ARN untuk.

  • Peran pemanggilan — Untuk digunakan dengan Amazon API Gateway sebagai penyedia identitas kustom server. Transfer Family mengambil peran ini dalam konteks server ARN Transfer Family.

  • Peran logging - Digunakan untuk log entri ke Amazon CloudWatch. Transfer Family menggunakan peran ini untuk mencatat detail keberhasilan dan kegagalan bersama dengan informasi tentang transfer file. Transfer Family mengambil peran ini dalam konteks server ARN Transfer Family. Untuk AS2 transfer keluar, peran logging menggunakan konektorARN.

  • Peran eksekusi — Memungkinkan pengguna Transfer Family memanggil dan meluncurkan alur kerja. Transfer Family mengasumsikan peran ini dalam konteks alur kerja ARN Transfer Family.

Untuk informasi selengkapnya, lihat Kebijakan dan izin IAM di Panduan IAM Pengguna.

catatan

Dalam contoh berikut, ganti masing-masing user input placeholder dengan informasi Anda sendiri.

catatan

Dalam contoh kami, kami menggunakan keduanya ArnLike danArnEquals. Mereka identik secara fungsional, dan oleh karena itu Anda dapat menggunakan keduanya ketika Anda membuat kebijakan Anda. Dokumentasi Transfer Family digunakan ArnLike ketika kondisi berisi karakter wildcard, dan ArnEquals untuk menunjukkan kondisi kecocokan yang tepat.

AWS Transfer Family peran pengguna lintas layanan pencegahan wakil yang membingungkan

Contoh kebijakan berikut memungkinkan setiap pengguna dari server mana pun di akun untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/*" } } } ] }

Contoh kebijakan berikut memungkinkan setiap pengguna dari server tertentu untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnEquals": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/*" } } } ] }

Contoh kebijakan berikut memungkinkan pengguna tertentu dari server tertentu untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/user-name" } } } ] }

AWS Alur kerja Transfer Family peran lintas layanan membingungkan pencegahan wakil

Contoh kebijakan berikut memungkinkan alur kerja apa pun di akun untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:workflow/*" } } } ] }

Contoh kebijakan berikut memungkinkan alur kerja tertentu untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:workflow/workflow-id" } } } ] }

AWS Transfer Family logging dan peran doa lintas layanan membingungkan deputi pencegahan

catatan

Contoh berikut dapat digunakan dalam peran logging dan pemanggilan.

Dalam contoh ini, Anda dapat menghapus ARN detail alur kerja jika server Anda tidak memiliki alur kerja yang melekat padanya.

Contoh kebijakan logging/pemanggilan berikut memungkinkan server apa pun (dan alur kerja) di akun untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllServersWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:transfer:region:account-id:server/*", "arn:aws:transfer:region:account-id:workflow/*" ] } } } ] }

Contoh kebijakan logging/pemanggilan berikut memungkinkan server tertentu (dan alur kerja) untuk mengambil peran.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificServerWithWorkflowAttached", "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:transfer:region:account-id:server/server-id", "arn:aws:transfer:region:account-id:workflow/workflow-id" ] } } } ] }