Oefening: gevoelige gegevens classificeren in een cloudeigen toepassing

Voltooid

In deze oefening classificeert u de typen gevoelige gegevens in een voorbeeldtoepassing eShopLite .

De app is actief in ontwikkeling en heeft momenteel twee gegevensklassen en ProductOrder. Ze bouwen het bestelproces op en willen dat u de code toevoegt om gegevenstypen te classificeren.

In deze oefening leert u het volgende:

  • Verken de huidige app en de bijbehorende gegevenstypen.
  • Voeg de code toe om de gegevenstypen te classificeren.
  • Voer de app uit en test deze.

De ontwikkelomgeving openen

U kunt ervoor kiezen om een GitHub-coderuimte te gebruiken die als host fungeert voor de oefening of om de oefening lokaal te voltooien in Visual Studio Code.

Als u een codespace wilt gebruiken, maakt u een vooraf geconfigureerde GitHub Codespace met deze koppeling voor het maken van Codespace.

GitHub duurt enkele minuten om de codespace te maken en te configureren. Wanneer het proces is voltooid, ziet u de codebestanden voor de oefening. De code die voor de rest van deze module moet worden gebruikt, bevindt zich in de map /dotnet-compliance .

Als u Visual Studio Code wilt gebruiken, moet u de https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative opslagplaats splitsen in uw eigen GitHub-account. Daarna kunt u het volgende doen:

  1. Zorg ervoor dat Docker wordt uitgevoerd. Druk in een nieuw Visual Studio Code-venster op Ctrl+Shift+P om het opdrachtenpalet te openen.
  2. Zoek en selecteer Dev Containers: Opslagplaats klonen in containervolume.
  3. Selecteer de geforkte opslagplaats. Visual Studio Code maakt uw ontwikkelcontainer lokaal.

De eShopLite app testen

  1. Selecteer onderaan het Visual Studio Code-venster het tabblad TERMINAL .

  2. Naar de oefeningsmap gaan:

    cd dotnet-compliance/eShopLite
    
  3. Bouw de apps-containers.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  4. Voer de app uit met docker:

    cd ..
    docker compose up
    
  5. Selecteer het tabblad POORTEN en selecteer vervolgens het pictogram Openen in browserbol voor de front-endpoort (32000).

  6. Selecteer de koppeling Producten. In de app wordt een lijst met producten weergegeven.

    A screenshot of the running eShopLite app.

  7. Selecteer het tabblad TERMINAL en druk vervolgens op Ctrl+C om de app te stoppen.

Taxonomieën en kenmerken maken

Voeg in deze taak code toe om twee nieuwe taxonomieën te maken. Maak vervolgens aantekeningen op de Product en Order gegevenstypen met de juiste kenmerken.

  1. Ga op het tabblad TERMINAL naar de eShopLite/DataEntities map:

    cd eShopLite/DataEntities/
    
  2. Voeg het nalevingspakket toe:

    dotnet add package Microsoft.Extensions.Compliance.Redaction
    
  3. Klik in het deelvenster EXPLORER met de rechtermuisknop op de map DataEntities en selecteer vervolgens het nieuwe bestand.

  4. Voer Compliance.cs in de bestandsnaam in.

  5. Voer in de editor deze code in:

    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) { }
    }
    
    

    Met de bovenstaande code worden twee taxonomieën gemaakt, EUII en EUPI. Er worden ook twee kenmerken gemaakt, EUIIDataAttribute en EUPDataAttribute. Deze kenmerken worden gebruikt om aantekeningen te maken bij de gegevenstypen.

De gegevenstypen classificeren

Gebruik deze taxonomieën en kenmerken om de gegevenstypen in de eShopLite app te classificeren.

  1. Vouw in het deelvenster EXPLORER de map Gegevensentiteiten uit en selecteer vervolgens het bestand Product.cs .

    Er zijn geen specifieke klantgevoelige gegevens in deze klasse, maar de app kan gepseudonimiseerde gegevens lekken als de product-id-eigenschap is verbonden met een klant in de logboeken.

  2. Voeg het EUPData kenmerk toe aan de ProductId eigenschap:

    [EUPData]
    [Key]
    [JsonPropertyName("id")]
    public int Id { get; set; }
    

    De bovenstaande code vertelt de redaction-engine dat de Id eigenschap gepseudonimiseerde gegevens is.

  3. Vouw in het deelvenster EXPLORER de map DataEntities uit en selecteer vervolgens het Order.cs bestand.

    De Order klasse bevat gevoelige gegevens. De CustomerName eigenschappen zijn CustomerAddress identificeerbare informatie van eindgebruikers. De Id eigenschap is gepseudonimiseerde informatie van eindgebruikers.

  4. Voeg het EUIIData kenmerk toe aan de CustomerName en CustomerAddress eigenschappen:

    [EUIIData]
    [JsonPropertyName("customerName")]
    public string? CustomerName { get; set; }
    
    [EUIIData]
    [JsonPropertyName("customerAddress")]
    public string? CustomerAddress { get; set; }
    

    De bovenstaande code vertelt de redaction-engine dat de CustomerName en CustomerAddress eigenschappen identificeerbare informatie van eindgebruikers zijn.

  5. Voeg het EUPData kenmerk toe aan de Id eigenschap:

    [Key]
    [EUPData]
    [JsonPropertyName("id")]
    public int Id { get; set; }
    

    De bovenstaande code vertelt de redaction-engine dat de Id eigenschap gepseudonimiseerde informatie van eindgebruikers is.

Uw wijzigingen in de eShopLite app testen

  1. Ga in het TERMINAL-deelvenster onderaan naar de map dotnet-compliance/eShopLite .

    cd ..
    
  2. Werk de appscontainers bij.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  3. Ga naar de map dotnet-compliance en start de app met Docker:

    cd ..
    docker compose up
    
  4. Als u het tabblad in uw browser hebt gesloten, selecteert u het tabblad POORTEN en selecteert u vervolgens het pictogram Openen in browser voor de front-endpoort (32000 ).

  5. Houd er rekening mee dat de eShopLite app ongewijzigd blijft.

  6. Probeer enkele producten toe te voegen aan de mand en selecteer vervolgens Basket kopen.

  7. Druk in het TERMINAL-venster op Ctrl+C om de app te stoppen.

In de volgende oefening voegt u bewerkte logboekregistratie toe.