範例 5:使用 Verified Permissions 和 Cedar 進行 UI 篩選 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

範例 5:使用 Verified Permissions 和 Cedar 進行 UI 篩選

您也可以使用 Verified Permissions 根據授權的動作實作 UI 元素的 RBAC 篩選。這對於具有內容敏感 UI 元素的應用程式非常有用,這些元素可能會在多租用戶 SaaS 應用程式的情況下與特定使用者或租用戶相關聯。

在下列範例中,Roleviewer不允許 Users 的 執行更新。對於這些使用者,UI 不應轉譯任何更新按鈕。

使用 Amazon Verified Permissions 和 Cedar 篩選 UI 的範例

在此範例中,單一頁面 Web 應用程式有四個按鈕。哪些按鈕是可見Role的,取決於目前登入應用程式的 使用者。當單頁 Web 應用程式轉譯 UI 時,它會查詢已驗證許可,以判斷使用者獲授權執行的動作,然後根據授權決策產生按鈕。

下列政策指定Role值為 的 類型viewer可以同時檢視使用者和資料。此政策ALLOW的授權決策需要 viewDataviewUsers動作,也需要資源與 類型Data或 相關聯UsersALLOW 決策允許 UI 轉譯兩個按鈕: viewDataButtonviewUsersButton

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

下列政策指定值Role為 的 類型viewerDataOnly只能檢視資料。此政策ALLOW的授權決策需要 viewData動作,也需要資源與類型 建立關聯DataALLOW 決策允許 UI 轉譯按鈕 viewDataButton

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

下列政策指定Role值為 的 類型admin可以編輯和檢視資料和使用者。此政策ALLOW的授權決策需要 updateDataupdateUsersviewData,或 的動作viewUsers,也需要資源與 類型Data或 相關聯UsersALLOW 決策允許 UI 轉譯所有四個按鈕:updateDataButtonviewDataButtonupdateUsersButtonviewUsersButton

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"] };