

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
<a name="cross-service-confused-deputy-prevention"></a>

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. 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 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan dalam kebijakan sumber daya untuk membatasi izin yang AWS DataSync memberikan layanan lain ke sumber daya. 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 sumber daya apa pun di akun itu dikaitkan dengan penggunaan lintas layanan.

Nilai `aws:SourceArn` harus mencakup DataSync lokasi ARN yang DataSync diizinkan untuk mengambil peran IAM.

Cara paling efektif untuk melindungi dari masalah wakil yang membingungkan adalah dengan menggunakan `aws:SourceArn` kunci dengan ARN penuh sumber daya. Jika Anda tidak mengetahui ARN lengkap atau jika Anda menentukan beberapa sumber daya, gunakan karakter wildcard (`*`) untuk bagian yang tidak diketahui. Berikut adalah beberapa contoh cara melakukan ini untuk DataSync:
+ Untuk membatasi kebijakan kepercayaan ke DataSync lokasi yang ada, sertakan ARN lokasi lengkap dalam polis. DataSync akan mengambil peran IAM hanya ketika berhadapan dengan lokasi tertentu.
+ Saat membuat lokasi Amazon S3 untuk DataSync, Anda tidak tahu ARN lokasinya. Dalam skenario ini, gunakan format berikut untuk `aws:SourceArn` kunci:`arn:aws:datasync:{{us-east-2}}:{{123456789012}}:*`. Format ini memvalidasi partisi (`aws`), ID akun, dan Region.

Contoh lengkap berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global dalam kebijakan kepercayaan untuk mencegah masalah wakil yang bingung DataSync.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "datasync.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                "aws:SourceAccount": "{{123456789012}}"
                },
                "ArnLike": {
                "aws:SourceArn": "arn:aws:datasync:{{us-east-2}}:{{123456789012}}:*"
                }
            }
        }
    ]
}
```

------

Untuk contoh kebijakan lainnya yang menunjukkan cara Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan dengan DataSync, lihat topik berikut: 
+ [Buat hubungan kepercayaan yang memungkinkan DataSync untuk mengakses bucket Amazon S3 Anda](using-identity-based-policies.md#datasync-example1)
+ [Konfigurasikan peran IAM untuk mengakses bucket Amazon S3](create-s3-location.md#create-role-manually)