

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

# Pencegahan masalah confused deputy lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

*Masalah confused deputy* adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang lebih berhak untuk melakukan tindakan tersebut. Pada tahunAWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. 

Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan panggilan*) memanggil layanan lain (*layanan yang dipanggil*). Layanan panggilan dapat dimanipulasi agar 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 sediakan alat yang dapat membantu Anda melindungi data Anda untuk semua layanan dengan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) di *Panduan Pengguna IAM*.

Untuk membatasi izin yang diberikan Amazon RDS ke layanan lain untuk sumber daya tertentu, sebaiknya gunakan kunci konteks kondisi 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 [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) di kebijakan sumber daya. 

Dalam beberapa kasus, nilai `aws:SourceArn` tidak berisi ID akun, misalnya saat Anda menggunakan Amazon Resource Name (ARN) untuk bucket Amazon S3. Dalam kasus ini, pastikan untuk menggunakan kedua kunci konteks kondisi global untuk membatasi izin. Dalam beberapa kasus, Anda menggunakan kunci konteks kondisi global dan nilai `aws:SourceArn` yang berisi ID akun. Dalam hal ini, pastikan bahwa nilai `aws:SourceAccount` dan akun dalam nilai `aws:SourceArn` menggunakan ID akun yang sama ketika digunakan dalam pernyataan yang sama. Jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan, gunakan `aws:SourceArn`. Jika Anda ingin mengizinkan sumber daya apa pun di AWS akun yang ditentukan dikaitkan dengan penggunaan lintas layanan, gunakan`aws:SourceAccount`.

Pastikan nilai `aws:SourceArn` adalah ARN untuk jenis sumber daya Amazon RDS. Untuk informasi selengkapnya, lihat [Nama Sumber Daya Amazon (ARNs) di Amazon RDS](USER_Tagging.ARN.md).

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Dalam beberapa kasus, Anda mungkin tidak mengetahui ARN lengkap sumber daya atau mungkin Anda menentukan beberapa sumber daya. Dalam hal ini, gunakan kunci kondisi konteks global `aws:SourceArn` dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Contohnya adalah `arn:aws:rds:*:123456789012:*`. 

Contoh berikut menunjukkan cara Anda dapat menggunakan `aws:SourceArn` dan kunci konteks kondisi global `aws:SourceAccount` di Amazon RDS untuk mencegah masalah confused deputy.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "rds.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:mydbinstance"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

------

Untuk contoh kebijakan lainnya yang menggunakan kunci konteks kondisi global `aws:SourceArn` dan `aws:SourceAccount`, lihat bagian berikut:
+ [Memberikan izin untuk menerbitkan pemberitahuan ke topik Amazon SNS](USER_Events.GrantingPermissions.md)
+ [Menyiapkan akses ke bucket Amazon S3](USER_PostgreSQL.S3Import.AccessPermission.md) (Impor PostgreSQL)
+ [Menyiapkan akses ke bucket Amazon S3](postgresql-s3-export-access-bucket.md) (Ekspor PostgreSQL)