Condividi tramite


Usare il tipo SecretText per evitare che le credenziali e i valori di testo sensibile vengano rivelati

Importante

Questo contenuto è archiviato e non viene aggiornato. Per la documentazione più recente, vai a Novità o modifiche in Business Central. Per i piani di rilascio più recenti, vai a Piani di rilascio di Dynamics 365, Power Platform e Cloud per le soluzioni di settore.

Abilitata per Anteprima pubblica Disponibilità generale
Amministratori, autori, responsabili del marketing o analisti, automaticamente 16 ag. 2023 2 Ott. 2023

Valore aziendale

A causa del numero sempre crescente di integrazioni con sistemi esterni, non è raro che nel codice AL vengano utilizzati segreti come credenziali e altri valori di testo sensibile. Data la necessità di evitare che vengano rivelati tramite il debug, quest'ultimo è stato spesso bloccato tramite criteri di esposizione delle risorse, a scapito di una facile risoluzione dei problemi. Per supportare l'abilitazione del debug, proteggendo al tempo stesso le credenziali e altri valori di testo sensibile dalla divulgazione accidentale, viene introdotto un nuovo tipo di SecretText per le variabili. Inoltre, alcuni degli scenari comuni nell'app di sistema riceveranno il supporto per il passaggio dei parametri SecretText per le credenziali, ad esempio i tipi HttpClient e Archiviazione isolata.

Dettagli sulla funzionalità

Un nuovo tipo, SecretText, è stato aggiunto in modo da evitare che le credenziali e altri valori di testo sensibile vengano rivelati tramite il debug. La sintassi della dichiarazione sarà simile al tipo di dati Testo, con l'unica differenza che non supporterà vincoli sulla lunghezza.

SecretText sarà utilizzabile come:

  • Valore variabile
  • Valore restituito
  • Valore parametro

Il suo utilizzo sarà limitato al trasporto, ad esempio, delle credenziali dal punto di creazione al metodo di destinazione. Il metodo di destinazione deve accettare un valore SecretText.

Qualsiasi tipo di testo sarà assegnabile al tipo SecretText purché possa essere convertito nel tipo Testo. Il tipo SecretText integra un tipo Testo. Se è necessario archiviare un codice o un altro tipo di testo, verrà convertito nel tipo Testo. Anche un tipo di stringa Dotnet sarà convertibile in SecretText. Tuttavia, una costante o altri tipi non potranno essere assegnabili a un tipo SecretText.

Per casi eccezionali in cui deve essere utilizzato come testo, sarà supportato un metodo Unwrap integrato. Sarà utilizzabile solo quando l'ambito del progetto è locale. Dal momento che è solo in locale, sarà consentito al di fuori dei confini di una procedura contrassegnata come NonDebuggable, ma genererà un avviso e potrà quindi essere bloccato anche tramite l'uso di un set di regole per progetti specifici.

Inizialmente, gli eventi non supporteranno i parametri SecretText, mentre i trigger lo faranno. Quest'ultimo scenario prevede il supporto del caso dei componenti aggiuntivi di controllo come il componente aggiuntivo di controllo OAuth per restituire le credenziali in un contenitore sicuro.

Nell'app di sistema, HttpClient riceverà il supporto per il passaggio dei parametri SecretText, ad esempio per le credenziali.

Nell'esempio seguente, il valore restituito e il parametro non potranno essere sottoposti a debug:

Esempio di utilizzo di SecretText sul valore restituito e sul parametro della procedura per impedire che sia possibile eseguire il debug

Vedi anche

Protezione dei valori sensibili con il tipo di dati SecretText (documenti)