

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

# Contoh 5: Pemfilteran UI dengan Izin Terverifikasi dan Cedar
<a name="avp-ui-filtering-examples"></a>

Anda juga dapat menggunakan Izin Terverifikasi untuk menerapkan pemfilteran RBAC elemen UI berdasarkan tindakan yang diotorisasi. Ini sangat berharga untuk aplikasi yang memiliki elemen UI peka konteks yang mungkin terkait dengan pengguna atau penyewa tertentu dalam kasus aplikasi SaaS multi-penyewa.

Dalam contoh berikut, `Users` dari tidak `Role` `viewer` diizinkan untuk melakukan pembaruan. Untuk pengguna ini, UI tidak boleh membuat tombol pembaruan apa pun.

![Contoh pemfilteran UI dengan Izin Terverifikasi Amazon dan Cedar](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/saas-multitenant-api-access-authorization/images/avp-example-5.png)


Dalam contoh ini, aplikasi web satu halaman memiliki empat tombol. Tombol mana yang terlihat tergantung pada `Role` pengguna yang saat ini masuk ke aplikasi. Saat aplikasi web satu halaman merender UI, ia menanyakan Izin Terverifikasi untuk menentukan tindakan mana yang diizinkan oleh pengguna untuk dilakukan, dan kemudian menghasilkan tombol berdasarkan keputusan otorisasi.

Kebijakan berikut menetapkan bahwa tipe `Role` dengan nilai `viewer` dapat menampilkan pengguna dan data. Keputusan `ALLOW` otorisasi untuk kebijakan ini memerlukan `viewUsers` tindakan `viewData` atau, dan juga memerlukan sumber daya untuk dikaitkan dengan jenis `Data` atau`Users`. `ALLOW`Keputusan memungkinkan UI untuk membuat dua tombol: `viewDataButton` dan`viewUsersButton`.

```
permit (
    principal in GuiAPP::Role::"viewer",
    action in [GuiAPP::Action::"viewData", GuiAPP::Action::"viewUsers"],
    resource 
)
when {
   resource in [GuiAPP::Type::"Data", GuiAPP::Type::"Users"]
};
```

Kebijakan berikut menetapkan bahwa tipe `Role` dengan nilai hanya `viewerDataOnly` dapat menampilkan data. Keputusan `ALLOW` otorisasi untuk kebijakan ini memerlukan `viewData` tindakan, dan juga memerlukan sumber daya untuk dikaitkan dengan jenisnya`Data`. `ALLOW`Keputusan memungkinkan UI untuk merender tombol`viewDataButton`.

```
permit (
    principal in GuiApp::Role::"viewerDataOnly",
    action in [GuiApp::Action::"viewData"],
    resource in [GuiApp::Type::"Data"] 
);
```

Kebijakan berikut menetapkan bahwa tipe `Role` dengan nilai `admin` dapat mengedit dan menampilkan data dan pengguna. Keputusan `ALLOW` otorisasi untuk kebijakan ini memerlukan tindakan`updateData`,, `viewData,` atau `updateUsers``viewUsers`, dan juga memerlukan sumber daya untuk dikaitkan dengan jenis `Data` atau`Users`. `ALLOW`Keputusan memungkinkan UI untuk merender keempat tombol:`updateDataButton`,, `updateUsersButton``viewDataButton`, dan`viewUsersButton`.

```
permit (
    principal in GuiApp::Role::"admin",
    action in [
        GuiApp::Action::"updateData",
        GuiApp::Action::"updateUsers",
        GuiApp::Action::"viewData", 
        GuiApp::Action::"viewUsers"
       ],
    resource 
)
when {
   resource in [GuiApp::Type::"Data", GuiApp::Type::"Users"]
};
```