Più sicurezza sulle app: resourceExposurePolicy

Salve lettore, in questo articolo ti voglio parlare di come è cambiata la gestione delle app in BC19 con l’introduzione della nuova proprietà resourceExposurePolicy.

Fino a BC18 il codice delle app è protetto tramite una proprietà del file app.json chiamata ShowMyCode. Tale proprietà consente di debuggare il codice da altre estensioni. Il valore predefinito di ShowMyCode è false, pertanto se vuoi abilitare il debugging sulla tua app devi impostarlo a true. Avere questa proprietà a true è comodo per chi debugga, ma allo stesso tempo il nostro codice è esposto all’esterno perché se il valore è impostato a true vengono scaricati i simboli con la conseguenza che il nostro codice è potenzialmente visibile a tutti.

Questa gestione, in BC19 è cambiata, ora nel file app.json hai la proprietà resourceExposurePolicy che viene incontro ad esigenze più specifiche.

Puoi subito notare che questa proprietà ha tre opzioni su cui poter agire.

  • allowDebugging: consente il debug del codice da altre estensioni. L’impostazione di default è false.
  • allowDownloadingSource: consente di scaricare il codice sorgente. Il valore di default è false.
  • includeSourceInSymbolFile: include il codice sorgente nei simboli. L’impostazione predefinita è false.

Come puoi constatare con questo livello di granularità, puoi controllare con maggior precisione che cosa consenti alla tua app. Ad esempio per un debug è sufficiente tenere abilitato allowDebugging e le altre opzioni lasciarle a false. Per quanto concerne il debug, inoltre, ti ricordo che puoi impostare la proprietà [NonDebuggable] sulle variabili e sulle funzioni. Con questa opzione attivata all’interno del codice AL, fa sì che vinca sull’impostazione allowDebugging del file app.json. Questo significa che se metti a true la proprietà, ma, ad esempio, una funzione [NonDebuggable], questa comunque non verrà presa in esame dal debugger.

Ti voglio ricordare che questa proprietà va attivata se nel file app.json il valore di runtime è 8.0. Hai già utilizzato questa proprietà? Puoi trovare la documentazione ufficiale in questo link.

Lascia una risposta