Compartir a través de


Utilizar tipo SecretText para evitar que se revelen credenciales y valores textuales confidenciales

Importante

Este contenido está archivado y no se actualiza. Para obtener la documentación más reciente, vaya a Novedades o cambios en Business Central. Para conocer los últimos planes de lanzamiento, vaya a los planes de lanzamiento de Dynamics 365, Power Platform y Cloud for Industry.

Habilitada para Versión preliminar pública Disponibilidad general
Administradores, creadores, vendedores o analistas, automáticamente 16 de agosto de 2023 2 de oct. de 2023

Valor empresarial

Con una cantidad cada vez mayor de integraciones en sistemas externos, no es raro que se utilicen en el código AL secretos como credenciales y otros valores textuales confidenciales. Dada la necesidad de evitar que se revelen mediante la depuración, esta se ha bloqueado con frecuencia a través de directivas de exposición de recursos, a costa de una fácil resolución de problemas. Para permitir la depuración y, al mismo tiempo, evitar que se revelen credenciales y otros valores textuales confidenciales, presentamos un nuevo tipo SecretText para variables. Además, algunos de los escenarios comunes en la aplicación del sistema recibirán soporte para pasar parámetros SecretText para las credenciales, por ejemplo, los tipos HttpClient y de aislamiento aislado.

Detalles de características

Se ha agregado un nuevo tipo, SecretText, para proteger credenciales y otros valores textuales confidenciales para que no se revelen durante la depuración. La sintaxis de la declaración será similar al tipo de datos Texto, con la única diferencia de que no admitirá restricciones de longitud.

SecretText se podrá utilizar como:

  • Valor de la variable
  • Valor de retorno
  • Valor del parámetro

Su uso se limitará a llevar, por ejemplo, las credenciales desde el punto de creación hasta el método de destino. El método de destino debe aceptar un valor de SecretText.

Cualquier tipo de texto se podrá asignar al tipo SecretText siempre que se pueda convertir al tipo Texto. El tipo SecretText encapsula un tipo de Texto. Si se va a almacenar un código u otro tipo de texto, se convertirá al tipo de texto. Un tipo de cadena Dotnet también será convertible a SecretText. Sin embargo, una constante u otros tipos no se podrán asignar a un tipo SecretText.

Para casos excepcionales en los que deba usarse como texto, se admitirá un método Unwrap integrado. Esto solo se podrá utilizar cuando el ámbito del proyecto sea local. Si se trata solo de local, se permitirá fuera de los límites de un procedimiento marcado como NonDebuggable, pero generará una advertencia y, por tanto, también se bloqueará mediante el uso de un conjunto de reglas para proyectos específicos.

Inicialmente, los eventos no admitirán parámetros de SecretText; sin embargo, los factores desencadenantes sí lo harán. El último escenario es para admitir el caso de complementos de control como el complemento de control OAuth para devolver las credenciales en un contenedor seguro.

En la aplicación del sistema, HttpClient obtendrá soporte para pasar parámetros SecretText, por ejemplo, para credenciales.

En el siguiente ejemplo, el valor devuelto y el parámetro no se podrán depurar:

Ejemplo de uso de SecretText en el valor devuelto y el parámetro de procedimiento para impedir que se pueda depurar

Consulte también

Protección de valores confidenciales con el tipo de datos SecretText (documentación)