Generera efterlevnadsrapporter för en kommenterad molnbaserad app
Efterlevnadsavdelningar måste kunna granska kod- och efterlevnadsrapporter för att säkerställa att programmet är kompatibelt med företagets principer. Med .NET-efterlevnadsramverket kan du generera rapporter som visar programmets efterlevnadsstatus.
Vad är en efterlevnadsrapport?
En efterlevnadsrapport kan genereras vid kompileringstillfället. .NET-efterlevnadsramverket genererar en JSON-fil som innehåller information om de dataklassificeringar och redigeringsmetoder som används i programmet.
{
"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"
}
]
},
...
Rapporten ovan är ett exempel från eShopLite.DataEntities projektet. Den visar att Order klassen har två egenskaper som klassificeras som 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"
}
]
}
]
}
]
}
Rapporten ovan är ett exempel från eShopLite.Store projektet. Den visar att LogOrders metoden i ProductService klassen tar ett Order objekt som en parameter för loggning.
Så här genererar du en efterlevnadsrapport
Det finns två steg som du måste utföra för varje projekt som du vill generera en rapport för:
Microsoft.Extensions.AuditReports
Lägg till NuGet-paketet i varje projekt.Lägg till två poster i
PropertyGroup
avsnittet i csproj-projektfilen :<GenerateComplianceReport>true</GenerateComplianceReport> <ComplianceReportOutputPath>$(MSBuildThisFileDirectory)\path to folder location</ComplianceReportOutputPath>
Den första växlar genereringen av efterlevnadsrapporten till. Den andra anger sökvägen till mappen där rapporten ska genereras. Filnamnet är ComplianceReport.json.
Med dessa uppdateringar genererar körning dotnet build
i lösningsmappen en efterlevnadsrapport för varje projekt som har GenerateComplianceReport
egenskapen inställd på true
.