Ejemplo 5: filtrado de la interfaz de usuario con permisos verificados y Cedar - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo 5: filtrado de la interfaz de usuario con permisos verificados y Cedar

También puedes usar los permisos verificados para implementar el filtrado RBAC de los elementos de la interfaz de usuario en función de las acciones autorizadas. Esto es extremadamente valioso para las aplicaciones que tienen elementos de interfaz de usuario sensibles al contexto que podrían estar asociados a usuarios o inquilinos específicos en el caso de una aplicación SaaS multiusuario.

En el siguiente ejemplo, Users no Role viewer están autorizados a realizar actualizaciones. Para estos usuarios, la interfaz de usuario no debería mostrar ningún botón de actualización.

Ejemplo de filtrado de interfaz de usuario con Amazon Verified Permissions y Cedar

En este ejemplo, una aplicación web de una sola página tiene cuatro botones. Los botones que están visibles dependen Role del usuario que esté actualmente conectado a la aplicación. A medida que la aplicación web de una sola página renderiza la interfaz de usuario, consulta los permisos verificados para determinar qué acciones está autorizado a realizar el usuario y, a continuación, genera los botones en función de la decisión de autorización.

La siguiente política especifica que el tipo Role con un valor de viewer puede ver tanto los usuarios como los datos. La decisión de ALLOW autorizar esta política requiere una viewUsers acción viewData o, además, requiere que se asocie un recurso al tipo Data oUsers. Una ALLOW decisión permite a la interfaz de usuario representar dos botones: viewDataButton yviewUsersButton.

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

La siguiente política especifica que el tipo Role con un valor de solo viewerDataOnly puede ver datos. La decisión de ALLOW autorizar esta política requiere una viewData acción y también requiere que se asocie un recurso al tipoData. Una ALLOW decisión permite que la interfaz de usuario renderice el botónviewDataButton.

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

La siguiente política especifica que el tipo Role con un valor de admin puede editar y ver datos y usuarios. La decisión de ALLOW autorizar esta política requiere una acción de updateDataupdateUsers, viewData, oviewUsers, y también requiere que se asocie un recurso al tipo Data oUsers. Una ALLOW decisión permite a la interfaz de usuario representar los cuatro botones: updateDataButtonupdateUsersButton,viewDataButton, yviewUsersButton.

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