View a markdown version of this page

Cross-service pencegahan wakil yang bingung - AWS Directory Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cross-service pencegahan wakil yang bingung

Masalah "confused deputy" adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memengaruhi entitas yang memiliki hak akses lebih tinggi untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Cross-service peniruan diri dapat terjadi ketika satu layanan (layanan panggilan) memanggil layanan lain (layanan yang disebut). 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 principal layanan yang telah diberi akses ke sumber daya di akun Anda.

Sebaiknya gunakan aws:SourceArn dan kunci konteks kondisi aws:SourceAccount global dalam kebijakan sumber daya untuk membatasi izin yang diberikan layanan lain Directory Service untuk Microsoft Active Directory ke sumber daya. Jika nilai aws:SourceArn tidak berisi ID akun, seperti ARN bucket Amazon S3, Anda harus menggunakan kedua kunci konteks kondisi global tersebut 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 ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan. Gunakan aws:SourceAccount jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Untuk contoh berikut, nilai aws:SourceArn harus berupa grup CloudWatch log.

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 wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:servicename:*:123456789012:*.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount global di Microsoft AD yang AWS dikelola untuk mencegah masalah wakil yang membingungkan. aws:SourceArn

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:us-east-1:111122223333:log-group:/aws/directoryservice/Log_Group_Name:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/Directory_Name" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

Untuk contoh berikut, nilai aws:SourceArn harus menjadi topik SNS di akun Anda. Misalnya, Anda dapat menggunakan sesuatu seperti arn:aws:sns:ap-southeast-1:123456789012:DirectoryMonitoring_d-966739499f di mana “ap-southeast-1" adalah wilayah Anda, “123456789012" adalah id pelanggan Anda dan" DirectoryMonitoring _d-966739499f” adalah nama topik Amazon SNS yang Anda buat.

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 wildcard (*) untuk bagian ARN yang tidak diketahui. Misalnya, arn:aws:servicename:*:123456789012:*.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi aws:SourceAccount global di Microsoft AD yang AWS dikelola untuk mencegah masalah wakil yang membingungkan. aws:SourceArn

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "SNS:AddPermission", "SNS:RemovePermission", "SNS:DeleteTopic", "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Publish" ], "Resource": [ "arn:aws:sns:us-east-1:111122223333:SNS_TOPIC_NAME" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/EXTERNAL_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }

Contoh berikut menunjukkan kebijakan kepercayaan IAM untuk peran yang telah didelegasikan akses konsol. Nilai aws:SourceArn harus menjadi sumber daya direktori di akun Anda. Untuk informasi selengkapnya, lihat Jenis sumber daya yang ditentukan oleh Directory Service. Misalnya, Anda dapat menggunakan arn:aws:ds:us-east-1:123456789012:directory/d-1234567890 where 123456789012 is customer ID Anda dan d-1234567890 merupakan ID direktori Anda.

JSON
{ "Version":"2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:us-east-1:111122223333:directory/YOUR_DIRECTORY_ID" }, "StringEquals": { "aws:SourceAccount": "111122223333" } } } }