주석이 추가된 클라우드 네이티브 앱에 대한 규정 준수 보고서 생성

완료됨

규정 준수 부서는 코드 및 규정 준수 보고서를 검토하여 애플리케이션이 회사의 정책을 준수하는지 확인해야 합니다. .NET 규정 준수 프레임워크는 애플리케이션의 규정 준수 상태 보여 주는 보고서를 생성하는 방법을 제공합니다.

규정 준수 보고서가란?

컴파일 시간에 준수 보고서를 생성할 수 있습니다. .NET 규정 준수 프레임워크는 애플리케이션에서 사용되는 데이터 분류 및 수정 방법에 대한 세부 정보가 포함된 JSON 파일을 생성합니다.

{
    "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"
                        }
                    ]
                },
    ...

위의 보고서는 프로젝트의 예입니다 eShopLite.DataEntities . 클래스에 Order 로 분류 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"
                        }
                    ]
                }
            ]
        }
    ]
}

위의 보고서는 프로젝트의 예입니다 eShopLite.Store . 클래스의 메서드가 LogOrders 로깅을 ProductService 위한 매개 변수로 개체를 사용하는 Order 것을 보여 줍니다.

규정 준수 보고서를 생성하는 방법

보고서를 생성하려는 각 프로젝트에 대해 수행해야 하는 두 가지 단계가 있습니다.

  1. Microsoft.Extensions.AuditReports 각 프로젝트에 NuGet 패키지를 추가합니다.

  2. csproj 프로젝트 파일의 섹션에 두 개의 항목을 추가합니다PropertyGroup.

    <GenerateComplianceReport>true</GenerateComplianceReport>
    <ComplianceReportOutputPath>$(MSBuildThisFileDirectory)\path to folder location</ComplianceReportOutputPath>
    

    첫 번째는 규정 준수 보고서 생성을 전환합니다. 두 번째는 보고서가 생성될 폴더의 경로를 지정합니다. 파일 이름은 ComplianceReport.json입니다.

이러한 업데이트를 사용하면 솔루션 폴더에서 실행 dotnet build 하면 속성trueGenerateComplianceReport 설정된 각 프로젝트에 대한 준수 보고서가 생성됩니다.