Øvelse – Klassificer følsomme data i et cloudbaseret program
I denne øvelse klassificerer du de følsomme datatyper i et eksempel eShopLite program.
Appen er i aktiv udvikling og har i øjeblikket to dataklasser, Product og Order. De udarbejder ordreprocessen og vil gerne have, at du tilføjer koden for at klassificere datatyper.
I denne øvelse kan du se, hvordan du:
- Udforsk den aktuelle app og dens datatyper.
- Tilføj koden for at klassificere datatyperne.
- Kør og test appen.
Åbn udviklingsmiljøet
Du kan vælge at bruge et GitHub-kodeområde, der er vært for øvelsen, eller fuldføre øvelsen lokalt i Visual Studio Code.
Hvis du vil bruge et kodeområde, skal du oprette et forudkonfigureret GitHub-kodeområde med dette link til oprettelse af kodeområde.
GitHub tager flere minutter at oprette og konfigurere kodeområdet. Når processen er fuldført, kan du se kodefilerne til øvelsen. Den kode, der skal bruges i resten af dette modul, findes i mappen /dotnet-compliance.
Hvis du vil bruge Visual Studio Code, skal du overføre https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative-lageret til din egen GitHub-konto. Derpå:
- Kontrollér, at Docker kører. I et nyt Visual Studio Code-vindue skal du trykke på Ctrl+Skift+P- for at åbne kommandopaletten.
- Søg efter og vælg Udviklingsobjektbeholdere: Klon lager i objektbeholdervolumen.
- Vælg dit kopierede lager. Visual Studio Code opretter din udviklingsobjektbeholder lokalt.
Test appen eShopLite
Nederst i vinduet Visual Studio Code skal du vælge fanen TERMINAL.
Flyt til opgavemappen:
cd dotnet-compliance/eShopLiteByg objektbeholderne til apps.
dotnet publish /p:PublishProfile=DefaultContainerKør appen ved hjælp af docker:
cd .. docker compose upVælg fanen PORTE, og vælg derefter ikonet Åbn i browser globus for Front End (32000) port.
Vælg linket Produkter. Appen viser en liste over produkter.
Vælg fanen TERMINAL, og tryk derefter på Ctrl+C for at stoppe appen.
Opret taksonomier og attributter
I denne opgave skal du tilføje kode for at oprette to nye taksonomier. Anmærk derefter datatyperne Product og Order med de relevante attributter.
På fanen TERMINAL skal du flytte til mappen eShopLite/DataEntities:
cd eShopLite/DataEntities/Tilføj overholdelsespakken:
dotnet add package Microsoft.Extensions.Compliance.RedactionHøjreklik på mappen DataEntities i ruden EXPLORER, og vælg derefter Ny fil.
Angiv Compliance.csi filnavnet.
Angiv denne kode i editoren:
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) { } }Ovenstående kode opretter to taksonomier, EUII og EUPI. Der oprettes også to attributter, EUIIDataAttribute og EUPDataAttribute. Disse attributter bruges til at anmærke datatyperne.
Klassificer datatyperne
Brug disse taksonomier og attributter til at klassificere datatyperne i eShopLite-appen.
I ruden EXPLORER skal du udvide mappen DataEntities og derefter vælge filen Product.cs.
Der er ikke specifikke kundefølsomme data i denne klasse, men appen kan lække pseudonyme data, hvis egenskaben for produkt-id'et er forbundet til en kunde i loggene.
Føj attributten EUPData til egenskaben ProductId:
[EUPData] [Key] [JsonPropertyName("id")] public int Id { get; set; }Ovenstående kode fortæller redaction-programmet, at egenskaben Id er pseudonyme data.
I ruden EXPLORER skal du udvide mappen DataEntities og derefter vælge filen Order.cs.
Klassen Order indeholder følsomme data. Egenskaberne CustomerName og CustomerAddress er slutbrugeridentificerbare oplysninger. Egenskaben Id er pseudonymoplysninger for slutbrugeren.
Føj attributten EUIIData til egenskaberne CustomerName og CustomerAddress:
[EUIIData] [JsonPropertyName("customerName")] public string? CustomerName { get; set; } [EUIIData] [JsonPropertyName("customerAddress")] public string? CustomerAddress { get; set; }Ovenstående kode fortæller programmet til redigering, at egenskaberne CustomerName og CustomerAddress er slutbrugeridentificerbare oplysninger.
Føj attributten EUPData til egenskaben Id:
[Key] [EUPData] [JsonPropertyName("id")] public int Id { get; set; }Ovenstående kode fortæller redaction-programmet, at egenskaben Id er pseudonymoplysninger for slutbrugeren.
Test dine ændringer af eShopLite-appen
Gå til mappen dotnet-compliance/eShopLite i ruden TERMINAL nederst.
cd ..Opdater objektbeholderne til apps.
dotnet publish /p:PublishProfile=DefaultContainerGå til mappen dotnet-compliance, og start appen med Docker:
cd .. docker compose upHvis du har lukket fanen i browseren, skal du vælge fanen PORTE og derefter vælge ikonet Åbn i browser for Front End (32000) port.
Bemærk, at eShopLite-appen er uændret.
Prøv at føje nogle produkter til kurven, og vælg derefter Køb kurv.
I vinduet TERMINAL skal du trykke på Ctrl+C for at stoppe appen.
Du skal tilføje redigeret logføring i den næste øvelse.