Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cross-service bingung wakil pencegahan diAWS OpsWorks CM
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 tersebut. MasukAWS, peniruan lintas layanan dapat mengakibatkan masalah wakil bingung. Peniruan lintas layanan dapat terjadi ketika satu layanan (yanglayanan panggilan) panggilan layanan lain (yangdisebut layanan). Layanan panggilan dapat dimanipulasi untuk menggunakan izin untuk bertindak atas sumber daya pelanggan lain dengan cara yang seharusnya tidak memiliki izin untuk mengakses. Untuk mencegah hal ini,AWSmenyediakan alat yang membantu Anda melindungi data Anda untuk semua layanan dengan prinsipal layanan yang telah diberikan akses ke sumber daya di akun Anda.
Sebaiknya gunakanaws:SourceArn
danaws:SourceAccount
kunci konteks kondisi global dalam kebijakan sumber daya untuk membatasi izin yangAWS OpsWorks CMmemberikan layanan lain untuk sumber daya. Jikaaws:SourceArn
nilai tidak mengandung ID akun, seperti bucket ARN Amazon S3, Anda harus menggunakan kedua kunci konteks kondisi global untuk membatasi izin. Jika Anda menggunakan kedua kunci konteks kondisi global danaws:SourceArn
nilai berisi ID akun,aws:SourceAccount
nilai dan akun diaws:SourceArn
nilai harus menggunakan ID akun yang sama bila digunakan dalam pernyataan kebijakan yang sama. Gunakanaws:SourceArn
jika Anda ingin hanya satu sumber daya yang terkait dengan akses lintas layanan. Gunakanaws:SourceAccount
jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut terkait dengan penggunaan lintas layanan.
Nilai dariaws:SourceArn
harus menjadi ARN dariOpsWorksCM Chef atau Wayang server.
Cara paling efektif untuk melindungi dari masalah wakil bingung adalah dengan menggunakanaws:SourceArn
kunci konteks kondisi global dengan ARN penuh dariAWS OpsWorks CMserver. Jika Anda tidak tahu ARN penuh, atau jika Anda menentukan beberapa ARN server, gunakanaws:SourceArn
kunci kondisi konteks global dengan wildcard (*
) untuk bagian yang tidak diketahui dari ARN. Misalnya, arn:aws:
.servicename
:*:123456789012
:*
Bagian berikut menunjukkan cara menggunakanaws:SourceArn
danaws:SourceAccount
kunci konteks kondisi globalAWS OpsWorks CMuntuk mencegah masalah confused deputy.
Mencegah kebingungan wakil eksploitasi diAWS OpsWorks CM
Bagian ini menjelaskan bagaimana Anda dapat membantu mencegah eksploitasi deputi bingungAWS OpsWorks CM, dan menyertakan contoh kebijakan izin yang dapat Anda lampirkan ke peran IAM yang Anda gunakan untuk mengaksesAWS OpsWorks CM. Sebagai praktik keamanan terbaik, kami menyarankan untuk menambahkanaws:SourceArn
danaws:SourceAccount
kunci kondisi untuk hubungan kepercayaan peran IAM Anda memiliki dengan layanan lain. Hubungan kepercayaan memungkinkanAWS OpsWorks CMuntuk mengambil peran untuk melakukan tindakan di layanan lain yang diperlukan untuk membuat atau mengelola AndaAWS OpsWorks CMserver.
Mengedit hubungan kepercayaan untuk ditambahkanaws:SourceArn
danaws:SourceAccount
kunci kondisi
Buka konsol IAM di https://console.aws.amazon.com/iam/
. Di panel navigasi sebelah kiri, pilih Peran.
DiCarikotak, cari peran yang Anda gunakan untuk akses keAWS OpsWorks CM. ParameterAWSperan terkelola
aws-opsworks-cm-service-role
.PadaRingkasanhalaman untuk peran, pilihHubungan kepercayaantab.
Pilih tab Hubungan Kepercayaan, pilih Edit Hubungan Kepercayaan.
DiDokumen kebijakan, tambahkan setidaknya satu
aws:SourceArn
atauaws:SourceAccount
kunci kondisi kebijakan. Gunakanaws:SourceArn
untuk membatasi hubungan kepercayaan antara layanan lintas (sepertiAWS Certificate Managerdan Amazon EC2) danAWS OpsWorks CMuntuk spesifikAWS OpsWorks CMserver, yang lebih ketat. Tambahkanaws:SourceAccount
untuk membatasi hubungan kepercayaan antara layanan lintas danAWS OpsWorks CMke server di akun tertentu, yang kurang ketat. Berikut adalah contohnya. Perhatikan bahwa jika Anda menggunakan kedua kunci kondisi, ID akun harus sama.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks-cm:us-east-2:123456789012:server/my-opsworks-server/EXAMPLEabcd-1234-efghEXAMPLE-ID" } } } ] }
-
Setelah selesai menambahkan kunci kondisi, pilihKebijakan kepercayaan pembaruan.
Berikut ini adalah contoh tambahan peran yang membatasi akses keAWS OpsWorks CMserver dengan menggunakanaws:SourceArn
danaws:SourceAccount
.
Topik
Contoh: MengaksesAWS OpsWorks CMserver di wilayah tertentu
Pernyataan hubungan kepercayaan peran berikut mengaksesAWS OpsWorks CMserver di Wilayah Timur AS (Ohio) (us-east-2
). Perhatikan bahwa wilayah ditentukan dalam nilai ARN dariaws:SourceArn
, tetapi nilai ID server adalah wildcard (*).
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:opsworks-cm:us-east-2:123456789012:server/*" } } } ] }
Contoh: Menambahkan lebih dari satu server ARN keaws:SourceArn
Contoh berikut membatasi akses ke array dari duaAWS OpsWorks CMserver di ID akun 123456789012.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "opsworks-cm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": [ "arn:aws:opsworks-cm:us-east-2:123456789012:server/my-chef-server/
unique_ID
", "arn:aws:opsworks-cm:us-east-2:123456789012:server/my-puppet-server/unique_ID
" ] } } } ] }