如何在资源图中查询 JSON
How do I query JSON in resource graph
我有 JSON 下面是资源图查询的结果,我只需要 return 只有 properties.policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"
的实例
我怎样才能在查询中做到这一点?
{
"name": "GenericSecurityStatusesSummary",
"resourceHealthSummryPerCategory": [
{
"category": "Compute",
"healthy": 9,
"medium": 287,
"high": 337,
"none": null,
"low": 143
},
{
"category": "Networking",
"healthy": 754,
"medium": null,
"high": 10,
"none": 12,
"low": null
}
],
"policyAssessmentsSummaries": [
{
"policyDefinitionId": null,
"assessmentKey": "d1db3318-01ff-16de-29eb-28b344515626",
"policyName": "Monitoring agent should be installed on your machines",
"category": "Compute",
"healthy": 776,
"medium": null,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "8e2b96ff-3de2-289b-b5c1-3b9921a3441e",
"policyName": "Monitoring agent health issues should be resolved on your machines",
"category": "Compute",
"healthy": 676,
"medium": 100,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "83f577bd-a1b6-b7e1-0891-12ca19d1e6df",
"policyName": "Install endpoint protection solution on your machines",
"category": "Compute",
"healthy": 496,
"medium": null,
"high": 71,
"none": 209,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a",
"policyName": "Endpoint protection health issues should be resolved on your machines",
"category": "Compute",
"healthy": 488,
"medium": 2,
"high": 6,
"none": 280,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "181ac480-f7c4-544b-9865-11b8ffe87f47",
"policyName": "Vulnerabilities in security configuration on your machines should be remediated",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 136,
"low": 640
},
{
"policyDefinitionId": null,
"assessmentKey": "c0f5316d-5ac5-9218-b77a-b96e16ccfd66",
"policyName": "Your machines should be restarted to apply system updates",
"category": "Compute",
"healthy": 629,
"medium": 17,
"high": null,
"none": 130,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "4ab6e3c5-74dd-8b35-9ab9-f61b30875b27",
"policyName": "System updates should be installed on your machines",
"category": "Compute",
"healthy": 572,
"medium": null,
"high": 24,
"none": 130,
"low": 50
},
{
"policyDefinitionId": null,
"assessmentKey": "d57a4221-a804-52ca-3dea-768284f06bb7",
"policyName": "Disk encryption should be applied on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": 272,
"none": 504,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "f9f0eed0-f143-47bf-b856-671ea2eeed62",
"policyName": "Harden Network Security Group rules of internet facing virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "35f45c95-27cf-4e52-891f-8390d1de5828",
"policyName": "Adaptive Application Controls should be enabled on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "01b1ed4c-b733-4fee-b145-f23236e70cf3",
"policyName": "Vulnerability assessment solution should be installed on your virtual machines",
"category": "Compute",
"healthy": null,
"medium": 522,
"high": null,
"none": 254,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "71992a2a-d168-42e0-b10e-6b45fa2ecddb",
"policyName": "Vulnerabilities should be remediated by a Vulnerability Assessment solution",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3b20e985-f71f-483b-b078-f30d73936d43",
"policyName": "Access should be restricted for permissive Network Security Groups with Internet-facing VMs",
"category": "Networking",
"healthy": 755,
"medium": null,
"high": 9,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "0f50c962-6277-4142-8f95-aa16e80f8da4",
"policyName": "The rules for web applications on IaaS NSGs should be hardened",
"category": "Networking",
"healthy": 760,
"medium": null,
"high": 4,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
"policyName": "Management ports should be closed on your virtual machines",
"category": "Networking",
"healthy": 761,
"medium": null,
"high": 3,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "c3b51c94-588b-426b-a892-24696f9e54cc",
"policyName": "IP forwarding on your virtual machine should be disabled",
"category": "Networking",
"healthy": 764,
"medium": null,
"high": null,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "805651bc-6ecd-4c73-9b55-97a19d0582d0",
"policyName": "Just-In-Time network access control should be applied on virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
}
],
"resourceHealthSummary": {
"healthy": 9,
"medium": 284,
"high": 340,
"none": null,
"low": 143
},
"resourceCount": 776
}
您可以尝试使用 mv-expand or mv-apply。例如:
print d = dynamic({
"name": "GenericSecurityStatusesSummary",
"resourceHealthSummryPerCategory": [
{
"category": "Compute",
"healthy": 9,
"medium": 287,
"high": 337,
"none": null,
"low": 143
},
{
"category": "Networking",
"healthy": 754,
"medium": null,
"high": 10,
"none": 12,
"low": null
}
],
"policyAssessmentsSummaries": [
{
"policyDefinitionId": null,
"assessmentKey": "d1db3318-01ff-16de-29eb-28b344515626",
"policyName": "Monitoring agent should be installed on your machines",
"category": "Compute",
"healthy": 776,
"medium": null,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "8e2b96ff-3de2-289b-b5c1-3b9921a3441e",
"policyName": "Monitoring agent health issues should be resolved on your machines",
"category": "Compute",
"healthy": 676,
"medium": 100,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "83f577bd-a1b6-b7e1-0891-12ca19d1e6df",
"policyName": "Install endpoint protection solution on your machines",
"category": "Compute",
"healthy": 496,
"medium": null,
"high": 71,
"none": 209,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a",
"policyName": "Endpoint protection health issues should be resolved on your machines",
"category": "Compute",
"healthy": 488,
"medium": 2,
"high": 6,
"none": 280,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "181ac480-f7c4-544b-9865-11b8ffe87f47",
"policyName": "Vulnerabilities in security configuration on your machines should be remediated",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 136,
"low": 640
},
{
"policyDefinitionId": null,
"assessmentKey": "c0f5316d-5ac5-9218-b77a-b96e16ccfd66",
"policyName": "Your machines should be restarted to apply system updates",
"category": "Compute",
"healthy": 629,
"medium": 17,
"high": null,
"none": 130,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "4ab6e3c5-74dd-8b35-9ab9-f61b30875b27",
"policyName": "System updates should be installed on your machines",
"category": "Compute",
"healthy": 572,
"medium": null,
"high": 24,
"none": 130,
"low": 50
},
{
"policyDefinitionId": null,
"assessmentKey": "d57a4221-a804-52ca-3dea-768284f06bb7",
"policyName": "Disk encryption should be applied on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": 272,
"none": 504,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "f9f0eed0-f143-47bf-b856-671ea2eeed62",
"policyName": "Harden Network Security Group rules of internet facing virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "35f45c95-27cf-4e52-891f-8390d1de5828",
"policyName": "Adaptive Application Controls should be enabled on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "01b1ed4c-b733-4fee-b145-f23236e70cf3",
"policyName": "Vulnerability assessment solution should be installed on your virtual machines",
"category": "Compute",
"healthy": null,
"medium": 522,
"high": null,
"none": 254,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "71992a2a-d168-42e0-b10e-6b45fa2ecddb",
"policyName": "Vulnerabilities should be remediated by a Vulnerability Assessment solution",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3b20e985-f71f-483b-b078-f30d73936d43",
"policyName": "Access should be restricted for permissive Network Security Groups with Internet-facing VMs",
"category": "Networking",
"healthy": 755,
"medium": null,
"high": 9,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "0f50c962-6277-4142-8f95-aa16e80f8da4",
"policyName": "The rules for web applications on IaaS NSGs should be hardened",
"category": "Networking",
"healthy": 760,
"medium": null,
"high": 4,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
"policyName": "Management ports should be closed on your virtual machines",
"category": "Networking",
"healthy": 761,
"medium": null,
"high": 3,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "c3b51c94-588b-426b-a892-24696f9e54cc",
"policyName": "IP forwarding on your virtual machine should be disabled",
"category": "Networking",
"healthy": 764,
"medium": null,
"high": null,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "805651bc-6ecd-4c73-9b55-97a19d0582d0",
"policyName": "Just-In-Time network access control should be applied on virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
}
],
"resourceHealthSummary": {
"healthy": 9,
"medium": 284,
"high": 340,
"none": null,
"low": 143
},
"resourceCount": 776
})
| mv-apply d.policyAssessmentsSummaries on
(
where d_policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"
)
或者,使用
...
| mv-expand d.policyAssessmentsSummaries
| where d_policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"
我有 JSON 下面是资源图查询的结果,我只需要 return 只有 properties.policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"
的实例
我怎样才能在查询中做到这一点?
{
"name": "GenericSecurityStatusesSummary",
"resourceHealthSummryPerCategory": [
{
"category": "Compute",
"healthy": 9,
"medium": 287,
"high": 337,
"none": null,
"low": 143
},
{
"category": "Networking",
"healthy": 754,
"medium": null,
"high": 10,
"none": 12,
"low": null
}
],
"policyAssessmentsSummaries": [
{
"policyDefinitionId": null,
"assessmentKey": "d1db3318-01ff-16de-29eb-28b344515626",
"policyName": "Monitoring agent should be installed on your machines",
"category": "Compute",
"healthy": 776,
"medium": null,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "8e2b96ff-3de2-289b-b5c1-3b9921a3441e",
"policyName": "Monitoring agent health issues should be resolved on your machines",
"category": "Compute",
"healthy": 676,
"medium": 100,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "83f577bd-a1b6-b7e1-0891-12ca19d1e6df",
"policyName": "Install endpoint protection solution on your machines",
"category": "Compute",
"healthy": 496,
"medium": null,
"high": 71,
"none": 209,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a",
"policyName": "Endpoint protection health issues should be resolved on your machines",
"category": "Compute",
"healthy": 488,
"medium": 2,
"high": 6,
"none": 280,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "181ac480-f7c4-544b-9865-11b8ffe87f47",
"policyName": "Vulnerabilities in security configuration on your machines should be remediated",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 136,
"low": 640
},
{
"policyDefinitionId": null,
"assessmentKey": "c0f5316d-5ac5-9218-b77a-b96e16ccfd66",
"policyName": "Your machines should be restarted to apply system updates",
"category": "Compute",
"healthy": 629,
"medium": 17,
"high": null,
"none": 130,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "4ab6e3c5-74dd-8b35-9ab9-f61b30875b27",
"policyName": "System updates should be installed on your machines",
"category": "Compute",
"healthy": 572,
"medium": null,
"high": 24,
"none": 130,
"low": 50
},
{
"policyDefinitionId": null,
"assessmentKey": "d57a4221-a804-52ca-3dea-768284f06bb7",
"policyName": "Disk encryption should be applied on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": 272,
"none": 504,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "f9f0eed0-f143-47bf-b856-671ea2eeed62",
"policyName": "Harden Network Security Group rules of internet facing virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "35f45c95-27cf-4e52-891f-8390d1de5828",
"policyName": "Adaptive Application Controls should be enabled on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "01b1ed4c-b733-4fee-b145-f23236e70cf3",
"policyName": "Vulnerability assessment solution should be installed on your virtual machines",
"category": "Compute",
"healthy": null,
"medium": 522,
"high": null,
"none": 254,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "71992a2a-d168-42e0-b10e-6b45fa2ecddb",
"policyName": "Vulnerabilities should be remediated by a Vulnerability Assessment solution",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3b20e985-f71f-483b-b078-f30d73936d43",
"policyName": "Access should be restricted for permissive Network Security Groups with Internet-facing VMs",
"category": "Networking",
"healthy": 755,
"medium": null,
"high": 9,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "0f50c962-6277-4142-8f95-aa16e80f8da4",
"policyName": "The rules for web applications on IaaS NSGs should be hardened",
"category": "Networking",
"healthy": 760,
"medium": null,
"high": 4,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
"policyName": "Management ports should be closed on your virtual machines",
"category": "Networking",
"healthy": 761,
"medium": null,
"high": 3,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "c3b51c94-588b-426b-a892-24696f9e54cc",
"policyName": "IP forwarding on your virtual machine should be disabled",
"category": "Networking",
"healthy": 764,
"medium": null,
"high": null,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "805651bc-6ecd-4c73-9b55-97a19d0582d0",
"policyName": "Just-In-Time network access control should be applied on virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
}
],
"resourceHealthSummary": {
"healthy": 9,
"medium": 284,
"high": 340,
"none": null,
"low": 143
},
"resourceCount": 776
}
您可以尝试使用 mv-expand or mv-apply。例如:
print d = dynamic({
"name": "GenericSecurityStatusesSummary",
"resourceHealthSummryPerCategory": [
{
"category": "Compute",
"healthy": 9,
"medium": 287,
"high": 337,
"none": null,
"low": 143
},
{
"category": "Networking",
"healthy": 754,
"medium": null,
"high": 10,
"none": 12,
"low": null
}
],
"policyAssessmentsSummaries": [
{
"policyDefinitionId": null,
"assessmentKey": "d1db3318-01ff-16de-29eb-28b344515626",
"policyName": "Monitoring agent should be installed on your machines",
"category": "Compute",
"healthy": 776,
"medium": null,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "8e2b96ff-3de2-289b-b5c1-3b9921a3441e",
"policyName": "Monitoring agent health issues should be resolved on your machines",
"category": "Compute",
"healthy": 676,
"medium": 100,
"high": null,
"none": null,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "83f577bd-a1b6-b7e1-0891-12ca19d1e6df",
"policyName": "Install endpoint protection solution on your machines",
"category": "Compute",
"healthy": 496,
"medium": null,
"high": 71,
"none": 209,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3bcd234d-c9c7-c2a2-89e0-c01f419c1a8a",
"policyName": "Endpoint protection health issues should be resolved on your machines",
"category": "Compute",
"healthy": 488,
"medium": 2,
"high": 6,
"none": 280,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "181ac480-f7c4-544b-9865-11b8ffe87f47",
"policyName": "Vulnerabilities in security configuration on your machines should be remediated",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 136,
"low": 640
},
{
"policyDefinitionId": null,
"assessmentKey": "c0f5316d-5ac5-9218-b77a-b96e16ccfd66",
"policyName": "Your machines should be restarted to apply system updates",
"category": "Compute",
"healthy": 629,
"medium": 17,
"high": null,
"none": 130,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "4ab6e3c5-74dd-8b35-9ab9-f61b30875b27",
"policyName": "System updates should be installed on your machines",
"category": "Compute",
"healthy": 572,
"medium": null,
"high": 24,
"none": 130,
"low": 50
},
{
"policyDefinitionId": null,
"assessmentKey": "d57a4221-a804-52ca-3dea-768284f06bb7",
"policyName": "Disk encryption should be applied on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": 272,
"none": 504,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "f9f0eed0-f143-47bf-b856-671ea2eeed62",
"policyName": "Harden Network Security Group rules of internet facing virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "35f45c95-27cf-4e52-891f-8390d1de5828",
"policyName": "Adaptive Application Controls should be enabled on virtual machines",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "01b1ed4c-b733-4fee-b145-f23236e70cf3",
"policyName": "Vulnerability assessment solution should be installed on your virtual machines",
"category": "Compute",
"healthy": null,
"medium": 522,
"high": null,
"none": 254,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "71992a2a-d168-42e0-b10e-6b45fa2ecddb",
"policyName": "Vulnerabilities should be remediated by a Vulnerability Assessment solution",
"category": "Compute",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "3b20e985-f71f-483b-b078-f30d73936d43",
"policyName": "Access should be restricted for permissive Network Security Groups with Internet-facing VMs",
"category": "Networking",
"healthy": 755,
"medium": null,
"high": 9,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "0f50c962-6277-4142-8f95-aa16e80f8da4",
"policyName": "The rules for web applications on IaaS NSGs should be hardened",
"category": "Networking",
"healthy": 760,
"medium": null,
"high": 4,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "bc303248-3d14-44c2-96a0-55f5c326b5fe",
"policyName": "Management ports should be closed on your virtual machines",
"category": "Networking",
"healthy": 761,
"medium": null,
"high": 3,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "c3b51c94-588b-426b-a892-24696f9e54cc",
"policyName": "IP forwarding on your virtual machine should be disabled",
"category": "Networking",
"healthy": 764,
"medium": null,
"high": null,
"none": 12,
"low": null
},
{
"policyDefinitionId": null,
"assessmentKey": "805651bc-6ecd-4c73-9b55-97a19d0582d0",
"policyName": "Just-In-Time network access control should be applied on virtual machines",
"category": "Networking",
"healthy": null,
"medium": null,
"high": null,
"none": 776,
"low": null
}
],
"resourceHealthSummary": {
"healthy": 9,
"medium": 284,
"high": 340,
"none": null,
"low": 143
},
"resourceCount": 776
})
| mv-apply d.policyAssessmentsSummaries on
(
where d_policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"
)
或者,使用
...
| mv-expand d.policyAssessmentsSummaries
| where d_policyAssessmentsSummaries.policyName == "Monitoring agent health issues should be resolved on your machines"