Exercício - Classificar dados confidenciais em um aplicativo nativo da nuvem
Neste exercício, você classifica os tipos de dados confidenciais em um aplicativo de exemplo eShopLite .
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 Codespace GitHub pré-configurado com este link de criação do 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:
- 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.
- Procure e selecione Dev Containers: Clone Repository in Container Volume.
- Selecione seu repositório bifurcado. O Visual Studio Code cria seu contêiner de desenvolvimento localmente.
Testar a eShopLite aplicação
Na parte inferior da janela Código do Visual Studio, selecione a guia TERMINAL .
Mover para a pasta de exercícios:
cd dotnet-compliance/eShopLite
Crie os contêineres de aplicativos.
dotnet publish /p:PublishProfile=DefaultContainer
Execute o aplicativo usando o docker:
cd .. docker compose up
Selecione a guia PORTAS e, em seguida, selecione o ícone de globo Abrir no navegador para a porta Front-End (32000).
Selecione o link Produtos. O aplicativo exibe uma lista de produtos.
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 Product tipos de dados e Order com os atributos apropriados.
Na guia TERMINAL, vá para a eShopLite/DataEntities pasta:
cd eShopLite/DataEntities/
Adicione o pacote de conformidade:
dotnet add package Microsoft.Extensions.Compliance.Redaction
No painel EXPLORER, clique com o botão direito do rato na pasta DataEntities e, em seguida, selecione o Novo ficheiro.
No nome do ficheiro, introduza Compliance.cs.
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 eShopLite aplicativo.
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.
Adicione o EUPData atributo à ProductId propriedade:
[EUPData] [Key] [JsonPropertyName("id")] public int Id { get; set; }
O código acima informa ao mecanismo de redação que a Id propriedade é um dado pseudônimo.
No painel EXPLORER, expanda a pasta DataEntities e selecione o arquivo Order.cs.
A Order classe contém dados confidenciais. As CustomerName propriedades e CustomerAddress são informações identificáveis do usuário final. A Id propriedade é a informação sob pseudónimo do utilizador final.
Adicione o EUIIData atributo às CustomerName propriedades 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 e CustomerAddress são informações identificáveis pelo CustomerName usuário final.
Adicione o EUPData atributo à Id propriedade:
[Key] [EUPData] [JsonPropertyName("id")] public int Id { get; set; }
O código acima informa ao mecanismo de redação que a Id propriedade é uma informação pseudônima do usuário final.
Testar suas alterações no eShopLite aplicativo
No painel TERMINAL na parte inferior, vá para a pasta dotnet-compliance/eShopLite.
cd ..
Atualize os contêineres de aplicativos.
dotnet publish /p:PublishProfile=DefaultContainer
Vá para a pasta dotnet-compliance e inicie o aplicativo com o Docker:
cd .. docker compose up
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).
Observe que o eShopLite aplicativo não foi alterado.
Tente adicionar alguns produtos ao carrinho de compras e, em seguida, selecione Comprar carrinho de compras.
Na janela TERMINAL, pressione Ctrl+C para parar o aplicativo.
Você adicionará o log editado no próximo exercício.