Übung – Klassifizieren vertraulicher Daten in einer cloudnativen Anwendung
In dieser Übung klassifizieren Sie die vertraulichen Datentypen in einer Beispielanwendung eShopLite .
Die App befindet sich in der aktiven Entwicklung und verfügt derzeit über zwei Datenklassen Product und Order. Sie erstellen den Sortiervorgang und möchten, dass Sie den Code hinzufügen, um Datentypen zu klassifizieren.
In dieser Übung erfahren Sie, wie Sie:
- Erkunden Sie die aktuelle App und die zugehörigen Datentypen.
- Fügen Sie den Code hinzu, um die Datentypen zu klassifizieren.
- Führen Sie die App aus, und testen Sie sie.
Öffnen der Entwicklungsumgebung
Sie können entweder einen GitHub-Codespace verwenden, der die Übung hostet, oder die Übung lokal in Visual Studio Code durchführen.
Um einen Codespace zu verwenden, erstellen Sie einen vorkonfigurierten GitHub Codespace mit diesem Codespace-Erstellungslink.
GitHub dauert mehrere Minuten, um den Codespace zu erstellen und zu konfigurieren. Nach Abschluss des Vorgangs werden die Codedateien für die Übung angezeigt. Der Code, der für den Rest dieses Moduls verwendet werden soll, befindet sich im Verzeichnis "/dotnet-compliance" .
Um Visual Studio Code zu verwenden, verzweigen Sie das https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative Repository auf Ihr eigenes GitHub-Konto. Führen Sie dann folgende Schritte aus:
- Achten Sie darauf, dass Docker ausgeführt wird. Drücken Sie in einem neuen Visual Studio Code-Fenster STRG+UMSCHALT+P , um die Befehlspalette zu öffnen.
- Suchen Sie nach Dev-Container und wählen Sie ihn aus: Klonen Sie das Repository im Containervolume.
- Wählen Sie Ihr geforktes Repository aus. Visual Studio Code erstellt Ihren Entwicklungscontainer lokal.
Testen der eShopLite App
Wählen Sie unten im Visual Studio Code-Fenster die Registerkarte TERMINAL aus.
Wechseln zum Übungsordner:
cd dotnet-compliance/eShopLiteErstellen Sie die App-Container.
dotnet publish /p:PublishProfile=DefaultContainerFühren Sie die App mit Docker aus:
cd .. docker compose upWählen Sie die Registerkarte "PORTS " und dann das Symbol " Im Browser öffnen" für den Front-End-Port (32000) aus.
Wählen Sie den Link "Produkte" aus. Die App zeigt eine Liste der Produkte an.
Wählen Sie die Registerkarte TERMINAL aus, und drücken Sie dann STRG+C , um die App zu beenden.
Erstellen von Taxonomien und Attributen
Fügen Sie in dieser Aufgabe Code hinzu, um zwei neue Taxonomien zu erstellen. Annotieren Sie dann die Product-Typen und Order-Datentypen mit den entsprechenden Attributen.
Wechseln Sie auf der Registerkarte TERMINAL zum eShopLite/DataEntities Ordner:
cd eShopLite/DataEntities/Fügen Sie das Compliancepaket hinzu:
dotnet add package Microsoft.Extensions.Compliance.RedactionKlicken Sie im EXPLORER-Bereich mit der rechten Maustaste auf den Ordner "DataEntities ", und wählen Sie dann die neue Datei aus.
Geben Sie im Dateinamen Compliance.cs ein.
Geben Sie im Editor diesen Code ein:
using Microsoft.Extensions.Compliance.Classification; using Microsoft.Extensions.Compliance.Redaction; public static class DataClassifications { // End User Identifiable Information public static DataClassification EUIIDataClassification {get;} = new DataClassification("EUIIDataTaxonomy", "EUIIData"); // End User Pseudonymous Information public static DataClassification EUPDataClassification {get;} = new DataClassification("EUPDataTaxonomy", "EUPData"); } public class EUIIDataAttribute : DataClassificationAttribute { public EUIIDataAttribute() : base(DataClassifications.EUIIDataClassification) { } } public class EUPDataAttribute : DataClassificationAttribute { public EUPDataAttribute() : base(DataClassifications.EUPDataClassification) { } }Der obige Code erstellt zwei Taxonomien, EUII und EUPI. Außerdem werden zwei Attribute erstellt: EUIIDataAttribute und EUPDataAttribute. Diese Attribute werden verwendet, um die Datentypen zu kommentieren.
Klassifizieren der Datentypen
Verwenden Sie diese Taxonomien und Attribute, um die Datentypen in der eShopLite App zu klassifizieren.
Erweitern Sie im EXPLORER-Bereich den Ordner "DataEntities ", und wählen Sie dann die Product.cs Datei aus.
In dieser Klasse gibt es keine spezifischen vertraulichen Kundendaten, aber die App könnte pseudonyme Daten durchlecken, wenn die Produkt-ID-Eigenschaft mit einem Kunden in den Protokollen verbunden ist.
Fügen Sie das EUPData Attribut zur ProductId Eigenschaft hinzu:
[EUPData] [Key] [JsonPropertyName("id")] public int Id { get; set; }Der obige Code teilt dem Redaction-Modul mit, dass die Id Eigenschaft pseudonyme Daten ist.
Erweitern Sie im EXPLORER-Bereich den Ordner "DataEntities ", und wählen Sie dann die Order.cs Datei aus.
Die Order Klasse enthält vertrauliche Daten. Die Eigenschaften CustomerName und CustomerAddress sind Informationen, die Endbenutzer identifizieren können. Die Id Eigenschaft ist pseudonyme Informationen des Endbenutzers.
Fügen Sie das EUIIData Attribut zu den CustomerName Und CustomerAddress Eigenschaften hinzu:
[EUIIData] [JsonPropertyName("customerName")] public string? CustomerName { get; set; } [EUIIData] [JsonPropertyName("customerAddress")] public string? CustomerAddress { get; set; }Der obige Code teilt dem Redaction-Modul mit, dass die CustomerName- und CustomerAddress-Eigenschaften Informationen zur Identifizierung des Endbenutzers sind.
Fügen Sie das EUPData Attribut zur Id Eigenschaft hinzu:
[Key] [EUPData] [JsonPropertyName("id")] public int Id { get; set; }Der obige Code teilt der Redaktions-Engine mit, dass die Id-Eigenschaft Informationen des Endbenutzers pseudonymisiert.
Teste deine Änderungen an der eShopLite App
Wechseln Sie unten im TERMINALbereich zum Ordner "dotnet-compliance/eShopLite ".
cd ..Aktualisieren Sie die App-Container.
dotnet publish /p:PublishProfile=DefaultContainerWechseln Sie zum Dotnet-Compliance-Ordner , und starten Sie die App mit Docker:
cd .. docker compose upWenn Sie die Registerkarte in Ihrem Browser geschlossen haben, wählen Sie die Registerkarte "PORTS " und dann das Symbol " Im Browser öffnen " für den Front-End-Port (32000) aus.
Beachten Sie, dass die eShopLite App unverändert ist.
Versuchen Sie, dem Warenkorb einige Produkte hinzuzufügen, und wählen Sie dann "Warenkorb kaufen" aus.
Drücken Sie im TERMINAL-FensterSTRG+C , um die App zu beenden.
In der nächsten Übung werden Sie die geschwärzte Protokollierung hinzufügen.