SecretText-Typ verwenden, um Anmeldeinformationen und vertrauliche Textwerte vor der Offenlegung zu schützen

Aktiviert für Öffentliche Vorschauversion Allgemeine Verfügbarkeit
Administrator*innen, Maker*innen, Marketingspezialist*innen oder Analyst*innen, automatisch 16. Aug. 2023 2. Okt. 2023

Geschäftswert

Da immer mehr Integrationen in externe Systeme stattfinden, ist es für AL-Code nicht ungewöhnlich, mit vertraulichen Daten wie Anmeldeinformationen und anderen vertraulichen Textwerten zu arbeiten. Angesichts der Notwendigkeit, diese vor der Offenlegung per Debuggen zu schützen, wurde die Fehlersuche oft durch Richtlinien zur Ressourcenfreigabe blockiert, was auf Kosten einer einfachen Fehlerbehebung ging. Um die Aktivierung des Debuggens zu unterstützen und gleichzeitig Anmeldeinformationen und andere vertrauliche Textwerte vor der Offenlegung zu schützen, führen wir einen neuen SecretText-Typ für Variablen ein. Darüber hinaus erhalten einige der gängigen Szenarien in der Systemanwendung Unterstützung zur Übergabe von SecretText-Parametern für Anmeldeinformationen, z. B. die Typen „HttpClient“ und „Isolated Storage“.

Details zur Funktion

Ein neuer Typ, SecretText, wurde hinzugefügt, um Anmeldeinformationen und andere sensible Textwerte davor zu schützen, durch Debugging aufgedeckt zu werden. Die Deklarationssyntax ähnelt der des Datentyps „Text“, mit dem einzigen Unterschied, dass keine Längenbeschränkungen unterstützt werden.

SecretText kann verwendet werden als:

  • Variablenwert
  • Rückgabewert
  • Parameterwert

Seine Verwendung beschränkt sich beispielsweise auf die Übertragung von Anmeldeinformationen vom Erstellungsort zur Zielmethode. Die Zielmethode muss einen SecretText-Wert akzeptieren.

Jeder Texttyp kann dem SecretText-Typ zugewiesen werden, solange er in den Typ „Text“ konvertiert werden kann. Der SecretText-Typ kapselt einen Texttyp. Soll ein Code oder ein anderer Texttyp gespeichert werden, wird dieser in den Typ „Text“ konvertiert. Ein Dotnet-Zeichenfolgentyp kann auch in SecretText konvertiert werden. Allerdings können einem SecretText-Typ keine Konstanten oder andere Typen zugewiesen werden.

In Ausnahmefällen, in denen sie als Text verwendet werden muss, wird eine integrierte Unwrap-Methode unterstützt. Dies kann nur verwendet werden, wenn der Projektumfang lokal ist. Nur bei lokalen Projekten ist es außerhalb der Grenzen eines als „NonDebuggable“ gekennzeichneten Verfahrens zulässig, führt aber zu einer Warnung und kann daher auch durch die Verwendung eines Regelsatzes für bestimmte Projekte blockiert werden.

Zunächst werden Ereignisse keine SecretText-Parameter unterstützen, Auslöser jedoch schon. Das letztere Szenario soll den Fall von Steuerungs-Add-Ins wie dem OAuth-Steuerungs-Add-In unterstützen, um die Anmeldeinformationen in einem sicheren Container zurückzugeben.

In der Systemanwendung erhält „HttpClient“ Unterstützung für die Übergabe von SecretText-Parametern, z. B. für Anmeldedaten.

Im folgenden Beispiel kann für den Rückgabewert und den Parameter kein Debugging ausgeführt werden:

Beispiel für die Verwendung von SecretText für den Rückgabewert einer Prozedur und einen Parameter, um zu verhindern, dass diese debuggt werden können

Siehe auch

Vertrauliche Werte mit dem SecretText-Datentyp schützen (Dokumente)