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 eShopLite de ejemplo.

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, verá el procedimiento para:

  • 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 unos minutos en crear y configurar el codespace. Cuando se complete el proceso, verá los archivos de código del ejercicio. El código que se usará para el resto de este módulo está en el directorio /dotnet-compliance.

Para usar Visual Studio Code, bifurque el repositorio https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative en su propia cuenta de GitHub. Después:

  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 aplicación eShopLite

  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 de globo Abrir en el explorador del puerto Front-end (32000).

  6. Seleccione la pestaña Productos. La aplicación muestra una lista de productos.

    A screenshot of the running eShopLite app.

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

Creación de taxonomías y atributos

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

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

    cd eShopLite/DataEntities/
    
  2. Agregar el paquete Compliance:

    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. Para 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, EUII y EUPI. 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 aplicación eShopLite.

  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 atributo EUPData a la propiedad ProductId:

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

    El código anterior indica al motor de reacción que la propiedad Id son datos seudónimos.

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

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

  4. Agregue el atributo EUIIData a las propiedades CustomerName 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 reacción que las propiedades CustomerName y CustomerAddress son información de identificación del usuario final.

  5. Agregue el atributo EUPData a la propiedad Id:

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

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

Prueba de los cambios en la aplicación eShopLite

  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 del puerto Front-end (32000).

  5. Tenga en cuenta que la aplicación eShopLite 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.