다음을 통해 공유


Power BI를 사용하여 사용자 지정 보고서 만들기

참고

미국 정부 고객인 경우 미국 정부 고객을 위해 엔드포인트용 Microsoft Defender 나열된 URI를 사용하세요.

성능을 향상시키려면 지리적 위치와 가까운 서버를 사용합니다.

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com
  • ina.api.security.microsoft.com
  • aea.api.security.microsoft.com

이 섹션에서는 엔드포인트용 Defender API를 기반으로 Power BI 보고서를 만드는 방법을 알아봅니다.

첫 번째 예제에서는 Power BI를 고급 헌팅 API에 연결하는 방법을 보여 줍니다. 두 번째 예제에서는 컴퓨터 작업 또는 경고와 같은 OData API에 대한 연결을 보여 줍니다.

고급 헌팅 API에 Power BI 연결

  1. Microsoft Power BI 엽니다.

  2. 빈 데이터>가져오기 쿼리를 선택합니다.

    데이터 가져오기 메뉴 항목 아래의 빈 쿼리 옵션

  3. 고급 편집기 선택합니다.

    고급 편집기 메뉴 항목

  4. 아래 코드 조각을 복사하여 편집기에서 붙여넣습니다.

        let
            AdvancedHuntingQuery = "DeviceEvents | where ActionType contains 'Anti' | limit 20",
    
            HuntingUrl = "https://api.securitycenter.microsoft.com/api/advancedqueries",
    
            Response = Json.Document(Web.Contents(HuntingUrl, [Query=[key=AdvancedHuntingQuery]])),
    
            TypeMap = #table(
                { "Type", "PowerBiType" },
                {
                    { "Double",   Double.Type },
                    { "Int64",    Int64.Type },
                    { "Int32",    Int32.Type },
                    { "Int16",    Int16.Type },
                    { "UInt64",   Number.Type },
                    { "UInt32",   Number.Type },
                    { "UInt16",   Number.Type },
                    { "Byte",     Byte.Type },
                    { "Single",   Single.Type },
                    { "Decimal",  Decimal.Type },
                    { "TimeSpan", Duration.Type },
                    { "DateTime", DateTimeZone.Type },
                    { "String",   Text.Type },
                    { "Boolean",  Logical.Type },
                    { "SByte",    Logical.Type },
                    { "Guid",     Text.Type }
                }),
    
            Schema = Table.FromRecords(Response[Schema]),
            TypedSchema = Table.Join(Table.SelectColumns(Schema, {"Name", "Type"}), {"Type"}, TypeMap , {"Type"}),
            Results = Response[Results],
            Rows = Table.FromRecords(Results, Schema[Name]),
            Table = Table.TransformColumnTypes(Rows, Table.ToList(TypedSchema, (c) => {c{0}, c{2}}))
    
        in Table
    
  5. 완료를 선택합니다.

  6. 자격 증명 편집을 선택합니다.

    자격 증명 편집 메뉴 항목

  7. 조직 계정>로그인을 선택합니다.

    조직 계정 메뉴 항목의 로그인 옵션

  8. 자격 증명을 입력하고 로그인될 때까지 기다립니다.

  9. 연결을 선택합니다.

    조직 계정 메뉴 항목의 로그인 확인 메시지

이제 쿼리 결과가 테이블로 표시되고 그 위에 시각화를 빌드할 수 있습니다. 이 테이블을 복제하고 이름을 바꾸고 내부 고급 헌팅 쿼리를 편집하여 원하는 데이터를 가져올 수 있습니다.

OData API에 Power BI 연결

이전 예제와 이 예제의 유일한 차이점은 편집기 내의 쿼리입니다.

  1. Microsoft Power BI 엽니다.

  2. 빈 데이터>가져오기 쿼리를 선택합니다.

    데이터 가져오기 메뉴 항목 아래의 빈 쿼리 옵션

  3. 고급 편집기 선택합니다.

    고급 편집기 메뉴 항목

  4. 다음 코드를 복사하고 편집기에 붙여넣어 organization 모든 Machine Actions를 가져옵니다.

        let
    
            Query = "MachineActions",
    
            Source = OData.Feed("https://api.securitycenter.microsoft.com/api/" & Query, null, [Implementation="2.0", MoreColumns=true])
        in
            Source
    

    경고 및 컴퓨터에 대해 동일한 작업을 수행할 수 있습니다. 쿼리 필터에 OData 쿼리를 사용할 수도 있습니다. OData 쿼리 사용을 참조하세요.

GitHub의 Power BI dashboard 샘플

Power BI 보고서 템플릿을 참조하세요.