Ejercicio: clasificación de datos confidenciales en una aplicación nativa de nube

Completado

En este ejercicio, clasificará los tipos de datos confidenciales en una aplicación de ejemplo eShopLite .

La aplicación está en desarrollo activo y actualmente tiene dos clases de datos, Product y Order. Están creando el proceso de ordenación y quieren agregar el código para clasificar los tipos de datos.

En este ejercicio, consulte cómo:

  • Explore la aplicación actual y sus tipos de datos.
  • Agregue el código para clasificar los tipos de datos.
  • Ejecute y pruebe la aplicación.

Abrir el entorno de desarrollo

Puede optar por usar un codespace de GitHub que hospede el ejercicio, o bien hacer el ejercicio localmente en Visual Studio Code.

Para usar un codespace, cree un codespace de GitHub preconfigurado con este vínculo de creación de Codespace.

GitHub tarda varios minutos en crear y configurar el espacio de código. Cuando se complete el proceso, verá los archivos de código del ejercicio. El código que se va a usar para el resto de este módulo está en el directorio /dotnet-compliance .

Para usar Visual Studio Code, haga un fork del https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative repositorio en su propia cuenta de GitHub. A continuación:

  1. Asegúrese de que Docker se está ejecutando. En una nueva ventana de Visual Studio Code, presione Ctrl+Mayús+P para abrir la paleta de comandos.
  2. Busque y seleccione Contenedores de desarrollo: Clonar repositorio en el volumen de contenedor.
  3. Seleccione el repositorio bifurcado. Visual Studio Code crea el contenedor de desarrollo localmente.

Prueba de la eShopLite aplicación

  1. En la parte inferior de la ventana de Visual Studio Code, seleccione la pestaña TERMINAL .

  2. Vaya a la carpeta del ejercicio:

    cd dotnet-compliance/eShopLite
    
  3. Compile los contenedores de aplicaciones.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  4. Ejecute la aplicación mediante Docker:

    cd ..
    docker compose up
    
  5. Seleccione la pestaña PUERTOS y, a continuación, seleccione el icono del globo Abrir en el navegador para el puerto Front End (32000).

  6. Seleccione el vínculo Productos. La aplicación muestra una lista de productos.

    Captura de pantalla de la aplicación eShopLite en ejecución.

  7. Seleccione la pestaña TERMINAL y presione Ctrl+C para detener la aplicación.

Creación de taxonomías y atributos

En esta tarea, agregue código para crear dos taxonomías nuevas. A continuación, anote los tipos de datos Product y Order con los atributos adecuados.

  1. En la pestaña TERMINAL , vaya a la eShopLite/DataEntities carpeta :

    cd eShopLite/DataEntities/
    
  2. Agregue el paquete de cumplimiento:

    dotnet add package Microsoft.Extensions.Compliance.Redaction
    
  3. En el panel EXPLORADOR , haga clic con el botón derecho en la carpeta DataEntities y, a continuación, seleccione el nuevo archivo.

  4. En el nombre de archivo, escriba Compliance.cs.

  5. En el editor, escriba este código:

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

    El código anterior crea dos taxonomías y EUIIEUPI. También crea dos atributos, EUIIDataAttribute y EUPDataAttribute. Estos atributos se usan para anotar los tipos de datos.

Clasificación de los tipos de datos

Use estas taxonomías y atributos para clasificar los tipos de datos en la eShopLite aplicación.

  1. En el panel EXPLORADOR , expanda la carpeta DataEntities y, a continuación, seleccione el archivo Product.cs .

    No hay datos específicos confidenciales del cliente en esta clase, pero la aplicación podría filtrar datos seudónimos si la propiedad del id. de producto está conectada a un cliente en los registros.

  2. Agregue el EUPData atributo a la ProductId propiedad :

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

    El código anterior indica al motor de redacción que la propiedad Id es datos seudonimizados.

  3. En el panel EXPLORADOR , expanda la carpeta DataEntities y, a continuación, seleccione el archivo Order.cs .

    La Order clase contiene datos confidenciales. Las CustomerName propiedades y CustomerAddress son información de identificación del usuario final. La Id propiedad es información seudónima del usuario final.

  4. Agregue el EUIIData atributo a las CustomerName propiedades y CustomerAddress :

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

    El código anterior indica al motor de redacción que las propiedades CustomerName y CustomerAddress son información identificable del usuario final.

  5. Agregue el EUPData atributo a la Id propiedad :

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

    El código anterior indica al motor de redacción que la Id propiedad es información seudónima del usuario final.

Prueba de los cambios en la eShopLite aplicación

  1. En el panel TERMINAL de la parte inferior, vaya a la carpeta dotnet-compliance/eShopLite .

    cd ..
    
  2. Actualice los contenedores de aplicaciones.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  3. Vaya a la carpeta dotnet-compliance e inicie la aplicación con Docker:

    cd ..
    docker compose up
    
  4. Si cerró la pestaña en el explorador, seleccione la pestaña PUERTOS y, a continuación, seleccione el icono Abrir en el explorador para el puerto Front End (32000).

  5. Tenga en cuenta que la eShopLite aplicación no cambia.

  6. Intente agregar algunos productos a la cesta y, a continuación, seleccione Comprar cesta.

  7. En la ventana TERMINAL , presione Ctrl+C para detener la aplicación.

Agregará el registro redactado en el ejercicio siguiente.