Gerar relatórios de conformidade para um aplicativo nativo da nuvem anotado
Os departamentos de conformidade precisam ser capazes de revisar o código e os relatórios de conformidade para garantir que o aplicativo esteja em conformidade com as políticas da empresa. A estrutura de conformidade do .NET fornece uma maneira de gerar relatórios que mostram o status de conformidade do aplicativo.
O que é um relatório de conformidade?
Um relatório de conformidade pode ser gerado em tempo de compilação. A estrutura de conformidade .NET gera um arquivo JSON que contém detalhes sobre as classificações de dados e métodos de redação usados no aplicativo.
{
"Name": "DataEntities",
"Types": [
{
"Name": "DataEntities.Order",
"Members": [
{
"Name": "CustomerAddress",
"Type": "string",
"File": "C:\\Developer\\mslearn-dotnet-cloudnative\\dotnet-compliance\\eShopLite\\DataEntities\\Order.cs",
"Line": "25",
"Classifications": [
{
"Name": "EUIIData"
}
]
},
{
"Name": "CustomerName",
"Type": "string",
"File": "C:\\Developer\\mslearn-dotnet-cloudnative\\dotnet-compliance\\eShopLite\\DataEntities\\Order.cs",
"Line": "21",
"Classifications": [
{
"Name": "EUIIData"
}
]
},
...
O relatório acima é um exemplo do eShopLite.DataEntities projeto. Ele mostra que a Order classe tem duas propriedades que são classificadas como EUIIData.
{
"Name": "Store",
"Types": [
{
"Name": "Store.Services.Log",
"Logging Methods": [
{
"Name": "LogOrders",
"Parameters": [
{
"Name": "logger",
"Type": "Microsoft.Extensions.Logging.ILogger",
"File": "C:\\Developer\\mslearn-dotnet-cloudnative\\dotnet-compliance\\eShopLite\\Store\\Services\\ProductService.cs",
"Line": "103"
},
{
"Name": "order",
"Type": "DataEntities.Order",
"File": "C:\\Developer\\mslearn-dotnet-cloudnative\\dotnet-compliance\\eShopLite\\Store\\Services\\ProductService.cs",
"Line": "103"
}
]
}
]
}
]
}
O relatório acima é um exemplo do eShopLite.Store projeto. Ele mostra que o LogOrders ProductService método na classe usa um objeto como um Order parâmetro para registro.
Como gerar um relatório de conformidade
Há duas etapas que você precisa seguir para cada projeto para o qual deseja gerar um relatório:
Adicione o
Microsoft.Extensions.AuditReports
pacote NuGet a cada projeto.Adicione duas entradas na
PropertyGroup
seção do arquivo de projeto csproj :<GenerateComplianceReport>true</GenerateComplianceReport> <ComplianceReportOutputPath>$(MSBuildThisFileDirectory)\path to folder location</ComplianceReportOutputPath>
O primeiro ativa a geração de relatórios de conformidade. O segundo especifica o caminho para a pasta onde o relatório será gerado. O nome do arquivo é ComplianceReport.json.
Com essas atualizações, a execução dotnet build
na pasta da solução gera um relatório de conformidade para cada projeto que tem a GenerateComplianceReport
propriedade definida como true
.