Partage via


Utiliser le type SecretText pour éviter que les informations d’identification et les valeurs textuelles confidentielles soient révélées

Important

Ce contenu est archivé et n’est pas mis à jour. Pour accéder aux dernières ressources documentaires, voir Nouveautés ou changements dans Business Central. Pour les derniers plans de lancement, voir Plans de lancement pour Dynamics 365, Power Platform et Cloud for Industry.

Activé(e) pour Version préliminaire publique Disponibilité générale
Administrateurs, créateurs, responsables marketing ou analystes, automatiquement 16 août 2023 2 oct. 2023

Valeur commerciale

Avec un nombre croissant d’intégrations à des systèmes externes, il n’est pas rare dans le code AL de travailler avec des secrets tels que des informations d’identification et d’autres valeurs textuelles sensibles. Compte tenu de la nécessité de les protéger contre leur révélation lors du débogage, ce dernier a souvent été bloqué par des politiques d’exposition des ressources, au détriment d’un dépannage facile. Pour prendre en charge l’activation du débogage, tout en protégeant les informations d’identification et autres valeurs textuelles sensibles contre toute divulgation, nous introduisons un nouveau type SecretText pour les variables. En outre, certains des scénarios courants dans l’application système seront pris en charge pour la transmission des paramètres SecretText pour les informations d’identification, par exemple les types HttpClient et Stockage isolé.

Détails de la fonctionnalité

Un nouveau type, SecretText, a été ajouté pour protéger les informations d’identification et autres valeurs textuelles sensibles contre la révélation lors du débogage. La syntaxe de déclaration sera similaire au type de données Text, à la seule différence qu’elle ne prendra pas en charge les contraintes de longueur.

SecretText est utilisable comme :

  • Valeur de variable
  • Valeur retournée
  • Valeur de paramètre

Son utilisation se limitera au transport, par exemple des informations d’identification du point de création jusqu’à la méthode de destination. La méthode de destination doit accepter une valeur SecretText.

Tout type de texte pourra être attribué au type SecretText tant qu’il pourra être converti en type de texte. Le type SecretText encapsule un type de texte. Si un code ou un autre type de texte doit être stocké, il est converti en type de texte. Un type de chaîne Dotnet est également convertible en SecretText. Cependant, une constante ou d’autres types ne peuvent pas être attribués à un type SecretText.

Pour les cas exceptionnels où il doit être utilisé comme texte, une méthode Unwrap intégrée est prise en charge. Cela n’est utilisable que lorsque la portée du projet est sur site. Fourni sur site uniquement, il est autorisé en dehors des limites d’une procédure marquée comme NonDebuggable, mais il entraîne un avertissement et pourra donc également être bloqué via l’utilisation d’un ensemble de règles pour des projets spécifiques.

Au début, les événements ne prennent pas en charge les paramètres SecretText, mais les déclencheurs le font. Ce dernier scénario consiste à prendre en charge le cas de compléments de contrôle tels que le complément de contrôle OAuth pour renvoyer les informations d’identification dans un conteneur sécurisé.

Dans l’application système, HttpClient obtient la prise en charge pour la transmission des paramètres SecretText, par exemple pour les informations d’identification.

Dans l’exemple suivant, la valeur de retour et le paramètre ne sont pas déboguables :

Exemple d’utilisation de SecretText sur la valeur de retour de la procédure et le paramètre pour empêcher le débogage

Voir aussi

Protéger les valeurs sensibles avec le type de données SecretText (documents)