Exercício - Classificar dados confidenciais em um aplicativo nativo da nuvem

Concluído

Neste exercício, você classifica os tipos de dados confidenciais em um exemplo eShopLite aplicativo.

O aplicativo está em desenvolvimento ativo e atualmente tem duas classes de dados, Product e Order. Eles estão construindo o processo de pedido e querem que você adicione o código para classificar os tipos de dados.

Neste exercício, veja como:

  • Explore o aplicativo atual e seus tipos de dados.
  • Adicione o código para classificar os tipos de dados.
  • Execute e teste o aplicativo.

Abra o ambiente de desenvolvimento

Você pode optar por usar um espaço de código GitHub que hospeda o exercício ou concluí-lo localmente no Visual Studio Code.

Para usar um codespace , crie um GitHub Codespace pré-configurado com este link de criação de Codespace .

O GitHub leva vários minutos para criar e configurar o espaço de código. Quando o processo for concluído, você verá os arquivos de código para o exercício. O código a ser usado para o restante deste módulo está no diretório /dotnet-compliance .

Para usar o Visual Studio Code, bifurque o https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative repositório para sua própria conta do GitHub. Em seguida:

  1. Verifique se o Docker está em execução. Em uma nova janela do Visual Studio Code, pressione Ctrl+Shift+P para abrir a paleta de comandos.
  2. Procure e selecione Dev Containers: Clone Repository in Container Volume.
  3. Selecione seu repositório bifurcado. O Visual Studio Code cria seu contêiner de desenvolvimento localmente.

Testar a aplicação eShopLite

  1. Na parte inferior da janela Código do Visual Studio, selecione a guia TERMINAL .

  2. Mover para a pasta de exercícios:

    cd dotnet-compliance/eShopLite
    
  3. Crie os contêineres de aplicativos.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  4. Execute o aplicativo usando o docker:

    cd ..
    docker compose up
    
  5. Selecione a guia PORTAS e, em seguida, selecione o ícone de globo Abrir no navegador para a porta Front-End (32000).

  6. Selecione o link Produtos. O aplicativo exibe uma lista de produtos.

    Uma captura de tela do aplicativo eShopLite em execução.

  7. Selecione a guia TERMINAL e pressione Ctrl+C para parar o aplicativo.

Criar taxonomias e atributos

Nesta tarefa, adicione código para criar duas novas taxonomias. Em seguida, anote os tipos de dados Product e Order com os atributos apropriados.

  1. Na guia TERMINAL , vá para a eShopLite/DataEntities pasta:

    cd eShopLite/DataEntities/
    
  2. Adicione o pacote de conformidade:

    dotnet add package Microsoft.Extensions.Compliance.Redaction
    
  3. No painel EXPLORER , clique com o botão direito do rato na pasta DataEntities e, em seguida, selecione o Novo ficheiro.

  4. No nome do ficheiro, introduza Compliance.cs.

  5. No editor, digite 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) { }
    }
    
    

    O código acima cria duas taxonomias, EUII e EUPI. Ele também cria dois atributos, EUIIDataAttribute e EUPDataAttribute. Esses atributos são usados para anotar os tipos de dados.

Classificar os tipos de dados

Use essas taxonomias e atributos para classificar os tipos de dados no aplicativo eShopLite.

  1. No painel EXPLORER , expanda a pasta DataEntities e selecione o arquivo Product.cs .

    Não há dados confidenciais específicos do cliente nessa classe, mas o aplicativo pode vazar dados pseudônimos se a propriedade ID do produto estiver conectada a um cliente nos logs.

  2. Adicione o atributo EUPData à propriedade ProductId:

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

    O código acima informa ao mecanismo de redação que a propriedade Id é dados pseudônimos.

  3. No painel EXPLORER , expanda a pasta DataEntities e selecione o arquivo Order.cs .

    A classe Order contém dados confidenciais. As propriedades CustomerName e CustomerAddress são informações identificáveis pelo usuário final. A propriedade Id é a informação sob pseudônimo do usuário final.

  4. Adicione o atributo EUIIData às propriedades CustomerName e CustomerAddress:

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

    O código acima informa ao mecanismo de redação que as propriedades CustomerName e CustomerAddress são informações identificáveis pelo usuário final.

  5. Adicione o atributo EUPData à propriedade Id:

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

    O código acima informa ao mecanismo de redação que a propriedade Id é informação pseudônima do utilizador final.

Teste as suas alterações na aplicação eShopLite

  1. No painel TERMINAL na parte inferior, aceda à pasta dotnet-compliance/eShopLite.

    cd ..
    
  2. Atualize os contêineres de aplicativos.

    dotnet publish /p:PublishProfile=DefaultContainer 
    
  3. Vá para a pasta dotnet-compliance e inicie o aplicativo com o Docker:

    cd ..
    docker compose up
    
  4. Se você fechou a guia no navegador, selecione a guia PORTAS e, em seguida, selecione o ícone Abrir no navegador para a porta Front-End (32000).

  5. Observe que o aplicativo eShopLite está inalterado.

  6. Tente adicionar alguns produtos ao carrinho de compras e, em seguida, selecione Comprar carrinho de compras.

  7. Na janela TERMINAL , pressione Ctrl+C para parar o aplicativo.

Você adicionará o log editado no próximo exercício.