Esempio 5: filtraggio dell'interfaccia utente con autorizzazioni verificate e Cedar - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempio 5: filtraggio dell'interfaccia utente con autorizzazioni verificate e Cedar

Puoi anche utilizzare le autorizzazioni verificate per implementare il filtraggio RBAC degli elementi dell'interfaccia utente in base ad azioni autorizzate. Ciò è estremamente utile per le applicazioni con elementi dell'interfaccia utente sensibili al contesto che potrebbero essere associati a utenti o tenant specifici nel caso di un'applicazione SaaS multi-tenant.

Nell'esempio seguente, Users non Role viewer sono autorizzati a eseguire aggiornamenti. Per questi utenti, l'interfaccia utente non dovrebbe visualizzare alcun pulsante di aggiornamento.

Esempio di filtraggio dell'interfaccia utente con Amazon Verified Permissions e Cedar

In questo esempio, un'applicazione Web a pagina singola ha quattro pulsanti. I pulsanti visibili dipendono dall'Roleutente che ha attualmente effettuato l'accesso all'applicazione. Quando l'applicazione Web a pagina singola esegue il rendering dell'interfaccia utente, richiede le autorizzazioni verificate per determinare quali azioni l'utente è autorizzato a eseguire, quindi genera i pulsanti in base alla decisione di autorizzazione.

La seguente politica specifica che il tipo Role con un valore di viewer può visualizzare sia gli utenti che i dati. Una decisione di ALLOW autorizzazione per questa politica richiede un'viewUsersazione viewData o e richiede inoltre che una risorsa sia associata al tipo Data oUsers. Una ALLOW decisione consente all'interfaccia utente di visualizzare due pulsanti: viewDataButton eviewUsersButton.

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 seguente politica specifica che il tipo Role con un valore di viewerDataOnly può solo visualizzare i dati. Una decisione di ALLOW autorizzazione per questa politica richiede un'viewDataazione e richiede anche l'associazione di una risorsa al tipoData. Una ALLOW decisione consente all'interfaccia utente di eseguire il rendering del pulsanteviewDataButton.

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

La seguente politica specifica che il tipo Role con un valore di admin può modificare e visualizzare dati e utenti. Una decisione di ALLOW autorizzazione per questa politica richiede un'azione di updateData updateUsersviewUsers, viewData, o e richiede inoltre che una risorsa sia associata al tipo Data oUsers. Una ALLOW decisione consente all'interfaccia utente di visualizzare tutti e quattro i pulsanti:updateDataButton, updateUsersButtonviewDataButton, eviewUsersButton.

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