

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

Dalam AWS, peniruan lintas layanan dapat terjadi ketika satu layanan (layanan panggilan) memanggil layanan lain (layanan yang disebut). Layanan panggilan dapat dimanipulasi untuk bertindak atas sumber daya pelanggan lain meskipun seharusnya tidak memiliki izin yang tepat, yang mengakibatkan masalah wakil yang membingungkan.

Untuk mencegah kebingungan deputi, AWS sediakan alat yang membantu Anda melindungi data Anda untuk semua layanan menggunakan prinsip layanan yang telah diberikan akses ke sumber daya di akun Anda. Bagian ini berfokus pada pencegahan wakil kebingungan lintas layanan khusus untuk Layanan Terkelola untuk Apache Flink namun, Anda dapat mempelajari lebih lanjut tentang topik ini di Bagian [masalah wakil yang bingung](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) dari Panduan Pengguna *IAM*. 

Dalam konteks Layanan Terkelola untuk Apache Flink, sebaiknya gunakan kunci konteks kondisi SourceAccount global [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [and aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dalam kebijakan kepercayaan peran Anda untuk membatasi akses ke peran hanya pada permintaan yang dihasilkan oleh sumber daya yang diharapkan.

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.

Nilai `aws:SourceArn` harus ARN dari sumber daya yang digunakan oleh Managed Service untuk Apache Flink, yang ditentukan dengan format berikut:. `arn:aws:kinesisanalytics:region:account:resource`

Pendekatan yang direkomendasikan untuk masalah wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi `aws:SourceArn` global dengan ARN sumber daya penuh.

Jika Anda tidak mengetahui ARN lengkap dari sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan `aws:SourceArn` kunci dengan karakter wildcard (\$1) untuk bagian ARN yang tidak diketahui. Sebagai contoh: `arn:aws:kinesisanalytics::111122223333:*`.

Kebijakan peran yang Anda berikan ke Layanan Terkelola untuk Apache Flink serta kebijakan kepercayaan peran yang dihasilkan untuk Anda dapat menggunakan kunci ini.

Untuk melindungi dari masalah wakil yang membingungkan, lakukan langkah-langkah berikut: 

**Untuk melindungi dari masalah wakil yang membingungkan**

1. Masuk ke AWS Management Console dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Pilih **Peran** dan kemudian pilih peran yang ingin Anda ubah.

1. Pilih **Edit kebijakan kepercayaan**.

1. Pada halaman **Edit kebijakan kepercayaan**, ganti kebijakan JSON default dengan kebijakan yang menggunakan salah satu atau kedua kunci konteks kondisi `aws:SourceAccount` global. `aws:SourceArn` Lihat contoh kebijakan berikut:

1. Pilih **Perbarui kebijakan**.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"kinesisanalytics.amazonaws.com"
            },
            "Action":"sts:AssumeRole",
            "Condition":{
               "StringEquals":{
                  "aws:SourceAccount":"Account ID"
               },
               "ArnEquals":{
                  "aws:SourceArn":"arn:aws:kinesisanalytics:us-east-1:123456789012:application/my-app"
               }
            }
         }
      ]
   }
   ```

------