Exemple 5 : filtrage de l'interface utilisateur avec des autorisations vérifiées et Cedar - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple 5 : filtrage de l'interface utilisateur avec des autorisations vérifiées et Cedar

Vous pouvez également utiliser les autorisations vérifiées pour implémenter le filtrage RBAC des éléments de l'interface utilisateur en fonction des actions autorisées. Cela est extrêmement utile pour les applications qui comportent des éléments d'interface utilisateur contextuels susceptibles d'être associés à des utilisateurs ou à des locataires spécifiques dans le cas d'une application SaaS à locataires multiples.

Dans l'exemple suivant, Users des ne Role viewer sont pas autorisés à effectuer des mises à jour. Pour ces utilisateurs, l'interface utilisateur ne doit afficher aucun bouton de mise à jour.

Exemple de filtrage de l'interface utilisateur avec Amazon Verified Permissions et Cedar

Dans cet exemple, une application Web d'une seule page comporte quatre boutons. Les boutons visibles dépendent Role de l'utilisateur actuellement connecté à l'application. Lorsque l'application Web d'une seule page affiche l'interface utilisateur, elle interroge les autorisations vérifiées pour déterminer les actions que l'utilisateur est autorisé à effectuer, puis génère les boutons en fonction de la décision d'autorisation.

La politique suivante indique que le type dont la valeur est égale Role à viewer peut afficher à la fois les utilisateurs et les données. Une décision ALLOW d'autorisation pour cette politique nécessite une viewUsers action viewData ou, et nécessite également qu'une ressource soit associée au type Data ouUsers. Une ALLOW décision autorise l'interface utilisateur à afficher deux boutons : viewDataButton etviewUsersButton.

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 politique suivante indique que le type Role dont la valeur est égale à ne viewerDataOnly peut afficher que les données. Une décision ALLOW d'autorisation pour cette politique nécessite une viewData action et nécessite également qu'une ressource soit associée au typeData. Une ALLOW décision autorise l'interface utilisateur à afficher le boutonviewDataButton.

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

La politique suivante indique que le type Role dont la valeur est égale à admin peut modifier et afficher les données et les utilisateurs. Une décision ALLOW d'autorisation pour cette politique nécessite une action de updateDataupdateUsers, viewData, ouviewUsers, et nécessite également qu'une ressource soit associée au type Data ouUsers. Une ALLOW décision autorise l'interface utilisateur à afficher les quatre boutons : updateDataButtonupdateUsersButton,viewDataButton, etviewUsersButton.

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