

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

# Cross-service pencegahan wakil bingung
<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. Cross-service peniruan identitas dapat terjadi ketika satu layanan (layanan panggilan) *memanggil layanan* lain (layanan yang *disebut*). 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-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)global dalam kebijakan sumber daya untuk membatasi izin yang AWSClean Rooms memberikan layanan lain ke sumber daya. Gunakan `aws:SourceArn` jika Anda ingin hanya satu sumber daya yang akan dikaitkan dengan akses lintas layanan.

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Di AWSClean Rooms, Anda juga harus membandingkan dengan kunci `sts:ExternalId` kondisi. 

Nilai `aws:SourceArn` harus diatur ke ARN dari keanggotaan peran yang diasumsikan.

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan kunci konteks kondisi `aws:SourceArn` global AWSClean Rooms untuk mencegah masalah wakil yang membingungkan.

**catatan**  
Kebijakan contoh berlaku untuk kebijakan kepercayaan peran layanan yang AWS Clean Rooms digunakan untuk mengakses data dan metadata untuk tabel yang dikonfigurasi.  
Nilai untuk {{<query-runner-membership-id>}} perlu disetel ke ID keanggotaan runner kueri.  
Semua anggota kolaborasi dapat melihat metadata tabel yang dikonfigurasi sehingga setiap ARN keanggotaan harus dimasukkan dalam daftar ARN keanggotaan.

**catatan**  
Ketika peran layanan dibuat melalui AWS Clean Rooms konsol, semua anggota kolaborasi saat ini disertakan dalam kondisi wakil yang bingung secara default.  
Jika Anda menambahkan anggota baru ke kolaborasi yang telah mengonfigurasi tabel yang terkait dengannya, pastikan Anda memperbarui kondisi wakil peran layanan yang membingungkan dengan ARN keanggotaan anggota baru.  
Jika Anda tidak memperbarui kondisi wakil yang membingungkan peran layanan Anda setelah menambahkan anggota baru, anggota baru tersebut tidak akan dapat mengakses informasi AWS Clean Rooms yang diambil menggunakan peran tersebut.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowIfExternalIdMatches",
            "Effect": "Allow",
            "Principal": {
                "Service": "cleanrooms.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringLike": {
                    "sts:ExternalId": "arn:aws:*:{{us-east-1}}:*:dbuser:*/{{<query-runner-membership-id>}}*"
                }
            }
        },
        {
            "Sid": "AllowIfSourceArnMatches",
            "Effect": "Allow",
            "Principal": {
                "Service": "cleanrooms.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "ForAnyValue:ArnEquals": {
                    "aws:SourceArn": [
                        "arn:aws:cleanrooms:{{us-east-1}}:{{111122223333}}:membership/{{<member-1-membership-id>}}",
                        "arn:aws:cleanrooms:{{us-east-1}}:{{444455556666}}:membership/{{<member-2-membership-id>}}"
                    ]
                }
            }
        }
    ]
}
```

------