Cross-service bingung wakil pencegahan diAWS OpsWorks CM - AWS OpsWorks

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:SourceArndanaws:SourceAccountkunci konteks kondisi global dalam kebijakan sumber daya untuk membatasi izin yangAWS OpsWorks CMmemberikan layanan lain untuk sumber daya. Jikaaws:SourceArnnilai 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:SourceArnnilai berisi ID akun,aws:SourceAccountnilai dan akun diaws:SourceArnnilai harus menggunakan ID akun yang sama bila digunakan dalam pernyataan kebijakan yang sama. Gunakanaws:SourceArnjika Anda ingin hanya satu sumber daya yang terkait dengan akses lintas layanan. Gunakanaws:SourceAccountjika Anda ingin mengizinkan sumber daya apa pun di akun tersebut terkait dengan penggunaan lintas layanan.

Nilai dariaws:SourceArnharus menjadi ARN dariOpsWorksCM Chef atau Wayang server.

Cara paling efektif untuk melindungi dari masalah wakil bingung adalah dengan menggunakanaws:SourceArnkunci konteks kondisi global dengan ARN penuh dariAWS OpsWorks CMserver. Jika Anda tidak tahu ARN penuh, atau jika Anda menentukan beberapa ARN server, gunakanaws:SourceArnkunci kondisi konteks global dengan wildcard (*) untuk bagian yang tidak diketahui dari ARN. Misalnya, arn:aws:servicename:*:123456789012:*.

Bagian berikut menunjukkan cara menggunakanaws:SourceArndanaws:SourceAccountkunci 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:SourceArndanaws:SourceAccountkunci 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:SourceArndanaws:SourceAccountkunci kondisi
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi sebelah kiri, pilih Peran.

  3. DiCarikotak, cari peran yang Anda gunakan untuk akses keAWS OpsWorks CM. ParameterAWSperan terkelolaaws-opsworks-cm-service-role.

  4. PadaRingkasanhalaman untuk peran, pilihHubungan kepercayaantab.

  5. Pilih tab Hubungan Kepercayaan, pilih Edit Hubungan Kepercayaan.

  6. DiDokumen kebijakan, tambahkan setidaknya satuaws:SourceArnatauaws:SourceAccountkunci kondisi kebijakan. Gunakanaws:SourceArnuntuk membatasi hubungan kepercayaan antara layanan lintas (sepertiAWS Certificate Managerdan Amazon EC2) danAWS OpsWorks CMuntuk spesifikAWS OpsWorks CMserver, yang lebih ketat. Tambahkanaws:SourceAccountuntuk 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" } } } ] }
  7. Setelah selesai menambahkan kunci kondisi, pilihKebijakan kepercayaan pembaruan.

Berikut ini adalah contoh tambahan peran yang membatasi akses keAWS OpsWorks CMserver dengan menggunakanaws:SourceArndanaws:SourceAccount.

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" ] } } } ] }