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 memilik hak akses lebih tinggi 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 principal layanan yang telah diberi akses ke sumber daya di akun Anda.
Sebaiknya gunakan kunci konteks kondisi aws:SourceAccount
global aws:SourceArn
dan global dalam kebijakan sumber daya untuk membatasi izin yang diberikan AWS Directory Service untuk Microsoft Active Directory untuk layanan lain ke sumber daya. Jika aws:SourceArn
nilai tidak berisi ID akun, seperti bucket Amazon S3ARN, 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 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 wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi aws:SourceArn
global dengan penuh ARN sumber daya. Jika Anda tidak mengetahui sumber daya ARN yang lengkap atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn
global dengan wildcard (*
) untuk bagian yang tidak diketahui. ARN Misalnya, arn:aws:
. servicename
:*:123456789012
:*
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn
dan kunci konteks kondisi aws:SourceAccount
global di Microsoft AD yang AWS Dikelola untuk mencegah masalah deputi yang membingungkan.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:
YOUR_REGION
:YOUR_ACCOUNT_NUMBER
:log-group:/aws/directoryservice/YOUR_LOG_GROUP
:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:YOUR_REGION
:YOUR_ACCOUNT_NUMBER
:directory/YOUR_DIRECTORY_ID
" }, "StringEquals": { "aws:SourceAccount":"123456789012"
} } } }
Untuk contoh berikut, nilai aws:SourceArn
harus menjadi SNS topik 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" _d-966739499f” adalah nama topik Amazon yang Anda buat. DirectoryMonitoring SNS
Cara paling efektif untuk melindungi dari masalah wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi aws:SourceArn
global dengan penuh ARN sumber daya. Jika Anda tidak mengetahui sumber daya ARN yang lengkap atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks aws:SourceArn
global dengan wildcard (*
) untuk bagian yang tidak diketahui. ARN Misalnya, arn:aws:
. servicename
:*:123456789012
:*
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn
dan kunci konteks kondisi aws:SourceAccount
global di Microsoft AD yang AWS Dikelola untuk mencegah masalah deputi yang membingungkan.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "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:
YOUR_REGION
:YOUR_ACCOUNT_NUMBER
:YOUR_SNS_TOPIC_NAME
" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:YOUR_REGION
:YOUR_ACCOUNT_NUMBER
:directory/YOUR_EXTERNAL_DIRECTORY_ID
" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }
Contoh berikut menunjukkan kebijakan IAM kepercayaan untuk peran yang telah didelegasikan akses konsol. Nilai aws:SourceArn
harus berupa sumber daya direktori di akun Anda. Untuk informasi selengkapnya, lihat Jenis sumber daya yang ditentukan oleh AWS Directory Service. Misalnya, Anda dapat menggunakan arn:aws:ds:us-east-1:123456789012:directory/d-1234567890
di 123456789012
mana ID pelanggan Anda dan d-1234567890
ID direktori Anda.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "ds.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:ds:
YOUR_REGION
:YOUR_ACCOUNT_NUMBER
:directory/YOUR_DIRECTORY_ID
" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }