

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

# Pencegahan deputi kebingungan lintas layanan di Stacks OpsWorks
<a name="cross-service-confused-deputy-prevention-stacks"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

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 akses tumpukan untuk membatasi izin yang diberikan AWS OpsWorks Stacks kepada layanan lain ke tumpukan. 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 tumpukan yang dikaitkan dengan akses lintas layanan. Gunakan `aws:SourceAccount` jika Anda ingin mengizinkan tumpukan apa pun di akun itu dikaitkan dengan penggunaan lintas layanan.

Nilai `aws:SourceArn` harus ARN dari tumpukan. OpsWorks 

Cara paling efektif untuk melindungi dari masalah wakil yang membingungkan adalah dengan menggunakan kunci konteks kondisi `aws:SourceArn` global dengan ARN penuh dari OpsWorks tumpukan Stacks. Jika Anda tidak mengetahui ARN lengkap, atau jika Anda menentukan beberapa tumpukan ARNs, gunakan kunci kondisi konteks `aws:SourceArn` global dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Misalnya, `arn:aws:servicename:*:123456789012:*`.

Bagian berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan di OpsWorks Tumpukan untuk mencegah masalah wakil yang membingungkan.

## Mencegah eksploitasi wakil yang membingungkan di Stacks OpsWorks
<a name="confused-deputy-opsworks-stacks-procedure"></a>

Bagian ini menjelaskan bagaimana Anda dapat membantu mencegah eksploitasi deputi yang membingungkan di OpsWorks Tumpukan, dan menyertakan contoh kebijakan izin yang dapat Anda lampirkan ke peran IAM yang Anda gunakan untuk mengakses Tumpukan. OpsWorks Sebagai praktik terbaik keamanan, kami sarankan untuk menambahkan kunci `aws:SourceArn` dan `aws:SourceAccount` kondisi ke hubungan kepercayaan yang dimiliki peran IAM Anda dengan layanan lain. Hubungan kepercayaan memungkinkan OpsWorks Stacks untuk mengambil peran untuk melakukan tindakan di layanan lain yang diperlukan untuk membuat atau mengelola OpsWorks tumpukan Stacks Anda.

**Untuk mengedit hubungan kepercayaan untuk menambahkan `aws:SourceArn` dan `aws:SourceAccount` mengkondisikan kunci**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi sebelah kiri, pilih **Peran**.

1. Di kotak **Pencarian**, cari peran yang Anda gunakan untuk akses ke OpsWorks Tumpukan. Peran yang AWS dikelola adalah`aws-opsworks-service-role`.

1. Pada halaman **Ringkasan** untuk peran tersebut, pilih tab **Trust relationship**.

1. Pada tab **Hubungan kepercayaan**, pilih **Edit kebijakan kepercayaan**.

1. Pada halaman **Edit kebijakan kepercayaan**, tambahkan setidaknya satu dari `aws:SourceArn` atau kunci `aws:SourceAccount` kondisi ke kebijakan. Gunakan `aws:SourceArn` untuk membatasi hubungan kepercayaan antara layanan lintas (seperti Amazon EC2) dan OpsWorks Tumpukan ke tumpukan OpsWorks Stacks tertentu, yang lebih ketat. Tambahkan `aws:SourceAccount` untuk membatasi hubungan kepercayaan antara layanan lintas dan OpsWorks Tumpukan ke tumpukan di akun tertentu, yang tidak terlalu membatasi. Berikut adalah contohnya. Perhatikan bahwa jika Anda menggunakan kedua tombol kondisi, akun IDs harus sama.

1. Setelah selesai menambahkan tombol kondisi, pilih **Perbarui kebijakan**.

Berikut ini adalah contoh tambahan peran yang membatasi akses ke tumpukan dengan menggunakan `aws:SourceArn` dan`aws:SourceAccount`.

**Topics**
+ [Contoh: Mengakses tumpukan di wilayah tertentu](#confused-deputy-opsworks-stacks-example1)
+ [Contoh: Menambahkan lebih dari satu tumpukan ARN ke `aws:SourceArn`](#confused-deputy-opsworks-stacks-example2)

### Contoh: Mengakses tumpukan di wilayah tertentu
<a name="confused-deputy-opsworks-stacks-example1"></a>

Pernyataan hubungan kepercayaan peran berikut mengakses OpsWorks tumpukan Stacks di Wilayah Timur AS (Ohio) (). `us-east-2` Perhatikan bahwa wilayah ditentukan dalam nilai ARN`aws:SourceArn`, tetapi nilai ID tumpukan adalah wildcard (\$1).

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

****  

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

------

### Contoh: Menambahkan lebih dari satu tumpukan ARN ke `aws:SourceArn`
<a name="confused-deputy-opsworks-stacks-example2"></a>

Contoh berikut membatasi akses ke array dua OpsWorks tumpukan Stacks di ID akun 123456789012.