From 1869a0d86c29feb52abd770d0beb4ef7b6261062 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Thu, 17 Aug 2023 02:35:30 -0400 Subject: [PATCH 01/12] Added DoDZeroTrustWorkbook.json --- Workbooks/DoDZeroTrustWorkbook.json | 18210 ++++++++++++++++++++++++++ 1 file changed, 18210 insertions(+) create mode 100644 Workbooks/DoDZeroTrustWorkbook.json diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json new file mode 100644 index 00000000000..e8fc37c7714 --- /dev/null +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -0,0 +1,18210 @@ +{ + "version": "Notebook/1.0", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "e91c8eb5-55a1-4871-92af-3dd869f2380a", + "version": "KqlParameterItem/1.0", + "name": "Help", + "label": "🔎 Getting Started", + "type": 10, + "isRequired": true, + "typeSettings": { + "additionalResourceOptions": [], + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Yes\", \"label\": \"Yes\"},\r\n {\"value\": \"No\", \"label\": \"No\", \"selected\":true}\r\n]" + }, + { + "id": "ec6cc4e7-c3b9-4161-94f4-2bd66866801c", + "version": "KqlParameterItem/1.0", + "name": "DoDZT", + "label": "🔎 Show DoD Zero Trust ", + "type": 10, + "isRequired": true, + "typeSettings": { + "additionalResourceOptions": [], + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Off\", \"label\": \"Off\", \"selected\":true},\r\n {\"value\": \"Capabilities\", \"label\": \"Capabilities\"},\r\n {\"value\": \"Activities\", \"label\": \"Activities\"}\r\n]" + }, + { + "id": "18302244-0cfb-46d8-92e2-554fa9974c38", + "version": "KqlParameterItem/1.0", + "name": "Workspace", + "type": 5, + "description": "Select at least one workspace that contains continuous export data based on the selected subscriptions", + "isRequired": true, + "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| order by name asc\r\n| summarize Selected = makelist(id, 10), All = makelist(id, 1000)\r\n| mvexpand All limit 100\r\n| project value = tostring(All), label = tostring(All), selected = iff(Selected contains All, true, false)", + "typeSettings": { + "additionalResourceOptions": [], + "showDefault": false + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "CAPTime", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + { + "id": "9943b4a1-371e-4e50-8cbe-749a6dd87d76", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + }, + "value": { + "durationMs": 2592000000 + } + } + ], + "style": "pills", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + "name": "parameters - 22 - Copy" + }, + { + "type": 1, + "content": { + "json": "  Please take time to answer a quick survey,\r\n[ click here. ](https://forms.office.com/r/HpkqrXhQzq)" + }, + "name": "text - 14" + }, + { + "type": 1, + "content": { + "json": "## Getting Started\r\n### The Microsoft Sentinel: DoD Zero Trust Strategy Workbook Solution leverages Azure Policy, Azure Resource Graph, and Azure Log Analytics. This workbook provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD CIO Zero Trust Strategy (November 2022). In addition, curated resources, specfiic to Microsoft Zero Trust product/capabilitty alignment and implementation, are also provided. Please note that any references and example visualizations contained in this workbook are intended to ONLY serve as general guidance for meeting and/or exceeding the Target capabilities/activities by 2027. This solutions is meant to be a starting point and customizations are expected (and encouraged) to better suit the respective environment(s). ###\r\n### [Recommended Microsoft Sentinel Roles](https://docs.microsoft.com/azure/sentinel/roles)\r\n| Roles | Rights/Permissions | \r\n|:--|:--|\r\n|Security Reader | View Workbooks, Analytics, Hunting, Security Recommendations |\r\n|Security Contributor| Deploy/Modify Workbooks, Analytics, Hunting Queries, Apply Security Recommendations |\r\n|Automation Contributor| Deploy/Modify Playbooks & Automation Rules |\r\n|Owner| Assign Regulatory Compliance Initiatives|\r\n\r\n### Onboarding Prerequisites \r\n1️⃣ [Design Log Management Architecture](https://docs.microsoft.com/azure/azure-monitor/logs/design-logs-deployment)
\r\n2️⃣ [Onboard Microsoft Sentinel](https://docs.microsoft.com/azure/sentinel/quickstart-onboard)
\r\n3️⃣ [Connect & Ingest Data Sources](https://docs.microsoft.com/azure/sentinel/connect-data-sources)
\r\n4️⃣ [Extend Microsoft Sentinel Across Workspaces and Tenants](https://docs.microsoft.com/azure/sentinel/extend-sentinel-across-workspaces-tenants)
\r\n5️⃣ [Configure 12 Months Hot Path Storage with Data Retention](https://docs.microsoft.com/azure/azure-monitor/logs/data-retention-archive)
\r\n6️⃣ [Configure 18 Months Cold Path Storage with Azure Data Explorer](https://docs.microsoft.com/azure/sentinel/store-logs-in-azure-data-explorer) & [Configure Basic Logs](https://docs.microsoft.com/azure/azure-monitor/logs/basic-logs-configure)
\r\n\r\n### Print/Export Report\r\n1️⃣ Set Background Theme: Settings > Appearance > Theme: Azure > Apply
\r\n2️⃣ Print/Export Report: More Content Actions (...) > Print Content
\r\n3️⃣ Settings: Layout (Landscape), Pages (All), Print (One Sided), Scale (60), Pages Per Sheet (1), Quality (1,200 DPI), Margins (None) > Print
\r\n\r\n### Disclaimer\r\n_This Solution demonstrates best practice guidance, but Microsoft does not guarantee nor imply compliance. All requirements, validations, and controls are governed by respective organizations. This solution provides visibility and situational awareness for security capabilities delivered with Microsoft technologies in predominantly cloud-based environments. Customer experience will vary by user and some panels may require additional configurations for operation. Recommendations do not imply coverage of respective controls as they are often one of several courses of action for approaching requirements which is unique to each customer. Recommendations should be considered a starting point for planning full or partial coverage of respective requirements._", + "style": "info" + }, + "conditionalVisibility": { + "parameterName": "Help", + "comparison": "isEqualTo", + "value": "Yes" + }, + "name": "Help" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# [DoD Zero Trust Strategy Workbook](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTExecutionRoadmap.pdf)\n---\n\n\"The journey to Zero Trust requires all DoD Components to adopt and integrate Zero Trust capabilities, technologies, solutions, and processes across their architectures, systems, and within their budget and execution plans. Perhaps most importantly, they must also address Zero Trust requirements within their staffing, training, and professional development processes as well.\" For more information, see the💡 [DoD CIO Zero Trust Strategy](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf).

\nThis workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD CIO Zero Trust Strategy (November 2022). It fully aligns with the DoD CIO Zero Trust Strategy and also enables the following:
\n- Maturity Situational Awareness of the DoD CIO Zero Trust Framework\n- Provides Configuration Guides, Examples, Resources, and Steps for Deployment \n- Enables actions and reporting on DoD CIO Zero Trust Framework Pillars, Capabilities, and Activities \n\n" + }, + "name": "Workbook Overview" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "nav", + "links": [ + { + "id": "1bad541e-219a-4277-9510-876b0e8cad51", + "cellValue": "https://learn.microsoft.com/en-us/azure/sentinel/monitor-your-data", + "linkTarget": "Url", + "linkLabel": "Solution Blog", + "postText": "", + "style": "link" + }, + { + "id": "b9a6293e-1c7b-4ec2-ad2a-d72b5ee01722", + "cellValue": "https://www.youtube.com/watch?app=desktop&v=tGhZkuSPMiM&feature=youtu.be", + "linkTarget": "Url", + "linkLabel": "Video Overview", + "style": "link" + }, + { + "id": "7e8ff8aa-f632-4a4d-90cf-a71da0dc6b31", + "cellValue": "https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/DoDZeroTrust", + "linkTarget": "Url", + "linkLabel": "GitHub Repo", + "postText": "", + "style": "link" + }, + { + "id": "2b573101-8841-45a7-ac7a-7139c7d321a5", + "cellValue": "https://www.microsoft.com/en-us/security/blog/2022/11/22/microsoft-supports-the-dods-zero-trust-strategy/", + "linkTarget": "Url", + "linkLabel": "Microsoft supports the DoD’s Zero Trust strategy", + "style": "link" + }, + { + "id": "facb5636-f90e-4a6f-a654-da9b1c77a65d", + "cellValue": "https://dodcio.defense.gov/Portals/0/Documents/Library/ZTCapabilityExecutionRoadmap.pdf", + "linkTarget": "Url", + "linkLabel": "DoD CIO Capability Execution Roadmap", + "style": "link" + } + ] + }, + "name": "links - 29" + } + ] + }, + "name": "group - 2" + } + ] + }, + "name": "TilePage" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "toolbar", + "links": [ + { + "id": "3161a702-0622-4e13-a446-7ea0348f3cc2", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Zero Trust Essentials", + "subTarget": "ess", + "style": "link", + "icon": "ResourceFlat" + }, + { + "id": "b39ca7b9-0b5d-4f82-90a5-ef5c694b50e3", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "User", + "subTarget": "p1", + "style": "link", + "icon": "Person" + }, + { + "id": "411a469b-cbac-4a49-b229-9faeeeeed3ba", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Device", + "subTarget": "p2", + "style": "link", + "icon": "Feedback" + }, + { + "id": "1ff02fa4-66ad-4ae4-b611-afb441b32951", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Application & Workload", + "subTarget": "p3", + "style": "link", + "icon": "Globe" + }, + { + "id": "eaeab803-85b1-4755-a70b-9c0d35e066cc", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Data", + "subTarget": "p4", + "style": "link", + "icon": "Backlog" + }, + { + "id": "74ad5f79-b4a6-4cc9-a31e-771cb4acaf22", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Network & Environment", + "subTarget": "p5", + "style": "link", + "icon": "Connect" + }, + { + "id": "3d8a9d9b-f7db-4db9-a37a-4343b5c2e63b", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Automation & Orchestration", + "subTarget": "p6", + "style": "link", + "icon": "Pending" + }, + { + "id": "1e53250a-c522-4722-9949-5e0ffac99886", + "cellValue": "pillar", + "linkTarget": "parameter", + "linkLabel": "Visibility & Analytics", + "subTarget": "p7", + "style": "link", + "icon": "Diagnostics" + } + ] + }, + "name": "ZTPillars" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.1 User Inventory\\\", \\\"tab\\\": \\\"U11\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.2 Conditional User Access\\\", \\\"tab\\\": \\\"U12\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.3 Multi-Factor Authentication (MFA)\\\", \\\"tab\\\": \\\"U13\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.4 Privileged Access Management\\\", \\\"tab\\\": \\\"U14\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.5 Identity Federation & User Credentialing\\\", \\\"tab\\\": \\\"U15\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.6 Behavorial, Contextual ID, and Biometrics\\\", \\\"tab\\\": \\\"U16\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.7 Least Privileged Access\\\", \\\"tab\\\": \\\"U17\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.8 Continuous Authentication\\\", \\\"tab\\\": \\\"U18\\\" },\\r\\n\\t\\t{ \\\"Select All (User 1.x)\\\": \\\"1.9 Integrated ICAM Platform\\\", \\\"tab\\\": \\\"U19\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (User 1.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + }, + "sortBy": [] + }, + "customWidth": "90", + "name": "UserZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "8f836776-6a60-46a6-8d25-be73bf045494", + "version": "KqlParameterItem/1.0", + "name": "isU11Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U11", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "3758b348-e74f-437f-abd4-4e6e66b1be7e", + "version": "KqlParameterItem/1.0", + "name": "isU12Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U12", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU13Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U13", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "aa7ebd19-042f-46e5-a510-cf22deda0491" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU14Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U14", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "03b0ef89-0638-4acc-a4db-2428fea9a844" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU15Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U15", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "ebe7944a-82bc-46c1-b377-0415f108cf95" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU16Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U16", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "8d3fb929-85ee-442c-8a95-cffe2c7a82fe" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU17Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U17", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "56cca2ba-e3d5-43d7-900e-fd0443293fa1" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU18Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U18", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "9f5dd66d-394f-4e26-b823-0427909e7be5" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isU19Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "U19", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "8ce15df1-6369-4337-8e0d-90e5ca528940" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "parameters - 8" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p1" + }, + "customWidth": "50", + "name": "P1-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| Regular and Privileged users are identified and integrated into an inventory supporting regular modifications. Applications, software and services that have local users are all part of the inventory and highlighted. | System owners have control (visibility and administrative rights) of all authorized and authenticated users on the network | Users not on the authorized user list will be denied access by policy | \r\n" + }, + "name": "UserCR11" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu11", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "additionalResourceOptions": [], + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu11", + "label": "Implementation Date", + "type": 1, + "timeContext": { + "durationMs": 86400000 + }, + "value": "DueDate=2027" + }, + { + "id": "9a20b8f8-cec0-43fa-8ad2-a9c07e8bb8e7", + "version": "KqlParameterItem/1.0", + "name": "Notesu11", + "label": "Notes", + "type": 1, + "value": "Enter Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User11Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID |\r\n| Microsoft Sentinel UEBA |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU11Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR11Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.2\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|\r\n| Through maturity levels Conditional Access works to create a dynamic level of access for users in the environment. This starts with traditional role-based access controls across a federate ICAM,expands to be application focused roles and ultimately utilizes enterprise attributes to provide dynamic access rules. | Eventually, organizations control user, device, and non-user entity DAAS access through dynamically changing user risk profiles and fine-grained access control to include the use of user risk assessments. | Users not known to the system and users who present an unacceptable degree of risk will be denied access with greater accuracy. \r\n" + }, + "name": "UserCR12" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu12", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu12", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu12", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User12Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Conditional Access (CA) |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Sentinel |\r\n| Microsoft 365 Defender |\r\n| Microsoft Intune |\r\n\r\n\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU12Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR12Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| This capability initially focuses on developing an organization focused MFA provider and Identity Provider to enable the centralization of users. Retirement of local and/or built-in accounts and groups is a critical piece to this capability. At the later maturity levels alternative and flexible MFA tokens can be used to provide access for standard and external users. | DoD organizations require users and non-user entities to authenticate using at least two of the following three attributes: knowledge (user ID/password), possession (CAC/token), or something you are (inherence, e.g., iris/fingerprints), in order to access DAAS. | Users not presenting multiple forms of authentication will be denied access to DAAS system and resources. |\r\n" + }, + "name": "UserCR13" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu13", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu13", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu13", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User13Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID |\r\n| Entra ID Certificate Based Authentication (CBA) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU13Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR13Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| The capability focuses on removal of permanent administrator/elevated privileges by first creating a Privileged Account Management (PAM) system and migrating privileged users to it. The capability is then expanded upon by using automation with privilege escalation approvals and feeding analytics into the system for anomaly detection. | DoD organizations control, monitor, secure, and audit privileged identities (e.g., through password vaulting, JIT/JEA with PAWS) across their IT environments. | Critical assets and applications secured, controlled, monitored and managed through limits on admin access. |\r\n" + }, + "name": "User14CR" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu14", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu14", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu14", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User14Status" + }, + { + "type": 1, + "content": { + "json": "|Recommended Microsoft Solution(s) |\r\n|--------------------------------|\r\n| Entra ID |\r\n| Entra ID Privileged Identity Management (PIM) |\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU14Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR14Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.5\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| The initial scope of this capability focuses on standardizing the Identity Lifecycle Management (ILM) processes and integrating with the standard organizational IDP/IDM solution. Once completed the capability shifts to establishing an Enterprise ILM process/solution either through a single solution or identity federation. | DoD organizations manually issue, manage, and revoke credentials bound to DoD person, device, and NPE identities. Identity information is developed and shared across entitles and trust domains providing “single sign-on” convenience and efficiencies to identified (authenticated and authorized) users and devices. | Visibility and accuracy of user authentication information is increased, to include DoD users and users managed by other agencies. Users lacking sufficient credentials are denied access according to established policies. |\r\n" + }, + "name": "User15CR" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu15", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu15", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu15", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User15Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Certificate-Based Authorization (CBA) |\r\n| Entra ID Guest Access |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU15Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR15Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.6", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.6\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| Utilizing the Enterprise IDP, user and entity behavioral analytics (UEBA) are enabled with basic user attributes. Once completed this is expanded into Organizational specific attributes using organizational IDPs as available. Finally UEBA are integrated with the PAM and JIT/JEA systems to better detect anomalous and malicious activities. | DoD organizations utilize behavioral,contextual, and biometric telemetry to enhance risk-based authentication and access controls. | Behavioral, contextual, and biometric telemetry enhances MFA. |" + }, + "name": "UserCR16" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu16", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu16", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu16", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User16Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel UEBA | \r\n| Entra ID Identity Protection |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU16Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR16Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.7", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.7\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations govern access to DAAS using the absolute minimum access required to perform outine, legitimate tasks or activities. DoD Application Owners identify the necessary roles and attributes for standard and privileged user access. Privileged access for all DoD organization DAAS is audited and removed when unneeded. | DoD organizations govern access to DAAS using the absolute minimum access required to perform routine, legitimate tasks or activities. | Users on the network only have access to the DAAS for which they are authorized and authenticated over a specific timeframe. |" + }, + "name": "UserCR17" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu17", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu17", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu17", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User17Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Permissions | \r\n| Azure Policy| \r\n| Entra ID Privileged Identity Management (PIM)|" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU17Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR17Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.8", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.8\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| The DoD organizations and overall enterprise will methodically move towards continuous attribute based authentication. Initially the capability focuses on standardizing legacy single authentication to a organizationally approved IDP with users and groups. The second stages adds in based rule based (time) authentication and ultimately matures to Continuous Authentication based on the application/software activities and privileges requested. | DoD organizations continuously authenticate and authorize users' access to DAAS within and across sessions using MFA. | Users not continuously presenting multiple forms of authentication will be denied access to DAAS system and resources. |\r\n\r\n\r\n" + }, + "name": "UserCR18" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu18", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu18", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu18", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User18Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Continuous Access Evaluation (CAE) |\r\n| Entra ID Privileged Identity Management (PIM) | \r\n| Entra ID Identity Protection |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU18Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR18Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR1.9", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 1.9\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations and overall enterprise employ enterprise-level identity management and public key infrastructure (PKI) systems to track user, administrator and NPE identities across the network and ensure access is limited to only those who have the need and the right to know. Organizations can verify they need and have the right to access via credential management systems, identity governance and administration tools, and an access management tool. PKI systems can be federated but must either trust a central root certificate authority (CA) and/or cross-sign standardized organizational CA’s. | DoD organizations employ enterprise-level identity management systems to track user and NPE identities across the network and ensure access is limited to only those who have the need and the right to know; organizations can verify they need and have the right to access via credential management systems, identity governance and administration tools, and an access management tool. | Identities of users and NPE are centrally managed to ensure authorized and authenticated access to DAAS resources across platforms. |\r\n\r\n\r\n" + }, + "name": "UserCR19" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu19", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu19", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu19", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "User19Status" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isU19Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "UserCR19Group" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra Entitlement Management |\r\n| Entra ID Certificate Based Authentication (CBA) | " + }, + "conditionalVisibility": { + "parameterName": "isU19Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 9" + } + ], + "exportParameters": true + }, + "name": "UserCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p1" + }, + "customWidth": "50", + "name": "P1-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 1.1 User Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
\r\n💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
\r\n💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
\r\n💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
\r\n💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
\r\n💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
\r\n💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
\r\n💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
\r\n💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
\r\n💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
\r\n💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.1ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| summarize Count=count() by OperationName, LoggedByService\r\n| sort by Count asc \r\n| render piechart ", + "size": 0, + "showAnalytics": true, + "title": "Audit by Operation", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "showPin": true, + "name": "Audit by Op" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IdentityInfo | union BehaviorAnalytics\r\n| where isnotempty(UserType)\r\n| summarize count() by UserType\r\n| render piechart ", + "size": 0, + "showAnalytics": true, + "title": "User Entity Behavior Analytics - IdentityInfo", + "noDataMessage": "UEBA is not enabled", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "showPin": true, + "name": "User Entity Behavior Analytics - IdentityInfo" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IdentityDirectoryEvents | summarize count() by ActionType | render piechart ", + "size": 0, + "showAnalytics": true, + "title": "Microsoft Defender for Identity - IdentityLogonEvents", + "noDataMessage": "MDI is not enabled or being sent to the workspace", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "33", + "showPin": true, + "name": "Microsoft Defender for Identity - IdentityLogonEvents" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AzureActivity\r\n| where Caller contains \"@\"\r\n| summarize count() by Caller | render piechart ", + "size": 0, + "showAnalytics": true, + "title": "Azure Activity Count by Caller", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "33", + "showPin": true, + "name": "Azure Activity Count by Caller" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where TimeGenerated > ago(30d)\r\n| project TimeGenerated, UserType, ResultType, AppDisplayName, UserPrincipalName\r\n| where ResultType == 0\r\n| summarize\r\n ['Total Member Signins']=countif(UserType == \"Member\"),\r\n ['Distinct Member Signins']=dcountif(UserPrincipalName, UserType == \"Member\"),\r\n ['Total Guest Signins']=countif(UserType == \"Guest\"),\r\n ['Distinct Guest Signins']=dcountif(UserPrincipalName, UserType == \"Guest\")\r\n by AppDisplayName\r\n| sort by AppDisplayName asc ", + "size": 0, + "showAnalytics": true, + "title": "Successful Signins by Members vs Guests by App", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "filter": true + } + }, + "customWidth": "66", + "showPin": true, + "name": "Successful Signins by Members vs Guests by App" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "80e332f7-8176-461f-b27a-0a52242fe6c9", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 7776000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "5a93ede8-361d-4cc6-93f8-967dfc355143", + "version": "KqlParameterItem/1.0", + "name": "Activity", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "SecurityEvent\r\n| summarize Count = count() by Activity\r\n| order by Count desc, Activity asc\r\n| project Value = Activity, Label = strcat(Activity, ' - ', Count)", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "All" + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = SecurityEvent\r\n| where \"{Activity:lable}\" == \"All\" or Activity in ({Activity});\r\ndata\r\n| summarize Count = count() by Activity\r\n| join kind = fullouter (datatable(Activity:string)['Medium', 'high', 'low']) on Activity\r\n| project Activity = iff(Activity == '', Activity1, Activity), Count = iff(Activity == '', 0, Count)\r\n| join kind = inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by Activity)\r\n on Activity\r\n| project-away Activity1, TimeGenerated\r\n| extend Activitys = Activity\r\n| union (\r\n data \r\n | summarize Count = count() \r\n | extend jkey = 1\r\n | join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain}\r\n | extend jkey = 1) on jkey\r\n | extend Activity = 'All', Activitys = '*' \r\n)\r\n| order by Count desc\r\n| take 10", + "size": 4, + "title": "User Inventory- Filtered by Top 10 Activities", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "Activity", + "exportParameterName": "ActivityPiker", + "exportDefaultValue": "All", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "Activity", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "lightBlue", + "showIcon": true + } + }, + "showBorder": false + } + }, + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU11Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 1.2 Conditional User Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
\r\n💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
\r\n💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
\r\n💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
\r\n💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
\r\n💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
\r\n💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
\r\n💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.2ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| project CAResult\r\n| summarize count() by CAResult", + "size": 2, + "showAnalytics": true, + "title": "Conditional Access 'SignIn' Summaries", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "gridSettings": { + "filter": true + }, + "tileSettings": { + "titleContent": { + "columnMatch": "CAResult", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "showBorder": false, + "sortOrderField": 1, + "size": "full" + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "CAResult", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "25", + "showPin": true, + "name": "Conditional Access 'SignIn' Summaries" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| where CAResult <> \"success\"\r\n| summarize count() by AppDisplayName, CAResult\r\n", + "size": 0, + "showAnalytics": true, + "title": "Non-Success ConditionalAccess by App ", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "AppDisplayName", + "formatter": 5, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "AppDisplayName" + ] + }, + "labelSettings": [ + { + "columnId": "CAResult", + "label": "Result" + }, + { + "columnId": "count_", + "label": "Count" + } + ] + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Non-Success ConditionalAccess by App " + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| where RiskLevelDuringSignIn <> \"none\"\r\n| summarize count() by RiskLevelDuringSignIn\r\n| render piechart \r\n", + "size": 2, + "showAnalytics": true, + "title": "ConditionalAccessPolicies SignIn Risk", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "ConditionalAccessPolicies SignIn Risk" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| project UserDisplayName, ConditionalAccessStatus, Status, ResultType, location = tostring(LocationDetails.countryOrRegion)\r\n| where ConditionalAccessStatus == \"notApplied\"\r\n| where Status.additionalDetails != \"MFA requirement satisfied by claim in the token\" and Status.additionalDetails != \"MFA requirement skipped due to remembered device\" // Sign-in was not strong auth\r\n| where ResultType == 0\r\n| project UserDisplayName, ConditionalAccessStatus, location\r\n//| summarize count() by location, UserDisplayName\r\n//| summarize Count = count() by location\r\n//| order by Count desc", + "size": 0, + "title": "No Coverage by Location", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "filter": true, + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "ConditionalAccessStatus" + ] + } + } + }, + "customWidth": "50", + "name": "query - 6" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| summarize count() by Location\r\n", + "size": 3, + "title": "Location - Total", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "visualization": "map", + "mapSettings": { + "locInfo": "CountryRegion", + "locInfoColumn": "Location", + "sizeSettings": "Location", + "sizeAggregation": "Sum", + "minSize": 10, + "maxSize": 30, + "defaultSize": 12, + "labelSettings": "Location", + "legendMetric": "count_", + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "Location", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "greenDarkDark" + }, + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal", + "useGrouping": false + } + } + } + }, + "customWidth": "50", + "name": "query - 10", + "styleSettings": { + "margin": "40", + "padding": "0" + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU12Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 1.3 Multi-Factor Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.com/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
\r\n💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
\r\n💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
\r\n💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664)
" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.3ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n//| where TimeGenerated > ago(30d)\r\n| where ResultType == 0\r\n| summarize Count=count() by AuthenticationRequirement\r\n| render piechart", + "size": 0, + "showAnalytics": true, + "title": "Single vs MultiFactor SignIns", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "showPin": true, + "name": "Single vs MultiFactor SignIns" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where AuthenticationRequirement == \"multiFactorAuthentication\"​\r\n| mv-expand todynamic(AuthenticationDetails)​\r\n| extend ['Authentication Method'] = tostring(AuthenticationDetails.authenticationMethod)\r\n| where ['Authentication Method'] !in (\"Password\",\"Previously satisfied\")​\r\n| summarize Count=count()by ['Authentication Method']​\r\n| where isnotempty(['Authentication Method'])\r\n| sort by Count desc\r\n| render piechart", + "size": 0, + "showAnalytics": true, + "title": "Multifactor Authentication In Use", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "showPin": true, + "name": "Multifactor Authentication in use" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == \"500121\"\r\n| mv-expand todynamic(AuthenticationDetails)\r\n| project AuthenticationDetails, ResultType, UserPrincipalName\r\n| extend ['MFA Failure Type'] = tostring(parse_json(AuthenticationDetails).authenticationStepResultDetail)\r\n| where ['MFA Failure Type'] startswith \"MFA denied\"\r\n//| summarize Count=count()by ['MFA Failure Type'], UserPrincipalName //uncomment to see upn\r\n| summarize Count=count()by ['MFA Failure Type']", + "size": 0, + "showAnalytics": true, + "title": "MFA Failure Type", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "tileSettings": { + "showBorder": false, + "titleContent": { + "columnMatch": "MFA Failure Type", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "auto" + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "showPin": true, + "name": "MFA Failure Type" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Visualize password vs passwordless signins per day\r\n\r\n//Data connector required for this query - Azure Active Directory - Signin Logs\r\n\r\nSigninLogs\r\n| mv-expand todynamic(AuthenticationDetails)\r\n| project TimeGenerated, AuthenticationDetails\r\n| extend AuthMethod = tostring(AuthenticationDetails.authenticationMethod)\r\n| summarize\r\n Passwordless=countif(AuthMethod in (\"Windows Hello for Business\", \"Passwordless phone sign-in\", \"FIDO2 security key\", \"X.509 Certificate\")),\r\n Password=countif(AuthMethod == \"Password\")\r\n by bin(TimeGenerated, 1d)\r\n| render barchart with (title=\"Passwordless vs Password Authentication\", ytitle=\"Count\")", + "size": 0, + "showAnalytics": true, + "title": "Password vs Passwordless Auth", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Password vs Passwordless Auth" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| summarize\r\n ['Total Signin Count']=count(),\r\n ['Total MFA Count']=countif(AuthenticationRequirement == \"multiFactorAuthentication\"),\r\n ['Total non MFA Count']=countif(AuthenticationRequirement == \"singleFactorAuthentication\")\r\n by AppDisplayName\r\n| project\r\n AppDisplayName,\r\n ['Total Signin Count'],\r\n ['Total MFA Count'],\r\n ['Total non MFA Count'],\r\n MFAPercentage=(todouble(['Total MFA Count']) * 100 / todouble(['Total Signin Count']))\r\n| sort by ['Total Signin Count'] desc, MFAPercentage asc", + "size": 0, + "showAnalytics": true, + "title": "Total MFA Count by App", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AppDisplayName", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "200px" + } + }, + { + "columnMatch": "MFAPercentage", + "formatter": 0, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal" + } + } + } + ], + "filter": true, + "sortBy": [ + { + "itemKey": "$gen_number_MFAPercentage_4", + "sortOrder": 1 + } + ], + "labelSettings": [ + { + "columnId": "Total Signin Count", + "label": "Total SignIn" + }, + { + "columnId": "Total MFA Count", + "label": "Total MFA" + }, + { + "columnId": "Total non MFA Count", + "label": "Total Non-MFA" + }, + { + "columnId": "MFAPercentage", + "label": "MFA %" + } + ] + }, + "sortBy": [ + { + "itemKey": "$gen_number_MFAPercentage_4", + "sortOrder": 1 + } + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Total MFA Count by App" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU13Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.3Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 1.4 Privileged Access Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
\r\n💡 [privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
\r\n💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
\r\n💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
\r\n💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
\r\n💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
\r\n💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
\r\n💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.4ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Create a pivot table showing all the actions taken by your privileged users\r\n\r\n//Data connector required for this query - Azure Active Directory - Audit Logs\r\n//Data connector required for this query - Microsoft Sentinel UEBA\r\n\r\n//Lookup the IdentityInfo table for any users holding a privileged role\r\nlet privusers=\r\n IdentityInfo\r\n //| where TimeGenerated > ago(21d)\r\n | summarize arg_max(TimeGenerated, *) by AccountUPN\r\n | where isnotempty(AssignedRoles)\r\n | where AssignedRoles != \"[]\"\r\n | distinct AccountUPN;\r\n//Search for all actions taken by those users in the last 7 days\r\nAuditLogs\r\n//| where TimeGenerated > ago(7d)\r\n| extend Actor = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| where Actor in (privusers)\r\n//Create a pivot table counting each action for each user\r\n| evaluate pivot(OperationName, count(), Actor)\r\n| order by Actor asc ", + "size": 0, + "showAnalytics": true, + "title": "Privileged Users Actions", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "customWidth": "100", + "showPin": true, + "name": "Privileged User Actions" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| summarize count() by OperationName\r\n| where OperationName contains \"PIM\"", + "size": 2, + "showAnalytics": true, + "title": "PIM Operations", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "visualization": "piechart" + }, + "customWidth": "40", + "showPin": true, + "name": "PIM Operations" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Data connector required for this query - Azure Active Directory - Audit Logs\r\n\r\nAuditLogs\r\n| where OperationName in (\"Add member to role in PIM completed (permanent)\",\"Add member to role in PIM completed (timebound)\")\r\n//| where OperationName contains 'permanent'\r\n| where TargetResources[2].type == \"User\"\r\n| extend Actor = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| extend User = tostring(TargetResources[2].userPrincipalName)\r\n| extend ['Azure AD Role Name'] = tostring(TargetResources[0].displayName)\r\n| project TimeGenerated, Actor, User, ['Azure AD Role Name']", + "size": 0, + "showAnalytics": true, + "title": "Permanently Assigned Role", + "noDataMessage": "If query returns no results this means your PIM users are set to eligible, which is best security practices.", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "$gen_group", + "formatter": 6 + }, + { + "columnMatch": "Group", + "formatter": 6 + }, + { + "columnMatch": "TimeGenerated", + "formatter": 5 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "TimeGenerated" + ] + } + }, + "graphSettings": { + "type": 0 + } + }, + "customWidth": "50", + "showPin": true, + "name": "Permanently Assigned Role", + "styleSettings": { + "margin": "10px" + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU14Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.4Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.5 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "## 1.5 Identity Federation & User Credentialing\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
\r\n💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
\r\n💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
\r\n💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
\r\n💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
\r\n💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
\r\n💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
\r\n💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.5ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "union *\r\n| where UserDisplayName == \"On-Premises Directory Synchronization Service Account\"\r\n| extend Succession = tostring(parse_json(AuthenticationDetails)[0].succeeded)\r\n| where Succession == 'true'\r\n| project CreatedDateTime, UserPrincipalName, Succession\r\n| summarize count() by UserPrincipalName, Succession\r\n| render columnchart ", + "size": 0, + "showAnalytics": true, + "title": "Hybrid Identity - Syncing", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Hybrid Identity - Syncing", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//verifying users are on prem synced by InitiatedBy an setting DirectorySync attribute.\r\nAuditLogs\r\n| extend OnPremSyncEnabled = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0].newValue)))\r\n| where OnPremSyncEnabled contains \"DirectorySync\"\r\n| extend InitiatedBy = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n//| project TimeGenerated, InitiatedBy, OnPremSync,\r\n| extend UserPrincipalName = tostring(TargetResources[0].userPrincipalName)\r\n| distinct InitiatedBy, UserPrincipalName, OnPremSyncEnabled\r\n", + "size": 0, + "showAnalytics": true, + "title": "Audit Directory Synced Users", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "sortBy": [ + { + "itemKey": "UserPrincipalName", + "sortOrder": 1 + } + ] + }, + "sortBy": [ + { + "itemKey": "UserPrincipalName", + "sortOrder": 1 + } + ], + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Audit Directory Synced Users", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Detect when a new AAD App is added to an Azure AD application registration\r\nAuditLogs\r\n| where OperationName has \"application\"\r\n| extend ApplicationName = tostring(TargetResources[0].displayName)\r\n| extend ApplicationObjectId = tostring(TargetResources[0].id)\r\n| distinct ApplicationName, ApplicationObjectId, OperationName\r\n", + "size": 0, + "showAnalytics": true, + "title": "New Azure AD Application Registration", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "OperationName", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "210px" + } + } + ] + } + }, + "customWidth": "50", + "showPin": true, + "name": "New Azure AD Application Registration", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where OperationName == \"Add app role assignment grant to user\"\r\n| extend TargetApp = tostring(TargetResources[0].displayName)\r\n| extend TargetUser = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[6].newValue)))\r\n| distinct TargetApp, TargetUser, OperationName\r\n", + "size": 0, + "showAnalytics": true, + "title": "App Role Assignment Added To User", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "customWidth": "50", + "showPin": true, + "name": "App Role Assignment Added To User", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Creates a list of your applications and summarizes successful signins by members vs guests separated to total and distinct signins\r\nSigninLogs\r\n| project TimeGenerated, UserType, ResultType, AppDisplayName, UserPrincipalName\r\n| where ResultType == 0\r\n| summarize\r\n ['Total Member Signins']=countif(UserType == \"Member\"),\r\n ['Distinct Member Signins']=dcountif(UserPrincipalName, UserType == \"Member\"),\r\n ['Total Guest Signins']=countif(UserType == \"Guest\"),\r\n ['Distinct Guest Signins']=dcountif(UserPrincipalName, UserType == \"Guest\")\r\n by AppDisplayName\r\n| sort by AppDisplayName asc", + "size": 2, + "showAnalytics": true, + "title": "List Applications and Summarizes", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "showPin": true, + "name": "List Applications and Summarizes", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Detect when an Azure AD Entitlement Package is created. You may want to review to see what resources and roles have been included in the package.\r\nAuditLogs\r\n| where OperationName == \"Create access package\"\r\n| where TargetResources[0].type == \"AccessPackage\"\r\n| extend AccessPackageName = tostring(TargetResources[0].displayName)\r\n| extend Actor = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| project OperationName, AccessPackageName, Actor", + "size": 0, + "showAnalytics": true, + "title": "Azure AD Entitlement Package Creation", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Azure AD Entitlement Package Creation", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where OperationName has \"User requests access package assignment\"\r\n| extend InitiatedBy = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| extend AccessPackageID = tostring(TargetResources[2].id)\r\n| distinct OperationName, InitiatedBy, AccessPackageID", + "size": 0, + "showAnalytics": true, + "title": "Users Requesting Access via Entitlement Mgmt", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Users Requesting Access via Entitlement Mgmt", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU15Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.5Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.6 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "## 1.6 Behavorial, Contextual ID, and Biometrics\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
\r\n🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade)
\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
\r\n🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade)
\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
\r\n💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
\r\n💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
\r\n💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
\r\n💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
\r\n💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
\r\n💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.6ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "9dd762f8-8594-432f-b1dc-9561e0b799c6", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 7776000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "b3974da2-c8c3-4023-a7c4-a904f2daa904", + "version": "KqlParameterItem/1.0", + "name": "Workload", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by OfficeWorkload\r\n| extend label = strcat(OfficeWorkload, \" - \", Count)\r\n| project OfficeWorkload, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "b6db911d-6ecb-4a4f-812f-db1b1063813f", + "version": "KqlParameterItem/1.0", + "name": "UserType", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by UserType\r\n| extend label = strcat(UserType, \" - \", Count)\r\n| project UserType, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "above", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = OfficeActivity\r\n| where \"*\" in ({Workload}) or OfficeWorkload in ({Workload}) \r\n| where \"*\" in ({UserType}) or UserType in ({UserType});\r\nlet appData = data\r\n| summarize TotalCount = count() by UserId\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on bin(TimeGenerated, 1d) in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by UserId\r\n | project-away TimeGenerated) on UserId\r\n| order by TotalCount desc, UserId asc\r\n| project UserId, TotalCount, Trend\r\n| serialize Id = row_number();\r\ndata\r\n| summarize TotalCount = count() by Operation , UserId\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on bin(TimeGenerated, 1d) in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by UserId, Operation\r\n | project-away TimeGenerated) on UserId, Operation\r\n| order by TotalCount desc, UserId asc\r\n| project UserId, Operation, TotalCount, Trend\r\n| serialize Id = row_number(1000000)\r\n| join kind=inner (appData) on UserId\r\n| project Id, Name = Operation, Type = 'Operation', ['Operation Count'] = TotalCount, Trend, ParentId = Id1\r\n| union (appData \r\n | project Id, Name = UserId, Type = 'UserId', ['Operation Count'] = TotalCount, Trend )\r\n| order by ['Operation Count'] desc, Name asc", + "size": 0, + "title": "User activities", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "Operation Count", + "formatter": 3, + "formatOptions": { + "palette": "lightBlue", + "showIcon": true + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "lightBlue", + "showIcon": true + } + }, + { + "columnMatch": "ParentId", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "filter": true, + "hierarchySettings": { + "idColumn": "Id", + "parentColumn": "ParentId", + "treeType": 0, + "expanderColumn": "Name" + } + } + }, + "name": "Activity by users" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Visualize the different risk types (e.g password spray, unlikely travel) per month\r\n//Data connector required for this query - Azure Active Directory - AAD User Risk Events\r\nAADUserRiskEvents\r\n//| where TimeGenerated > ago (180d)\r\n| where isnotempty(RiskEventType)\r\n| summarize Count=count()by RiskEventType, startofmonth(TimeGenerated)\r\n| render columnchart with (kind=unstacked, title=\"Risk event types per month\", xtitle=\"Month\")", + "size": 0, + "showAnalytics": true, + "title": "Visualize Different Risk Types", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Visualize Different Risk Types", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Calculate the percentage of signins to all your Azure AD apps considered risky. Those requiring single factor authentication, coming from an unknown location and from an unknown device\r\nSigninLogs\r\n| where TimeGenerated > ago (30d)\r\n| where ResultType == 0\r\n| extend DeviceTrustType = tostring(DeviceDetail.trustType)\r\n| summarize\r\n ['Total Signins']=count(),\r\n ['At Risk Signins']=countif(NetworkLocationDetails == '[]' and isempty(DeviceTrustType) and AuthenticationRequirement == \"singleFactorAuthentication\")\r\n by AppDisplayName\r\n| extend ['At Risk Percentage']=(todouble(['At Risk Signins']) * 100 / todouble(['Total Signins']))", + "size": 0, + "showAnalytics": true, + "title": "SignIns with AAD Apps Considered Risky", + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "filter": true + } + }, + "customWidth": "50", + "showPin": true, + "name": "SignIns with AAD Apps Considered Risky", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "// Active service principal risk detections \r\n// Gets a list of active service principal risk detections. \r\nAADServicePrincipalRiskEvents\r\n//| where TimeGenerated >= ago(365d)\r\n| summarize arg_max(LastUpdatedDateTime, *) by RequestId, ServicePrincipalId\r\n| where RiskState == \"atRisk\"", + "size": 0, + "showAnalytics": true, + "title": "Service Principals At Risk", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Service Principals At Risk", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "BehaviorAnalytics\r\n| where ActivityInsights.CountryUncommonlyConnectedFromInTenant == true\r\n| where InvestigationPriority > 0\r\n| project UserPrincipalName, SourceIPLocation, SourceIPAddress, ActionType", + "size": 0, + "showAnalytics": true, + "title": "Country Uncommonly Connected", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Country Uncommonly Connected", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": " BehaviorAnalytics\r\n | where ActivityInsights.UnusualNumberOfAADConditionalAccessFailures == \"True\"\r\n | extend UserPrincipalName = tolower(UserPrincipalName)\r\n | join kind=inner (\r\n union SigninLogs, AADNonInteractiveUserSignInLogs\r\n | where ConditionalAccessStatus == \"failure\"\r\n | mv-expand ConditionalAccessPolicies_dynamic\r\n | extend ConditionalAccessResult = parse_json(ConditionalAccessPolicies_dynamic.result)\r\n | extend ConditionalAccessName = parse_json(ConditionalAccessPolicies_dynamic.displayName)\r\n | extend ConditionalAccessId = parse_json(ConditionalAccessPolicies_dynamic.id)\r\n | extend ConditionalAccessEnforcedControl = parse_json(tostring(ConditionalAccessPolicies_dynamic.enforcedGrantControls))\r\n | extend SourceIPAddress = IPAddress\r\n | extend UserPrincipalName = tolower(UserPrincipalName)\r\n | where ConditionalAccessResult == \"failure\"\r\n | distinct CorrelationId, UserDisplayName, UserPrincipalName, SourceIPAddress, tostring(ConditionalAccessName), tostring(ConditionalAccessId), tostring(ConditionalAccessResult), tostring(ConditionalAccessEnforcedControl), ResultType, AADTenantId\r\n ) on UserPrincipalName, SourceIPAddress\r\n | summarize count() by ConditionalAccessName, ConditionalAccessId, ResultType, AADTenantId\r\n | join kind=inner (\r\n AuditLogs\r\n | where OperationName == \"Update conditional access policy\"\r\n | extend ConditionalAccessId = tostring(TargetResources[0].id)\r\n ) on ConditionalAccessId\r\n | extend Actor = parse_json(tostring(InitiatedBy.user)).userPrincipalName\r\n | project TimeGenerated, OperationName, Actor, ConditionalAccessName, CorrelationId, ResultType, count_\r\n | extend AccountCustomEntity = Actor", + "size": 2, + "showAnalytics": true, + "title": "Unusual AAD Conditional Access Failures After Policy Change", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "showPin": true, + "name": "Unusual AAD Conditional Access Failures After Policy Change", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let PrivRoles = dynamic([\"Global Administrator\", \"Security Administrator\", \"Teams Administrator\"]);\r\nlet identityinfo=\r\n IdentityInfo\r\n | summarize arg_max(TimeGenerated, *) by AccountUPN\r\n | where AssignedRoles has_any (PrivRoles)\r\n | extend TargetUserName = AccountName\r\n | extend UserPrincipalName = AccountUPN\r\n | project TargetUserName, UserPrincipalName, AssignedRoles;\r\nSecurityAlert\r\n//| where TimeGenerated >= ago(90d)\r\n| extend AlertTime = TimeGenerated\r\n| extend UserPrincipalName = CompromisedEntity\r\n| join kind=inner identityinfo on UserPrincipalName\r\n| project AlertTime, TargetUserName, UserPrincipalName, AlertName, AssignedRoles", + "size": 0, + "showAnalytics": true, + "title": "Alerts From Privileged Users", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Alerts From Privileged Users", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Detect when a group is added to Azure AD with the 'Azure AD roles can be assigned to this group' flag enabled\r\n\r\n//Data connector required for this query - Azure Active Directory - Audit Logs\r\n\r\nAuditLogs\r\n//| where TimeGenerated > ago(90d)\r\n| where OperationName == \"Add group\"\r\n| where parse_json(tostring(TargetResources[0].modifiedProperties))[1].displayName == \"IsAssignableToRole\"\r\n| where parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[1].newValue))[0] == true\r\n| extend GroupName = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0].newValue))[0])\r\n| extend Actor = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| extend ['Actor IP Address'] = tostring(parse_json(tostring(InitiatedBy.user)).ipAddress)\r\n| project TimeGenerated, OperationName, GroupName, Actor, ['Actor IP Address']", + "size": 0, + "showAnalytics": true, + "title": "Detect New Privileged Group Added", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Detect New Privileged Group Added", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU16Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.6Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.7 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "## 1.7 Least Privelege Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Implementing Least-privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
\r\n💡 [enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
\r\n💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.7ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n//| where TimeGenerated >= ago(24h)\r\n| extend SingleSignOnClaim = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[6].newValue))[0])\r\n| extend ClaimValue = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[4].newValue))[0].ClaimValue)\r\n| extend SSOAppName = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[3].newValue))[0])\r\n| extend AppId = tostring(AdditionalDetails[0].value)\r\n| where OperationName == \"Add application\"\r\n| where Identity == \"AAD App Management\"\r\n| project AppId, SingleSignOnClaim, ClaimValue", + "size": 0, + "showAnalytics": true, + "title": "Single Sign-On App Created", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Single Sign-On App Created", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| where CAResult <> \"success\"\r\n| summarize count() by AppDisplayName, CAResult\r\n", + "size": 0, + "showAnalytics": true, + "title": "Non-Success ConditionalAccess by App ", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "AppDisplayName", + "formatter": 5, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + } + ], + "filter": true, + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "AppDisplayName" + ] + }, + "labelSettings": [ + { + "columnId": "CAResult", + "label": "Result" + }, + { + "columnId": "count_", + "label": "Count" + } + ] + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Non-Success ConditionalAccess by App ", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n//| where TargetResources[0].userPrincipalName contains \"\"\r\n//| where Identity == \"Microsoft Invitation Acceptance Portal\"\r\n| where parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[4].newValue))[0] == \"Accepted\"\r\n| extend User = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0].newValue))[0])\r\n| extend ConsentGrant = tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[0].displayName)\r\n| project User, ConsentGrant, Result", + "size": 0, + "showAnalytics": true, + "title": "Consent Grant Accepted", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Consent Grant Accepted", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Detect when a user flags a risky sign in within 8 hours of installing a service principal, could be a sign of OAuth consent phishing. This example uses 8 hours between events.\r\nlet threshold=8;\r\nCloudAppEvents\r\n| where ActionType == \"Add service principal.\"\r\n| where AccountType == \"Regular\"\r\n| extend UserId = tostring(RawEventData.UserId)\r\n| project\r\n ['Service Principal Install Time']=TimeGenerated,\r\n UserId,\r\n ['Service Principal Name']=ObjectName\r\n| join kind=inner (\r\n AADUserRiskEvents\r\n | where DetectionTimingType == \"realtime\"\r\n | where RiskDetail !in (\"aiConfirmedSigninSafe\", \"userPerformedSecuredPasswordReset\")\r\n | project\r\n ['Risk Event Time']=TimeGenerated,\r\n UserId=UserPrincipalName,\r\n ['Risk Event IP']=IpAddress\r\n )\r\n on UserId\r\n| extend ['Minutes Between Events']=datetime_diff(\"hour\", ['Service Principal Install Time'], ['Risk Event Time'])\r\n| where ['Minutes Between Events'] < threshold\r\n| project\r\n UserId,\r\n ['Risk Event Time'],\r\n ['Service Principal Install Time'],\r\n ['Minutes Between Events'],\r\n ['Risk Event IP'],\r\n ['Service Principal Name']", + "size": 0, + "showAnalytics": true, + "title": "Risky sign in within 8 hours of installing a service principal", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "50", + "showPin": true, + "name": "Risky sign in within 8 hours of installing a service principal", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityAlert\r\n| where AlertName contains 'unsanctioned'\r\n| extend CompromisedEntity = tostring(parse_json(CompromisedEntity))\r\n| distinct CompromisedEntity, AlertName, AlertSeverity, AlertLink", + "size": 0, + "showAnalytics": true, + "title": "Unscantioned Cloup Apps", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "showPin": true, + "name": "Unscantioned Cloup Apps", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "CloudAppEvents\r\n//| extend Name_ = tostring(parse_json(tostring(RawEventData.ModifiedProperties))[0].Name)\r\n| where AccountType == \"Application\"\r\n| extend Target = tostring(parse_json(tostring(RawEventData.Target))[3].ID)\r\n| extend Actor = tostring(parse_json(tostring(RawEventData.Actor))[0].ID)\r\n| where isnotempty(Actor)\r\n| project AccountType, ActionType, ActivityType, Application, Actor, Target", + "size": 0, + "showAnalytics": true, + "title": "Cloud App Events by Application", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "showPin": true, + "name": "Cloud App Events by Application", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU17Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.7Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.8 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "## 1.8 Continuous Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Active Directory - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)
" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Active Directory - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)
" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
\r\n💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
\r\n💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
\r\n💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
\r\n💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.8ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceInfo\r\n| where isnotempty(DeviceName) and isnotempty(JoinType)\r\n| distinct DeviceName, JoinType\r\n| summarize count() by JoinType", + "size": 3, + "showAnalytics": true, + "title": "HAADJ/AADJ - Primary Refresh Token", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "HAADJ/AADJ - Primary Refresh Token" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Create a summary of PIM activations\r\nAuditLogs\r\n//| where TimeGenerated > ago (330d)\r\n| where OperationName == \"Add member to role completed (PIM activation)\"\r\n| extend User = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| extend Role = tostring(TargetResources[0].displayName)\r\n| where isnotempty(User)\r\n| project User, Role, TimeGenerated\r\n| sort by TimeGenerated desc", + "size": 0, + "showAnalytics": true, + "title": "Visualize Roles Activated by PIM", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "User", + "formatter": 5 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "User" + ] + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Visualize Roles Activated by PIM" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n//| where TimeGenerated >= ago(365d)\r\n| extend value_ = tostring(parse_json(AuthenticationProcessingDetails)[1].value)\r\n| where value_ == 'True' or value_ == 'False'\r\n| summarize count() by value_\r\n| render piechart ", + "size": 3, + "showAnalytics": true, + "title": "Continuous Access Evaluation Summary", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "25", + "showPin": true, + "name": "Continuous Access Evaluation Summary" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where OperationName contains 'create access package'\r\n| extend CreatedBy = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| project CreatedBy, OperationName, Result", + "size": 0, + "showAnalytics": true, + "title": "Created Access Packages", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Created Access Packages", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where OperationName == 'User requests access package assignment'\r\n| extend CreatedBy = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)\r\n| project CreatedBy, OperationName, Result", + "size": 0, + "showAnalytics": true, + "title": "Access Package Requests", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "50", + "showPin": true, + "name": "Access Package Requests", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU18Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.8Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "1.9 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "## 1.9 Integrated ICAM Platform\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Azure Active Directory - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Azure Active Directory - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
\r\n💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
\r\n💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
\r\n💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "1.9ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Visualize password vs passwordless signins per week\r\nSigninLogs\r\n| project TimeGenerated, AuthenticationDetails\r\n//| where TimeGenerated > ago (180d)\r\n| mv-expand todynamic(AuthenticationDetails)\r\n| extend AuthMethod = tostring(parse_json(AuthenticationDetails).authenticationMethod)\r\n| where AuthMethod != \"Previously satisfied\"\r\n| summarize\r\n Password=countif(AuthMethod == \"Password\"),\r\n Passwordless=countif(AuthMethod in (\"FIDO2 security key\", \"Passwordless phone sign-in\", \"Windows Hello for Business\", \"Mobile app notification\", \"X.509 Certificate\"))\r\n by startofweek(TimeGenerated)\r\n| render timechart\r\n with (\r\n xtitle=\"Week\",\r\n ytitle=\"Signin Count\",\r\n title=\"Password vs Passwordless signins per week\")", + "size": 0, + "showAnalytics": true, + "title": "Password vs Passwordless SignIns Per Week", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "showPin": true, + "name": "Password vs Passwordless SignIns Per Week" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Passwordless Is Primary Auth\r\nSigninLogs\r\n| mv-expand todynamic(AuthenticationDetails)\r\n| extend AuthMethod = tostring(parse_json(AuthenticationDetails).authenticationMethod)\r\n| where AuthMethod != \"Previously satisfied\"\r\n| extend authreq = tostring(AuthenticationDetails.authenticationStepRequirement)\r\n//| where authreq contains \"primary\"\r\n| where AuthMethod contains 'x.509'\r\n or AuthMethod contains 'Windows Hello for Business'\r\n or AuthMethod contains 'FIDO2'\r\n or AuthMethod contains 'mobile app notification'\r\n or AuthMethod contains 'passwordless phone sign-in'\r\n| project TimeGenerated, UserPrincipalName, AuthMethod, authreq\r\n| distinct UserPrincipalName, AuthMethod, authreq", + "size": 0, + "showAnalytics": true, + "title": "Passwordless Is Primary Auth", + "timeContext": { + "durationMs": 2592000000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "UserPrincipalName", + "formatter": 5 + } + ], + "filter": true, + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserPrincipalName" + ] + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Passwordless Is Primary Auth", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n//| where TimeGenerated > ago (30d)\r\n| where UserType == 'Guest'\r\n| where AuthenticationRequirement == \"multiFactorAuthentication\"\r\n| extend ['MFA Method'] = tostring(parse_json(AuthenticationDetails)[1].authenticationMethod)\r\n//| summarize Count=count()by ['MFA Method']\r\n| where ['MFA Method'] != \"Previously satisfied\" and isnotempty(['MFA Method'])\r\n| distinct TimeGenerated, UserPrincipalName, ['MFA Method']", + "size": 0, + "showAnalytics": true, + "title": "Guest MFA Challenge Where Not Previously Satisifed", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Guest MFA Challenge Where Not Previously Satisifed", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand todynamic(AuthenticationDetails)\r\n| extend AuthMethod = tostring(parse_json(AuthenticationDetails).authenticationMethod)\r\n| extend authreq = tostring(AuthenticationDetails.authenticationStepRequirement)\r\n| where AuthMethod contains 'x.509' \r\n| where TokenIssuerType == \"AzureAD\"\r\n| project TimeGenerated, UserPrincipalName, AuthMethod, TokenIssuerType, AppDisplayName, ConditionalAccessStatus\r\n| sort by TimeGenerated desc", + "size": 0, + "showAnalytics": true, + "title": "Azure AD - Certificate Based Auth ", + "noDataMessage": "You are not using AAD CBA", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "showPin": true, + "name": "Azure AD - Certificate Based Auth ", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isU19Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "1.9Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p1" + }, + "name": "P1Activites" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.1 Device Inventory\\\", \\\"tab\\\": \\\"D21\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.2 Device Detection and Compliance\\\", \\\"tab\\\": \\\"D22\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.3 Device Authorization with Real Time Inspection\\\", \\\"tab\\\": \\\"D23\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.4 Remote Access\\\", \\\"tab\\\": \\\"D24\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.5 Partially & Fully Automated Asset, Vulnerability & Patch Management\\\", \\\"tab\\\": \\\"D25\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.6 Unified Endpoint Management & Mobile Device Management\\\", \\\"tab\\\": \\\"D26\\\" },\\r\\n\\t\\t{ \\\"Select All (Device 2.x)\\\": \\\"2.7 Endpoint & Extended Detection & Response (EDR & XDR)\\\", \\\"tab\\\": \\\"D27\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Device", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "80ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "DeviceZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "4406c0a9-247a-4fab-bb8b-4ecb21459063", + "version": "KqlParameterItem/1.0", + "name": "isD21Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D21", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "921293a1-1a11-4909-b335-f17a49b24379", + "version": "KqlParameterItem/1.0", + "name": "isD22Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D22", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "isD23Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D23", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "0e4427fe-73e5-4507-b080-68f5a5afa332" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isD24Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D24", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "5083dd8f-531c-47bc-b9d6-11c5c213d62a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isD25Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D25", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "e5cc857d-0ba9-48e9-be67-07713db6465c" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isD26Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D26", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "368104ec-8112-474f-8aa9-30b00bfe1d73" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isD27Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "D27", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "70ae2318-9121-43be-8264-9fd860116c7a" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "parameters - 8 - Copy" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p2" + }, + "customWidth": "50", + "name": "P2-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish and maintain an approved inventory list of all devices authorized to access the network and enroll all devices on the network prior to network connection. Device attributes will include technical details such as the PKI (802.1x) machine certificate, device object, patch/vulnerability status and others to enable successor activities. | DoD organizations establish and maintain a trusted inventory list of all devices authorized to access the network and enroll all devices on the network prior to network connection. | By default policy, devices will be denied network access; the only devices permitted access to the network shall be known, authorized,and listed in the device inventory. | \r\n" + }, + "name": "DevCR21" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd21", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated21", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd21", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev21Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsft Entra ID |\r\n| Microsft Entra ID Conditional Access (CA) |\r\n| Microsoft Defender for Endpoint (MDE) | \r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Defender for Identity (MDI) |\r\n| Microsoft Intune |\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD21Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR21Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| DoD organizations employ asset management systems for user devices to maintain and report on IT and Cybersecurity compliance. Managed devices (enterprise and mobile) attempting to connect to a DoD network or access a DAAS resource is detected and has its compliance status confirmed (via C2C).| DoD organizations employ asset management systems for user devices to maintain and report on IT compliance. Any device (including mobile, IOT, managed, and unmanaged) attempting to connect to a DoD network or access a DAAS resource is detected and has its compliance status confirmed (via C2C). | Any device attempting to connect to the network will be detected; only those devices that are compliant (e.g., anti-virus is up to date, approved configuration) will receive access to requested DAAS |\r\n" + }, + "name": "DevCR21" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd22", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated22", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd22", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev21Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Conditional Access (CA) |\r\n| Microsoft Defender for Endpoint (MDE) | \r\n| Microsoft Intune |\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD22Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR21Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD Organizations conduct foundational and extended device tooling (NextGen AV, AppControl, File Integrity Monitoring (FIM), etc.) integration to better understand the risk posture. Organizational PKI systems are integrated to expand the existing Enterprise PKI to devices as well. Lastly Entity Activity Monitoring is also integrated to identify anomalous activities. | DoD organizations establish processes (e.g., Enterprise PKI) and utilize tools to identify any device (including unmanaged devices, infrastructure devices, and endpoint devices) attempting to access the network, and make a determination if the device should be authorized to access the network. Maturation of this capability monitoring and detection of this activity on endpoints and IT infrastructure in real time. | Components can use policies to deny devices by default and explicitly allow access to DAAS resources only by devices that meet mandated configuration standards. Security threats identified are remediated faster through continuous activity inspection enables faster remediation of security threats. |\r\n" + }, + "name": "DevCR23" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd23", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated23", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd23", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev23Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsft Entra ID | \r\n| Microsoft Intune | \r\n| Microsoft Defender for Endpoint (MDE) |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Sentinel |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD23Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR23Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations audit existing device access processes and tooling to set a least privilege baseline. In phase 2 this access is expanded to cover basic BYOD and IOT support using the Enterprise IDP for approved applications. The final phases expand coverage to include all BYOD and IOT devices for services using the approved set of device attributes. | DoD organizations establish policies to allow authorized users and devices access to the network or a device from a geographical distance through a network connection. | Enables properly authorized and authenticated users and NPEs to access DAAS from remote locations. |\r\n" + }, + "name": "Dev24CR" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd24", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated24", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd24", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev24Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsft Entra ID | \r\n| Microsft Entra ID Conditional Access (CA) |\r\n| Microsoft Intune |\r\n| Microsoft Defender for Endpoint (MDE) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD24Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR24Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.5\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish processes to automatically test and deploy vendor patches for connected devices; hybrid patch management (both human and automated) is employed. | DoD organizations establish processes to automatically test and deploy vendor patches for connected devices; hybrid patch management (both human and automated) is employed. | Risk is minimized by automatically deploying vendor patches to all network devices. |\r\n" + }, + "name": "DevCR25" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd25", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated25", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd25", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev25Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Intune |\r\n| Microsoft Endpoint Configuration Manager (MECM) |\r\n| Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM) | \r\n| Azure Arc-enabled Servers |\r\n| Azure Automation |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD25Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR25Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.6", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.6\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish a centralized UEM solution that provides the choices of agent and/or agentless management of computer and mobile devices to a single console regardless of device location. DoD-issued devices can be remotely managed and security policies are enforced. | DoD organizations establish a centralized UEM tool that provides the choices of agent and/or agentless management of computer and mobile devices to a single console. DoD-issued mobile devices are remotely managed and security policies are enforced. | DAAS resources are protected through agent and agentless management, IT is able to manage, secure, and deploy resources and applications on any device from a single console to provide redress of cybersecurity threats. Security vulnerabilities are mitigated, and policy enforcement measures are received through IT remote management of DoD-issued mobile devices. |\r\n\r\n" + }, + "name": "DevCR26" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd26", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated26", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd26", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev26Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Intune |\r\n| Azure Arc-enabled Servers | \r\n| Azure Autiomation |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD26Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR26Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR2.7", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 2.7\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations use endpoint detection and response (EDR) tooling to monitor, detect, and remediate malicious activity on endpoints. Expanding the capability to include XDR tooling allows organizations to account for activity beyond the endpoints such as cloud and network as well. | DoD organizations use EDR tools to monitor, detect, and remediate malicious activity on endpoints as a baseline. Upgrading to XDR tools allows organizations to account for activity beyond the endpoints. | Threats originating from networkconnected endpoints are initially reduced through active investigation and response. Maturation focuses on forensics and faster threat detection and remediation are enabled by correlating data across multiple security layers (e.g., email, cloud,endpoint). |" + }, + "name": "DevCR27" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusd27", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated27", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd27", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Dev27Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft 365 Defender | \r\n| Microsoft Defender for Endpoint (MDE) |\r\n| Microsoft Defednder for Identity (MDI) |\r\n| Microsoft Defender for Office 365 (MDO) |\r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Sentinel | " + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isD27Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DevCR27Group" + } + ], + "exportParameters": true + }, + "customWidth": "100", + "name": "DeviceCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p2" + }, + "customWidth": "50", + "name": "p2-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.1 Device Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
\r\n💡 [What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
\r\n💡 [Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
\r\n💡 [Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
\r\n💡 [Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
\r\n💡 [Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
\r\n💡 [Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
\r\n💡 [Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
\r\n💡 [Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0)
\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where Category == 'Device'\r\n| extend AADOS = tostring(AdditionalDetails[1].value)\r\n| summarize count() by AADOS\r\n| render piechart", + "size": 3, + "showAnalytics": true, + "title": "AAD Device Count by OS Platform", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "25", + "showPin": true, + "name": "AAD Device Count by OS Platform" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where Category contains 'Device'\r\n//| extend AADOS = tostring(AdditionalDetails[1].value)\r\n//| project OSPlatform, OSversion, JoinType\r\n| extend DeviceName = tostring(TargetResources[0].displayName)\r\n| extend JoinType = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[11].newValue))[0])\r\n| extend deviceOS = tostring(parse_json(tostring(parse_json(tostring(TargetResources[0].modifiedProperties))[9].newValue))[0])\r\n//| where isnotempty(displayName_)\r\n| where isnotempty(DeviceName)\r\n//| where isnotempty(deviceOS)\r\n| project TimeGenerated, DeviceName, OperationName\r\n| sort by TimeGenerated desc\r\n", + "size": 0, + "showAnalytics": true, + "title": "AAD Device List", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "45", + "showPin": true, + "name": "AAD Device List" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AuditLogs\r\n| where Category contains 'Device'\r\n| extend value_ = tostring(AdditionalDetails[2].value)\r\n| where isnotempty(value_)\r\n| project value_\r\n| summarize count() by value_", + "size": 3, + "showAnalytics": true, + "title": "AAD Device Count by Join Type", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "AAD Device Count by Join Type" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceInfo\r\n| where isnotempty(DeviceName) and isnotempty(OSPlatform)\r\n| distinct OSPlatform, DeviceName\r\n| summarize count() by OSPlatform, DeviceName\r\n| sort by count_ desc\r\n| render piechart", + "size": 3, + "showAnalytics": true, + "title": "365D Device Count by OS Platform", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "25", + "showPin": true, + "name": "365D Device Count by OS Platform" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceInfo\r\n| where isnotempty(DeviceName) and isnotempty(OSPlatform) and isnotempty(JoinType)\r\n| distinct DeviceName, OSPlatform, JoinType, OSVersion\r\n| summarize by DeviceName, OSPlatform, OSVersion, JoinType\r\n", + "size": 1, + "showAnalytics": true, + "title": "365D Device List", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "DeviceName", + "formatter": 1 + }, + { + "columnMatch": "OSPlatform", + "formatter": 5 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "OSPlatform" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "45", + "showPin": true, + "name": "365D Device List" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceInfo\r\n| where isnotempty(DeviceName) and isnotempty(JoinType)\r\n| distinct DeviceName, JoinType\r\n| summarize count() by JoinType", + "size": 3, + "showAnalytics": true, + "title": "365D Device Count by Join Type", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "tileSettings": { + "showBorder": false, + "titleContent": { + "columnMatch": "JoinType", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "auto" + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "JoinType", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + }, + "chartSettings": { + "seriesLabelSettings": [ + { + "seriesName": "", + "label": "Other", + "color": "magenta" + } + ] + } + }, + "customWidth": "25", + "showPin": true, + "name": "365D Device Count by Join Type" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| where isnotempty(OS)\r\n| distinct OS\r\n| summarize count() by OS", + "size": 3, + "showAnalytics": true, + "title": "Intune Device Count by OS Platform", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "Intune Device Count by OS Platform" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| summarize by DeviceName, OSVersion", + "size": 0, + "showAnalytics": true, + "title": "Intune Device List", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "45", + "showPin": true, + "name": "Intune Device List" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| where isnotempty(DeviceName) and isnotempty(JoinType)\r\n| distinct DeviceName, JoinType\r\n| summarize count() by JoinType", + "size": 3, + "showAnalytics": true, + "title": "Intune Device Count by Join Type", + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "Intune Device Count by Join Type" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD21Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.2 Device Detection & Compliance\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Device compliance policies in Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint | Microsoft Learn](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Scenarios for using Conditional Access with Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations)\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| where isnotempty(CompliantState)\r\n| distinct CompliantState\r\n| summarize count() by CompliantState", + "size": 3, + "showAnalytics": true, + "title": "Intune Compliance State", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "25", + "showPin": true, + "name": "Intune Compliance State", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| where isnotempty(CompliantState)\r\n//| distinct CompliantState\r\n| distinct TimeGenerated, DeviceName, CompliantState, Ownership", + "size": 0, + "showAnalytics": true, + "title": "Intune Compliance State Details", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ] + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "40", + "showPin": true, + "name": "Intune Compliance State Details", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n| where isnotempty(DeviceName) and isnotempty(JoinType)\r\n//| distinct DeviceName, JoinType, CompliantState\r\n| summarize count() by JoinType, CompliantState", + "size": 0, + "showAnalytics": true, + "title": "Intune Compliance State By Join Type", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "barchart" + }, + "customWidth": "35", + "showPin": true, + "name": "Intune Compliance State By Join Type", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD22Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.2Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.3 Device Automation with Real Time Inspection\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Security & Compliance Center](https://scc.protection.apps.mil/#/homepage)
\r\n" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Security & Compliance Center](https://scc.protection.apps.us/#/homepage)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Resources\r\n\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
\r\n💡 [Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
\r\n💡 [Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
\r\n💡 [Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)
\r\n
\r\n#### Additional References:
\r\n💡 [Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
\r\n💡 [Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
\r\n💡 [Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
\r\n💡 [Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
\r\n💡 [Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
\r\n💡 [Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceInfo\r\n| summarize arg_max(Timestamp, *) by DeviceId \r\n| where OnboardingStatus == \"Can be onboarded\"\r\n| where isempty(MergedToDeviceId)\r\n| project ['Time last seen']=Timestamp, DeviceName, DeviceId, OSDistribution, OSVersion, DeviceCategory, IsAzureADJoined, JoinType", + "size": 0, + "showAnalytics": true, + "title": "Devices That Can Be Onboarded To Defender", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table" + }, + "customWidth": "50", + "showPin": true, + "name": "Devices That Can Be Onboarded To Defender", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Advanced Hunting query\r\n//Data connector required for this query - Advanced Hunting license\r\nDeviceLogonEvents\r\n//| where Timestamp > ago(30d)\r\n| project DeviceName, ActionType, LogonType, AdditionalFields, InitiatingProcessCommandLine, AccountName, IsLocalAdmin\r\n| where ActionType == \"LogonSuccess\"\r\n| where LogonType == \"Interactive\"\r\n| where InitiatingProcessCommandLine == \"lsass.exe\"\r\n| summarize\r\n ['Local Admin Count']=dcountif(AccountName,IsLocalAdmin == \"true\"),\r\n ['Local Admins']=make_set_if(AccountName, IsLocalAdmin == \"true\"), \r\n ['Standard User Count']=dcountif(AccountName, IsLocalAdmin == \"false\"),\r\n ['Standard Users']=make_set_if(AccountName, IsLocalAdmin == \"false\")\r\n by DeviceName\r\n| sort by ['Local Admin Count'] desc ", + "size": 0, + "showAnalytics": true, + "title": "Device Logon Event by User Type", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table" + }, + "customWidth": "50", + "showPin": true, + "name": "Device Logon Event by User Type", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//Summarize attack surface reduction audit hits for each device\r\n//Data connector required for this query - M365 Defender - Device* tables\r\nDeviceEvents\r\n//| where TimeGenerated > ago (1d)\r\n| where ActionType startswith \"Asr\"\r\n| extend isAudit = tostring(AdditionalFields.IsAudit)\r\n| where isAudit = true\r\n| project\r\n TimeGenerated,\r\n ActionType,\r\n DeviceName,\r\n FileName,\r\n InitiatingProcessAccountDomain,\r\n InitiatingProcessAccountName,\r\n InitiatingProcessCommandLine,\r\n InitiatingProcessParentFileName,\r\n ProcessTokenElevation\r\n| summarize\r\n ['Total ASR audit hits']=count(),\r\n ['Distinct ASR audit rule hits']=dcount(ActionType),\r\n ['List of processes']=make_set(InitiatingProcessCommandLine)\r\n by DeviceName\r\n| sort by ['Total ASR audit hits'] desc ", + "size": 0, + "showAnalytics": true, + "title": "Summarize Attack Surface Reduction Audit By Device", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Summarize Attack Surface Reduction Audit By Device", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "DeviceEvents\r\n//| where TimeGenerated > ago (timerange) and TimeGenerated < ago(7d)\r\n| where ActionType startswith \"Asr\"\r\n| distinct ActionType;\r\n DeviceEvents\r\n //| where TimeGenerated > ago(7d)\r\n | where ActionType startswith \"Asr\"\r\n //| where ActionType !in (existingalerts)\r\n| summarize ['Device List']=make_set(DeviceName) by ActionType", + "size": 0, + "showAnalytics": true, + "title": "Attack Surface Reduction Alerts By Device", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Attack Surface Reduction Alerts By Device", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityRecommendation\r\n| where RecommendationName == \"File integrity monitoring should be enabled on machines\"\r\n//| distinct RecommendationName, DeviceId\r\n| extend id_ = tostring(parse_json(tostring(Properties.resourceDetails)).id)\r\n| distinct Environment, RecommendationName, RecommendationState, id_", + "size": 0, + "showAnalytics": true, + "title": "File Integrity Management By Environment", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "File Integrity Management By Environment", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": " DeviceEvents\r\n | where ActionType == \"AntivirusScanCompleted\"\r\n //| where Timestamp > ago(Timerange)\r\n | summarize LastSuccessfulAVScan = max(Timestamp) by DeviceName, DeviceId\r\n | join kind=innerunique (\r\n DeviceInfo\r\n | where isnotempty( OSVersion )\r\n ) on DeviceId\r\n | summarize LastSeen = arg_max(Timestamp,*) by DeviceName\r\n | project LastSeen, DeviceId, DeviceName, MachineGroup, OSPlatform, OSVersion, DeviceType, LastSuccessfulAVScan, JoinType", + "size": 0, + "showAnalytics": true, + "title": "Device Event - Latest AV Scan", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Device Event - Latest AV Scan", + "styleSettings": { + "margin": "10px", + "padding": "10px", + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD23Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.3Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.4 Remote Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
\r\n💡 [Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend ConditionalAccessPolicyName = tostring(ConditionalAccessPolicies.displayName)\r\n| distinct ConditionalAccessPolicyName\r\n| sort by ConditionalAccessPolicyName asc\r\n", + "size": 0, + "showAnalytics": true, + "title": "VERIFY Deny Device by Default On Non-Compliant Conditional Access", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "VERIFY Deny Device by Default On Non-Compliant Conditional Access" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDeviceComplianceOrg\r\n//| where TimeGenerated between (ago(30d) ..now() )\r\n//| where ComplianceState contains ''\r\n| distinct DeviceId, DeviceName, ComplianceState, OS, UserName, OSVersion\r\n| summarize by DeviceName, ComplianceState, OS, OSVersion, UserName\r\n| order by ComplianceState\r\n| sort by ComplianceState desc", + "size": 0, + "showAnalytics": true, + "title": "Intune Device Compliancy ", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "showPin": true, + "name": "Intune Device Compliancy " + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD24Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.4Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.5 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.5 Partially & Fully Automated Asset, Vulnerability & Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
\r\n💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
\r\n💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
\r\n💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
\r\n💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
\r\n💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
\r\n💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
\r\n💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let secured =\r\nIntuneDeviceComplianceOrg\r\n| where isnotempty(DeviceHealthThreatLevel)\r\n| where DeviceHealthThreatLevel == \"Secured\"\r\n| distinct DeviceName, UserName , DeviceHealthThreatLevel\r\n| summarize count(DeviceName)\r\n| extend ['Number of Devices'] = count_DeviceName\r\n| extend Status = \"Secured\";\r\nlet notsecured =\r\nIntuneDeviceComplianceOrg\r\n| where isnotempty(DeviceHealthThreatLevel)\r\n| where DeviceHealthThreatLevel == \"Not Secured\"\r\n| distinct DeviceName, UserName , DeviceHealthThreatLevel\r\n| summarize count(DeviceName)\r\n| extend ['Number of Devices'] = count_DeviceName\r\n| extend Status = \"Not Secured\";\r\nlet unknown =\r\nIntuneDeviceComplianceOrg\r\n| where isnotempty(DeviceHealthThreatLevel)\r\n| where DeviceHealthThreatLevel == \"Unknown\"\r\n| distinct DeviceName, UserName , DeviceHealthThreatLevel\r\n| summarize count(DeviceName)\r\n| extend ['Number of Devices'] = count_DeviceName\r\n| extend Status = \"Unknown\";\r\nsecured\r\n| union notsecured, unknown\r\n| project Status, ['Number of Devices']\r\n| sort by ['Number of Devices']", + "size": 0, + "showAnalytics": true, + "title": "Number Of Devices With DeviceHealthThreatLevel Status", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "showPin": true, + "name": "Number Of Devices With DeviceHealthThreatLevel Status" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "// Compare OS Version changes between yesterday and today. It will calculate the difference (number of devices) between two days.\r\nlet Yesterday=\r\nIntuneDevices\r\n| where TimeGenerated < ago(1d) \r\n| summarize arg_max(TimeGenerated, *) by DeviceName\r\n| where todatetime(LastContact) > ago(30d) \r\n| summarize count() by OSVersion\r\n| sort by OSVersion desc\r\n| extend CustomName = OSVersion\r\n| extend Version_Yesterday = count_;\r\nlet Today=\r\nIntuneDevices \r\n| summarize arg_max(TimeGenerated, *) by DeviceName\r\n| where todatetime(LastContact) > ago(30d) \r\n| summarize count() by OSVersion\r\n| sort by OSVersion desc\r\n| extend CustomName = OSVersion\r\n| extend Version_Today = count_;\r\nYesterday\r\n| join kind=inner Today on OSVersion\r\n| project CustomName, Version_Today, Version_Yesterday, Difference = Version_Today-Version_Yesterday\r\n| sort by CustomName desc", + "size": 0, + "showAnalytics": true, + "title": "Compare OS Version Changes Between Yesterday & Today", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "showPin": true, + "name": "Compare OS Version Changes Between Yesterday & Today" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IntuneDevices\r\n//| where TimeGenerated > ago(90d)\r\n| where isnotempty(LastContact)\r\n//Retrieve latest record for each DeviceId\r\n| summarize arg_max(TimeGenerated, *) by DeviceId\r\n//Convert string to datetime format\r\n| extend LastContactTime = todatetime(LastContact)\r\n| project DeviceId, LastContactTime\r\n//Exclude devices reporting as 0001-01-01\r\n| where LastContactTime <> todatetime('0001-01-01T00:00:00Z')\r\n//Group by month and render chart\r\n| summarize ['Device Count']=count()by startofmonth(LastContactTime)\r\n| render columnchart with (title=\"Intune devices by last contact time\", xtitle=\"Month\")", + "size": 0, + "showAnalytics": true, + "title": "Visualize When Devices Last Contacted Intune", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "showPin": true, + "name": "Visualize When Devices Last Contacted Intune" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD25Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.5Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.6 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.6 Unified Endpoint Management & Mobile Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
\r\n💡 [Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
\r\n💡 [Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
\r\n💡 [Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
\r\n💡 [Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
\r\n💡 [Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
\r\n💡 [Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
\r\n💡 [Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
\r\n💡 [What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "// Visualize Android Versions and filtering for devices that had a connection to intune in the last 30 days.\r\nIntuneDevices\r\n| where OS contains \"Android\"\r\n//| where todatetime(LastContact) > ago(30d) \r\n| summarize arg_max(TimeGenerated, *) by DeviceName\r\n| summarize Versionen=count() by OSVersion\r\n| sort by Versionen desc \r\n| render piechart with (title=\"Android Versions\")", + "size": 0, + "showAnalytics": true, + "title": "Intune - Visualize Android Versions", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "showPin": true, + "name": "Intune - Visualize Android Versions" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "// Visualize iOS Versions and filtering for devices that had a connection to intune in the last 30 days.\r\nIntuneDevices\r\n| where OS contains \"iOS/iPadOS\"\r\n//| where todatetime(LastContact) > ago(30d) \r\n| summarize arg_max(TimeGenerated, *) by DeviceName\r\n| summarize Versionen=count() by OSVersion\r\n| sort by Versionen desc \r\n| render piechart with ( title=\"iOS/iPadOS Versions\")", + "size": 0, + "showAnalytics": true, + "title": "Intune - Visualize iOS Versions", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "showPin": true, + "name": "Intune - Visualize iOS Versions" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "// Visualize Windows Versions and filtering for devices that had a connection to intune in the last 30 days.\r\nIntuneDevices\r\n| where OS contains \"Windows\"\r\n//| where todatetime(LastContact) > ago(30d) \r\n| summarize arg_max(TimeGenerated, *) by DeviceName\r\n| summarize Versionen=count() by OSVersion\r\n| sort by Versionen desc \r\n| render piechart with ( title=\"Windows Build Versions\")", + "size": 0, + "showAnalytics": true, + "title": "Intune - Visualize Windows Versions", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "33", + "showPin": true, + "name": "Intune - Visualize Windows Versions" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD26Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.6Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "2.7 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 2.7 Endpoint & Extended Detection & Response (EDR & XDR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
\r\n💡 [Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
\r\n💡 [Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
\r\n💡 [Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
\r\n💡 [Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
\r\n💡 [Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident)
\r\n\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AlertInfo\r\n| where TimeGenerated >= ago(365d)\r\n| where ServiceSource == \"Microsoft Defender for Endpoint\"\r\n| distinct TimeGenerated, Title, Category, Severity, ServiceSource, DetectionSource\r\n| sort by TimeGenerated desc", + "size": 0, + "showAnalytics": true, + "title": "Alert Info By EDR (Microsoft MDE)", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "showPin": true, + "name": "Alert Info By EDR (Microsoft MDE)" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityIncident\r\n| where ProviderName == \"Microsoft 365 Defender\"\r\n| where Status <> \"Closed\"\r\n| project TimeGenerated, Title, Status, ProviderName, IncidentNumber\r\n| sort by TimeGenerated desc\r\n", + "size": 0, + "showAnalytics": true, + "title": "Security Incidents From 365 Defender", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "showPin": true, + "name": "Security Incidents From 365 Defender" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isD27Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "2.7Activites", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p2" + }, + "name": "P2Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Application & Workload 3.x)\\\": \\\"3.1 Application Inventory\\\", \\\"tab\\\": \\\"A31\\\" },\\r\\n\\t\\t{ \\\"Select All (Application & Workload 3.x)\\\": \\\"3.2 Secure Software Development & Integration\\\", \\\"tab\\\": \\\"A32\\\" },\\r\\n\\t\\t{ \\\"Select All (Application & Workload 3.x)\\\": \\\"3.3 Software Risk Management\\\", \\\"tab\\\": \\\"A33\\\" },\\r\\n\\t\\t{ \\\"Select All (Application & Workload 3.x)\\\": \\\"3.4 Resource Authorization & Integration\\\", \\\"tab\\\": \\\"A34\\\" },\\r\\n\\t\\t{ \\\"Select All (Application & Workload 3.x)\\\": \\\"3.5 Continuous Monitoring and Ongoing Authorizations\\\", \\\"tab\\\": \\\"A35\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Application & Workload 3.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "AppZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isA31Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "A31", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isA32Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "A32", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "f727f39d-ec12-43f9-a6ed-e44515f19b66", + "version": "KqlParameterItem/1.0", + "name": "isA33Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "A33", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a354cdb5-4a2c-4d66-8cd9-30b0f23d8cef", + "version": "KqlParameterItem/1.0", + "name": "isA34Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "A34", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "bc47e30b-b2bf-4c0f-9125-94ebf62e7c92", + "version": "KqlParameterItem/1.0", + "name": "isA35Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "A35", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "AppZTParameters" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p3" + }, + "customWidth": "50", + "name": "P3-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR3.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 3.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| System owners ensure that all applications and application components are identified and inventoried; only applications and application components that have been authorized by the appropriate authorizing official/CISO/CIO shall be utilized within the system owner's purview. | System owners ensure that all applications and application components are identified and inventoried; only applications and application components that have been authorized by the appropriate authorizing official/CISO/CIO shall be utilized within the system owner's purview. | Unauthorized applications and application components are not used on or within the system. |" + }, + "name": "AppCR31" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp31", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp31", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp31", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "App31Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID | \r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Microsoft Defender for Endpoint (MDE) | \r\n| Microsoft Intune |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isA31Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AppCR31Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR3.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 3.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| Foundational software and application security processes and infrastructure are established following Zero Trust principles and best practices. Controls such as code review, runtime rotection, secure API gateways, container and serverless security are integrated and automated. | Organization-defined security controls and practices are integrated, to include Zero Trust security controls and virtualization, into the software development lifecycle and DevOps toolchain. Custom software development teams use DevSecOps to integrate static and dynamic application security testing into software delivery workflows in accordance with the organization's requirements policies, technologies, and processes). | Zero Trust security concepts, processes, and capabilities are accepted and integrated across the DevOps toolchain, to include static and dynamic application security testing necessary for the discovery of weaknesses and vulnerabilities during application development. |" + }, + "name": "AppCR32" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp32", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp32", + "label": "Implementation Date", + "type": 1, + "timeContext": { + "durationMs": 86400000 + }, + "value": "DueDate=2027" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp32", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "App32Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Policy | \r\n| Microsoft Defender for Cloud (MDfC) | \r\n| Microsoft Defender for Endpoint (MDE) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isA32Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AppCR32Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR3.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 3.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish software/application risk management program. Foundational controls include Bill of Materials risk management, Supplier Risk Management, approved repositories and update channels, and vulnerability management program. Additional controls include Continual validation within the CI/CD pipelines and vulnerability maturation with external sources. | DoD establishes policies and procedures to secure supply chain cybersecurity for code components within DoD and DIB systems by evaluating and identifying supplier sourcing risk for approved sources,creating repositories and update channels for use by development teams, creating Bill of Materials for applications to identify source, supportability and risk posture, and establishing industry standard (DIB) and approved vulnerability databases for use in DevSecOps. | Code used in DAAS and associated components of the supply chain is secure, vulnerabilities are reduced, and DoD is aware of potential risks. |" + }, + "name": "AppCR33" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp33", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp33", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp33", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "App33Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM) |\r\n| Microsoft Intune |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isA33Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AppCR33Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR3.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 3.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD establishes a standardized resource authorization gateway for authorizations via the CI/CD pipelines in a risk approach that reviews the User, Device and Data security posture. Authorizations utilize a programmatic (e.g., Software Defined) approach in a live/production environment. Attributes are enriched utilizing other pillar activities and the API and Authorization gateway. Approved enterprise APIs are micro-segmented using authorizations. | DoD establishes a standard approach managing the authorizations of resources in a risk approach that reviews the User, Device and Data security posture. | Resource authorization enables the ability for limited access to those resources and in a programmatic way in later stages. This improvise the ability to remove access when it is not needed. | " + }, + "name": "AppCR34" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp34", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp34", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp34", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "App34Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Conditional Access (CA) | \r\n| Entra ID Application Proxy | \r\n| Azure Policy | \r\n| Entra ID Privilleged Identity Management (PIM) |\r\n| Microsoft 365 Defender |\r\n| Microsoft Intune |\r\n| Microsoft Defender for Cloud (MDfC)|" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isA34Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AppCR34Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR3.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 3.5\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations employ automated tools and processes to continuously monitor applications and assess their authorization to operate. | DoD organizations employ automated tools and processes to continuously monitor applications and assess their authorization to operate. | Near real time visibility into the effectiveness of deployed security controls. |" + }, + "name": "AppCR35" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp35", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp35", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp35", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "App35Status" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isA35Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AppCR35Group" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Conditional Access (CA) | \r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Microsoft Senitnel Playbooks | \r\n| Entra ID Privilleged Identity Management (PIM) |" + }, + "conditionalVisibility": { + "parameterName": "isA35Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 5" + } + ], + "exportParameters": true + }, + "name": "AppCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p3" + }, + "customWidth": "50", + "name": "P3-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "3.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 3.1 Application Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
\r\n💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
\r\n💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
\r\n💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
\r\n💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
\r\n💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
\r\n💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide)
\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "3.1ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs \r\n| where SourceSystem == 'Azure AD'\r\n| distinct TimeGenerated, UserPrincipalName,AppDisplayName, status = case(Status.errorCode == \"0\", \"success\", \"failure\")\r\n| sort by TimeGenerated desc\r\n", + "size": 0, + "showAnalytics": true, + "title": "Application Inventory Audit by Source System Azure Active Directory", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "AppDisplayName", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "150px" + } + } + ] + } + }, + "customWidth": "50", + "showPin": true, + "name": "Application Audit by Source System Azure Active Directory" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isA31Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "3.1Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "3.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 3.2 Secure Software Development & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [DoD CIO DevSecOps with IaC & Microsoft](https://dodcio.defense.gov/Portals/0/Documents/Library/DoDRefDesignCloudGithub.pdf?ver=zXJ_uO5LfouVaysHo5Ejsw%3d%3d)
\r\n💡 [Microsoft Secure DevSecOps](https://www.microsoft.com/en-us/securityengineering/sdl/)
\r\n💡 [Application Security & DevSecOps Security](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/organize/cloud-security-application-security-devsecops?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=eb8cd3d8eb27486d87bbb4d96d996220)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Azure AI Content Moderator API Security](https://learn.microsoft.com/en-us/azure/ai-services/content-moderator/overview)\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "3.2ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type == \"microsoft.security/assessments\"\r\n| where name == \"c68a8c2a-6ed4-454b-9e37-4b7654f2165f\" \r\n or name == \"4e07c7d0-e06c-47d7-a4a9-8c7b748d1b27\" \r\n or name == \"822425e3-827f-4f35-bc33-33749257f851\"\r\n or name == \"2ebc815f-7bc7-4573-994d-e1cc46fb4a35\" \r\n or name == \"6672df26-ff2e-4282-83c3-e2f20571bd11\"\r\n or name == \"1a600c61-6443-4ab4-bd28-7a6b6fb4691d\" \r\n or name == \"92643c1f-1a95-4b68-bbd2-5117f92d6e35\"\r\n| extend Status = tostring(properties.status.code)\r\n| where Status == 'Unhealthy'\r\n| project assessmentKey=name, parse_json(properties)\r\n| where properties.metadata.severity in ('Low','Medium','High')\r\n| extend SeverityRank = case(\r\n properties.metadata.severity == 'High', 3,\r\n properties.metadata.severity == 'Medium', 2,\r\n properties.metadata.severity == 'Low', 1,\r\n 0)\r\n| project-away SeverityRank\r\n| extend Severity = properties.metadata.severity\r\n| project Severity = tostring(Severity)\r\n| summarize Count = count() by Severity", + "size": 3, + "showAnalytics": true, + "title": "Dynamic Security testing posture by severity", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "value::all" + ], + "visualization": "piechart" + }, + "customWidth": "35", + "showPin": true, + "name": "Security posture by severity" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type == \"microsoft.security/assessments\"\r\n| extend assessmentKey = extract(\".*assessments/(.+?)/.*\",1, id)\r\n| extend Repository = tostring(split(properties.resourceDetails.Id,\"/\",12))\r\n| extend Status = tostring(properties.status.code)\r\n| extend TimeGenerated = todatetime(properties.timeGenerated)\r\n| where Status == 'Unhealthy'\r\n| where name == \"c68a8c2a-6ed4-454b-9e37-4b7654f2165f\" \r\n or name == \"4e07c7d0-e06c-47d7-a4a9-8c7b748d1b27\" \r\n or name == \"822425e3-827f-4f35-bc33-33749257f851\"\r\n or name == \"2ebc815f-7bc7-4573-994d-e1cc46fb4a35\" \r\n or name == \"6672df26-ff2e-4282-83c3-e2f20571bd11\"\r\n or name == \"1a600c61-6443-4ab4-bd28-7a6b6fb4691d\" \r\n or name == \"92643c1f-1a95-4b68-bbd2-5117f92d6e35\"\r\n| summarize count(name) by trim(@'^\\[\"|\"]$',Repository)", + "size": 0, + "showAnalytics": true, + "title": "Posture Assessment By Repository", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "value::all" + ], + "visualization": "barchart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "65", + "showPin": true, + "name": "Posture Assessment By Repository" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type == \"microsoft.security/assessments\"\r\n| where name == \"1a600c61-6443-4ab4-bd28-7a6b6fb4691d\" or name == \"6672df26-ff2e-4282-83c3-e2f20571bd11\" or name == \"92643c1f-1a95-4b68-bbd2-5117f92d6e35\" or name == \"c68a8c2a-6ed4-454b-9e37-4b7654f2165f\" or name == \"580dbad4-33c2-44c8-a37d-22874d8ef4c3\" or name == \"0db7ca3c-bd65-4244-9be3-2194c13a3893\" or name == \"822425e3-827f-4f35-bc33-33749257f851\" or name == \"4e07c7d0-e06c-47d7-a4a9-8c7b748d1b27\" or name == \"92643c1f-1a95-4b68-bbd2-5117f92d6e35\"\r\n| extend Status = tostring(properties.status.code)\r\n| where Status == 'Unhealthy'\r\n| extend Repository = tostring(split(id, '/')[12]), \r\n Threats = tostring(strcat_array(properties.metadata.threats,\",\")), \r\n Tactics = tostring(strcat_array(properties.metadata.tactics,\",\")), \r\n Techniques = tostring(strcat_array(properties.metadata.techniques,\",\")),\r\n Details = \"info\"\r\n| project Repository, Threats, Tactics, Techniques, properties, Details", + "size": 0, + "showAnalytics": true, + "title": "Threats & Tactics", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "value::all" + ], + "visualization": "table" + }, + "showPin": true, + "name": "Threats & Tactics" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isA32Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "3.2Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "3.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 3.3 Software Risk Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
\r\n💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
\r\n💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
\r\n💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
\r\n💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
\r\n💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
\r\n💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "3.3ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| where Location <> \"\"\r\n| extend latitude_ = tostring(parse_json(tostring(LocationDetails.geoCoordinates)).latitude)\r\n| extend longitude_ = tostring(parse_json(tostring(LocationDetails.geoCoordinates)).longitude)\r\n| extend city_ = tostring(LocationDetails.city)", + "size": 3, + "showAnalytics": true, + "title": "Sign Ins By GeoLocation", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "visualization": "map", + "mapSettings": { + "locInfo": "LatLong", + "locInfoColumn": "Location", + "latitude": "latitude_", + "longitude": "longitude_", + "sizeSettings": "city_", + "sizeAggregation": "Count", + "labelSettings": "city_", + "legendMetric": "city_", + "legendAggregation": "Count", + "itemColorSettings": null, + "numberFormatSettings": { + "unit": 0, + "options": { + "style": "decimal" + } + } + } + }, + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| summarize Count=count() by AppDisplayName\r\n| render piechart ", + "size": 0, + "title": "SigInLogs by App", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isA33Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "3.3Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "3.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 3.4 Resource Authorization & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
\r\n💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
\r\n💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
\r\n💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
\r\n💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
\r\n💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
\r\n💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
\r\n💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "3.4ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "bullets", + "links": [] + }, + "name": "links - 6" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| summarize Count=count() by AppDisplayName\r\n| render piechart ", + "size": 0, + "title": "SigInLogs by App", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "query - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IdentityInfo | union BehaviorAnalytics\r\n| where isnotempty(UserType)\r\n| summarize count() by UserType\r\n| render piechart ", + "size": 0, + "title": "UEBA - IdentityInfo", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "IdentityDirectoryEvents | summarize count() by ActionType | render piechart ", + "size": 0, + "title": "MDI - IdentityLogonEvents", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "33", + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let maxSummarizedTime = toscalar (\r\n union isfuzzy=true \r\n (\r\n NetworkCustomAnalytics_protocol_CL\r\n | where EventTime_t >= {TimeRange:start}\r\n | summarize max_TimeGenerated=max(EventTime_t)\r\n | extend max_TimeGenerated = datetime_add('minute',10,max_TimeGenerated)\r\n ),\r\n (\r\n print({TimeRange:start})\r\n | extend max_TimeGenerated = print_0\r\n | project max_TimeGenerated\r\n )\r\n | summarize maxTimeGenerated = max(max_TimeGenerated) \r\n );\r\nunion isfuzzy=true \r\n (\r\n _Im_NetworkSession(starttime=todatetime(maxSummarizedTime), endtime=now())\r\n | where isnotempty(DstAppName)\r\n | summarize Instances=toint(count()) by DstAppName, bin(TimeGenerated, 6h)\r\n ),\r\n (\r\n NetworkCustomAnalytics_protocol_CL\r\n | where EventTime_t >= {TimeRange:start}\r\n | where isnotempty(DstAppName_s)\r\n | summarize Instances=toint(sum(count__d)) by DstAppName=DstAppName_s, TimeGenerated=bin(EventTime_t, 6h)\r\n )\r\n | summarize Instances = sum(Instances) by DstAppName, bin(TimeGenerated, 6h)", + "size": 0, + "title": "Events By Destination Application", + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "categoricalbar" + }, + "name": "query - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isA34Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "3.4Activites", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "3.5 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 3.5 Continuous Monitoring and Ongoing Authorizations\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "100", + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
\r\n💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
\r\n💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
\r\n💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
\r\n💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac)
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 9" + } + ] + }, + "name": "3.5ActResources" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let FailedAssets=SecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"config\"\r\n| where AnalyzeResult == \"Failed\"\r\n| summarize FailedAssets = makelist(Computer) by Description;\r\nlet PassedAssets=SecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"config\"\r\n| where AnalyzeResult == \"Passed\"\r\n| summarize PassedAssets = makelist(Computer) by Description;\r\nSecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"config\"\r\n| summarize\r\n Failed = countif(AnalyzeResult == \"Failed\"),\r\n Passed = countif(AnalyzeResult == \"Passed\"),\r\n Total = countif(AnalyzeResult == \"Failed\" or AnalyzeResult == \"Passed\")\r\n by Description\r\n| extend PassedControls = (Passed / todouble(Total)) * 100\r\n| join kind=fullouter(FailedAssets) on Description\r\n| join kind=fullouter(PassedAssets) on Description\r\n| project Description, Total, PassedControls, Passed, Failed, PassedAssets, FailedAssets\r\n| sort by Total, Passed desc\r\n| limit 250", + "size": 0, + "showAnalytics": true, + "title": "Review Security Appllication Authorization Baselines", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "RecommendationDisplayName", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "Gear", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "Total", + "formatter": 22, + "formatOptions": { + "compositeBarSettings": { + "labelText": "", + "columnSettings": [ + { + "columnName": "Passed", + "color": "green" + }, + { + "columnName": "Failed", + "color": "redBright" + } + ] + } + } + }, + { + "columnMatch": "PassedControls", + "formatter": 0, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + { + "columnMatch": "ControlNumber", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "AllServices", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "RecommendationState", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "!=", + "thresholdValue": "Healthy", + "representation": "3", + "text": "{0}{1}" + }, + { + "operator": "Default", + "representation": "success", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "count_", + "formatter": 4, + "formatOptions": { + "palette": "blue" + } + } + ], + "filter": true, + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "UserType" + ] + } + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let LastObserved = SigninLogs\r\n| where ResultType == 0\r\n| summarize arg_max(TimeGenerated, *) by UserPrincipalName\r\n| project UserPrincipalName, LastSignIn=TimeGenerated;\r\nSigninLogs\r\n| extend UserProfile = strcat(\"https://portal.azure.com/#blade/Microsoft_AAD_IAM/UserDetailsMenuBlade/Profile/userId/\", UserId)\r\n| where ResultType == 0\r\n| summarize count() by UserPrincipalName, UserProfile, UserId, AppDisplayName\r\n| join (LastObserved) on UserPrincipalName\r\n| project UserPrincipalName, AppDisplayName, SignInCount=count_, UserProfile, LastSignIn, UserId\r\n| sort by SignInCount desc\r\n| limit 2500\r\n", + "size": 0, + "showAnalytics": true, + "title": "User Access by Application", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "UserPrincipalName", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "Person", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "SignInCount", + "formatter": 4, + "formatOptions": { + "palette": "blue" + } + }, + { + "columnMatch": "UserProfile", + "formatter": 7, + "formatOptions": { + "linkTarget": "OpenBlade", + "linkLabel": "AAD User Profile >>", + "bladeOpenContext": { + "bladeName": "UserDetailsMenuBlade", + "extensionName": "Microsoft_AAD_IAM", + "bladeParameters": [ + { + "name": "userId", + "source": "column", + "value": "UserId" + } + ] + } + } + }, + { + "columnMatch": "UserId", + "formatter": 5 + }, + { + "columnMatch": "count_", + "formatter": 4, + "formatOptions": { + "palette": "yellowOrangeRed" + } + } + ], + "rowLimit": 2500, + "filter": true + }, + "tileSettings": { + "titleContent": { + "columnMatch": "OperationName", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "Runs", + "formatter": 12, + "formatOptions": { + "palette": "auto" + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "palette": "blue" + } + }, + "showBorder": false + }, + "mapSettings": { + "locInfo": "LatLong", + "locInfoColumn": "Location", + "latitude": "latitude_", + "longitude": "longitude_", + "sizeSettings": "city_", + "sizeAggregation": "Count", + "labelSettings": "city_", + "legendMetric": "city_", + "numberOfMetrics": 100, + "legendAggregation": "Count", + "itemColorSettings": { + "nodeColorField": "state_", + "colorAggregation": "Count", + "type": "heatmap", + "heatmapPalette": "coldHot" + } + } + }, + "name": "query - 9" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| summarize Count=count() by AppDisplayName\r\n| render piechart ", + "size": 0, + "title": "SigInLogs by App", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "30", + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isA35Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "3.5Activites", + "styleSettings": { + "showBorder": true + } + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p3" + }, + "name": "P3Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.1 Data Catalog Risk Alignment\\\", \\\"tab\\\": \\\"DA41\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.2 DoD Enterprise Data Governance\\\", \\\"tab\\\": \\\"DA42\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.3 Data Labeling and Tagging\\\", \\\"tab\\\": \\\"DA43\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.4 Data Monitoring and Sensing\\\", \\\"tab\\\": \\\"DA44\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.5 Data Encryption & Rights Management\\\", \\\"tab\\\": \\\"DA45\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.6 Data Loss Prevention (DLP)\\\", \\\"tab\\\": \\\"DA46\\\" },\\r\\n\\t\\t{ \\\"Select All (Data 4.x)\\\": \\\"4.7 Data Access Control\\\", \\\"tab\\\": \\\"DA47\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Data 4.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "DataZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isDA41Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA41", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isDA42Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA42", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "f727f39d-ec12-43f9-a6ed-e44515f19b66", + "version": "KqlParameterItem/1.0", + "name": "isDA43Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA43", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a354cdb5-4a2c-4d66-8cd9-30b0f23d8cef", + "version": "KqlParameterItem/1.0", + "name": "isDA44Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA44", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "bc47e30b-b2bf-4c0f-9125-94ebf62e7c92", + "version": "KqlParameterItem/1.0", + "name": "isDA45Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA45", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "isDA46Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA46", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "c59bde53-5573-4b3a-8ea5-6814faa954a7" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isDA47Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "DA47", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "174fa33f-5a69-46d0-9dcc-8cb1626b56ca" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "DataZTParameters" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p4" + }, + "customWidth": "50", + "name": "p4-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| Data owners ensure that data is identified and inventoried and any changes to the data landscape are automatically detected and included within the catalog. The data landscape must then be reviewed to identify potential risks related to data loss, attack, or any other unauthorized alteration and/or access. | Data owners ensure that data is identified and inventoried and any changes to the data landscape are automatically detected and included within the catalog. The data landscape must then be reviewed to identify potential risks related to data loss, attack, or any other unauthorized alteration and/or access. | Data assets are known and can therefore be collected, tagged, and protected according to risk levels in alignment with a prioritization framework, and encrypted for protection. |" + }, + "name": "DataCR41" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata41", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata41", + "label": "Implementation Date", + "type": 1, + "timeContext": { + "durationMs": 86400000 + }, + "value": "DueDate=2027" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata41", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data1Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Data Catalog | \r\n| Purview Data Map |\r\n| Microsoft Sentinel |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA41Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR41Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| DoD establishes enterprise data labeling/tagging and DAAS access control/sharing policies (e.g., SDS policy) that are enforceable. Developed enterprise standards ensure an appropriate level of interoperability between DoD Organizations. | DoD establishes enterprise data labeling/tagging and DAAS access control/sharing policies (e.g., SDS policy) that are enforceable at the field level. | Decision rights and accountability framework ensure appropriate behavior in the valuation, creation,consumption, and control of data and analytics. |" + }, + "name": "DataCR42" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata42", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata42", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata42", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data42Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Data Governance |\r\n| Purview Data Estate Insights |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Sentinel |\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA42Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR42Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| Data owners label and tag data in compliance with DoD enterprise governance on labeling/tagging policy. As phases advance automation is used to meet scaling demands and provide better accuracy. | Data owners label and tag data in compliance with DoD enterprise governance on labeling/tagging policy. | Establishing machine enforceable data access controls, risk assessment, and situational awareness require consistently and correctly labeled and tagged data. |" + }, + "name": "DataCR43" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata43", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata43", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata43", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data43Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Information Protection |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA43Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR43Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| Data owners will capture active metadata that includes information about the access, sharing,transformation, and use of their data assets. Data Loss Prevention (DLP) and Data Rights Management (DRM) enforcement point analysis is conducted to determine where tooling will be deployed. Data outside of DLP and DRM scope such as File Shares and Databases is actively monitored for anomalous and malicious activity using alternative tooling. | Data owners will capture active metadata that includes information about the access, sharing, transformation, and use of their data assets. | Data in all states are detectable and observable. |" + }, + "name": "DataCR44" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata44", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata44", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata44", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data44Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Data Loss Protection (DLP) | \r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Microsoft Defender for Endpoint (MDE) |\r\n| Microsoft Sentinel |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA44Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR44Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.5\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish and implement a strategy for encrypting data at rest and in transit using Data Rights Management (DRM) tooling. The DRM solution utilizes data tags to determine protection and lastly integrates with ML and AI to automate protection. | DoD organizations establish and implement a strategy for encrypting data at rest and in transit. | Encrypting data in all states reduces the risk of unauthorized data access and improves data security. |" + }, + "name": "DataCR45" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata45", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata45", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata45", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data45Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Data Loss Protection (DLP) | \r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Microsoft Defender for Endpoint (MDE) |\r\n" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA45Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR45Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.6", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.6\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations utilize the identified enforcement points to deploy approved DLP tools and integrate tagged data attributes with DLP. Initially the DLP solution is put into a \"monitor-only\" mode to limit business impact and later using analytics is put into a \"prevent\" mode. Extended data tag attributes are used to feed the DLP solution and lastly integrate with ML and AI. | DoD organizations have identified enforcement points, deployed approved DLP tools at those enforcement points, and integrate tagged data attributes with DLP. | Data breaches and data exfiltration transmissions are detected and mitigated. |" + }, + "name": "DataCR46" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata46", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata46", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata46", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data46Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Purview Data Loss Protection (DLP) |\r\n| Purview Information Protection |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA46Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR46Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR4.7", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 4.7\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations ensure appropriate access to and use of data based on the data and user/NPE/device properties. Software Defined Storage (SDS) is utilized to scale manage permissions to DAAS. Lastly the SDS solution(s) is integrated with DRM tooling improving protections. | DoD organizations ensure appropriate access to and use of data based on the data and user/NPE/device properties. | Unauthorized entities, or any entity on an unauthorized device cannot access data; Zero Trust cybersecurity will be sufficiently strong to separate community of interest data access for data in the same classification. |" + }, + "name": "DataCR47" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata47", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata47", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata47", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Data47Status" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isDA47Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "DataCR47Group" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Defender for Cloud Apps (MDA) | \r\n| Entra ID Conditional Access (CA) | \r\n| Purview Insider Risk Management | \r\n| Purview Information Protection | \r\n| Purview Data Loss Prevention (DLP) | \r\n| Microsoft Intune |" + }, + "conditionalVisibility": { + "parameterName": "isDA47Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 7" + } + ], + "exportParameters": true + }, + "customWidth": "100", + "name": "DataCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p4" + }, + "customWidth": "50", + "name": "p4-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 4.1 Data Catalog Risk Alignment\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300)
" + }, + "name": "LT-1" + } + ] + }, + "customWidth": "33", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300)
" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
\r\n💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "9dd762f8-8594-432f-b1dc-9561e0b799c6", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 7776000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "b3974da2-c8c3-4023-a7c4-a904f2daa904", + "version": "KqlParameterItem/1.0", + "name": "Workload", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by OfficeWorkload\r\n| extend label = strcat(OfficeWorkload, \" - \", Count)\r\n| project OfficeWorkload, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "b6db911d-6ecb-4a4f-812f-db1b1063813f", + "version": "KqlParameterItem/1.0", + "name": "UserType", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by UserType\r\n| extend label = strcat(UserType, \" - \", Count)\r\n| project UserType, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "OfficeActivity\r\n| where \"*\" in ({Workload}) or OfficeWorkload in ({Workload}) \r\n| where \"*\" in ({UserType}) or UserType in ({UserType})\r\n| summarize Update = countif(Operation contains 'update'), Create = countif(Operation contains 'create'), Delete = countif(Operation contains 'delete'), Add = countif(Operation contains 'add') by bin_at(TimeGenerated, 1d, now())", + "size": 0, + "title": "Data Catalog Update, create, add, and delete activities", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "timechart" + }, + "customWidth": "50", + "name": "activities over time per week" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA41Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 4.2 Enterprise Data Governance\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Power Platform Azure Common Data Service](https://admin.appsplatform.us/)" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Power Platform Azure Common Data Service](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/3c83b6d8-636d-4c3c-99f4-006a3cbb8d65/appId/99335b6b-7d9d-4216-8dee-883b26e0ccf7)" + }, + "customWidth": "33", + "name": "text - 1" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
\r\n💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
\r\n💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
\r\n💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 2" + } + ] + }, + "customWidth": "100", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 1, + "content": { + "json": "## Data Activity By Workload" + }, + "name": "text - 4" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "9dd762f8-8594-432f-b1dc-9561e0b799c6", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 7776000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "b3974da2-c8c3-4023-a7c4-a904f2daa904", + "version": "KqlParameterItem/1.0", + "name": "Workload", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by OfficeWorkload\r\n| extend label = strcat(OfficeWorkload, \" - \", Count)\r\n| project OfficeWorkload, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "b6db911d-6ecb-4a4f-812f-db1b1063813f", + "version": "KqlParameterItem/1.0", + "name": "UserType", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "OfficeActivity\r\n| summarize Count= count() by UserType\r\n| extend label = strcat(UserType, \" - \", Count)\r\n| project UserType, label", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "*" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "OfficeActivity\r\n| where \"*\" in ({Workload}) or OfficeWorkload in ({Workload}) \r\n| where \"*\" in ({UserType}) or UserType in ({UserType})\r\n| summarize count() by OfficeWorkload, bin_at(TimeGenerated, 1h, now())", + "size": 0, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "areachart" + }, + "customWidth": "50", + "name": "office activity by workload" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA42Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 4.3 Data Labeling & Tagging \r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Security & Compliance](https://scc.protection.apps.mil/#/homepage)
" + }, + "customWidth": "33", + "name": "text - 0" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Security & Compliance](https://scc.protection.apps.us/#/homepage)
" + }, + "customWidth": "33", + "name": "text - 1" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n" + }, + "customWidth": "33", + "name": "text - 2" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let Logs = InformationProtectionLogs_CL | extend MachineName_s = columnifexists(\"MachineName_s\",\"\"), ObjectId_s = columnifexists(\"ObjectId_s\",\"\"), Activity_s = columnifexists(\"Activity_s\",\"\"), LabelId_g = columnifexists(\"LabelId_g\",\"\"), Protected_b = columnifexists(\"Protected_b\",false);\r\nlet minTime = toscalar(Logs | where isnotempty(MachineName_s) | summarize min(TimeGenerated));\r\nlet dates = range [\"date\"] from bin(minTime, {TimeRange:grain}) to now() step {TimeRange:grain};\r\nLogs\r\n| where isnotempty(MachineName_s)\r\n| summarize labels=countif(isnotempty(ObjectId_s) and Activity_s in (\"NewLabel\", \"UpgradeLabel\", \"DowngradeLabel\", \"RemoveProtection\", \"NewProtection\", \"ChangeProtection\") and isnotempty(LabelId_g)),\r\nprotected=countif(isnotempty(ObjectId_s) and Activity_s in (\"NewLabel\", \"UpgradeLabel\", \"DowngradeLabel\", \"RemoveProtection\", \"NewProtection\", \"ChangeProtection\") and Protected_b) by bin(TimeGenerated, {TimeRange:grain})\r\n| join kind= rightouter (\r\n dates\r\n)\r\non $left.TimeGenerated == $right.[\"date\"]\r\n| project [\"date\"], Labels = coalesce(labels, 0), [\"Protected Labels\"] = coalesce(protected, 0)", + "size": 0, + "title": "Label and protect activity", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "linechart" + }, + "customWidth": "50", + "name": "query - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let Logs = InformationProtectionLogs_CL | extend MachineName_s = columnifexists(\"MachineName_s\",\"\"), UserId_s = columnifexists(\"UserId_s\",\"\");\r\nlet minTime = toscalar(Logs | where isnotempty(MachineName_s) | summarize min(TimeGenerated));\r\nlet dates = range [\"date\"] from bin(minTime, {TimeRange:grain}) to now() step {TimeRange:grain};\r\nLogs\r\n| where isnotempty(MachineName_s)\r\n| summarize users=dcount(UserId_s), devices = dcount(MachineName_s) by bin(TimeGenerated, {TimeRange:grain})\r\n| join kind= rightouter\r\n(\r\n dates\r\n)\r\non $left.TimeGenerated == $right.[\"date\"]\r\n| project [\"date\"], users = coalesce(users, 0), devices = coalesce(devices, 0)\r\n\r\n", + "size": 0, + "title": "Users and devices", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "linechart" + }, + "customWidth": "50", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let Logs = InformationProtectionLogs_CL | extend LabelName_s = columnifexists(\"LabelName_s\",\"\"), LabelId_g = columnifexists(\"LabelId_g\",\"\"), ObjectId_s = columnifexists(\"ObjectId_s\",\"\"), Activity_s = columnifexists(\"Activity_s\",\"\");\r\nLogs\r\n| where isnotempty(LabelId_g)\r\n| where isnotempty(ObjectId_s)\r\n| where Activity_s in (\"NewLabel\", \"UpgradeLabel\", \"DowngradeLabel\", \"RemoveProtection\", \"NewProtection\", \"ChangeProtection\")\r\n| summarize value=count() by LabelName_s\r\n| order by value\r\n", + "size": 0, + "title": "Labels", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "50", + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let Logs = InformationProtectionLogs_CL | extend ApplicationName_s = columnifexists(\"ApplicationName_s\",\"\"), LabelId_g = columnifexists(\"LabelId_g\",\"\"), ObjectId_s = columnifexists(\"ObjectId_s\",\"\"), Activity_s = columnifexists(\"Activity_s\",\"\");\r\nLogs\r\n| where isnotempty(LabelId_g)\r\n| where isnotempty(ObjectId_s)\r\n| where Activity_s in (\"NewLabel\", \"UpgradeLabel\", \"DowngradeLabel\", \"RemoveProtection\", \"NewProtection\", \"ChangeProtection\")\r\n| summarize value=count() by ApplicationName_s\r\n| order by value\r\n", + "size": 0, + "title": "Labels by application", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "50", + "name": "query - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA43Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.3Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 4.4 Data Monitoring & Sensing \r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b)
" + }, + "customWidth": "33", + "name": "text - 0" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Monitor Control Service](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b)
" + }, + "customWidth": "33", + "name": "text - 1" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
\r\n💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
\r\n💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
\r\n💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
\r\n💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 2" + } + ] + }, + "customWidth": "100", + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 1, + "content": { + "json": "# ** Data Sources Available in Current Microsoft Sentinel **" + }, + "name": "text - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "Usage \r\n| summarize SizeinMB = round(sum(Quantity),2) by DataType \r\n| sort by SizeinMB desc", + "size": 0, + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "categoricalbar" + }, + "name": "query - 4" + }, + { + "type": 1, + "content": { + "json": "## Security Incidents: Sensitive Data" + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityIncident\r\n| extend Tactics = tostring(parse_json(tostring(AdditionalData.tactics)))\r\n| where Title contains \"data\" or Title contains \"access\" or Title contains \"sensitive\" or Tactics == \"exfiltration\"\r\n| summarize arg_max(TimeGenerated, *) by IncidentNumber\r\n| parse IncidentUrl with * 'https://portal.azure.com/#asset/Microsoft_Azure_Security_Insights/Incident' IncidentBlade\r\n| extend SeverityRank=iff(Severity == \"High\", 3, iff(Severity == \"Medium\", 2, iff(Severity == \"Low\", 1, iff(Severity == \"Informational\", 0, 0))))\r\n| sort by SeverityRank, TimeGenerated desc\r\n| project ['Incident Name']=Title, IncidentNumber, Severity, IncidentUrl, FirstActivityTime, IncidentBlade\r\n| limit 250", + "size": 0, + "showAnalytics": true, + "noDataMessage": "No Incidents Observed For This Technique Within These Thresholds", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "Incident Name", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "Alert", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "Severity", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "High", + "representation": "Sev0", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Medium", + "representation": "Sev1", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Low", + "representation": "Sev2", + "text": "{0}{1}" + }, + { + "operator": "Default", + "representation": "Sev3", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "IncidentUrl", + "formatter": 7, + "formatOptions": { + "linkTarget": "OpenBlade", + "linkLabel": "Incident >>", + "bladeOpenContext": { + "bladeName": "CaseBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "id", + "source": "column", + "value": "IncidentBlade" + } + ] + } + } + }, + { + "columnMatch": "IncidentBlade", + "formatter": 5 + } + ], + "filter": true + }, + "chartSettings": { + "seriesLabelSettings": [ + { + "seriesName": "Failed", + "color": "redBright" + }, + { + "seriesName": "Passed", + "color": "green" + } + ] + } + }, + "customWidth": "100", + "name": "query - 3" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA44Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.4Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.5 Activities", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "# 4.5 Data Encryption & Rights Management\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
" + }, + "customWidth": "33", + "name": "text - 0" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "customWidth": "33", + "name": "text - 1" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
\r\n💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
\r\n💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "Resources\r\n| where type == \"microsoft.compute/disks\"\r\n| project diskName=name, diskSizeGB=properties.diskSizeGB, diskSKU=sku.name, encryptionType=properties.encryption.type, diskState=properties.diskState\r\n| limit 250", + "size": 0, + "title": "Azure Data Disks (w/Encryption types)", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Workspace}" + ] + }, + "customWidth": "100", + "name": "query - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA45Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.5Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.6 Activities", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "# 4.6 Data Loss and Prevention (DLP)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
" + }, + "customWidth": "33", + "name": "text - 0" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + }, + "customWidth": "33", + "name": "text - 1" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
\r\n💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
\r\n💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
\r\n💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
\r\n💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityIncident\r\n| extend Tactics = tostring(parse_json(tostring(AdditionalData.tactics)))\r\n| where Description contains \"data\" or Title contains \"data\" or Description contains \"loss\" or Title contains \"loss\" or Description contains \"exfil\" or Title contains \"exfil\" or Tactics contains \"exfil\"\r\n| summarize arg_max(TimeGenerated, *) by IncidentNumber\r\n| parse IncidentUrl with * '/#asset/Microsoft_Azure_Security_Insights/Incident' IncidentBlade\r\n| extend SeverityRank=iff(Severity == \"High\", 3, iff(Severity == \"Medium\", 2, iff(Severity == \"Low\", 1, iff(Severity == \"Informational\", 0, 0))))\r\n| sort by SeverityRank, TimeGenerated desc\r\n| project ['Incident Name']=Title, IncidentNumber, Severity, IncidentUrl, FirstActivityTime, IncidentBlade\r\n| limit 250", + "size": 0, + "showAnalytics": true, + "title": "Data Loss & Preventtion Security Incidents", + "noDataMessage": "No Incidents Observed For This Technique Within These Thresholds", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "Incident Name", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "Alert", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "Severity", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "High", + "representation": "Sev0", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Medium", + "representation": "Sev1", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Low", + "representation": "Sev2", + "text": "{0}{1}" + }, + { + "operator": "Default", + "representation": "Sev3", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "IncidentUrl", + "formatter": 7, + "formatOptions": { + "linkTarget": "OpenBlade", + "linkLabel": "Incident >>", + "bladeOpenContext": { + "bladeName": "CaseBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "id", + "source": "column", + "value": "IncidentBlade" + } + ] + } + } + }, + { + "columnMatch": "IncidentBlade", + "formatter": 5 + } + ], + "filter": true + } + }, + "customWidth": "100", + "name": "query - 3" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA46Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.6Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "4.7 Activities", + "expandable": true, + "items": [ + { + "type": 1, + "content": { + "json": "# 4.7 Data Access & Control\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Azure AD Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)
\r\n" + }, + "customWidth": "33", + "name": "text - 0" + }, + { + "type": 1, + "content": { + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Azure AD Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)
" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
\r\n💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
\r\n💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
\r\n💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
\r\n💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies)
\r\n\r\n" + }, + "customWidth": "33", + "name": "text - 4" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 3" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "d1983eba-6224-4c08-b792-4910eff535ad", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "description": "Select the time range that will be used for the query's", + "value": { + "durationMs": 604800000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0 and AppDisplayName != \"\"\r\n| summarize count() by AppDisplayName\r\n| join (\r\nSigninLogs\r\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, 4h) by AppDisplayName \r\n) on AppDisplayName\r\n| top 10 by count_ desc", + "size": 4, + "title": "Successful Loggins By Application", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "AppDisplayName", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + "showBorder": false + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AppDisplayName", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "name": "query - 14" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| extend ResultText = case(isnotempty(ResultDescription), ResultDescription, ResultType == 0 and isempty(ResultDescription), \"successful login\", \"unknown\") // Create readable result text to include succesfull logins\n| summarize dcount(CorrelationId) by ResultText // Signin results by unique CorrelationId\n| render piechart", + "size": 0, + "title": "Login events by result", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "ResultText", + "exportParameterName": "Selected_ResultText", + "exportDefaultValue": "", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "chartSettings": { + "group": "ResultText", + "createOtherGroup": null, + "seriesLabelSettings": [ + { + "seriesName": "successful login", + "color": "green" + } + ], + "ySettings": { + "unit": 17, + "min": null, + "max": null + } + } + }, + "customWidth": "33", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| extend ResultText = case(isnotempty(ResultDescription), ResultDescription, ResultType == 0 and isempty(ResultDescription), \"successful login\", \"unknown\")\n| summarize dcount(CorrelationId) by ResultText, bin(TimeGenerated,4h) // summarize the total Signin events per Description per hour (by unique CorrelationId's)", + "size": 0, + "title": "Count of login types per 4 hours", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "barchart", + "tileSettings": { + "showBorder": false, + "titleContent": { + "columnMatch": "ResultText", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "dcount_CorrelationId", + "formatter": 12, + "formatOptions": { + "palette": "auto" + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| where isnotempty(LocationDetails['countryOrRegion']) and ResultType == 0// Where location details are available and login is successful\n| extend city = tostring(LocationDetails['city'])\n| summarize count() by city, Location // Summarize by city name\n| join (\nSigninLogs\n| extend city = tostring(LocationDetails['city'])\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by city \n) on city\n| project Location, city, [\"Total events\"] = count_, TrendLine = TrendList\n| top 10 by [\"Total events\"] desc", + "size": 0, + "title": "successful login locations", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Total events", + "formatter": 4, + "formatOptions": { + "palette": "blue", + "showIcon": true + } + }, + { + "columnMatch": "TrendLine", + "formatter": 9, + "formatOptions": { + "palette": "greenRed", + "showIcon": true + } + }, + { + "columnMatch": "Events", + "formatter": 4, + "formatOptions": { + "palette": "blue", + "showIcon": true + } + }, + { + "columnMatch": "count_", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "hierarchySettings": { + "idColumn": "city", + "parentColumn": "Location", + "treeType": 0, + "expanderColumn": "city", + "expandTopLevel": false + } + }, + "sortBy": [], + "tileSettings": { + "titleContent": { + "columnMatch": "city", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "secondaryContent": { + "columnMatch": "Events", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + "showBorder": false + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "LocationDetails", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "formatOptions": { + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "nodeIdField": "count_", + "sourceIdField": "Location", + "targetIdField": "city", + "nodeSize": null, + "staticNodeSize": 100, + "colorSettings": null, + "hivesMargin": 5 + }, + "mapSettings": { + "locInfo": "LatLong", + "locInfoColumn": "GeoSelection", + "latitude": "latitude", + "longitude": "longitude", + "sizeSettings": "count_", + "sizeAggregation": "Sum", + "defaultSize": 0, + "labelSettings": "locationInfo", + "legendMetric": "count_", + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "count_", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "redGreen" + } + } + }, + "customWidth": "33", + "name": "query - 7" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isDA47Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "4.7Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p4" + }, + "name": "P4Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Network & Environment 5.x)\\\": \\\"5.1 Data Flow Mapping\\\", \\\"tab\\\": \\\"NE51\\\" },\\r\\n\\t\\t{ \\\"Select All (Network & Environment 5.x)\\\": \\\"5.2 Software Defined Networking (SDN)\\\", \\\"tab\\\": \\\"NE52\\\" },\\r\\n\\t\\t{ \\\"Select All (Network & Environment 5.x)\\\": \\\"5.3 Macro Segmentation\\\", \\\"tab\\\": \\\"NE53\\\" },\\r\\n\\t\\t{ \\\"Select All (Network & Environment 5.x)\\\": \\\"5.4 Micro Segmentation\\\", \\\"tab\\\": \\\"NE54\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Network & Environment 5.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "NetworkZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isNE51Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "NE51", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isNE52Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "NE52", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "f727f39d-ec12-43f9-a6ed-e44515f19b66", + "version": "KqlParameterItem/1.0", + "name": "isNE53Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "NE53", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a354cdb5-4a2c-4d66-8cd9-30b0f23d8cef", + "version": "KqlParameterItem/1.0", + "name": "isNE54Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "NE54", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "NetworkZTParameters" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p5" + }, + "customWidth": "50", + "name": "p5-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR5.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 5.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations reconcile data flows by gathering, mapping, and visualizing network traffic data flows and patterns to ensure authorized access and protection for network and DAAS resources specifically tagging programmatic (e.g., API) access when possible. | DoD organizations reconcile data flows by gathering, mapping, and visualizing network traffic data flows and patterns to ensure authorized access and protection for network and DAAS resources. | Sets the foundation for network segmentation and tighter access control by understanding data traffic on the network. |" + }, + "name": "NeworkCR51" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet51", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet51", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "version": "KqlParameterItem/1.0", + "name": "Notesnet51", + "label": "Notes", + "type": 1, + "timeContext": { + "durationMs": 86400000 + }, + "value": "Enter Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Network51Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Monitor Net Insights | \r\n| Network Watcher | \r\n| Microsoft Defender for Endpoint (MDE) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isNE51Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "NetworkCR51Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR5.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 5.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| DoD organizations define API decision points and implement SDN programmable infrastructure to separate the control and data planes and centrally manage and control the elements in the data plane. Integrations are conducted with decision points and segmentation gateway to accomplish the plane separation. Analytics are then integrated to real time decision making for access to resources. | DoD organizations define API decision points and implement SDN programmable infrastructure to separate the control and data planes and centrally manage and control the elements in the data plane. | Enables the control of packets to a centralized server, provides additional visibility into the network, and enables integration requirements. |" + }, + "name": "NetworkCR52" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet52", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet52", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet52", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Network52Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Secure Access Service Edge (SASE)| \r\n| Microsoft Network Secuirty Groups (NSG) | \r\n| Entra ID App Proxy |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isNE52Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "NetworkCR52Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR5.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 5.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations establish network boundaries and provide security against networked assets located within an environment by validating the device, user, or NPE on each attempt of accessing a remote resource prior to connection. | DoD organizations establish network perimeters and provide security against devices located within an environment by validating the device, user, or NPE on each attempt of accessing a remote resource prior to connection. | Network segmentation is defined by a large perimeter to enable resource segmentation by function and user type. |" + }, + "name": "NetworkCR53" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet53", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet53", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet53", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Network53Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Subscription | \r\n| Azure VNet(s) | \r\n| Azure VNet Manager | \r\n| Network Security Groups (NSG) | \r\n| Azure Firewall | " + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isNE53Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "NetworkCR53Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR5.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 5.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations define and document network segmentation based on identity and/or application access in their virtualized and/or cloud environments. Automation is used to apply policy changes through programmatic (e.g., API) approaches. Lastly where possible organizations will utilize host-level process micro segmentation. | DoD organizations define and document network segmentation based on identity and/or application access in their virtualized cloud environments. | Network segmentation enabled by narrower and specific segmentation in a virtualized environment via identity and / or application access, allowing for improved protection of data in transit as it crosses system boundaries (e.g., in a coalition environment, system high boundaries) and supported dynamic, real-time access decisions and policy changes. |" + }, + "name": "NetworkCR54" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet54", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet54", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet54", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "Network54Status" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isNE54Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "NetworkCR54Group" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Security Groups (ASG) | \r\n| Entra ID App Proxy | \r\n| Microsoft Tunnel |" + }, + "conditionalVisibility": { + "parameterName": "isNE54Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 4" + } + ], + "exportParameters": true + }, + "name": "NetworkCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p5" + }, + "customWidth": "50", + "name": "p5-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "5.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 5.1 Data Flow Mapping\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
\r\n💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
\r\n💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
\r\n💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
\r\n💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
\r\n💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
\r\n💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type =~ \"microsoft.security/assessments\" and properties.status.code =~ \"Unhealthy\"\r\n| extend firstEvaluationDate = todatetime(properties.status.firstEvaluationDate), statusChangeDate = todatetime(properties.status.statusChangeDate), severityFilter = tostring(\"high, medium, low\"), severity = tostring(properties.metadata.severity), environmentFilter = tostring(\"azure, aws, gcp\")\r\n| project subscriptionId, resourceGroup,\r\n resourceId = properties.resourceDetails.Id,\r\n source = tostring(properties.resourceDetails.Source),\r\n displayName = properties.displayName, \r\n statusCode = properties.status.code,\r\n severity, severityFilter, environmentFilter,\r\n statusChangeDate, firstEvaluationDate,\r\n overduePeriod = datetime_diff(\"day\", now(), statusChangeDate)\r\n| where severityFilter has severity and environmentFilter has source\r\n| where displayName contains 'network'", + "size": 0, + "showAnalytics": true, + "title": "Defender for Cloud Network Traffic Recommendations", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "value::all" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "subscriptionId", + "formatter": 15, + "formatOptions": { + "linkTarget": null, + "showIcon": true + } + }, + { + "columnMatch": "severity", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "High", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Medium", + "representation": "orange" + }, + { + "operator": "==", + "thresholdValue": "Low", + "representation": "yellow", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "gray", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "severityFilter", + "formatter": 5 + }, + { + "columnMatch": "environmentFilter", + "formatter": 5 + }, + { + "columnMatch": "firstEvaluationDate", + "formatter": 5 + } + ] + } + }, + "showPin": true, + "name": "Defender for Cloud Network Recommendations" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "resources\r\n| where type contains \"gate\" or type contains \"bastion\" or type contains \"route\" or type contains \"privateend\"\r\n| project id,type,location,resourceGroup\r\n| order by location asc", + "size": 0, + "showAnalytics": true, + "title": "VPN Assets", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "showExportToExcel": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "customWidth": "50", + "conditionalVisibility": { + "parameterName": "isEnterpriseVisible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "query - 1" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isNE51Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "5.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "5.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 5.2 Software Defined Networking (SDN)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n\r\n\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
\r\n💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
\r\n💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
\r\n💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
\r\n💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
\r\n💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
\r\n💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "resources\r\n| where type contains \"logic\"\r\n| where id contains \"block\" or id contains \"isolate\" or id contains \"lock\" or id contains \"revoke\" or id contains \"quarantine\"\r\n| project id,type,location,resourceGroup\r\n| order by location asc", + "size": 0, + "showAnalytics": true, + "title": "Software Defined Network Containment Automations Configured", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "showExportToExcel": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AzureNetworkAnalytics_CL | where SubType_s == \"FlowLog\" | summarize TotalFlows = count() by TimeGenerated, VM_s\r\n| extend VM = strcat(split(VM_s, '/')[1], ' (', split(VM_s, '/')[0], ')')\r\n| project TimeGenerated, VM, TotalFlows", + "size": 0, + "title": "Flows on Network Interfaces and Virtual Machines", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "rowLimit": 25, + "filter": true + } + }, + "customWidth": "50", + "name": "query - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AzureNetworkAnalytics_CL | where SubType_s == \"FlowLog\" | summarize count() by FlowType_s", + "size": 0, + "title": "Traffic flow types", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "30", + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AzureNetworkAnalytics_CL | where SubType_s == \"FlowLog\" | summarize TotalFlows = count() by TimeGenerated, VM_s\r\n| extend VM = strcat(split(VM_s, '/')[1], ' (', split(VM_s, '/')[0], ')')\r\n| project TimeGenerated, VM, TotalFlows", + "size": 0, + "title": "Traffic Flows Over Time", + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "70", + "name": "query - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isNE52Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "5.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "5.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 5.3 Macro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.us/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Segementation Security Strategies](https://learn.microsoft.us/en-us/azure/well-architected/security/design-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n\r\n💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
\r\n💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "resources\r\n| where type contains \"networksecuritygroups\" or type contains \"virtualnetworks\" or type contains \"tables\"\r\n| project id,type,location,resourceGroup\r\n| order by location asc\r\n", + "size": 0, + "showAnalytics": true, + "title": "Network Segmentation Assets", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "showExportToExcel": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "customWidth": "100", + "conditionalVisibility": { + "parameterName": "isNetworkingVisible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "query - 3", + "styleSettings": { + "maxWidth": "50" + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "isNE53Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "5.3Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "5.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 5.4 Micro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.com/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "resources\r\n| where type contains \"applicationgateway\" or type contains \"securitygroup\"\r\n| project id,type,location,resourceGroup\r\n| order by location asc\r\n", + "size": 0, + "showAnalytics": true, + "title": "Microsegementation Assets", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "showExportToExcel": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "filter": true + } + }, + "customWidth": "50", + "conditionalVisibility": { + "parameterName": "isNetworkingVisible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "query - 3", + "styleSettings": { + "maxWidth": "50" + } + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "bullets", + "links": [] + }, + "name": "links - 3" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isNE54Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "5.4Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p5" + }, + "name": "P5Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.1 Policy Decision Point (PD) & Policy Orchestration\\\", \\\"tab\\\": \\\"AO61\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.2 Critical Process Automation \\\", \\\"tab\\\": \\\"AO62\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.3 Machine Learning\\\", \\\"tab\\\": \\\"AO63\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.4 Artifical Learning\\\", \\\"tab\\\": \\\"AO64\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.5 Security Orchestration, Automation & Response (SOAR)\\\", \\\"tab\\\": \\\"AO65\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.6 API Standardization\\\", \\\"tab\\\": \\\"AO66\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.7 Security Operations Center (SOC) & Incident Response (IR)\\\", \\\"tab\\\": \\\"AO67\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Automation & Orchestration 6.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "AutomationOrchZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isAO61Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO61", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isAO62Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO62", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "f727f39d-ec12-43f9-a6ed-e44515f19b66", + "version": "KqlParameterItem/1.0", + "name": "isAO63Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO63", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a354cdb5-4a2c-4d66-8cd9-30b0f23d8cef", + "version": "KqlParameterItem/1.0", + "name": "isAO64Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO64", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "isAO65Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO65", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "3870cb3e-20be-4bdb-82be-24ec1523da05" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isAO66Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO66", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "d31d900a-f10c-4e34-b768-6e6370aceb3a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isAO67Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO67", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "2a0825c4-878b-43c2-b858-6d09a82b4d12" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "AutoOrchZTParameters" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p6" + }, + "customWidth": "50", + "name": "p6-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations initially collect and document all rule-based policies to orchestrate across the security stack for effective automation; DAAS access procedures and policies will be defined, implemented, and updated. Organizations mature this capability by establishing PDPs and PEPs (including the Next Generation Firewall) to make DAAS resource determinations and enable,monitor, and terminate connections between a user/device and DAAS resources according to predefined policy. | DoD organizations initially collect and document all rule-based policies to orchestrate across the security stack for effective automation; DAAS access procedures and policies will be defined, implemented, and updated. Organizations mature this capability by establishing PDPs and PEPs(including the Next Generation Firewall) to make DAAS resource determinations and enable, monitor,and terminate connections between a user/device and DAAS resources according to predefined policy. | PDPs and PEPs ensure proper implementation of DAAS access policies to users or endpoints that are properly connected (or denied access) to requested resources. |" + }, + "name": "AutoOrchCR61" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao61", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao61", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao61", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch61Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Conditional Access (CA) | \r\n| Azure Policy |\r\n| Azure Automation |\r\n| Azure ML |\r\n| Azure Firewall |\r\n| Microsoft Sentinel |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO61Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR61Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| DoD organizations employ automation methods, such as RPA, to address repetitive, predictable tasks for critical functions such as data enrichment, security controls, and incident response workflows according to system security engineering principles. | DoD organizations employ automation methods, such as RPA, to address repetitive, predictable tasks for critical functions such as data enrichment, security controls, and incident response workflows according to system security engineering principles. | Response time and capability is increased with orchestrated workflows and risk management processes. |" + }, + "name": "AutoOrchCR62" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao62", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao62", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao62", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch62Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Power Automate | \r\n| Azure Logic Apps |\r\n| Microsoft Sentinel Playbooks |\r\n| Microsoft 365 Defender Automated Investigation & Response | " + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO62Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR62Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations employ ML to execute (and enhance execution of) critical functions such as incident response, anomaly detection, user baselining, and data tagging. | DoD organizations employ ML to execute (and enhance execution of) critical functions such as incident response, anomaly detection, user baselining, and data tagging. | Response time and capability is increased with orchestrated workflows and risk management processes. |" + }, + "name": "AutoOrchCR63" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao63", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao63", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao63", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch63Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel Fusion ML | \r\n| Microsoft Sentinel Bring Your Own Machine Learning (BYOML) | \r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Azure ML |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO63Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR63Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations employ AI to execute (and enhance execution of) critical functions - particularly risk and access determinations and environmental analysis. | DoD organizations employ AI to execute (and enhance execution of) critical functions - particularly risk and access determinations and environmental analysis. | Response time and capability is increased with orchestrated workflows and risk management processes. |" + }, + "name": "AutoOrchCR64" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao64", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao64", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao64", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch64Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel Fusion ML | \r\n| Microsoft Sentinel Tailored AI | \r\n| Azure ML |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO64Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR64Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.5\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations achieve initial operational capability of security technologies to orchestrate and automate policies (e.g., PEPs and PDPs) and rulesets to improve security operations, threat and vulnerability management, and security incident response by ingesting alert data, triggering playbooks for automated response and remediation. | DoD organizations achieve IOC of security technologies to orchestrate and automate policies (e.g., PEPs and PDPs) and rulesets to improve security operations, threat and vulnerability management, and security incident response by ingesting alert data, triggering playbooks for automated response and remediation. | Pre-defined playbooks from collection to incident response and triage enables initial process automation that accelerates a security team's decision and response speed. |" + }, + "name": "AutoOrchCR65" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao65", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao65", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao65", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch65Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft 365 Defender Automated investigation and response |\r\n| Microsoft Sentinel Playbooks |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Azure Logic Apps |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO65Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR65Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.6", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.6\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD establishes and enforces enterprise-wide programmatic interface (e.g., API ) standards; all non-compliant APIs are identified and replaced. | DoD establishes and enforces enterprise-wide API standards; all non-compliant APIs are identified and replaced. | Standardizing APIs across the department improves application interfaces, enabling orchestration, and enhancing interoperability. |" + }, + "name": "AutoOrchCR66" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao66", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao66", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao66", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch66Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure API Management | \r\n| Azure Monitor Log Analytics |\r\n| Azure Logic Apps | \r\n| Azure Policy |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO66Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR66Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR6.7", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 6.7\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| In the event a computer network defense service provider (CNDSP) does not exist, DoD organizations define and stand up security operations centers (SOC) to deploy, operate, and maintain security monitoring, protections and response for DAAS; SOCs provide security management visibility for status (upward visibility) and tactical implementation (downward visibility). Workflows within the SOC are automated using automation tooling and enrichment occurs between service providers and technologies. | In the event a CNDSP does not exist, DoD organizations define and stand up SOCs to deploy, operate, and maintain security monitoring, protections and response for DAAS; SOCs provide security management visibility for status (upward visibility) and tactical implementation (downward visibility). | Standardized, coordinated, and accelerated incident response and investigative efforts. |" + }, + "name": "AutoOrchCR67" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao67", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao67", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao67", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AutoOrch67Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel |\r\n| Microsoft 365 Defender |" + }, + "conditionalVisibility": { + "parameterName": "isAO67Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isAO67Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "AutoOrchCR67Group" + } + ], + "exportParameters": true + }, + "name": "AutoOrchCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p6" + }, + "customWidth": "50", + "name": "p6-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.1 Policy Decision Point (PD) & Policy Orchestration\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "


\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
\r\n💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
\r\n💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
\r\n💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
\r\n💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
\r\n💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
\r\n💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
\r\n💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| where RiskLevelDuringSignIn <> \"none\"\r\n| summarize count() by RiskLevelDuringSignIn\r\n| render piechart \r\n", + "size": 2, + "showAnalytics": true, + "title": "ConditionalAccessPolicies SignIn Risk", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "piechart" + }, + "customWidth": "30", + "showPin": true, + "name": "ConditionalAccessPolicies SignIn Risk" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| where CAResult <> \"success\"\r\n| summarize count() by AppDisplayName, CAResult\r\n", + "size": 0, + "showAnalytics": true, + "title": "Non-Success ConditionalAccess by App ", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "AppDisplayName", + "formatter": 5, + "formatOptions": { + "customColumnWidthSetting": "10%" + } + } + ], + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "AppDisplayName" + ] + }, + "labelSettings": [ + { + "columnId": "CAResult", + "label": "Result" + }, + { + "columnId": "count_", + "label": "Count" + } + ] + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AccountObjectId", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "InvestigationPriority", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "50", + "showPin": true, + "name": "Non-Success ConditionalAccess by App " + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| mv-expand ConditionalAccessPolicies\r\n| extend CAResult = tostring(ConditionalAccessPolicies.result)\r\n| project CAResult\r\n| summarize count() by CAResult", + "size": 2, + "showAnalytics": true, + "title": "Conditional Access 'SignIn' Summaries", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "CAResult", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "none" + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "showBorder": false, + "sortOrderField": 1, + "size": "full" + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "CAResult", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "40", + "showPin": true, + "name": "Conditional Access 'SignIn' Summaries" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO61Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.2 Critical Process Automation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
\r\n🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
\r\n🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [M365 Defender](https://security.microsoft.us)
\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
\r\n💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let FailedAssets=SecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"authentication\" or Description contains \"password\"\r\n| where AnalyzeResult == \"Failed\"\r\n| summarize FailedAssets = makelist(Computer) by Description;\r\nlet PassedAssets=SecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"authentication\" or Description contains \"password\"\r\n| where AnalyzeResult == \"Passed\"\r\n| summarize PassedAssets = makelist(Computer) by Description;\r\nSecurityBaseline\r\n| summarize arg_max(TimeGenerated, *) by _ResourceId, Description\r\n| where Description contains \"authentication\" or Description contains \"password\"\r\n| summarize\r\n Failed = countif(AnalyzeResult == \"Failed\"),\r\n Passed = countif(AnalyzeResult == \"Passed\"),\r\n Total = countif(AnalyzeResult == \"Failed\" or AnalyzeResult == \"Passed\")\r\n by Description\r\n| extend PassedControls = (Passed / todouble(Total)) * 100\r\n| join kind=fullouter(FailedAssets) on Description\r\n| join kind=fullouter(PassedAssets) on Description\r\n| project Description, Total, PassedControls, Passed, Failed, PassedAssets, FailedAssets\r\n| sort by Total, Passed desc\r\n| limit 250", + "size": 0, + "showAnalytics": true, + "title": "Review Automated Security Baselines", + "noDataMessage": "An Empty Panel Provides Opportunity To Explore Further and Implement Hardening. Controls: Confirm Licensing, Availability, and Health of Respective Offerings. Logging: Confirm Log Source is Onboarded to the Log Analytics Workspace. Time: Adjust the Time Parameter for a Larger Data-Set. ", + "timeContextFromParameter": "TimeRange", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Workspace}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "RecommendationDisplayName", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "Gear", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "Total", + "formatter": 22, + "formatOptions": { + "compositeBarSettings": { + "labelText": "", + "columnSettings": [ + { + "columnName": "Passed", + "color": "green" + }, + { + "columnName": "Failed", + "color": "redBright" + } + ] + } + } + }, + { + "columnMatch": "PassedControls", + "formatter": 0, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + } + }, + { + "columnMatch": "ControlNumber", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "Default", + "representation": "AllServices", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "RecommendationState", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "icons", + "thresholdsGrid": [ + { + "operator": "!=", + "thresholdValue": "Healthy", + "representation": "3", + "text": "{0}{1}" + }, + { + "operator": "Default", + "representation": "success", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "count_", + "formatter": 4, + "formatOptions": { + "palette": "blue" + } + } + ], + "filter": true + } + }, + "name": "query - 3" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO62Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.3 Machine Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Power Automate](https://make.gov.powerautomate.us/)
\r\n🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n\r\n\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Power Automate](https://make.gov.powerautomate.us/)
\r\n🔀 [Power Platform Admin Center](https://gcc.admin.powerplatform.microsoft.us/environments)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
\r\n💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
\r\n💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
\r\n💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
\r\n💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
\r\n💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
\r\n💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "08f97f34-6264-4fa3-90b5-16b89422d285", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 2592000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + }, + { + "id": "cd98a9c7-5dbd-4f92-a967-7ed1c781132a", + "version": "KqlParameterItem/1.0", + "name": "AlertSeverity", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "SecurityAlert\r\n| summarize Count = count() by AlertSeverity\r\n| order by Count desc, AlertSeverity asc\r\n| project Value = AlertSeverity, Label = strcat(AlertSeverity, ' - ', Count)", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ] + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "df0fbc31-ade1-4488-9109-a4f647ad8fe2", + "version": "KqlParameterItem/1.0", + "name": "ProductName", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "SecurityAlert\r\n| summarize Count = count() by ProductName\r\n| order by Count desc, ProductName asc\r\n| project Value = ProductName, Label = strcat(ProductName, ' - ', Count)", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ] + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = SecurityAlert\n| where \"{AlertSeverity:lable}\" == \"All\" or AlertSeverity in ({AlertSeverity})\n| where \"{ProductName:lable}\" == \"All\" or ProductName in ({ProductName});\ndata\n| summarize Count = count() by AlertSeverity\n| join kind = inner (data\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by AlertSeverity)\n on AlertSeverity\n | project-away TimeGenerated\n| extend AlertSeveritys = AlertSeverity\n| union (\n data \n | summarize Count = count() \n | extend jkey = 1\n | join kind=inner (data\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain}\n | extend jkey = 1) on jkey\n | extend AlertSeverity = 'All', AlertSeveritys = '*' \n)\n| extend Severity = iif(AlertSeverity == \"All\", 0,iif(AlertSeverity == \"High\", 1, iif(AlertSeverity == \"Medium\", 2, iif(AlertSeverity == \"Low\", 3, 4))))\n| order by Severity asc\n", + "size": 3, + "title": "Machine Learning Security Alerts by Severity", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "AlertSeverity", + "exportParameterName": "AlertSeverityPicker", + "exportDefaultValue": "All", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "AlertSeverity", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + "showBorder": false, + "sortOrderField": 1 + } + }, + "name": "SecurityAlertsbySeverity" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO63Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.3Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.4 Artifical Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
\r\n💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
\r\n💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 1, + "content": { + "json": "### Artificial Inelligence Detected Anomalies " + }, + "name": "text - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "Anomalies\r\n| extend AnomalyType = AnomalyTemplateName\r\n| summarize count() by AnomalyType\r\n| sort by count_ desc", + "size": 0, + "timeContext": { + "durationMs": 2592000000 + }, + "exportFieldName": "AnomalyType", + "exportParameterName": "AnomalyType", + "exportDefaultValue": "*", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "filter": true + } + }, + "customWidth": "50", + "name": "query - 0" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO64Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.4Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.5 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.5 Security Orchestration, Automation & Response (SOAR)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
\r\n💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
\r\n💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
\r\n💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0\r\n| summarize Count=count() by AppDisplayName\r\n| render piechart ", + "size": 0, + "title": "Security Orchestration Integrated Platforms Example ", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO65Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.5Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.6 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.6 API Standardization\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
\r\n💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
\r\n💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
\r\n💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
\r\n💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
\r\n💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO66Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.6Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "6.7 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 6.7 Security Operations Center (SOC) & Incident Response (IR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
\r\n💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
\r\n💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
\r\n💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
\r\n💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations " + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "a30180d1-89c7-4205-87c4-e882224065d8", + "version": "KqlParameterItem/1.0", + "name": "SelectType", + "label": "Show Type", + "type": 10, + "isRequired": true, + "query": "_GetWatchlist('SOCMA')\r\n| project a = pack_array(Type, \"1 : Show All\")\r\n| summarize a = make_set(a)\r\n| mv-expand a\r\n| order by tostring(a) asc", + "value": "Vulnerability Management", + "typeSettings": { + "showDefault": false + }, + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "_GetWatchlist('SOCMA')\r\n| where Type = iif('{SelectType}' ==\"1 : Show All\",true,Type in ('{SelectType}') )\r\n| project Number, Title, Type, Question, SOCMAScore, SOCMAWeight, SOCMA, Answer, Examples, Notes, _DTItemId", + "size": 1, + "exportedParameters": [ + { + "fieldName": "_DTItemId", + "parameterName": "_DTItemId", + "parameterType": 1 + }, + { + "fieldName": "Number", + "parameterName": "Number", + "parameterType": 1 + }, + { + "fieldName": "Type", + "parameterName": "Type", + "parameterType": 1 + }, + { + "fieldName": "Title", + "parameterName": "Title", + "parameterType": 1 + }, + { + "fieldName": "Question", + "parameterName": "Question", + "parameterType": 1 + }, + { + "fieldName": "Answer", + "parameterName": "Answer", + "parameterType": 1 + }, + { + "fieldName": "SOCMA", + "parameterName": "SOCMA", + "parameterType": 1 + }, + { + "fieldName": "SOCMAScore", + "parameterName": "SOCMAScore", + "parameterType": 1 + }, + { + "fieldName": "SOCMAWeight", + "parameterName": "SOCMAWeight", + "parameterType": 1 + }, + { + "fieldName": "Examples", + "parameterName": "Examples", + "parameterType": 1 + }, + { + "fieldName": "Notes", + "parameterName": "Notes", + "parameterType": 1 + } + ], + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "rowLimit": 800, + "filter": true + } + }, + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isAO67Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "6.7Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p6" + }, + "name": "P6Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.1 Log All Traffic (Network, Data, Apps, Users)\\\", \\\"tab\\\": \\\"VA71\\\" },\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.2 Security Information and Event Management (SIEM) \\\", \\\"tab\\\": \\\"VA72\\\" },\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.3 Common Security and Risk Analytics\\\", \\\"tab\\\": \\\"VA73\\\" },\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.4 User and Entity Behavior Analytics\\\", \\\"tab\\\": \\\"VA74\\\" },\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.5 Threat Intelligence Integration\\\", \\\"tab\\\": \\\"VA75\\\" },\\r\\n\\t\\t{ \\\"Select All (Visibility & Analytics 7.x)\\\": \\\"7.6 Automated Dynamic Policies\\\", \\\"tab\\\": \\\"VA76\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Visibility & Analytics 7.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + }, + "sortBy": [] + }, + "customWidth": "90", + "name": "VisandAnalyticsZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isVA71Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA71", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isVA72Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA72", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "f727f39d-ec12-43f9-a6ed-e44515f19b66", + "version": "KqlParameterItem/1.0", + "name": "isVA73Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA73", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a354cdb5-4a2c-4d66-8cd9-30b0f23d8cef", + "version": "KqlParameterItem/1.0", + "name": "isVA74Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA74", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "3870cb3e-20be-4bdb-82be-24ec1523da05", + "version": "KqlParameterItem/1.0", + "name": "isVA75Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA75", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "d31d900a-f10c-4e34-b768-6e6370aceb3a", + "version": "KqlParameterItem/1.0", + "name": "isVA76Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "VA76", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "AutoOrchZTParameters" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p7" + }, + "customWidth": "50", + "name": "p7-1" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.1", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.1\r\n| Descriptions | Outcomes | ZT Impact | \r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations collect and process all logs including network, data, application, device, and user logs and make those logs available to the appropriate Computer Network Defense Service Provider (CNDSP) or security operations center (SOC). Logs and events follow a standardized format and rules/analytics are developed as needed. | DoD organizations collect and process all logs including network, data, application, device, and user logs and make those logs available to the appropriate Computer Network Defense Service Provider (CNDSP) or SOC. | Foundational to the development of automated hunt and incident response playbooks. |" + }, + "name": "VisAnalyticsCR71" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva71", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "578b8620-30b9-4b92-abc6-997998bc8156", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva71", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva71", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "7bd0d384-d3c3-4c77-9dae-d75e823edfcf", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics71Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Monitor Log Analytics |\r\n| Microsoft Sentinel |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA71Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR71Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.2", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.2\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|\r\n| Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) monitor, detect, and analyze data logged into a security information and event management (SIEM) tool. User and device baselines are created using security controls and integrated with the SIEM. Alerting within the SIEM is matured over the phases to support more advanced data points (e.g., Cyber Threat Intel, Baselines, etc.) | CNDSPs/SOCs monitor, detect, and analyze data logged into a security information and event management (SIEM) tool. | Processing and exploiting data in the SIEM enables effective security analysis of anomalous user behavior, alerting, and automation of relevant incident response to common threat events. |" + }, + "name": "VisAnalyticsCR72" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f28c401d-2da4-4960-8232-f659d30252d2", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva72", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "a4b5ef42-9775-433e-ac25-55cc0eabd5c0", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva72", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva72", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "f06061bf-e951-4cc0-b335-c8eea6f55495", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics72Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft 365 Defender |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA72Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR72Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.3", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.3\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) employ data tools across their enterprises for multiple data types to unify data collection and examine events, activities, and behaviors. | CNDSPs/SOCs employ big data tools across their enterprises for multiple data types to unify data collection and examine events, activities, and behaviors. | Analysis integrated across multiple data types to examine event, activities, and behaviors. |" + }, + "name": "VisAnalyticsCR73" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "6d883c79-17bf-432a-8d50-cf2280380232", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva73", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "196b9437-34c4-4c58-9b54-81650c8e9cfa", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva73", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva73", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "15d3be75-9b31-44c4-8108-42122f1c1883", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics73Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel |\r\n| Microsoft Defender for Cloud (MDfC) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA73Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR73Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.4", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.4\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD organizations initially employ analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors and detect anomalies. Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) mature this capability through the employment of advanced analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors, and detect anomalies. | DoD organizations initially employ analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors and detect anomalies. CNDSPs/SOCs mature this capability through the employment of advanced analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors, and detect anomalies. | Advanced analytics support detection of anomalous users, devices, and NPE actions and advanced threats. |" + }, + "name": "VisAnalyticsCR74" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva74", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva74", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva74", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics74Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel UEBA |\r\n| Microsoft Defender for Cloud Apps (MDA) |\r\n| Microsoft Defender for Identity (MDI) |\r\n| Entra ID Conditional Access (CA) |\r\n| Purview Insider Risk Management |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA74Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR74Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.5", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.5\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) integrate threat intelligence information and streams about identities, motivations, characteristics, and tactics, techniques and procedures (TTPs) with data collected in the SIEM. | CNDSPs/SOCs integrate threat intelligence information and streams about identities, motivations, characteristics, and tactics, techniques and procedures (TTPs) with data collected in the SIEM. | Integrating threat intelligence into other SIEM data enhances monitoring efforts and incident response. |" + }, + "name": "VisAnalyticsCR75" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva75", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva75", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva75", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics75Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel Threat Intelligence (TI) | \r\n| Microsoft Graph Security Indicators | \r\n| Microsoft Defender Threat Intelligence (MDTI) |" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA75Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR75Group" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "CR7.6", + "expandable": true, + "expanded": true, + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Capability Requirements 7.6\r\n| Descriptions | Outcomes | ZT Impact |\r\n|-|:--|:--|:--|:--|:-:|\r\n| DoD Organization ML & AI solutions dynamically and automatically update security profiles and device configuration through continuous security posture monitoring, risk and confidence scoring, and automated patch management. | CNDSPs/SOCs dynamically and automatically update security profiles and device configuration through continuous security posture monitoring, risk and confidence scoring, and automated patch management. | Users and NPEs are denied access based on automated, real-time security profiles based on external conditions and evolving risk and confidence scores. |" + }, + "name": "VisAnalyticsCR76" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "056c30de-eb39-4c29-bdbb-3335fc29e542", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva76", + "label": "Implementation Status", + "type": 2, + "typeSettings": { + "showDefault": false + }, + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "e95c3294-7b0b-478f-8455-4c0f77ada61c", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva76", + "label": "Implementation Date", + "type": 1, + "value": "DueDate=2027", + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva76", + "type": 1, + "value": "Enter Notes", + "timeContext": { + "durationMs": 86400000 + }, + "id": "0ef48265-3bb2-4d75-9bc6-9840f6255f54", + "label": "Notes" + } + ], + "style": "formHorizontal", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VisAnalytics76Status" + }, + { + "type": 1, + "content": { + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Entra ID Protection |\r\n| Microsoft Defender for Endpoint (MDE) |\r\n| Microsoft Defender for Cloud (MDfC) |\r\n| Microsoft Sentinel Fusion ML |\r\n| Microsoft Sentinel Bring Your Own Machine Learning (BYOML) | \r\n| Microsoft Sentinel Playbooks |\r\n| Microsoft Intune |\r\n| Azure Automation |\r\n| Purview Insider Risk Management |" + }, + "conditionalVisibility": { + "parameterName": "isVA76Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "text - 2" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "isVA76Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "VisAnalyticsCR76Group" + } + ], + "exportParameters": true + }, + "name": "VisAnalyticsCRGroup" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p7" + }, + "customWidth": "50", + "name": "p7-2" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.1 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.1 Log All Traffic (Network, Data, Apps, Users)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
\r\n🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
\r\n🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
\r\n🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
\r\n🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
\r\n🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
\r\n🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
\r\n🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
\r\n🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
\r\n🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
\r\n🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
\r\n🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
\r\n🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
\r\n💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
\r\n💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
\r\n💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
\r\n💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
\r\n💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
\r\n💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
\r\n💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
\r\n💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
\r\n💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "d1983eba-6224-4c08-b792-4910eff535ad", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "description": "Select the time range that will be used for the query's", + "value": { + "durationMs": 604800000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| extend ResultText = case(isnotempty(ResultDescription), ResultDescription, ResultType == 0 and isempty(ResultDescription), \"successful login\", \"unknown\") // Create readable result text to include succesfull logins\n| summarize dcount(CorrelationId) by ResultText // Signin results by unique CorrelationId\n| render piechart", + "size": 0, + "title": "Login events by result", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "ResultText", + "exportParameterName": "Selected_ResultText", + "exportDefaultValue": "", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "chartSettings": { + "group": "ResultText", + "createOtherGroup": null, + "seriesLabelSettings": [ + { + "seriesName": "successful login", + "color": "green" + } + ], + "ySettings": { + "unit": 17, + "min": null, + "max": null + } + } + }, + "customWidth": "33", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| extend ResultText = case(isnotempty(ResultDescription), ResultDescription, ResultType == 0 and isempty(ResultDescription), \"successful login\", \"unknown\")\n| summarize dcount(CorrelationId) by ResultText, bin(TimeGenerated,4h) // summarize the total Signin events per Description per hour (by unique CorrelationId's)", + "size": 0, + "title": "Count of login types per 4 hours", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "barchart", + "tileSettings": { + "showBorder": false, + "titleContent": { + "columnMatch": "ResultText", + "formatter": 1 + }, + "leftContent": { + "columnMatch": "dcount_CorrelationId", + "formatter": 12, + "formatOptions": { + "palette": "auto" + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "customWidth": "33", + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\n| where isnotempty(LocationDetails['countryOrRegion']) and ResultType == 0// Where location details are available and login is successful\n| extend city = tostring(LocationDetails['city'])\n| summarize count() by city, Location // Summarize by city name\n| join (\nSigninLogs\n| extend city = tostring(LocationDetails['city'])\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by city \n) on city\n| project Location, city, [\"Total events\"] = count_, TrendLine = TrendList\n| top 10 by [\"Total events\"] desc", + "size": 0, + "title": "successful login locations", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Total events", + "formatter": 4, + "formatOptions": { + "palette": "blue", + "showIcon": true + } + }, + { + "columnMatch": "TrendLine", + "formatter": 9, + "formatOptions": { + "palette": "greenRed", + "showIcon": true + } + }, + { + "columnMatch": "Events", + "formatter": 4, + "formatOptions": { + "palette": "blue", + "showIcon": true + } + }, + { + "columnMatch": "count_", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "hierarchySettings": { + "idColumn": "city", + "parentColumn": "Location", + "treeType": 0, + "expanderColumn": "city", + "expandTopLevel": false + } + }, + "sortBy": [], + "tileSettings": { + "titleContent": { + "columnMatch": "city", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "secondaryContent": { + "columnMatch": "Events", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + "showBorder": false + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "LocationDetails", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "formatOptions": { + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "nodeIdField": "count_", + "sourceIdField": "Location", + "targetIdField": "city", + "nodeSize": null, + "staticNodeSize": 100, + "colorSettings": null, + "hivesMargin": 5 + }, + "mapSettings": { + "locInfo": "LatLong", + "locInfoColumn": "GeoSelection", + "latitude": "latitude", + "longitude": "longitude", + "sizeSettings": "count_", + "sizeAggregation": "Sum", + "defaultSize": 0, + "labelSettings": "locationInfo", + "legendMetric": "count_", + "legendAggregation": "Sum", + "itemColorSettings": { + "nodeColorField": "count_", + "colorAggregation": "Sum", + "type": "heatmap", + "heatmapPalette": "redGreen" + } + } + }, + "customWidth": "33", + "name": "query - 7" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SigninLogs\r\n| where ResultType == 0 and AppDisplayName != \"\"\r\n| summarize count() by AppDisplayName\r\n| join (\r\nSigninLogs\r\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, 4h) by AppDisplayName \r\n) on AppDisplayName\r\n| top 10 by count_ desc", + "size": 4, + "title": "successful logins by application", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "AppDisplayName", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "count_", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + "showBorder": false + }, + "graphSettings": { + "type": 0, + "topContent": { + "columnMatch": "AppDisplayName", + "formatter": 1 + }, + "centerContent": { + "columnMatch": "count_", + "formatter": 1, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + } + } + }, + "name": "query - 14" + }, + { + "type": 1, + "content": { + "json": "----\n## AuditLogs\n\nThese tables are an example Azure Security Administrators and Zero Trust Implementtors can use so to make sure that the Zero Trust Logging activties of user operations are successfully executed.
\nIt also benefits the security operator by seeing which operations are perfomed by which users or services. Therefore he or she can act quickly on a suspicious operation." + }, + "name": "text - 9" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| join (\nAuditLogs\n| where Result == 'success'\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName \n) on OperationName\n| project OperationName, Runs, SuccessRate, TrendList\n| top 10 by Runs desc // Show the top 10 of most run operations", + "size": 0, + "title": "Top 10 operation by successrate", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Runs", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "SuccessRate", + "formatter": 8, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "showIcon": true + } + }, + { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + } + ] + } + }, + "customWidth": "50", + "name": "query - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| project OperationName, Runs, SuccessRate, Fails\n| top 10 by SuccessRate asc // Show the 10 Operation by least SuccessRate", + "size": 0, + "title": "Top 10 most failed operations", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Runs", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "SuccessRate", + "formatter": 8, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "showIcon": true + } + }, + { + "columnMatch": "Fails", + "formatter": 8, + "formatOptions": { + "palette": "redBright", + "showIcon": true + } + } + ] + } + }, + "customWidth": "50", + "name": "query - 5 - Copy" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA71Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.2 Security Information & Event Management (SIEM)\r\n

\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.apps.mil/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.office365.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
\r\n💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
\r\n💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
\r\n💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
\r\n💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
\r\n💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "d1983eba-6224-4c08-b792-4910eff535ad", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "description": "Select the time range that will be used for the query's", + "value": { + "durationMs": 604800000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| join (\nAuditLogs\n| where Result == 'success'\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName \n) on OperationName\n| project OperationName, Runs, SuccessRate, TrendList\n| top 10 by Runs desc // Show the top 10 of most run operations", + "size": 0, + "title": "Top 10 Information & Events by Successrate", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Runs", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "SuccessRate", + "formatter": 8, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "showIcon": true + } + }, + { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + } + ] + } + }, + "customWidth": "50", + "name": "query - 5" + }, + { + "type": 1, + "content": { + "json": "One of countless SIEM Analytics examples of delivering Context, Correlation & Aggrgation of Security Incidents. " + }, + "name": "text - 4" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA72Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.3 Common Security and Risk Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
\r\n💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
\r\n💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
\r\n💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "befbf593-c171-4129-b890-7e642265ed0c", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 2592000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "name": "parameters - 8" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "value::selected" + ], + "parameters": [ + { + "id": "3218e2b0-1bcc-46d4-affa-d298e0cf90f6", + "version": "KqlParameterItem/1.0", + "name": "DefaultSubscription_Internal", + "type": 1, + "isRequired": true, + "query": "where type =~ 'microsoft.operationalinsights/workspaces'\r\n| take 1\r\n| project subscriptionId", + "crossComponentResources": [ + "value::selected" + ], + "isHiddenWhenLocked": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + { + "id": "e6ded9a1-a83c-4762-938d-5bf8ff3d3d38", + "version": "KqlParameterItem/1.0", + "name": "Subscription", + "type": 6, + "isRequired": true, + "query": "summarize by subscriptionId\r\n| project value = strcat(\"/subscriptions/\", subscriptionId), label = subscriptionId, selected = iff(subscriptionId =~ '{DefaultSubscription_Internal}', true, false)", + "crossComponentResources": [ + "value::selected" + ], + "typeSettings": { + "additionalResourceOptions": [] + }, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + } + ], + "style": "pills", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + "customWidth": "33", + "name": "parameters - 10" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "tabs", + "links": [ + { + "id": "d4aa2831-0ab8-4977-a80e-359420e7d5f7", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Azure Security Center", + "subTarget": "ASC", + "style": "link" + }, + { + "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft 365", + "subTarget": "M365", + "style": "link" + }, + { + "id": "d4f75516-6286-4660-8294-395da6b9c29a", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Defender for Endpoint", + "subTarget": "D4E", + "style": "link" + }, + { + "id": "96141225-a0ad-43ca-bf96-e701c64318ce", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft Cloud App Security", + "subTarget": "MCAS", + "style": "link" + } + ] + }, + "name": "links - 6" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols'\r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max\r\n| where maxscore != 0\r\n| project SecureControl , unhealthy, currentscore, maxscore", + "size": 0, + "queryType": 1, + "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Subscription}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "SecureControl", + "formatter": 1 + }, + { + "columnMatch": "unhealthy", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "!=", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "greenDark", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "blue", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "currentscore", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "greenDark", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "maxscore", + "formatter": 1 + } + ] + } + }, + "name": "query - 1" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA73Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.3Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.4 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
\r\n💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
\r\n💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
\r\n💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
\r\n💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 1, + "content": { + "json": "# User and Entity Behavior Analytics\n---\n\nDepicted below is one of many examples of UEBA- open incidents, alerts and anomalies identified by Sentinel UEBA engine. " + }, + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "36cdaf52-4303-405d-ac9c-de2037db99c3", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "label": "Time Range", + "type": 4, + "value": { + "durationMs": 2419200000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + }, + "timeContext": { + "durationMs": 86400000 + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let AnomalousSigninActivity = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where (UsersInsights.NewAccount == True or UsersInsights.DormantAccount == True) and (\n ActivityInsights.FirstTimeUserAccessedResource == True and ActivityInsights.ResourceUncommonlyAccessedAmongPeers == True\nor ActivityInsights.FirstTimeUserUsedApp == True and ActivityInsights.AppUncommonlyUsedAmongPeers == False)\n| join (\nSigninLogs | where TimeGenerated {TimeRange:query} | where Status.errorCode == 0 or Status.errorCode == 0 and RiskDetail != \"none\"\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Persistence\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Successful Sign-in with one or more of the following indications: sign by new or recently dormant accounts and sign in with resource for the first time (while none of their peers did) or to an app for the first time (while none of their peers did) or performed by a user with Risk indicaiton from AAD\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet critical = dynamic(['9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3','c4e39bd9-1100-46d3-8c65-fb160da0071f','158c047a-c907-4556-b7ef-446551a6b5f7','62e90394-69f5-4237-9190-012177145e10','d29b2b05-8046-44ba-8758-1e26182fcf32','729827e3-9c14-49f7-bb1b-9608f156bbb8','966707d0-3269-4727-9be2-8c3a10f19b9d','194ae4cb-b126-40b2-bd5b-6091b380977d','fe930be7-5e62-47db-91af-98c3a49a38b1']);\nlet high = dynamic(['cf1c38e5-3621-4004-a7cb-879624dced7c','7495fdc4-34c4-4d15-a289-98788ce399fd','aaf43236-0c0d-4d5f-883a-6955382ac081','3edaf663-341e-4475-9f94-5c398ef6c070','7698a772-787b-4ac8-901f-60d6b08affd2','b1be1c3e-b65d-4f19-8427-f6fa0d97feb9','9f06204d-73c1-4d4c-880a-6edb90606fd8','29232cdf-9323-42fd-ade2-1d097af3e4de','be2f45a1-457d-42af-a067-6ec1fa63bc45','7be44c8a-adaf-4e2a-84d6-ab2649e08a13','e8611ab8-c189-46e8-94e1-60213ab1f814']);\nlet AnomalousRoleAssignment = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Add member to role\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = tostring(TargetResources.userPrincipalName)\n| join kind=inner ( BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Add member to role\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend AnomalyName = \"Anomalous Role Assignemt\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing Add member to priveleged role, or ones that add users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority;let LogOns=materialize(\nBehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\");\nlet AnomalousResourceAccess = LogOns\n| where ActionType == \"ResourceAccess\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous Resource Access\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversary may be trying to move through the environment. APT29 and APT32, for example, has used PtH & PtT techniques to lateral move around the network. The query below generates an output of all users performing an resource access (4624:3) to devices for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousRDPActivity = LogOns\n| where ActionType == \"RemoteInteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous RDP Activity\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversaries may use Valid Accounts to log into a computer using the Remote Desktop Protocol (RDP). The adversary may then perform actions as the logged-on user. FIN10, for example, has used RDP to move laterally to systems in the victim environment. The query below generates an output of all users performing a remote interactive logon (4624:10) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousLogintoDevices = LogOns\n| where ActionType == \"InteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| where UsersInsights.DormantAccount == true or DevicesInsights.LocalAdmin == true\n| extend AnomalyName = \"Anomalous Login To Devices\",\n Tactic = \"Privilege Escalation\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access and privilege escalation. The query below generates an output of all administator users performing an interactive logon (4624:2) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousPasswordReset = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Reset user password\"\n| where ActivityInsights.FirstTimeUserPerformedAction == \"True\"\n| join (\nAuditLogs\n | where TimeGenerated {TimeRange:query}\n | where OperationName == \"Reset user password\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Password Reset\",\n Tactic = \"Impact\",\n Technique = \"Account Access Removal\",\n SubTechnique = \"\",\n Description = \"Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users. Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts. LockerGoga, for example, has been observed changing account passwords and logging off current users. The query below generates an output of all users performing Reset user password for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalousGeoLocationLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where ActivityInsights.FirstTimeUserConnectedFromCountry == True and (ActivityInsights.FirstTimeConnectionFromCountryObservedInTenant == True or ActivityInsights.CountryUncommonlyConnectedFromAmongPeers == True)\n| join (\nSigninLogs\n | where TimeGenerated {TimeRange:query}\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Initial Access\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access. The query below generates an output of successful Sign-in performed by a user from a new geo location he has never connected from before, and none of his peers as well.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousFailedLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\"\n| where UsersInsights.BlastRadius == \"High\"\n| join (\n SigninLogs \n | where TimeGenerated {TimeRange:query}\n | where Status.errorCode == 50126\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Failed Logon\",\n Tactic = \"Credential Access\",\n Technique = \"Brute Force\",\n SubTechnique = \"Password Guessing\",\n Description = \"Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts. Emotet, for example, has been observed using a hard coded list of passwords to brute force user accounts. The query below generates an output of all users with 'High' BlastRadius that perform failed Sign-in:Invalid username or password.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousAADAccountManipulation = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Update user\"\n| mv-expand AdditionalDetails\n| where AdditionalDetails.key == \"UserPrincipalName\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| join kind=inner ( \n BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Update user\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName) \n| extend AnomalyName = \"Anomalous Account Manipulation\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing 'Update user' (name change) to priveleged role, or ones that changed users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; let AnomalousAADAccountCreation = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Add user\"\n| where ActivityInsights.FirstTimeUserPerformedAction == True or ActivityInsights.FirstTimeActionPerformedInTenant == True or ActivityInsights.ActionUncommonlyPerformedAmongPeers == true\n| join(\nAuditLogs\n | where TimeGenerated {TimeRange:query} \n | where OperationName == \"Add user\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend DisplayName = tostring(UsersInsights.AccountDisplayName),\nUserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Account Creation\",\n Tactic = \"Persistence\",\n Technique = \"Create Account\",\n SubTechnique = \"Cloud Account\",\n Description = \"Adversaries may create a cloud account to maintain access to victim systems. With a sufficient level of access, such accounts may be used to establish secondary credentialed access that does not require persistent remote access tools to be deployed on the system. The query below generates an output of all the users performing user creation for the first time and the target users that were created.\"\t\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalyTable = union kind=outer AnomalousSigninActivity, AnomalousRoleAssignment, AnomalousResourceAccess, AnomalousRDPActivity, AnomalousPasswordReset, AnomalousLogintoDevices, AnomalousGeoLocationLogon, AnomalousAADAccountManipulation, AnomalousAADAccountCreation, AnomalousFailedLogon;\nlet TopUsersByAnomalies = AnomalyTable\n| summarize hint.strategy = shuffle AnomalyCount=count() by UserName, UserPrincipalName, tostring(UsersInsights.OnPremSid), tostring(UsersInsights.AccountObjectId)\n| project Name=tolower(UserName),UPN=tolower(UserPrincipalName), AadUserId=UsersInsights_AccountObjectId, Sid=UsersInsights_OnPremSid, AnomalyCount\n| sort by AnomalyCount desc;\nlet TopUsersByIncidents = SecurityIncident\n| where TimeGenerated {TimeRange:query} \n| summarize hint.strategy = shuffle arg_max(LastModifiedTime, *) by IncidentNumber\n| where Status == \"New\" or Status == \"Active\"\n| mv-expand AlertIds\n| extend AlertId = tostring(AlertIds)\n| join kind= innerunique ( \nSecurityAlert | where TimeGenerated {TimeRange:query} \n) on $left.AlertId == $right.SystemAlertId\n| summarize hint.strategy = shuffle arg_max(TimeGenerated,*), NumberOfUpdates = count() by SystemAlertId\n| mv-expand todynamic(Entities)\n| where Entities[\"Type\"] =~ \"account\"\n| extend Name = tostring(tolower(Entities[\"Name\"])), NTDomain = tostring(Entities[\"NTDomain\"]), UPNSuffix = tostring(Entities[\"UPNSuffix\"]), AadUserId = tostring(Entities[\"AadUserId\"]), AadTenantId = tostring(Entities[\"AadTenantId\"]), \n Sid = tostring(Entities[\"Sid\"]), IsDomainJoined = tobool(Entities[\"IsDomainJoined\"]) , Host = tostring(Entities[\"Host\"])\n| extend UPN = iff(Name != \"\" and UPNSuffix != \"\", strcat(Name, \"@\", UPNSuffix), \"\")\n| union TopUsersByAnomalies\n| extend \n AadPivot = iff(isempty(AadUserId),iff(isempty(Sid),Name,Sid),AadUserId),\n SidPivot = iff(isempty(Sid),iff(isempty(AadUserId),Name,AadUserId),Sid),\n UPNExists = iff(isempty(UPN), false,true),\n NameExists = iff(isempty(Name), false,true),\n SidExists = iff(isempty(Sid), false,true),\n AADExists = iff(isempty(AadUserId), false,true)\n| summarize hint.strategy = shuffle IncidentCount=dcount(IncidentNumber,4),AlertCount=dcountif(AlertId,isnotempty(AlertId),4),AnomalyCount=sum(AnomalyCount),any(Title, Severity, Status, StartTime, IncidentNumber, IncidentUrl, Owner), UPNAnchor=anyif(UPN, UPNExists == true),NameAnchor=anyif(Name, NameExists == true),AadAnchor=anyif(AadUserId, AADExists == true), SidAnchor=anyif(Sid, SidExists == true) , any(SidPivot) by AadPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount),AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),NameAnchor=anyif(NameAnchor, isempty(NameAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_Title,any_Severity,any_StartTime, any_IncidentNumber, any_IncidentUrl) by any_SidPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount), AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_any_Title, any_any_Severity,any_any_StartTime, any_any_IncidentNumber, any_any_IncidentUrl) by NameAnchor\n| project [\"UserName\"]=NameAnchor,IncidentCount, AlertCount,AnomalyCount, [\"AadUserId\"]=AadAnchor,[\"OnPremSid\"]=SidAnchor , [\"UserPrincipalName\"]=UPNAnchor;\nTopUsersByIncidents\n| sort by IncidentCount, AlertCount, AnomalyCount desc\n", + "size": 1, + "showAnalytics": true, + "timeContextFromParameter": "TimeRange", + "exportedParameters": [ + { + "fieldName": "UserPrincipalName", + "parameterName": "SelectedUser", + "parameterType": 1 + }, + { + "fieldName": "UserName", + "parameterName": "UserName", + "parameterType": 1, + "defaultValue": "None" + }, + { + "fieldName": "AadUserId", + "parameterName": "UserObjectId", + "parameterType": 1 + }, + { + "fieldName": "OnPremSid", + "parameterName": "UserSid", + "parameterType": 1 + }, + { + "fieldName": "AnomalyCount", + "parameterName": "AnomalyCount", + "parameterType": 1, + "defaultValue": "0" + } + ], + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", + "gridSettings": { + "formatters": [ + { + "columnMatch": "IncidentCount", + "formatter": 8, + "formatOptions": { + "palette": "redDark" + } + } + ], + "filter": true, + "sortBy": [ + { + "itemKey": "AnomalyCount", + "sortOrder": 2 + } + ] + }, + "sortBy": [ + { + "itemKey": "AnomalyCount", + "sortOrder": 2 + } + ] + }, + "name": "query - 2" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA74Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.4Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.5 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.5 Threat Intelligence Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
\r\n[Microsoft ]\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
\r\n[Microsoft ]\r\n\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
\r\n💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
\r\n💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
\r\n💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
\r\n💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
\r\n💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA75Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.5Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.6 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.6 Automated Dynamic Policies\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
\r\n💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
\r\n💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
\r\n💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
\r\n💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
\r\n💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
\r\n💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA76Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.6Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p7" + }, + "name": "P7Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t{ \\\"Select All (Zero Trust Essentials)\\\": \\\"DoD Zero Trust Assessment Tracker\\\", \\\"tab\\\": \\\"ess2\\\" },\\r\\n\\t{ \\\"Select All (Zero Trust Essentials)\\\": \\\"Microsoft Zero Trust Capability Alignment\\\", \\\"tab\\\": \\\"ess3\\\" },\\r\\n\\t{ \\\"Select All (Zero Trust Essentials)\\\": \\\"Workbook FAQ\\\", \\\"tab\\\":\\\"ess4\\\"}\\r\\n]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Zero Trust Essentials)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + }, + "tooltipFormat": { + "tooltip": "DoD CIO Zero Trust Assessment Tracker (Track overall ZT Progress) | Microsoft to DoD CIO Zero Trust Capability Alignment (Overview of Microsoft-specific solution alignment with each ZT Capability) | Workbook FAQ (Provides answers to common questions)" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + }, + "tooltipFormat": { + "tooltip": "DoD CIO Zero Trust Assessment Tracker (Track overall ZT Progress) | Microsoft to DoD CIO Zero Trust Capability Alignment (Overview of Microsoft-specific solution alignment with each ZT Capability) | Workbook FAQ (Provides answers to common questions)" + } + } + ] + }, + "sortBy": [] + }, + "customWidth": "90", + "name": "ESSZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "8f836776-6a60-46a6-8d25-be73bf045494", + "version": "KqlParameterItem/1.0", + "name": "isess1Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "ess1", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "3758b348-e74f-437f-abd4-4e6e66b1be7e", + "version": "KqlParameterItem/1.0", + "name": "isess2Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "ess2", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "version": "KqlParameterItem/1.0", + "name": "isess3Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "ess3", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "5312c92d-0157-44c6-8ed2-47c309dcfa20" + }, + { + "version": "KqlParameterItem/1.0", + "name": "isess4Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "ess4", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + }, + "id": "763cd0cc-cf61-490c-8aeb-52293e95ca3b" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "5", + "name": "essparam" + } + ], + "exportParameters": true + }, + "customWidth": "50", + "name": "ZTChoices", + "styleSettings": { + "margin": "50" + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "PARAMS", + "loadType": "always", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "UserParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu11", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu11}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "badea796-b8d1-48c5-aa6a-e79a03652f08", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu12", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu12}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu13", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu13}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "94b092f5-0d45-44b0-94d6-c970f028a29f" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu14", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu14}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "31635e0f-6c62-4ea6-93c7-af3e1bcb0f2e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu15", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu15}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "b180aee1-d461-4a1d-8293-7d9530504632" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu16", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu16}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "324f7aca-5759-4d71-884a-cdfc9aff7792" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu17", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu17}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e9e76dfd-46f6-4151-a9bd-4e41ed1e8746" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu18", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu18}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "481e4a5e-3be0-4b83-a874-bbd50ecd60d6" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusu19", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu19}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "3aeac3e1-b0de-4409-85cc-1130aea247fb" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationScore", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu11}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"25\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"50\",\r\n\"unknown\" ) \r\n| project status", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "d54e9908-cd65-4b81-8005-c3ceb2532796" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "UserStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "b094bf32-2b67-496a-86a7-e11eccbc6b7a", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu11", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu11}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "1ba98d1d-be68-407e-89a8-0e4138c311a8", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu12", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu12}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu13", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu13}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "8de9cdfd-84b6-4e2b-9d8c-f3c1d4b51a26" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu14", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu14}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f62f8dca-356e-4701-8396-0c1f1f85eb52" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu15", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu15}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "99bf95cd-f14b-4f56-b249-bc93435e657e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu16", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu16}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "c8d5f1b1-fe4d-45bb-8020-b2d22c1ab13f" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu17", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu17}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "5b95c4e4-c07a-48b2-a22a-8ec50bac5861" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu18", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu18}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f1c8b9db-458c-42c4-a020-b779ff7e93e9" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateu19", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateu19}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "fcdc75b4-c2e8-4f40-b326-bbc8a5034b40" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "UserDate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "31bd34c3-f085-4ca1-9a2c-957fd15e505d", + "version": "KqlParameterItem/1.0", + "name": "Notesu11", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu11}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "13a7ebf5-c3d3-4b72-91c0-e75e929e546a", + "version": "KqlParameterItem/1.0", + "name": "Notesu12", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu12}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu13", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu13}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f8ff740f-78ad-4d9f-bb7d-e5621fb14e2e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu14", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu14}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "c02945c1-f063-4813-a43b-8df6fd3e1a66" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu17", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu17}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "9533f837-2472-4502-9dd7-35bcd23a40c3" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu18", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu18}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "271fe247-07d0-4fa5-b5ac-ad3e66110c47" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesu19", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesu19}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "85bcaf17-2c8a-4847-9927-ea69fb21a985" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "UserNotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score11", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu11}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score12", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu12}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score13", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu13}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score14", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu14}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "3aa98425-bc75-45cb-96cc-b973289e428a", + "version": "KqlParameterItem/1.0", + "name": "score15", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu15}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "04c8aa32-6673-46b6-a137-34dd6c004fd6", + "version": "KqlParameterItem/1.0", + "name": "score16", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu16}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "d5f4d78a-7ce4-42fa-b584-d571f2d16694", + "version": "KqlParameterItem/1.0", + "name": "score17", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu17}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "e124180b-6a70-4fe5-860f-6031e6deafaf", + "version": "KqlParameterItem/1.0", + "name": "score18", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu18}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "55ce6b37-4c38-4b31-9e64-01ef8985c1f5", + "version": "KqlParameterItem/1.0", + "name": "score19", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu19}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "UserScore" + } + ], + "exportParameters": true + }, + "name": "UserParams" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "DeviceParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD21", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd21}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD22", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd22}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f9007218-a886-4d5d-94e1-a09802dbe316" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD23", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd23}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "0c6cf716-0fae-4f81-a6db-db334859f28a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD24", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd24}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7d660dcb-a4ad-4a4f-ab6a-17203ee1099c" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD25", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd25}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "66450c23-bbdb-4381-a91c-ce7fa2c7930e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD26", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd26}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e22f8757-fc18-4d7e-8c38-d9537e647326" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusD27", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd27}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "8b572798-a8ce-4073-84fa-a6490a2b3c6f" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DeviceStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "ae898bdf-6ee0-4b27-8ce7-02d5b0c5e0dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated21", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated21}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated22", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated22}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "db3aaf6a-8436-4df3-a995-4be019793b0b" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated23", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated23}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "300d2772-d125-44eb-a3cc-3d05865c9c40" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated24", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated24}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "4b280d05-6fba-4cfa-8965-a78721450f90" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated25", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated25}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "1355144d-b9d9-4d02-a052-26d251373ddd" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated26", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated26}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "743bd94e-eecc-42d0-91c1-40cb580856b6" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDated27", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDated27}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "78eea3ef-a01e-47dd-bba1-504148d066e6" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DeviceDate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "c91625f3-a095-4547-b674-adcd6f254fc9", + "version": "KqlParameterItem/1.0", + "name": "Notesd21", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd21}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd22", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd22}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "bae7ec76-710f-4c87-ac06-a65e2f231222" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd23", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd23}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "ef575479-773d-4fd9-bb73-388b021ee38d" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd24", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd24}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "4c2b3043-4da5-4da6-a98a-4af75a6603e0" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd25", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd25}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7322dae3-efbf-4dc8-bf5b-9271f0912c8e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd26", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd26}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "40088436-58d7-44b9-be43-5d8413caff74" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesd27", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesd27}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "68c5b46a-92f4-4ea7-9765-3577596d3508" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DeviceNotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score21", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd21}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score22", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd22}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score23", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd23}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score24", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusu14}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "3aa98425-bc75-45cb-96cc-b973289e428a", + "version": "KqlParameterItem/1.0", + "name": "score25", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd25}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "04c8aa32-6673-46b6-a137-34dd6c004fd6", + "version": "KqlParameterItem/1.0", + "name": "score26", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd26}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "d5f4d78a-7ce4-42fa-b584-d571f2d16694", + "version": "KqlParameterItem/1.0", + "name": "score27", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusd27}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DeviceScore" + } + ], + "exportParameters": true + }, + "name": "DeviceParams" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "AppParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp31", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp31}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp32", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp32}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "2a82cdf4-b526-438c-b0fd-ada58084d8d8" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp33", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp33}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7085d4e0-5f24-45b5-94f9-0de34cb4d626" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp34", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp34}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "564c0ea5-0278-4d95-86a2-caf0dde441e9" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusapp35", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp35}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "cfa0ce01-a0dc-4306-92d9-6aa39f6819ff" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AppStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "fec47f95-98b7-43a6-ae69-e3f1491b3119", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp31", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateapp31}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp32", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateapp32}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "40c60c9e-811e-43d4-a949-2a00fc391356" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp33", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateapp33}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "555fc62e-fd5f-4943-8939-ce2f2dca25c1" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp34", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateapp34}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e97c49a6-cc50-466e-8a8f-1e0b9cef59a0" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateapp35", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateapp35}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f9ac66d3-d366-4242-9de2-91c0a92fff39" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AppDate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "f7ce32fa-3a15-4ddb-aa8d-d01f7e4a0476", + "version": "KqlParameterItem/1.0", + "name": "Notesapp31", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesapp31}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp32", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesapp32}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "0d947a49-242a-429e-85c2-fc7733755f14" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp33", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesapp33}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "33085ab1-3f14-4742-8047-1fc67305aab6" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp34", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesapp34}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "2bbe2e60-d446-45ac-b2e0-df5583653047" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesapp35", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesapp35}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "36e71504-3c2b-4696-b48d-b0db5cc1584c" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AppNotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score31", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp31}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score32", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp32}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score33", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp33}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score34", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp34}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "3aa98425-bc75-45cb-96cc-b973289e428a", + "version": "KqlParameterItem/1.0", + "name": "score35", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusapp35}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AppScore" + } + ], + "exportParameters": true + }, + "name": "AppParams" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "DataParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata41", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata41}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata42", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata42}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "00823f86-5cdc-43c6-9586-728f96c3b591" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata43", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata43}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "fb502a89-c3d0-49b8-960a-7a8d7e21c4af" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata44", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata44}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "b1357567-29dc-45ae-bcab-10991e4cf4c1" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata45", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata45}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "fda1e209-84a9-48ed-8e45-7ee0224d6b42" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata46", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata46}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "23369183-5c70-4abe-b30d-97965f89b07e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusdata47", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata47}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "90254164-366b-4746-9073-3cb247122fbc" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DataStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "3cf48b00-7b35-46bd-b522-5286b7c0a94d", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata41", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata41}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata42", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata42}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "877c6bf4-6186-4597-a34a-3cbbf58cdf0a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata43", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata43}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "414f4fcc-5b3e-4321-b4e5-81f724090101" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata44", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata44}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "523555fc-1c13-4ec8-9abf-7fb1552a7447" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata45", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata45}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e6cfb43f-aa1e-4893-9dda-883cd09761ca" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata46", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata46}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "16ad5330-5574-462f-9ba3-f9caebbba7be" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatedata47", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatedata47}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "d4ec41c0-9ce4-4c23-8b6f-00cb818ee171" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DataDate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "2fd04610-cc1a-418f-a2d4-f45bdc4e78ab", + "version": "KqlParameterItem/1.0", + "name": "Notesdata41", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata41}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata42", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata42}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "6de67e44-264f-4d01-b928-cff147cb78f6" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata43", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata43}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7f01ecde-9bce-479d-a52a-a0f1600850e1" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata44", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata44}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "44a366b9-341c-44b1-8a9a-e803ea2d94cc" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata45", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata45}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "16a89f30-6551-4553-b41b-9d2472bd8dce" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata46", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata46}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "502e6804-88cb-40c6-bae3-99a697cdcc4d" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesdata47", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesdata47}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "a5640f0a-39f5-467e-a399-f11f0d09a9a6" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DataNotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score41", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata41}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score42", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata42}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score43", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata43}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score44", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata44}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "3aa98425-bc75-45cb-96cc-b973289e428a", + "version": "KqlParameterItem/1.0", + "name": "score45", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata45}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "04c8aa32-6673-46b6-a137-34dd6c004fd6", + "version": "KqlParameterItem/1.0", + "name": "score46", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata46}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "d5f4d78a-7ce4-42fa-b584-d571f2d16694", + "version": "KqlParameterItem/1.0", + "name": "score47", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusdata47}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "DataScore" + } + ], + "exportParameters": true + }, + "name": "DataParms" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "NetParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet51", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet51}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet52", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet52}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "745e60c4-e263-4819-8d3a-7a0f470fe636" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet53", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet53}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "5d370c7d-0064-4712-9d93-8ecdafebc5e3" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusnet54", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet54}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "bc969a7b-fb5e-4ee9-b48c-03462d94f153" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "NetStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "3cf48b00-7b35-46bd-b522-5286b7c0a94d", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet51", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatenet51}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet52", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatenet52}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "2ec28a2b-2eff-4f1c-9f33-002e90c49d9a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet53", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatenet53}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f68a1f9b-c282-474a-8234-f9c0e8966b13" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDatenet54", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDatenet54}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "71737e40-2bd5-4af8-9708-d5d941f17382" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "NetDate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "2fd04610-cc1a-418f-a2d4-f45bdc4e78ab", + "version": "KqlParameterItem/1.0", + "name": "Notesnet51", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesnet51}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet52", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesnet52}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "243699b1-5955-41fc-bbe3-d3d945098008" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet53", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesnet53}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "322f64b5-d08e-476b-9e93-577e7738356f" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesnet54", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesnet54}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "fab751c5-67e8-4e7b-ab8a-4e2a88e94b89" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "NetNotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score51", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet51}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score52", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet52}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score53", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet53}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score54", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusnet54}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "NetScore" + } + ], + "exportParameters": true + }, + "name": "NetParams" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "AOParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao61", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao61}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao62", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao62}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "d58485bd-726b-4075-988f-07851e1f7950" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao63", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao63}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "caf254a3-ad5e-4b7e-9746-4c3aa8eea931" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao64", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao64}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7d86a027-4fa9-46e1-aefe-9827d9bf0b2c" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao65", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao65}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e51f607b-3f2f-4079-ae6e-910f7c40226b" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao66", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao66}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "8fd71dd3-48e5-4c59-a5f1-6dedfca9d748" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusao67", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao67}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "eaa17365-a020-46a0-8bfc-61ce866048dd" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AOStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "3cf48b00-7b35-46bd-b522-5286b7c0a94d", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao61", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao61}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao62", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao62}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f57d5bb6-7aef-4847-b01d-e95f3572292f" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao63", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao63}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "84b63819-9ecc-4144-9fcb-98d06d2f5b53" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao64", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao64}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7ae6ecf8-1c6f-4d12-86ea-e807a76a582e" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao65", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao65}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "9ffc3be7-f2d1-4149-9272-3b52c2087c19" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao66", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao66}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e78f640c-7091-435d-bb0a-210097de7cf9" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateao67", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateao67}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "1fdecc20-4578-45a1-9525-959e4e01e1fa" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AODate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "2fd04610-cc1a-418f-a2d4-f45bdc4e78ab", + "version": "KqlParameterItem/1.0", + "name": "Notesao61", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao61}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao62", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao62}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "ec9bbc12-4923-4f4e-a205-b3ad7558310c" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao63", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao63}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "27cb90e8-3f85-4aaf-84a4-eb4135e9b3f0" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao64", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao64}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "3b9be10e-8152-4556-a226-cab26e6fd75a" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao65", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao65}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "ca545b3c-2671-4b59-af3a-bac9d9ad1765" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao66", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao66}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "9b289b10-dcd8-4f90-b9f0-fb477014eebf" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesao67", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesao67}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "ab988391-a89e-4a35-be79-2fb88b40613d" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AONotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score61", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao61}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score62", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao62}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score63", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao63}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score64", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao64}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "score65", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao65}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "482c3094-9716-4c0e-a6dd-6af3947b280b" + }, + { + "version": "KqlParameterItem/1.0", + "name": "score66", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao66}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7c8b65ae-f0c7-4662-9bbb-a5e3195733e3" + }, + { + "version": "KqlParameterItem/1.0", + "name": "score67", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusao67}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "0734c0df-caf6-433e-acd2-c9fb2073e5da" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "AOScore" + } + ], + "exportParameters": true + }, + "name": "AOParams" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "VAParams", + "loadType": "always", + "items": [ + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "52668f65-b44a-4e14-82d8-c87410e7e5dc", + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva71", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva71}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva72", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva72}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "962d8dea-252d-4a21-acb4-dbaed9413642" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva73", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva73}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "532c6fdc-e6cf-4d83-a0d1-8184464f67e9" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva74", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva74}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "01b4280a-d381-41b0-9728-b7f4693fc966" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva75", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva75}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "86b1ddc8-34af-4338-abca-bdfc1895b8d2" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva76", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva76}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "ff0a4bed-4ca1-49e6-a0cb-034ca959a0fc" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationStatusva77", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva77}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "2810671c-6771-4d05-a3ea-cd9e531a053d" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VAStatus" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "3cf48b00-7b35-46bd-b522-5286b7c0a94d", + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva71", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva71}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva72", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva72}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "30ab513b-560b-4e70-8eeb-8ce913b6f289" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva73", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva73}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "7d7dd2e9-b450-4c24-a5d5-9f451b20f9fe" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva74", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva73}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "f38bf834-56a7-4b44-bbfc-37760222aade" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva75", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva75}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "e43030d8-c2da-4f15-ab98-76846ae8913c" + }, + { + "version": "KqlParameterItem/1.0", + "name": "ImplementationDateva76", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationDateva76}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "2af70cce-6251-48ef-86a6-636b697a8bb1" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VADate" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "2fd04610-cc1a-418f-a2d4-f45bdc4e78ab", + "version": "KqlParameterItem/1.0", + "name": "Notesva71", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva71}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva72", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva72}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "70642ca9-542f-4ebb-a3be-459edca7dda5" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva73", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva73}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "268b3128-73b4-4531-992c-a7fdc90cb282" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva74", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva74}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "52a8e544-88ef-4b20-aca2-84f10d175379" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva75", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva75}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "64c1e85d-3c8d-48d9-bb10-f084e26a62f1" + }, + { + "version": "KqlParameterItem/1.0", + "name": "Notesva76", + "type": 1, + "query": "let VARIABLE = dynamic('{Notesva76}');\r\nprint VARIABLE", + "timeContext": { + "durationMs": 5184000000 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "id": "54284111-4654-4187-aa66-1c77450b2a87" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VANotes" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "3ba3eb47-bc14-4627-8cce-9e6d3a33a034", + "version": "KqlParameterItem/1.0", + "name": "score71", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva71}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "982c6aeb-a486-4012-a74a-de4c1324e7cc", + "version": "KqlParameterItem/1.0", + "name": "score72", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva72}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a20f0792-9fba-43c0-af20-9d512e969530", + "version": "KqlParameterItem/1.0", + "name": "score73", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva73}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "44a313aa-bb56-46ac-b7dc-c41ef8644df6", + "version": "KqlParameterItem/1.0", + "name": "score74", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva74}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "a4522f96-52de-4868-a568-ffda45685607", + "version": "KqlParameterItem/1.0", + "name": "score75", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva75}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "8e39d231-83be-4cef-829d-2dc4c4172755", + "version": "KqlParameterItem/1.0", + "name": "score76", + "type": 1, + "query": "let VARIABLE = dynamic('{ImplementationStatusva76}'); print VARIABLE \r\n| extend status = case(VARIABLE == \"Implemented\", \"100\", \r\nVARIABLE == \"Not Implemented\", \"0\", \r\nVARIABLE == \"Planned\", \"50\", \r\nVARIABLE == \"Out of Scope\", \"0\", \r\nVARIABLE == \"Alternate Implementation\", \"100\",\r\n\"unknown\" ) \r\n| project status", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "VAScore" + } + ], + "exportParameters": true + }, + "name": "VAParams" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "1", + "comparison": "isEqualTo", + "value": "1" + }, + "name": "PARAMS" + }, + { + "type": 1, + "content": { + "json": "## Zero Trust Maturity (Percentage)" + }, + "name": "text - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let score = dynamic([\"{score11}\",\"{score12}\",\"{score13}\",\"{score14}\",\"{score15}\",\"{score16}\",\"{score17}\",\"{score18}\",\"{score19}\",\"{score21}\",\"{score22}\",\"{score23}\",\"{score24}\",\"{score25}\",\"{score26}\",\"{score27}\",\"{score31}\",\"{score32}\",\"{score33}\",\"{score34}\",\"{score35}\",\"{score41}\",\"{score42}\",\"{score43}\",\"{score44}\",\"{score45}\",\"{score46}\",\"{score47}\",\"{score51}\",\"{score52}\",\"{score53}\",\"{score54}\",\"{score61}\",\"{score62}\",\"{score63}\",\"{score64}\",\"{score65}\",\"{score66}\",\"{score67}\",\"{score71}\",\"{score72}\",\"{score73}\",\"{score74}\",\"{score75}\",\"{score76}\"]); print score\r\n | extend total = score\r\n | mvexpand total\r\n | extend Result = toint(total)\r\n| summarize avg(Result)\r\n", + "size": 1, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Result", + "formatter": 4, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "compositeBarSettings": { + "labelText": "", + "columnSettings": [] + } + }, + "numberFormat": { + "unit": 1, + "options": { + "style": "decimal", + "maximumFractionDigits": 2 + } + }, + "tooltipFormat": { + "tooltip": "This value represents the collective percentage of statuses of each of the corresponding 45 capabilities." + } + } + ], + "sortBy": [ + { + "itemKey": "$gen_bar_Result_0", + "sortOrder": 1 + } + ], + "labelSettings": [ + { + "columnId": "avg_Result", + "label": "Current Score" + } + ] + }, + "sortBy": [ + { + "itemKey": "$gen_bar_Result_0", + "sortOrder": 1 + } + ], + "tileSettings": { + "showBorder": false + }, + "mapSettings": { + "locInfo": "LatLong", + "sizeSettings": "avg_Result", + "sizeAggregation": "Sum", + "legendMetric": "avg_Result", + "legendAggregation": "Sum", + "itemColorSettings": { + "type": "heatmap", + "colorAggregation": "Sum", + "nodeColorField": "avg_Result", + "heatmapPalette": "greenRed" + } + } + }, + "conditionalVisibility": { + "parameterName": "isess2Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "total" + } + ], + "exportParameters": true + }, + "customWidth": "50", + "conditionalVisibility": { + "parameterName": "isess2Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "paratest" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"{\\r\\n\\t\\t\\t\\t\\t\\t\\\"columns\\\":[\\r\\n\\t\\t{\\\"name\\\":\\\"Pillar\\\", \\\"type\\\":\\\"string\\\"},\\r\\n\\t\\t{\\\"name\\\":\\\"Capability Requirement\\\", \\\"type\\\":\\\"string\\\"},\\r\\n\\t\\t{\\\"name\\\":\\\"Implementation Status\\\", \\\"type\\\":\\\"string\\\"},\\r\\n\\t\\t{\\\"name\\\":\\\"Implemented Date\\\", \\\"type\\\":\\\"string\\\"},\\r\\n\\t\\t{\\\"name\\\":\\\"Notes\\\", \\\"type\\\":\\\"string\\\"},\\r\\n\\t\\t{\\\"name\\\":\\\"Score\\\", \\\"type\\\": \\\"string\\\"}],\\r\\n\\t\\t\\t\\\"rows\\\":[\\r\\n[\\\"1. User\\\",\\\"1.1 User Inventory\\\",\\\"{ImplementationStatusu11}\\\",\\\"{ImplementationDateu11}\\\",\\\"{Notesu11}\\\",\\\"{score11}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.2 Conditional User Access\\\",\\\"{ImplementationStatusu12}\\\",\\\"{ImplementationDateu12}\\\",\\\"{Notesu12}\\\",\\\"{score12}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.3 Multi-Factor Authentication\\\",\\\"{ImplementationStatusu13}\\\",\\\"{ImplementationDateu13}\\\",\\\"{Notesu13}\\\",\\\"{score13}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.4 Privileged Access Management\\\",\\\"{ImplementationStatusu14}\\\",\\\"{ImplementationDateu14}\\\",\\\"{Notesu14}\\\",\\\"{score14}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.5 Identity Federation & User Credentialing\\\",\\\"{ImplementationStatusu15}\\\",\\\"{ImplementationDateu15}\\\",\\\"{Notesu15}\\\",\\\"{score15}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.6 Behavorial, Contextual ID & Biometrics\\\",\\\"{ImplementationStatusu16}\\\",\\\"{ImplementationDateu16}\\\",\\\"{Notesu16}\\\",\\\"{score16}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.7 Least Privileged Access\\\",\\\"{ImplementationStatusu17}\\\",\\\"{ImplementationDateu17}\\\",\\\"{Notesu17}\\\",\\\"{score17}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.8 Continuous Authentication\\\",\\\"{ImplementationStatusu18}\\\",\\\"{ImplementationDateu18}\\\",\\\"{Notesu18}\\\",\\\"{score18}\\\"],\\r\\n[\\\"1. User\\\",\\\"1.9 Integrated ICAM Platform\\\",\\\"{ImplementationStatusu19}\\\",\\\"{ImplementationDateu18}\\\",\\\"{Notesu19}\\\",\\\"{score19}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.1 Device Inventory\\\",\\\"{ImplementationStatusd21}\\\",\\\"{ImplementationDated21}\\\",\\\"{Notesd21}\\\",\\\"{score21}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.2 Device Detection & Compliance\\\",\\\"{ImplementationStatusd22}\\\",\\\"{ImplementationDated22}\\\",\\\"{Notesd22}\\\",\\\"{score22}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.3 Device Authorization with Real Time Inspection\\\",\\\"{ImplementationStatusd23}\\\",\\\"{ImplementationDated23}\\\",\\\"{Notesd23}\\\",\\\"{score23}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.4 Remote Access\\\",\\\"{ImplementationStatusd24}\\\",\\\"{ImplementationDated24}\\\",\\\"{Notesd24}\\\",\\\"{score24}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.5 Partially & Fully Automated Asset, Vulnerability & Patch Management\\\",\\\"{ImplementationStatusd25}\\\",\\\"{ImplementationDated25}\\\",\\\"{Notesd25}\\\",\\\"{score25}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.6 Unified Endpoint Management & Mobile Device Management\\\",\\\"{ImplementationStatusd26}\\\",\\\"{ImplementationDated26}\\\",\\\"{Notesd26}\\\",\\\"{score26}\\\"],\\r\\n[\\\"2. Device\\\",\\\"2.7 Endpoint & Extended Detection & Response (EDR & XDR)\\\",\\\"{ImplementationStatusd27}\\\",\\\"{ImplementationDated27}\\\",\\\"{Notesd27}\\\",\\\"{score27}\\\"],\\r\\n[\\\"3. Application & Workload\\\",\\\"3.1 Application Inventory\\\",\\\"{ImplementationStatusapp31}\\\",\\\"{ImplementationDateapp31}\\\",\\\"{Notesapp31}\\\",\\\"{score31}\\\"],\\r\\n[\\\"3. Application & Workload\\\",\\\"3.2 Secure Software Development & Integration\\\",\\\"{ImplementationStatusapp32}\\\",\\\"{ImplementationDateapp32}\\\",\\\"{Notesapp32}\\\",\\\"{score32}\\\"],\\r\\n[\\\"3. Application & Workload\\\",\\\"3.3 Software Risk Management\\\",\\\"{ImplementationStatusapp33}\\\",\\\"{ImplementationDateapp33}\\\",\\\"{Notesapp33}\\\",\\\"{score33}\\\"],\\r\\n[\\\"3. Application & Workload\\\",\\\"3.4 Resource Authorization & Integration\\\",\\\"{ImplementationStatusapp34}\\\",\\\"{ImplementationDateapp34}\\\",\\\"{Notesapp34}\\\",\\\"{score34}\\\"],\\r\\n[\\\"3. Application & Workload\\\",\\\"3.5 Continuous Monitoring & Ongoing Authorizations\\\",\\\"{ImplementationStatusapp35}\\\",\\\"{ImplementationDateapp35}\\\",\\\"{Notesapp35}\\\",\\\"{score35}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.1 Data Catalog Risk Alignment\\\",\\\"{ImplementationStatusdata41}\\\",\\\"{ImplementationDatedata41}\\\",\\\"{Notesdata41}\\\",\\\"{score41}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.2 DoD Enterprise Data Governance\\\",\\\"{ImplementationStatusdata42}\\\",\\\"{ImplementationDatedata42}\\\",\\\"{Notesdata42}\\\",\\\"{score42}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.3 Data Labeling & Tagging\\\",\\\"{ImplementationStatusdata43}\\\",\\\"{ImplementationDatedata43}\\\",\\\"{Notesdata43}\\\",\\\"{score43}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.4 Data Monitoring & Sensing\\\",\\\"{ImplementationStatusdata44}\\\",\\\"{ImplementationDatedata44}\\\",\\\"{Notesdata44}\\\",\\\"{score44}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.5 Data Encryption & Rights Management\\\",\\\"{ImplementationStatusdata45}\\\",\\\"{ImplementationDatedata45}\\\",\\\"{Notesdata45}\\\",\\\"{score45}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.6 Data Loss Prevention (DLP)\\\",\\\"{ImplementationStatusdata46}\\\",\\\"{ImplementationDatedata46}\\\",\\\"{Notesdata46}\\\",\\\"{score46}\\\"],\\r\\n[\\\"4. Data\\\",\\\"4.7 Data Access Control\\\",\\\"{ImplementationStatusdata47}\\\",\\\"{ImplementationDatedata47}\\\",\\\"{Notesdata47}\\\",\\\"{score47}\\\"],\\r\\n[\\\"5. Network & Environment\\\",\\\"5.1 Data Flow Mapping\\\",\\\"{ImplementationStatusnet51}\\\",\\\"{ImplementationDatenet51}\\\",\\\"{Notesnet51}\\\",\\\"{score51}\\\"],\\r\\n[\\\"5. Network & Environment\\\",\\\"5.2 Software Defined Networking (SDN)\\\",\\\"{ImplementationStatusnet52}\\\",\\\"{ImplementationDatenet52}\\\",\\\"{Notesnet52}\\\",\\\"{score52}\\\"],\\r\\n[\\\"5. Network & Environment\\\",\\\"5.3 Macro Segmentation\\\",\\\"{ImplementationStatusnet53}\\\",\\\"{ImplementationDatenet53}\\\",\\\"{Notesnet53}\\\",\\\"{score53}\\\"],\\r\\n[\\\"5. Network & Environment\\\",\\\"5.4 Micro Segmenatation\\\",\\\"{ImplementationStatusnet54}\\\",\\\"{ImplementationDatenet54}\\\",\\\"{Notesnet54}\\\",\\\"{score54}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.1 Policy Decision Point (PD) & Policy Orchestration\\\",\\\"{ImplementationStatusao61}\\\",\\\"{ImplementationDateao61}\\\",\\\"{Notesao61}\\\",\\\"{score61}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.2 Critical Process Automation\\\",\\\"{ImplementationStatusao62}\\\",\\\"{ImplementationDateao62}\\\",\\\"{Notesao62}\\\",\\\"{score62}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.3 Machine Learning\\\",\\\"{ImplementationStatusao63}\\\",\\\"{ImplementationDateao63}\\\",\\\"{Notesao63}\\\",\\\"{score63}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.4 Artificial Learning\\\",\\\"{ImplementationStatusao64}\\\",\\\"{ImplementationDateao64}\\\",\\\"{Notesao64}\\\",\\\"{score64}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.5 Security Orchestration, Automation & Response (SOAR)\\\",\\\"{ImplementationStatusao65}\\\",\\\"{ImplementationDateao65}\\\",\\\"{Notesao65}\\\",\\\"{score65}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.6 API Standardization\\\",\\\"{ImplementationStatusao66}\\\",\\\"{ImplementationDateao66}\\\",\\\"{Notesao66}\\\",\\\"{score66}\\\"],\\r\\n[\\\"6. Automation & Orchestration\\\",\\\"6.7 Security Operations Center (SOC) & Incident Response (IR)\\\",\\\"{ImplementationStatusao67}\\\",\\\"{ImplementationDateao67}\\\",\\\"{Notesao67}\\\",\\\"{score67}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.1 Log All Traffic (Network, Data, Apps, Users)\\\",\\\"{ImplementationStatusva71}\\\",\\\"{ImplementationDateva71}\\\",\\\"{Notesva71}\\\",\\\"{score71}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.2 Security Information & Event Management (SIEM)\\\",\\\"{ImplementationStatusva72}\\\",\\\"{ImplementationDateva72}\\\",\\\"{Notesva72}\\\",\\\"{score72}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.3 Common Security & Risk Analytics\\\",\\\"{ImplementationStatusva73}\\\",\\\"{ImplementationDateva73}\\\",\\\"{Notesva73}\\\",\\\"{score73}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.4 User Entity & Behavorial Analytics\\\",\\\"{ImplementationStatusva74}\\\",\\\"{ImplementationDateva74}\\\",\\\"{Notesva74}\\\",\\\"{score74}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.5 Threat Intelligence Platfrom\\\",\\\"{ImplementationStatusva75}\\\",\\\"{ImplementationDateva75}\\\",\\\"{Notesva75}\\\",\\\"{score75}\\\"],\\r\\n[\\\"7. Visibility & Analytics\\\",\\\"7.6 Automated Dynamic Policies\\\",\\\"{ImplementationStatusva76}\\\",\\\"{ImplementationDateva76}\\\",\\\"{Notesva76}\\\",\\\"{score76}\\\"]\\r\\n\\t\\t\\t]\\r\\n}\\r\\n\\r\\n\",\"transformers\":null}", + "size": 3, + "title": "Zero Trust Assessment Tracker", + "showRefreshButton": true, + "showExportToExcel": true, + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "$gen_group", + "formatter": 0, + "tooltipFormat": { + "tooltip": "Expand to see the statuses of individual capabilities" + } + }, + { + "columnMatch": "Group", + "formatter": 1 + }, + { + "columnMatch": "Pillar", + "formatter": 1 + }, + { + "columnMatch": "Score", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "25", + "representation": "yellow", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "100", + "representation": "green", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "50", + "representation": "yellow", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": null, + "text": "{0}{1}" + } + ] + } + } + ], + "filter": true, + "hierarchySettings": { + "treeType": 1, + "groupBy": [ + "Pillar" + ] + } + }, + "sortBy": [] + }, + "conditionalVisibility": { + "parameterName": "isess2Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "thetracker", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 1, + "content": { + "json": "## DoD Zero Trust Strategy Workbook Workbook FAQ \r\n\r\n
\r\n### What will this workbook do for my organization? \r\n\r\nThis workbook provides structure, guidance, and simplification of the DoD CIO Zero Trust Strategy to make it easier to track, prioritize, and improve Zero Trust Target (and Advanced) level Capabilities/Activities that are required to be implemented by 2027. \r\n\r\n
\r\n### Does this workbook only pertain to Microsoft-specific capabiltiies?\r\n\r\nNo, the out-of-the-box content of this Sentinel workbook includes references to Microsoft-specific capabilities/solutions. However, the workbook has been designed to account for \"Alternate Implementations\" (non-Microsoft), which can also meet the Target (and Advanced)-level Zero Trust Capabilities and Activities. \r\n\r\n
\r\n### How will this workbook help with deployment and maturity of the DoD CIO Zero Trust Strategy Capabilities & Activities? \r\n\r\n* Provides Zero Trust roll-up of organizational maturity and situational awareness as it relates directly to the 2027 Zero Trust Target-level deadline. \r\n\r\n* Provides DoD Zero Trust Activity simplification and improved awareness, allowing responsible parties for each pillar(s) to report which capabilities are planned, implemented, or not applicable. \r\n\r\n* Provides guidance and recommendations to meet the 45 capabilities (and supporting 152 activities) \r\n\r\n* Provides a working (and evolving) organized method of orchestrating and managing/tracking efforts around the Zero Trust Capabilities and Activities covered in the DoD CIO Zero Trust Strategy. \r\n\r\n
\r\n### Why are some of the visualizations not working in my workbook? \r\n\r\nThe visualizations within this workbook are simply examples and rely on specific logs to populate accordingly. We realize that not every organization leverages the same solution logs used to build/populate this workbook. In addition, we also realize that many customers leverage third-party solutions for their needs. Every implementation of this workbook is unique to the respective environment in which it is installed. It is intended to be a starting point and can be further customized to better meet the needs of each customer. Please contact your Account Representative if your team requires further assistance and/or customizations. \r\n\r\nVisualizations can be used to show examples of the DoD CIO Zero Trust Activities in use/or configurations themselves. They can also be used to further develop automations related to improving cyber hygiene through deploying Zero Trust principals. \r\n\r\n
\r\n### Who should use this workbook? \r\n\r\nThis workbook is designed for both executives and individuals who are directly responsible for implementing the respective Capabilities/Activities due by 2027 outlined in the DoD CIO Zero Trust Strategy. \r\n\r\nThis workbook derives language and terminology specific to the DoD CIO Zero Trust Strategy. However, many non-DoD organizations can also leverage this guidance for their needs. \r\n\r\n
\r\n### Where does the Zero Trust Maturity (Percentage) score come from? \r\n\r\nThe Zero Trust Maturity score is calculated based on the interactive capabilities sections contained within each of the pillars. When updated, the drop-down boxes labeled, “Implementation Status” directly contribute to the overall level of maturity reported under the “Zero Trust Essentials” → \"DoD CIO Zero Trust Assessment Tracker\". \r\n\r\n
\r\n### How can I make recommendations to improve this workbook? \r\n\r\nPlease utilize the link in the opening screen labeled, “Please take some time to take a quick survey”. Our team values these responses and takes them very seriously. Any feedback that you can provide is greatly appreciated. \r\n\r\n
\r\n### Can this workbook be customized? \r\n\r\nYes! This workbook has been created with additional customization in mind. Please contact your Account Representative if you would to like to inquire about any additional assistance with customizing this workbook to suit your organizational goals related to DoD CIO Zero Trust Strategy maturity. \r\n\r\n
\r\n### Do other customers outside the DoD utilize this workbook? \r\n\r\nYes, Many customers outside the DoD have gravitated toward the DoD CIO Zero Trust Strategy because it includes specfiic \"Capabilities and Activities\" that apply to the Zero Trust Principals. \r\n\r\n
\r\n### Who created this workbook? \r\n\r\nThis workbook was created by a collaboration of Microsoft teams and subject matter experts along with our pilot customers. \r\n\r\n
\r\n### Does this workbook cover all 152 “Activities” defined in the Strategy? \r\n\r\nYes, the recommendations, visualizations, and guidance, while centered around the 45 capabilities, will still apply to all 152 activities. This workbook aims to simplify the Target (and Advanced)-level Zero Trust Capabilities and Activities. Based on prior feedback, this workbook may be updated in the future to include further guidance, reporting, and relevant information. ", + "style": "info" + }, + "conditionalVisibility": { + "parameterName": "isess4Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "FAQ" + }, + { + "type": 1, + "content": { + "json": "## Microsoft to DoD CIO Zero Trust Capability Alignment\r\n\r\n#### In an effort to support our DoD customers, we have provided the following as a general overview of how Microsoft products/capabilities align with the latest DoD CIO Zero Trust Strategy. The following document correlates specific Microsoft solution(s) to each of the 45 main capabilities contained in the latest version from November of 2022.\r\n\r\n
\r\n\r\n| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 💡 [M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡 [What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡 [Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡 [Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡 [Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡 [Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡 [Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡 [Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡 [Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡 [Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡 [Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡 [Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡 [Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡 [Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡 [Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡 [Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡 [Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡 [Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡 [Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡 [Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡 [Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 💡 [What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡 [Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡 [Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡 [Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡 [Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡 [Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡 [Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡 [Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡 [What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡 [Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡 [What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡 [Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡 [Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡 [Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡 [Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡 [Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡 [Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡 [Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 💡 [DoD CIO DevSecOps with IaC & Microsoft](https://dodcio.defense.gov/Portals/0/Documents/Library/DoDRefDesignCloudGithub.pdf?ver=zXJ_uO5LfouVaysHo5Ejsw%3d%3d)
💡 [Microsoft Secure DevSecOps](https://www.microsoft.com/en-us/securityengineering/sdl/)
💡 [Application Security & DevSecOps Security](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/organize/cloud-security-application-security-devsecops?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=eb8cd3d8eb27486d87bbb4d96d996220)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Azure AI Content Moderator API Security](https://learn.microsoft.com/en-us/azure/ai-services/content-moderator/overview) |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel
Microsoft 365 Defender | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" + }, + "conditionalVisibility": { + "parameterName": "isess3Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "showPin": true, + "name": "ztalign" + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "ess" + }, + "name": "ZTGroup" + }, + { + "type": 1, + "content": { + "json": "## DoD Zero Trust Capabilities (45) ##\r\n\r\n| ID # | Capability | Pillar | Capability Description | Capability Outcome | Impact to ZT | Associated Activities |\r\n|------|---------------------------------------------------------------------------|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| 1.1 | User Inventory | 1 - User | Regular and Privileged users are identified and integrated into an inventory supporting regular modifications. Applications, software and services that have local users are all part of the inventory and highlighted. | System owners have control (visibility and administrative rights) of all authorized and authenticated users on the network | Users not on the authorized user list will be denied access by policy | * Inventory User |\r\n| 1.2 | Conditional User Access | 1 - User | Through maturity levels Conditional Access works to create a dynamic level of access for users in the environment. This starts with traditional role based access controls across a federate ICAM, expands to be application focused roles and ultimately utilizes enterprise attributes to provide dynamic access rules. | Eventually, organizations control user, device, and non-user entity DAAS access through dynamically changing user risk profiles and fine grained access control to include the use of user risk assessments | Users not known to the system and users who present an unacceptable degree of risk will be denied access with greater accuracy | * Implement App Based Permissions per Enterprise
* Rule Based Dynamic Access Pt1
* Rule Based Dynamic Access Pt2
* Enterprise Gov't roles and Permissions Pt1
* Enterprise Gov't roles and Permissions Pt2 |\r\n| 1.3 | Multi-Factor Authentication (MFA) | 1 - User | This capability initially focuses on developing an organization focused MFA provider and Identity Provider to enable the centralization of users. Retirement of local and/or built-in accounts and groups is a critical piece to this capability. At the later maturity levels alternative and flexible MFA tokens can be used to provide access for standard and external users. | DoD organizations require users and non-user entities to authenticate using at least two of the following three attributes: knowledge (user ID/password), possession (CAC/token), or something you are (inherence, e.g., iris/fingerprints), in order to access DAAS | Users not presenting multiple forms of authentication will be denied access to DAAS system and resources | * Organizational MFA/IDP
* Alternative Flexible MFA Pt1
* Alternative Flexible MFA Pt2 |\r\n| 1.4 | Privileged Access Management (PAM) | 1 - User | The capability focuses on removal of permanent administrator/elevated privileges by first creating a Privileged Account Management (PAM) system and migrating privileged users to it. The capability is then expanded upon by using automation with privilege escalation approvals and feeding
analytics into the system for anomaly detection. | DoD organizations control, monitor, secure, and audit privileged identities (e.g., through password vaulting, JIT/JEA with PAWS) across their IT environments | Critical assets and applications secured, controlled, monitored and managed through limits on admin access | * Implement System and Migrate Privileged Users Pt1
* Implement System and Migrate Privileged Users Pt2
* Real time Approvals & JIT/JEA Analytics Pt1
* Real time Approvals & JIT/JEA Analytics Pt2 |\r\n| 1.5 | Identity Federation & User Credentialing | 1 - User | The initial scope of this capability focuses on standardizing the Identity Lifecycle Management (ILM) processes and integrating with the standard organizational IDP/IDM solution. Once completed the capability shifts to establishing an Enterprise ILM process/solution either through a single solution or identity federation. | DoD organizations manually issue, manage, and revoke credentials bound to DoD person, device, and NPE identities. Identity information is developed and shared across entitles and trust domains providing “single sign-on” convenience and efficiencies to identified (authenticated and authorized) users and devices. | Visibility and accuracy of user authentication information is increased, to include DoD users and users managed by other agencies.
Users lacking sufficient credentials are denied access according to established
policies. | * Organizational Identity Life-Cycle Management
* Enterprise Identity Life-Cycle Management Pt1
* Enterprise Identity Life-Cycle Management Pt2
* Enterprise Identity Life-Cycle Management Pt3 |\r\n| 1.6 | Behavioral, Contextual ID, and Biometrics | 1 - User | Utilizing the Enterprise IDP, user and entity behavioral analytics (UEBA) are enabled with basic user attributes. Once completed this is expanded into Organizational specific attributes using Organizational IDPs as available. Finally UEBA are integrated with the PAM and JIT/JEA systems to better detect anomalous and malicious activities. | DoD organizations utilize behavioral, contextual, and biometric telemetry to enhance risk-based authentication and access controls | Behavioral, contextual, and biometric telemetry enhances MFA with | * Implement User & Entity Behavior Activity (UEBA) and User Activity Monitoring (UAM) Tooling
* User Activity Monitoring Pt1
* User Activity Monitoring Pt2 |\r\n| 1.7 | Least Privileged Access | 1 - User | DoD organizations govern access to DAAS using the absolute minimum access required to perform routine, legitimate tasks or activities. DoD Application Owners identify the necessary roles and attributes for standard and privileged user access. Privileged access for all DoD organization DAAS is audited and removed when unneeded. | DoD organizations govern access to DAAS using the absolute minimum access required to perform routine, legitimate tasks or activities | Users on the network only have access to the DAAS for which they are authorized and authenticated over a specific timeframe | * Deny User by Default Policy |\r\n| 1.8 | Continuous Authentication | 1 - User | The DoD organizations and overall enterprise will methodically move towards continuous attribute based authentication. Initially the capability focuses on standardizing legacy single authentication to a organizationally approved IDP with users and groups. The second stages adds in based rule based (time) authentication and ultimately matures to Continuous Authentication based on the application/software activities and privileges requested. | DoD organizations continuously authenticate and authorize users' access to DAAS within and across sessions using MFA | Users not continuously presenting multiple forms of authentication will be denied access to DAAS system and resources | * Single Authentication
* Periodic Authentication
* Continuous Authentication Pt1
* Continuous Authentication Pt2 |\r\n| 1.9 | Integrated ICAM Platform | 1 - User | DoD organizations and overall enterprise employ enterprise-level identity management and public key infrastructure (PKI) systems to track user, administrator and NPE identities across the network and ensure access is limited to only those who have the need and the right to know. Organizations can verify they need and have the right to access via credential management systems, identity governance and administration tools, and an access management tool. PKI systems can be federated but must either trust a central root certificate authority (CA) and/or cross-sign standardized organizational CA’s. | DoD organizations employ enterprise-level identity management systems to track user and NPE identities across the network and ensure access is limited to only those who have the need and the right to know; organizations can verify they need and have the right to access via credential management systems, identity governance and administration tools, and an access management tool | Identities of users and NPE are centrally managed to ensure authorized and authenticated access to DAAS resources across platforms | * Enterprise PKI/IDP Pt1
* Enterprise PKI/IDP Pt2
* Enterprise PKI/IDP Pt3 |\r\n| 2.1 | Device Inventory | 2 - Device | DoD organizations establish and maintain an approved inventory list of all devices authorized to access the network and enroll all devices on the network prior to network connection. Device attributes will include technical details such as the PKI (802.1x) machine certificate, device object, patch/vulnerability status and others to enable successor activities. | DoD organizations establish and maintain a trusted inventory list of all devices authorized to access the network and enroll all devices on the network prior to network connection | By default policy, devices will be denied network access; the only devices permitted access to the network shall be known, authorized, and listed in the device inventory | * Device Health Tool Gap Analysis
* NPE/PKI, Device under Management
* Enterprise IDP Pt1
* Enterprise IDP Pt2 |\r\n| 2.2 | Device Detection and Compliance | 2 - Device | DoD organizations employ asset management systems for user devices to maintain and report on IT and Cybersecurity compliance. Managed devices (enterprise and mobile) attempting to connect to a DoD network or access a DAAS resource is detected and has its compliance status confirmed (via C2C) | DoD organizations employ asset management systems for user devices to maintain and report on IT compliance. Any device (including mobile, IOT, managed, and unmanaged) attempting to connect to a DoD network or access a DAAS resource is detected and has its compliance status confirmed (via C2C) | Any device attempting to connect to the network will be detected; only those devices that are compliant (e.g., anti-virus is up to date, approved configuration) will receive access to requested DAAS | * Implement C2C/Compliance Based Network Authorization Pt1
* Implement C2C/Compliance Based Network Authorization Pt2 |\r\n| 2.3 | Device Authorization w/ Real Time Inspection | 2 - Device | DoD Organizations conduct foundational and extended device tooling (NextGen AV, AppControl, File Integrity Monitoring (FIM), etc.) integration to better understand the risk posture.
Organizational PKI systems are integrated to expand the existing Enterprise PKI to devices as well. Lastly Entity Activity Monitoring is also integrated to identify anomalous activities. | DoD organizations establish processes (e.g., Enterprise PKI) and utilize tools to identify any device (including unmanaged devices, infrastructure devices, and endpoint devices) attempting to access the network, and make a determination if the device should be authorized to access the network.
Maturation of this capability monitoring and detection of this activity on endpoints and IT
infrastructure in real time | Components can use policies to deny devices by default and explicitly allow access to DAAS resources only by devices that meet mandated configuration standards. Security threats identified are remediated faster through continuous activity inspection enables faster remediation of security threats | * Entity Activity Monitoring Pt1
* Entity Activity Monitoring Pt2
* Implement Application Control & File Integrity Monitoring (FIM) Tools
* Integrate NextGen AV Tools with C2C
* Fully Integrate Device Security stack with C2C as appropriate
* Enterprise PKI Pt1
* Enterprise PKI Pt2 |\r\n| 2.4 | Remote Access | 2 - Device | DoD organizations audit existing device access processes and tooling to set a least privilege baseline. In phase 2 this access is expanded to cover basic BYOD and IOT support using the Enterprise IDP for approved applications. The final phases expand coverage to include all BYOD and IOT devices for services using
the approved set of device attributes. | DoD organizations establish policies to allow authorized users and devices access to the network or a device from a geographical distance through a network connection | Enables properly authorized and authenticated users and NPEs to access DAAS from remote locations | * Deny Device by Default Policy
* Managed and Limited BYOD & IOT Support
* Managed and Full BYOD & IOT Support Pt1
* Managed and Full BYOD & IOT Support Pt2 |\r\n| 2.5 | Partially & Fully Automated Asset, Vulnerability and Patch
Management | 2 - Device | DoD organizations establish processes to automatically test and deploy vendor patches for connected devices; hybrid patch management (both human and automated) is employed | DoD organizations establish processes to automatically test and deploy vendor patches for connected devices; hybrid patch management (both
human and automated) is employed | Risk is minimized by automatically deploying vendor patches to all network devices | * Implement Asset, Vulnerability and Patch Management Tools |\r\n| 2.6 | Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | 2 - Device | DoD organizations establish a centralized UEM solution that provides the choices of agent and/or agentless management of computer and mobile devices to a single console regardless of device location. DoD-issued devices can be remotely managed and security policies are enforced. | DoD organizations establish a centralized UEM tool that provides the choices of agent and/or agentless management of computer and mobile devices to a single console. DoD-issued mobile devices are remotely managed and security policies are enforced. | DAAS resources are protected through agent and agentless management, IT is able to manage, secure, and deploy resources and applications on any device from a single console to provide redress of cybersecurity threats.
Security vulnerabilities are mitigated and policy enforcement measures are received through IT remote management of DoD-issued mobile devices | * Implement UEDM or equivalent Tools
* Enterprise Device Management Pt1
* Enterprise Device Management Pt2 |\r\n| 2.7 | Endpoint & Extended Detection & Response (EDR & XDR) | 2 - Device | DoD organizations use endpoint detection and response (EDR) tooling to monitor, detect, and remediate malicious activity on endpoints. Expanding the capability to include XDR tooling allows organizations to account for activity beyond the endpoints such as cloud and network as well. | DoD organizations use EDR tools to monitor, detect, and remediate malicious activity on endpoints as a baseline. Upgrading to XDR tools allows organizations to account for activity beyond the endpoints. | Threats originating from network- connected endpoints are initially reduced through active investigation and response. Maturation focuses on forensics and faster threat detection and remediation are enabled by correlating data across multiple security layers (e.g., email, cloud, endpoint) | * Implement Endpoint Detection & Response (EDR) Tools and Integrate with C2C
* Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt1
* Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt2 |\r\n| 3.1 | Application Inventory | 3 - Applications and Workloads | System owners ensure that all applications and application components are identified and inventoried; only applications and application components that have been authorized by the appropriate authorizing official/CISO/CIO shall be utilized within the system owner's purview | System owners ensure that all applications and application components are identified and inventoried; only applications and application components that have been authorized by the appropriate authorizing official/CISO/CIO shall be
utilized within the system owner's purview | Unauthorized applications and application components are not used on or within the system | * Application/Code Identification |\r\n| 3.2 | Secure Software Development & Integration | 3 - Applications and Workloads | Foundational software and application security processes and infrastructure are established following Zero Trust principles and best practices. Controls such as code review, runtime protection, secure API gateways, container and serverless security are integrated and automated. | Organization-defined security controls and practices are integrated, to include Zero Trust security controls and virtualization, into the software development lifecycle and DevOps toolchain. Custom software development teams use DevSecOps to integrate static and dynamic application security testing into software delivery workflows in accordance with the organization's requirements (policies, technologies, and processes). | Zero Trust security concepts, processes, and capabilities are accepted and integrated across the DevOps toolchain, to include static and dynamic application security testing necessary for the discovery of weaknesses and vulnerabilities during application development | * Build DevSecOps Software Factory Pt1
* Build DevSecOps Software Factory Pt2
* Automate Application Security & Code Remediation Pt1
* Automate Application Security & Code Remediation Pt2 |\r\n| 3.3 | Software Risk Management | 3 - Applications and Workloads | DoD organizations establish software/application risk management program. Foundational controls include Bill of Materials risk management, Supplier Risk Management, approved repositories and update channels, and vulnerability management program. Additional controls include Continual validation within the CI/CD pipelines and vulnerability maturation with external sources. | DoD establishes policies and procedures to secure supply chain cybersecurity for code components within DoD and DIB systems by evaluating and identifying supplier sourcing risk for approved sources, creating
repositories and update channels for use by development teams, creating Bill of Materials for applications to identify source, supportability and risk posture, and establishing industry standard (DIB) and approved vulnerability databases for use in
DevSecOps | Code used in DAAS and associated components of the supply chain is secure, vulnerabilities are reduced, and DoD is aware of potential risks | * Approved Binaries/Code
* Vulnerability Management Program Pt1
* Vulnerability Management Program Pt2
* Continual Validation |\r\n| 3.4 | Resource Authorization & Integration | 3 - Applications and Workloads | DoD establishes a standardized resource authorization gateway for authorizations via the CI/CD pipelines in a risk approach that reviews the User, Device and Data security posture.
Authorizations utilize a programmatic (e.g., Software Defined) approach in a live/production environment. Attributes are enriched utilizing other pillar activities and the API and Authorization gateway. Approved enterprise APIs are micro-
segmented using authorizations. | DoD establishes a standard approach managing the authorizations of resources in a risk approach that reviews the User, Device and Data security posture. | Resource authorization enables the ability for limited access to those resources and in a programmatic way in later stages. This improvise the ability to remove access when it is not needed. | * Resource Authorization Pt1
* Resource Authorization Pt2
* SDC Resource Authorization Pt1
* SDC Resource Authorization Pt2
* Enrich Attributes for Resource Authorization Pt1
* Enrich Attributes for Resource Authorization Pt2
* REST API Micro-Segments |\r\n| 3.5 | Continuous Monitoring
and Ongoing Authorizations | 3 - Applications and Workloads | DoD organizations employ automated tools and processes to continuously monitor applications and assess their authorization
to operate | DoD organizations employ automated tools and processes to continuously monitor applications and
assess their authorization to operate | Near real time visibility into the
effectiveness of deployed security controls | * Continuous Authorization to Operate (cATO) Pt1
* Continuous Authorization to Operate (cATO) Pt2 |\r\n| 4.1 | Data Catalog Risk Alignment | 4 - Data | Data owners ensure that data is identified and inventoried and any changes to the data landscape are automatically detected and included within the catalog. The data landscape must then be reviewed to identify potential risks related to data loss, attack, or any other unauthorized alteration and/or access | Data owners ensure that data is identified and inventoried and any changes to the data landscape are automatically detected and included within the catalog. The data landscape must then be reviewed to identify potential risks related to data loss, attack, or any other unauthorized alteration and/or access | Data assets are known and can therefore be collected, tagged, and protected according to risk levels in alignment with a prioritization framework, and encrypted for protection | * Data Analysis |\r\n| 4.2 | DoD Enterprise Data Governance | 4 - Data | DoD establishes enterprise data labeling/tagging and DAAS access control/sharing policies (e.g., SDS policy) that are enforceable. Developed enterprise standards ensure an appropriate level of interoperability between DoD Organizations. | DoD establishes enterprise data labeling/tagging and DAAS access control/sharing policies (e.g., SDS policy) that are enforceable at the field level | Decision rights and accountability framework ensure appropriate behavior in the valuation, creation, consumption, and control of data and
analytics | * Define Data Tagging Standards
* Interoperability Standards
* Develop Software Defined Storage (SDS) Policy |\r\n| 4.3 | Data Labeling and Tagging | 4 - Data | Data owners label and tag data in compliance with DoD enterprise governance on labeling/tagging policy. As phases advance automation is used to meet scaling demands and provide better accuracy. | Data owners label and tag data in compliance with DoD enterprise governance on labeling/tagging policy | Establishing machine enforceable data access controls, risk assessment, and situational awareness require consistently and correctly labeled and
tagged data | * Implement Data Tagging & Classification Tools
* Manual Data Tagging Pt1
* Manual Data Tagging Pt2
* Automated Data Tagging & Support Pt1
* Automated Data Tagging & Support Pt2 |\r\n| 4.4 | Data Monitoring and Sensing | 4 - Data | Data owners will capture active metadata that includes information about the access, sharing, transformation, and use of their data assets. Data Loss Prevention (DLP) and Data Rights Management (DRM) enforcement point analysis is conducted to determine where tooling will be deployed. Data outside of DLP and DRM scope such as File Shares and Databases is actively monitored for anomalous and malicious activity using alternative tooling. | Data owners will capture active metadata that includes information about the access, sharing, transformation, and use of their data assets | Data in all states are detectable and observable | * DLP Enforcement Point Logging and Analysis
* DRM Enforcement Point Logging and Analysis
* File Activity Monitoring Pt1
* File Activity Monitoring Pt2
* Database Activity Monitoring
* Comprehensive Data Activity Monitoring |\r\n| 4.5 | Data Encryption & Rights Management | 4 - Data | DoD organizations establish and implement a strategy for encrypting data at rest and in transit using Data Rights Management (DRM) tooling. The DRM solution utilizes data tags to determine protection and lastly integrates with ML and AI to automate protection | DoD organizations establish and implement a strategy for encrypting data at rest and in transit | Encrypting data in all states reduces the risk of unauthorized data access and improves data security | * Implement DRM and Protection Tools Pt1
* Implement DRM and Protection Tools Pt2
* DRM Enforcement via Data Tags and Analytics Pt1
* DRM Enforcement via Data Tags and Analytics Pt2
* DRM Enforcement via Data Tags and Analytics Pt3 |\r\n| 4.6 | Data Loss Prevention (DLP) | 4 - Data | DoD organizations utilize the identified enforcement points to deploy approved DLP tools and integrate tagged data attributes with DLP. Initially the DLP solution is put into a \"monitor-only\" mode to limit business impact and later using analytics is put into a \"prevent\" mode. Extended data tag attributes are used to feed the DLP solution and lastly integrate with ML and AI. | DoD organizations have identified enforcement points, deployed approved DLP tools at those enforcement points, and integrate tagged data attributes with DLP | Data breaches and data exfiltration transmissions are detected and mitigated | * Implement Enforcement Points
* DLP Enforcement via Data Tags and Analytics Pt1
* DLP Enforcement via Data Tags and Analytics Pt2
* DLP Enforcement via Data Tags and Analytics Pt3 |\r\n| 4.7 | Data Access Control | 4 - Data | DoD organizations ensure appropriate access to and use of data based on the data and user/NPE/device properties. Software Defined Storage (SDS) is utilized to scale manage permissions to DAAS. Lastly the SDS solution(s) is integrated with DRM tooling improving protections. | DoD organizations ensure appropriate access to and use of data based on the data and user/NPE/device properties | Unauthorized entities, or any entity on an unauthorized device cannot access data; Zero Trust cybersecurity will be sufficiently strong to separate community of interest data access for data in the same classification | * Integrate DAAS Access w/ SDS Policy Pt1
* Integrate DAAS Access w/ SDS Policy Pt2
* Integrate DAAS Access w/ SDS Policy Pt3
* Integrate Solution(s) and Policy with Enterprise IDP Pt1
* Integrate Solution(s) and Policy with Enterprise IDP Pt2
* Implement SDS Tool and/or integrate with DRM Tool Pt1
* Implement SDS Tool and/or integrate with DRM Tool Pt2 |\r\n| 5.1 | Data Flow Mapping | 5 - Network and Environment | DoD organizations reconcile data flows by gathering, mapping, and visualizing network traffic data flows and patterns to ensure authorized access and protection for network and DAAS resources specifically tagging programmatic (e.g., API) access when possible. | DoD organizations reconcile data flows by gathering, mapping, and visualizing network traffic data flows and patterns to ensure authorized access and protection for network and DAAS resources | Sets the foundation for network segmentation and tighter access control by understanding data traffic on the network | * Define Granular Control Access Rules & Policies Pt1
* Define Granular Control Access Rules & Policies Pt2 |\r\n| 5.2 | Software Defined Networking (SDN) | 5 - Network and Environment | DoD organizations define API decision points and implement SDN programmable infrastructure to separate the control and data planes and centrally manage and control the elements in the data plane. Integrations are conducted with decision points and segmentation gateway to accomplish the plane separation.
Analytics are then integrated to real time decision making for
access to resources. | DoD organizations define API decision points and implement SDN programmable infrastructure to separate the control and data planes and centrally manage and control the elements in the data plane | Enables the control of packets to a centralized server, provides additional visibility into the network, and enables integration requirements | * Define SDN APIs* Implement SDN Programable Infrastructure
* Segment Flows into Control, Management, and Data Planes
* Network Asset Discovery & Optimization
* Real-Time Access Decisions |\r\n| 5.3 | Macro Segmentation | 5 - Network and Environment | DoD organizations establish network boundaries and provide security against networked assets located within an environment by validating the device, user, or NPE on each attempt of accessing a remote resource prior to connection. | DoD organizations establish network perimeters and provide security against devices located within an environment by validating the device, user, or NPE on each attempt of accessing a remote resource prior to connection | Network segmentation is defined by a large perimeter to enable resource segmentation by function and user type | * Datacenter Macro segmentation
* B/C/P/S Macro segmentation |\r\n| 5.4 | Micro Segmentation | 5 - Network and Environment | DoD organizations define and document network segmentation based on identity and / or application access in their virtualized and/or cloud environments. Automation is used to apply policy changes through programmatic (e.g., API) approaches. Lastly where possible organizations will utilize host-level process micro segmentation. | DoD organizations define and document network segmentation based on identity and / or application access in their virtualized cloud environments | Network segmentation enabled by narrower and specific segmentation in a virtualized environment via identity and / or application access, allowing for improved protection of data in transit as it crosses system boundaries (e.g., in a coalition environment, system high boundaries) and supported dynamic, real-time access decisions and policy changes | * Implement Micro segmentation
* Application & Device Micro segmentation
* Process Micro segmentation
* Protect Data In Transit |\r\n| 6.1 | Policy Decision Point (PDP) & Policy Orchestration | 6 - Automation and Orchestration | DoD organizations initially collect and document all rule based policies to orchestrate across the security stack for effective automation; DAAS access procedures and policies will be defined, implemented, and updated. Organizations mature this capability by establishing PDPs and PEPs (including the Next Generation Firewall) to make DAAS resource determinations and enable, monitor, and terminate connections between a user/device and DAAS resources according to predefined policy. | DoD organizations initially collect and document all rule based policies to orchestrate across the security stack for effective automation; DAAS access procedures and policies will be defined, implemented, and updated. Organizations mature this capability by establishing PDPs and PEPs (including the Next Generation Firewall) to make DAAS resource determinations and enable, monitor, and terminate connections between a user/device and DAAS resources according to predefined policy | PDPs and PEPs ensure proper implementation of DAAS access policies to users or endpoints that are properly connected (or denied access) to requested resources | * Policy Inventory & Development
* Organization Access Profile
* Enterprise Security Profile Pt1
* Enterprise Security Profile Pt2 |\r\n| 6.2 | Critical Process Automation | 6 - Automation and Orchestration | DoD organizations employ automation methods, such as RPA, to address repetitive, predictable tasks for critical functions such as data enrichment, security controls, and incident response workflows according to system security engineering principles. | DoD organizations employ automation methods, such as RPA, to address repetitive, predictable tasks for critical functions such as data enrichment, security controls, and incident response workflows according
to system security engineering principles | Response time and capability is increased with orchestrated workflows and risk management processes | * Task Automation Analysis
* Enterprise Integration & Workflow Provisioning Pt1
* Enterprise Integration & Workflow Provisioning Pt2 |\r\n| 6.3 | Machine Learning | 6 - Automation and Orchestration | DoD organizations employ ML to execute (and enhance execution of) critical functions such as incident response, anomaly detection, user baselining, and data tagging. | DoD organizations employ ML to execute (and enhance execution of) critical functions such as incident response, anomaly detection, user
baselining, and data tagging | Response time and capability is increased with orchestrated workflows and risk management processes | * Implement Data Tagging & Classification ML Tools |\r\n| 6.4 | Artificial Intelligence | 6 - Automation and Orchestration | DoD organizations employ AI to execute (and enhance execution of) critical functions - particularly risk and access determinations and environmental analysis. | DoD organizations employ AI to execute (and enhance execution of) critical functions - particularly risk and access determinations and environmental analysis | Response time and capability is increased with orchestrated workflows and risk management processes | * Implement AI automation tools
* AI Driven by Analytics decides A&O modifications |\r\n| 6.5 | Security Orchestration, Automation & Response (SOAR) | 6 - Automation and Orchestration | DoD organizations achieve initial operational capability of security technologies to orchestrate and automate policies (e.g., PEPs and PDPs) and rulesets to improve security operations, threat and vulnerability management, and security incident response by ingesting alert data, triggering playbooks for automated response and remediation. | DoD organizations achieve IOC of security technologies to orchestrate and automate policies (e.g., PEPs and PDPs) and rulesets to improve security operations, threat and vulnerability management, and security incident response by ingesting alert data, triggering playbooks for automated response and
remediation | Pre-defined playbooks from collection to incident response and triage enables initial process automation that accelerates a security team's decision and response speed | * Response Automation Analysis
* Implement SOAR Tools
* Implement Playbooks |\r\n| 6.6 | API Standardization | 6 - Automation and Orchestration | DoD establishes and enforces enterprise-wide programmatic interface (e.g., API ) standards; all non-compliant APIs are identified and replaced. | DoD establishes and enforces enterprise-wide API standards; all non-compliant APIs are identified and replaced | Standardizing APIs across the department improves application interfaces, enabling orchestration, and enhancing interoperability | * Tool Compliance Analysis
* Standardized API Calls & Schemas Pt1
* Standardized API Calls & Schemas Pt2 |\r\n| 6.7 | Security Operations Center (SOC) & Incident Response (IR) | 6 - Automation and Orchestration | In the event a computer network defense service provider (CNDSP) does not exist, DoD organizations define and stand up security operations centers (SOC) to deploy, operate, and maintain security monitoring, protections and response for DAAS; SOCs provide security management visibility for status (upward visibility) and tactical implementation (downward visibility).
Workflows within the SOC are automated using automation tooling and enrichment occurs between service providers and
technologies. | In the event a CNDSP does not exist, DoD organizations define and stand up SOCs to deploy, operate, and maintain security monitoring, protections and response for DAAS; SOCs provide security management visibility for status (upward visibility) and tactical implementation (downward visibility) | Standardized, coordinated, and accelerated incident response and investigative efforts | * Workflow Enrichment Pt1
* Workflow Enrichment Pt2
* Workflow Enrichment Pt3
* Automated Workflow |\r\n| 7.1 | Log All Traffic (Network, Data, Apps, Users) | 7 - Visibility and Analytics | DoD organizations collect and process all logs including network, data, application, device, and user logs and make those logs available to the appropriate Computer Network Defense Service Provider (CNDSP) or security operations center (SOC). Logs and events follow a standardized format and rules/analytics are
developed as needed. | DoD organizations collect and process all logs including network, data, application, device, and user logs and make those logs available to the appropriate Computer Network Defense Service Provider (CNDSP) or SOC | Foundational to the development of automated hunt and incident response playbooks | * Scale Considerations
* Log Parsing
* Log Analysis |\r\n| 7.2 | Security Information and Event Management (SIEM) | 7 - Visibility and Analytics | Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) monitor, detect, and analyze data logged into a security information and event management (SIEM) tool.
User and device baselines are created using security controls and integrated with the SIEM. Alerting within the SIEM is matured over the phases to support more advanced data points (e.g., Cyber Threat Intel, Baselines, etc.) | CNDSPs/SOCs monitor, detect, and analyze data logged into a security information and event management (SIEM) tool | Processing and exploiting data in the SIEM enables effective security analysis of anomalous user behavior, alerting, and automation of relevant incident response to common threat events | * Threat Alerting Pt1
* Threat Alerting Pt2
* Threat Alerting Pt3
* Asset ID & Alert Correlation
* User/Device Baselines |\r\n| 7.3 | Common Security and Risk Analytics | 7 - Visibility and Analytics | Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) employ data tools across their enterprises for multiple data types to unify data collection and examine events, activities, and behaviors. | CNDSPs/SOCs employ big data tools across their enterprises for multiple data types to unify data collection and examine events, activities, and behaviors | Analysis integrated across multiple data types to examine event, activities, and behaviors | * Implement Analytics Tools
* Establish User Baseline Behavior |\r\n| 7.4 | User and Entity Behavior Analytics | 7 - Visibility and Analytics | DoD organizations initially employ analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors and detect anomalies. Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) mature this capability through the employment of advanced analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors, and detect anomalies. | DoD organizations initially employ analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors, and detect anomalies. CNDSPs/SOCs mature this capability through the employment of advanced analytics to profile and baseline activity of users and entities and to correlate user activities and behaviors, and detect anomalies | Advanced analytics support detection of anomalous users, devices, and NPE actions and advanced threats | * Baseline & Profiling Pt1
* Baseline & Profiling Pt2
* UEBA Baseline Support Pt1
* UEBA Baseline Support Pt2 |\r\n| 7.5 | Threat Intelligence Integration | 7 - Visibility and Analytics | Computer Network Defense Service Provider (CNDSP) or security operations centers (SOC) integrate threat intelligence information and streams about identities, motivations, characteristics, and tactics, techniques and procedures (TTPs) with data collected in the SIEM. | CNDSPs/SOCs integrate threat intelligence information and streams about identities, motivations, characteristics, and tactics, techniques and procedures (TTPs) with data collected in the SIEM | Integrating threat intelligence into other SIEM data enhances monitoring efforts and incident response | * Cyber Threat Intelligence Program Pt1
* Cyber Threat Intelligence Program Pt2 |\r\n| 7.6 | Automated Dynamic Policies | 7 - Visibility and Analytics | DoD Organization ML & AI solutions dynamically and automatically update security profiles and device configuration through continuous security posture monitoring, risk and confidence scoring, and automated patch management. | CNDSPs/SOCs dynamically and automatically update security profiles and device configuration through continuous security posture monitoring, risk and confidence scoring, and automated patch
management | Users and NPEs are denied access based on automated, real-time security profiles based on external conditions and evolving risk and confidence scores | * AI-enabled Network Access
* AI-enabled Dynamic Access Control |", + "style": "info" + }, + "conditionalVisibility": { + "parameterName": "DoDZT", + "comparison": "isEqualTo", + "value": "Capabilities" + }, + "name": "ZTCapabilities" + }, + { + "type": 1, + "content": { + "json": "## DoD Zero Trust Activities (152) ##\r\n\r\n| ID# | Activity Name | Associated Capability | Phase | Duration (months) | Descriptions | Outcomes | Controls | Predecessor(s) | Successor(s) |\r\n|-------|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|-----------------|-------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|\r\n| 1.1.1 | Inventory User | 1.1 User Inventory | Target Level ZT | 25.9 | DoD Organizations establish and update a user inventory manually if needed, preparing for automated approach in later stages. Accounts both centrally managed by an IdP/ICAM and locally on systems will be identified and inventoried. Privileged accounts will be identified for future audit and both standard and privileged user accounts local to applications and systems will be identified for future migration and/or decommission. | Identified Managed Regular Users; Identified Managed Privileged Users; Identified applications using their own user account management for non-administrative and administrative accounts | | | |\r\n| 1.2.1 | Implement App Based Permissions per Enterprise | 1.2 Conditional User Access | Target Level ZT | 17.7 | The DoD enterprise working with the Organizations establishes a basic set of user attributes for authentication and authorization. These are integrated with the “Enterprise Identity Life-Cycle Management Pt1” activity process for a complete enterprise standard. The enterprise Identity, Credential and Access Management (ICAM) solution is enabled for self-service functionality for adding/updating attributes within the solution. Remaining Privileged Access Management (PAM) activities are fully migrated to PAM solution. | Enterprise roles/attributes needed for user authorization to application functions and/or data have been registered with enterprise ICAM; DoD Enterprise ICAM has self-service attribute/role registration service that enables application owners to add attributes or use existing enterprise attributes; Privileged activities are fully migrated to PAM | | | |\r\n| 1.2.2 | Rule Based Dynamic Access Pt1 | 1.2 Conditional User Access | Target Level ZT | 22.1 | DoD Organizations utilize the rules from the “Periodic Authentication” activity to build basic rules enabling and disabling privileges dynamically. High-risk user accounts utilize the PAM solution to move to dynamic privileged access using Just-In-Time access and Just-Enough Administration methods. | Access to application’s/service’s functions and/or data are limited to users with appropriate enterprise attributes; All possible applications use JIT/JEA permissions for administrative users | | Single Authentication | Rule Based Dynamic Access Pt2; AI- enabled Network Access |\r\n| 1.2.3 | Rule Based Dynamic Access Pt2 | 1.2 Conditional User Access | Advanced ZT | 15.5 | DoD Organizations expand the development of rules for dynamic access decision making accounting for risk. Solutions used for dynamic access are integrated with cross pillar Machine Learning and Artificial Intelligence functionality enabling automated rule management. | Components and services are fully utilizing rules to enable dynamic access to applications and services; Technology utilized for Rule Based Dynamic Access supports integration with AI/ML tooling | | Rule Based Dynamic Access Pt1; File Activity Monitoring Pt2 | |\r\n| 1.2.4 | Enterprise Gov't roles and Permissions Pt1 | 1.2 Conditional User Access | Advanced ZT | 11.6 | DoD Organizations federate remaining user and group attributes as appropriate to the Enterprise Identity, Credential and Access Management (ICAM) solution. The updated attribute set is used to create universal roles for Organizations to use. Core functions of the Identity Provider (IdP) and Identity, Credential and Access Management (ICAM) solutions are migrated to cloud services and/or environments enabling improved resilience and performance. | Component attribute and role data repository federated with enterprise ICAM; Cloud-based enterprise IdP can be used by cloud and on-premises applications; A standardized set of roles and permissions are created and aligned to attributes | | | Enterprise Gov't roles and Permissions Pt2 |\r\n| 1.2.5 | Enterprise Gov't roles and Permissions Pt2 | 1.2 Conditional User Access | Advanced ZT | 11.2 | DoD Organizations move all possible functions of the Identity Provider (IdP) and Identity, Credential and Access Management (ICAM) solutions to cloud environments. Enclave/DDIL environments local capabilities to support disconnected functions but ultimately are managed by the centralized Identity, Credential and Access Management (ICAM) solutions. Updated roles are now mandated for usage and exceptions are reviewed following a risk-based approach. | Majority of components utilize cloud IdP functionality Where possible on-prem IdP is decommissioned; Permissions and roles are mandated for usage when evaluating attributes | | Enterprise Gov't roles and Permissions Pt1 | |\r\n| 1.3.1 | Organizational MFA/IDP | 1.3 Multi-Factor Authentication (MFA) | Target Level ZT | 10.6 | DoD Organizations procure and implement a centralized Identity Provider (IdP) solution and Multi-Factor (MFA) solution. The IdP and MFA solution may be combined in a single application or separated as needed assuming automated integration is supported by both solutions. Both IdP and MFA support integration with the Enterprise PKI capability as well enabling key pairs to be signed by the trusted root certificate authorities. Mission/Task-Critical applications and services are utilizing the IdP and MFA solution for management of users and groups. | Component is using IdP with MFA for critical applications/services; Components have implemented an Identity Provider (IdP) that enables DoD PKI multifactor authentication; Organizational Standardized PKI for critical services | | | Alternative Flexible MFA Pt1 |\r\n| 1.3.2 | Alternative Flexible MFA Pt1 | 1.3 Multi-Factor Authentication (MFA) | Advanced ZT | 17.4 | DoD Organization’s Identity Provider (IdP) supports alternative methods of multi-factor authentication complying with Cyber Security requirements (e.g., FIPS 140-2, FIPS 197, etc.). Alternative tokens can be used for application-based authentication. Multi-Factor options support Biometric capability and can be managed using a self-service approach. Where possible multi-factor provider(s) is moved to cloud services instead of being hosted on-premise. | IdP provides user self-service alternative token; IdP provides alt token MFA for approved applications per policy | | Organizational MFA/IDP | Alternative Flexible MFA Pt2 |\r\n| 1.3.3 | Alternative Flexible MFA Pt2 | 1.3 Multi-Factor Authentication (MFA) | Advanced ZT | 14.6 | Alternative tokens utilize user activity patterns from cross pillar activities such as \"User Activity Monitoring (UAM) and User & Entity Behavior Analytics (UEBA)\" to assist with access decision making (e.g., not grant access when pattern deviation occurs). This functionality is further extended onto Biometric enabled alternative tokens as well. | User Activity Patterns Implemented | | Alternative Flexible MFA Pt1 | |\r\n| 1.4.1 | Implement System and Migrate Privileged Users Pt1 | 1.4 Privileged Access Management (PAM) | Target Level ZT | 12.4 | DoD Organizations procure and implement a Privileged Access Management (PAM) solution support all critical privileged use cases. Application/Service integration points are identified to determine status of support for the PAM solution. Applications/Services that easily integrate with PAM solution are transitioned over to using solution versus static and direct privileged permissions. | Privilege Access Management (PAM) tooling is implemented; applications and devices that support and do not support PAM tools identified; Applications that support PAM, now use PAM for controlling emergency/built-in accounts | MA-5 (1) individuals without appropriate access | | Implement System and Mitigate Privileged Users Pt2 |\r\n| 1.4.2 | Implement System and Migrate Privileged Users Pt2 | 1.4 Privileged Access Management (PAM) | Target Level ZT | 14.4 | DoD Organizations utilize the inventory of supported and unsupported Applications/Services for integration with privileged access management (PAM) solution to extend integrations. PAM is integrated with the more challenging Applications/Services to maximize PAM solution coverage. Exceptions are managed in a risk-based methodical approach with the goal of migration off and/or decommissioning Applications/Services that do not support PAM solution. | Privileged activities are migrated to PAM and access is fully managed | | Implement System and Mitigate Privileged Users Pt1 | Real time Approvals & JIT/JEA Analytics Pt1 |\r\n| 1.4.3 | Real time Approvals & JIT/JEA Analytics Pt1 | 1.4 Privileged Access Management (PAM) | Advanced ZT | 12.5 | Identification of necessary attributes (Users, Groups, etc.) are automated and integrated into the Privileged Access Management (PAM) solution. Privilege access requests are migrated to the PAM
solution for automated approvals and denials. | Identified accounts, applications, devices, and data of concern (of greatest risk to DoD mission); Using PAM tools, applied JIT/JEA access to high-risk accounts; Privileged
access requests are automated as appropriate | IA-12 (4) in-person validation and verification; AC-3 (14) individual access; CM-8 (4) accountability information; | Implement System and Mitigate Privileged Users Pt2 | Real time Approvals & JIT/JEA Analytics Pt2 |\r\n| 1.4.4 | Real time Approvals & JIT/JEA Analytics Pt2 | 1.4 Privileged Access Management (PAM) | Advanced ZT | 8.9 | DoD Organizations integrate User & Entity Behavior Analytics (UEBA) and User Activity Monitoring (UAM) solutions with the Privileged Access Management (PAM) solution providing user pattern analytics for decision making. | UEBA or similar analytic system integrated with PAM tools for JIT/JEA account approvals | IA-4 (5) dynamic management; AC-2 (6) dynamic account management | Real time Approvals & JIT/JEA Analytics Pt1 | |\r\n| 1.5.1 | Organizational Identity Life-Cycle Management | 1.5 Identity Federation & User Credentialing | Target Level ZT | 14.8 | DoD Organizations establish a process for life cycle management of users both privileged and standard. Utilizing the Organizational Identity Provider (IdP) the process is implemented and followed by the maximum number of users. Any users who fall outside of the standard process are approved through risk-based exceptions to be evaluated regularly for decommission. | Standardized Identity Lifecycle Process | MA-5 (1) individuals without appropriate access | | Enterprise Identity Life-cycle Management Pt1 |\r\n| 1.5.2 | Enterprise Identity Life- Cycle Management Pt1 | 1.5 Identity Federation & User Credentialing | Target Level ZT | 11.7 | The DoD Enterprise works with Organizations to review and align the existing Identity Lifecycle Processes, policy, and standards. A finalized agreed upon policy and supporting process are developed and followed by the DoD Organizations. Utilizing the centralized or federated Identity Provider (IdP) and Identity & Access Management (IdAM) solutions, DoD Organizations implement the Enterprise Lifecycle Management process for the maximum number of identities, groups, and permissions. Exceptions to the policy are managed in a risk based methodical approach. | Automated Identity Lifecycle Processes; Integrated with Enterprise ICAM process and tools | | Organization Identity Life-cycle Management | Enterprise Identity Life-cycle Management Pt2 |\r\n| 1.5.3 | Enterprise Identity Life- Cycle Management Pt2 | 1.5 Identity Federation & User Credentialing | Advanced ZT | 12.8 | DoD Organizations further integrate the critical automation functions of the Identity Provider (IdP) and Identity, Credential and Access Management (ICAM) solutions following the Enterprise Lifecycle Management process to enable Enterprise automation and analytics.
Identity Lifecycle Management primary processes are integrated into
the cloud-based Enterprise ICAM solution. | Integration w/ Critical IDM/IDP functions; Primary ILM functions are cloud based | | Enterprise Identity Life-cycle Management Pt1 | Enterprise Identity Life-cycle Management Pt3 |\r\n| | | | | | | | | | |\r\n| 1.5.4 | Enterprise Identity Life- Cycle Management Pt3 | 1.5 Identity Federation & User Credentialing | Advanced ZT | 9.2 | DoD Organizations integrate remaining Identity Lifecycle Management processes with the Enterprise Identity, Credential and Access Management solution. Enclave/DDIL environments while still authorized to operate integrate with the Enterprise ICAM using local connectors to the cloud environment. | All ILM functions moved to cloud as appropriate; Integration with all IDM/IDP functions | | Enterprise Identity Life-cycle Management Pt2 | |\r\n| 1.6.1 | Implement User & Entity Behavior Activity (UEBA) and User Activity Monitoring (UAM) Tooling | 1.6 Behavioral, Contextual ID, and
Biometrics | Target Level ZT | 15.9 | DoD Organizations procure and implement User & Entity Behavior Analytics (UEBA) and User Activity Monitoring (UAM) solutions. Initial integration point with Enterprise IdP is completed enabling future usage in decision making. | UEBA and UAM functionality is implemented for Enterprise IDP | | | Establish User Baseline Behavior; Baseline & Profiling Pt1 |\r\n| 1.6.2 | User Activity Monitoring Pt1 | 1.6 Behavioral, Contextual ID, and
Biometrics | Advanced ZT | 13.5 | DoD Organizations integrate User & Entity Behavior Analytics (UEBA) and User Activity Monitoring (UAM) solutions with Organizational Identity Providers (IdP) for extended visibility as needed. Analytics and data generated by UEBA and UAM for critical applications/services are integrated with the Just-in-Time and Just-Enough-Access solution improving decision making further. | UEBA is integrated with Org IDPs as appropriate; UEBA is integrated with JIT/JEA for critical services | | User/Device Baselines | User Activity Monitoring Pt2 |\r\n| 1.6.3 | User Activity Monitoring Pt2 | 1.6 Behavioral, Contextual ID, and
Biometrics | Advanced ZT | 11.2 | DoD Organizations continue the analytics usage from User & Entity Behavior Analytics (UEBA) and User Activity Monitoring (UAM) solutions by using generated data for all monitored applications and services when decision making occurs in the Just-in-Time and Just- Enough-Access solution. | UEBA/Entity Monitoring is integrated with JIT/JEA for all services | | User Activity Monitoring Pt1 | Real-Time Access Decisions; AI- enabled Dynamic Access Control; Enrich Attributes for Resource Authorization Pt1; AI-enabled Network Access |\r\n| 1.7.1 | Deny User by Default Policy | 1.7 Least Privileged Access | Target Level ZT | 22.7 | DoD Organizations audit internal user and group usage for permissions and revoke permissions when possible. This activity includes the revocation and/or decommission of excess permissions and access for application/service-based identities and groups. Where possible static privileged users are decommissioned or reduced permissions preparing for future rule/dynamic based access. | Applications updated to deny by default to functions/data requiring specific roles/attributes for access; Reduced default permissions levels are implemented; Applications/services have reviewed/audited all privileged users and removed those users who do not need that level of access; Applications' identify functions and data requiring specific roles/attributes for access | AC-17 (10) authenticate remote commands; SC-7 (15) networked privileged access | | |\r\n| 1.8.1 | Single Authentication | 1.8 Continuous Authentication | Target Level ZT | 19.2 | DoD Organizations employ basic authentication processes to authenticate users and NPEs at least once per session (e.g., logon). Importantly users being authenticated are managed by the parallel activity “Organizational MFA/IDP” with the Organizational Identity Provider (IdP) versus using application/service-based identities and groups. | Authentication implemented across applications per session | | | Periodic Authentication; Rule Based Dynamic Access Pt1 |\r\n| 1.8.2 | Periodic Authentication | 1.8 Continuous Authentication | Target Level ZT | 25.4 | DoD Organizations enable period authentication requirements for applications and services. Traditionally these are based on duration and/or duration timeout but other period based analytics can be used to mandate re-authentication of user sessions. | Authentication implemented multiple times per session based on security attributes | | Single Authentication | Continuous Authentication Pt1; AI- enabled Network Access |\r\n| 1.8.3 | Continuous Authentication Pt 1 | 1.8 Continuous Authentication | Advanced ZT | 16.8 | DoD Organizations’ applications/service utilize multiple session authentications based on security attributes and access requested. Privilege changes and associational transaction requests required additional levels of authentication such as Multi-Factor Authentication (MFA) pushes to users. | Transaction authentication implemented per session based on security attributes | | Periodic Authentication | Continuous Authentication Pt2 |\r\n| 1.8.4 | Continuous Authentication Pt 2 | 1.8 Continuous Authentication | Advanced ZT | 16.8 | DoD Organizations continue usage of transaction-based authentication to include integration such as user patterns. | Transaction authentication implemented per session based on security attributes | | Continuous Authentication Pt1 | Real-Time Access Decisions; AI- enabled Dynamic Access Control |\r\n| 1.9.1 | Enterprise PKI/IDP Pt1 | 1.9 Integrated ICAM Platform | Target Level ZT | 12.4 | The DoD Enterprise works with Organizations to implement Enterprise Public Key Infrastructure (PKI) and Identity Provider (IdP) solutions in a centralized and/or federated fashion. The Enterprise PKI solution utilizes a single or set of Enterprise level Root Certificate Authorities (CA) which can then be trusted by Organizations to build Intermediate CA’s off. The Identity Provider solution may either be a single solution or federated set of Organizational IdPs with standard level of access across Organizations and standardized set of attributes. Organizations’ IdPs and PKI Certificated Authorities are integrated with the Enterprise IdP and PKI solutions. | Components are using IdP with MFA for all applications/services; Organizational MFA/PKI integrated with Enterprise MFA/PKI; Organizational Standardized PKI for all services | | | Enterprise PKI/IDP Pt2 |\r\n| 1.9.2 | Enterprise PKI/IDP Pt2 | 1.9 Integrated ICAM Platform | Advanced ZT | 27.2 | DoD Organizations enable Biometric support in the Identity Provider (IdP) for mission/task-critical applications and services as appropriate. Biometric functionality is moved from Organizational solutions to the Enterprise. Organizational Multi-Factor (MFA) and Public Key Infrastructure (PKI) is decommissioned and migrated to the Enterprise as appropriate. | Critical Organizational Services Integrated w/ Biometrics; Decommission organizational MFA/PKI as appropriate in leu of enterprise MFA/PKI; Enterprise Biometric Functions Implemented | | Enterprise PKI/IDP Pt1 | Enterprise PKI/IDP Pt3 |\r\n| 1.9.3 | Enterprise PKI/IDP Pt3 | 1.9 Integrated ICAM Platform | Advanced ZT | 30.0 | DoD Organizations integrate the remaining applications/services with Biometrics functionalities. Alternative Multi-Factor (MFA) tokens can be used. | All Organizational Services Integrate w/ Biometrics | | Enterprise PKI/IDP Pt2 | |\r\n| 2.1.1 | Device Health Tool Gap Analysis | 2.1 Device Inventory | Target Level ZT | 9.8 | DoD Organizations develop a manual inventory of devices within the environment. Device attributes tracked in the inventory enable functionality outlined in the ZTA target level. | Manual inventory of devices is created per organization w/ owners | | | |\r\n| 2.1.2 | NPE/PKI, Device under Management | 2.1 Device Inventory | Target Level ZT | 22.8 | DoD Organizations utilize the DoD Enterprise PKI solution/service to deploy x509 certificates to all supported and managed devices. Additional other Non-Person Entities (NPEs) that support x509
certificates are assigned in the PKI and/or IdP systems. | Non-person entities are managed via Org PKI and Org IDP | | Enterprise Device Management Pt1 | Implement C2C/Compliance Based Network Authorization Pt1; Enterprise PKI Pt1; Deny Device by
Default Policy |\r\n| 2.1.3 | Enterprise IDP Pt1 | 2.1 Device Inventory | Target Level ZT | 12.8 | The DoD Enterprise Identity Provider (IdP) either using a centralized technology or federated organizational technologies integrates Non- Person Entities (NPEs) such as devices and service accounts.
Integration is tracked in the Enterprise Device Management solution when applicable as to whether it is integrated or not. NPEs not able to be integrated with the IdP are either marked for retirement or
excepted using a risk based methodical approach. | NPEs including devices are integrated with Enterprise IDP | IA-3 (4) device attestation | | Enterprise IDP Pt2 |\r\n| 2.1.4 | Enterprise IDP Pt2 | 2.1 Device Inventory | Advanced ZT | 8.8 | The DoD Enterprise Identity Provider (IdP) either using a centralized technology or federated organizational technologies adds additional dynamic attributes for NPEs such as location, usage patterns, etc. | Conditional device attributes are part of the IdP profile | | Enterprise IDP Pt1 | |\r\n| 2.2.1 | Implement C2C/Compliance Based Network Authorization Pt1 | 2.2 Device Detection and Compliance | Target Level ZT | 9.4 | The DoD Enterprise working with the Organizations develops a policy, standard and requirements for Comply to Connect. Once agreement is reached solution procurement is started, a vendor(s) is selected, and implementation begins with base level functionality in ZT Target environments (low risk). Base level checks are implemented in the new Comply to Connection solution enabling the ability to meet ZTA target functionalities. | C2C is enforced at the enterprise level for low risk and testing environments; Basic devices checks are implemented using C2C | AC-20 (5) network accessible storage devices – prohibited use | NPE/PKI Device Under Management; Integrate NextGen AV Tools with C2C; Managed and Limited BYOD & IOT Support; Implement Asset, Vulnerability and Patch Management Tools | Implement C2C/Compliance Based Network Authorization Pt2 |\r\n| 2.2.2 | Implement C2C/Compliance Based Network Authorization Pt2 | 2.2 Device Detection and Compliance | Advanced ZT | 18.2 | DoD Organizations expand the deployment and usage of Comply to Connect to all supported environments required to meet ZT advanced functionalities. Comply to Connect teams integrate their solution(s) with the Enterprise IdP and Authorization Gateways to better manage access and authorizations to resources. | C2C is enforced in all supported environments; Advanced devices checks are completed and integrated with dynamic access (Enterprise IDP / ZTNA) | | Implement C2C/Compliance Based Network Authorization Pt1; Fully Integrate Device Security Stack w/ C2C as appropriate | Real-Time Access Decisions |\r\n| 2.3.1 | Entity Activity Monitoring Pt1 | 2.3 Device Authorization w/ Real Time Inspection | Advanced ZT | 16.4 | Using the developed User and Device baselines, DoD Organizations utilize the implemented User and Entity Behavioral Activity (UEBA) solution to integrate baselines. UEBA device attributes and baselines are available to be used for device authorization detections. | UEBA attributes are integrated for device baselining; UEBA attributes are available for usage with device access | | User/Device Baselines; Implement User & Entity Behavior Activity (UEBA); User Activity Monitoring Tooling | Entity Activity Monitoring Pt2 |\r\n| 2.3.2 | Entity Activity Monitoring Pt2 | 2.3 Device Authorization w/ Real Time Inspection | Advanced ZT | 16.7 | DoD Organizations utilize the User and Entity Behavioral Activity (UEBA) solution with network access solutions to mandate UEBA attributes (e.g., device health, logon patterns, etc.) for accessing environments and resources. | UEBA attributes are mandated for device access | | Entity Activity Monitoring Pt1 | Real-Time Access Decisions; AI- enabled Dynamic Access Control; Enrich Attributes for Resource Authorization Pt1; AI-enabled Network Access |\r\n| 2.3.3 | Implement Application Control & File Integrity Monitoring (FIM) Tools | 2.3 Device Authorization w/ Real Time Inspection | Target Level ZT | 16.2 | DoD Organizations procure and implement File Integrity Monitoring (FIM) and Application Control solutions. FIM continues development and expansion of monitoring in the Data Pillar. Application Control is deployed to low-risk environments in a monitor only mode establishing baseline allowances. Application control teams being integration with the Enterprise and Organization PKI environments utilize certificates for application allowances. NextGen AV covers all possible services and applications. | AppControl and FIM tooling is implemented on all critical services/applications; EDR tooling covers maximum amount of services/applications; AppControl and FIM data is sent to C2C as needed | | | |\r\n| 2.3.4 | Integrate NextGen AV Tools with C2C | 2.3 Device Authorization w/ Real Time Inspection | Target Level ZT | 18.5 | DoD Organizations procure and implement Next Generation Anti-Virus & Anti-Malware solutions as needed. These solutions are integrated with the initial deployment of Comply to Connect for baseline status checks of signatures, updates, etc. | Critical NextGen AV data is being sent to C2C for checkslll;
NextGen AV tooling is implemented on all critical
services/applicationslll | | | Implement C2C/Compliance Based Network Authorization Pt1 |\r\n| 2.3.5 | Fully Integrate Device Security stack with C2C as appropriate | 2.3 Device Authorization w/ Real Time Inspection | Advanced ZT | 13.3 | DoD Organizations continue the deployment of Application Control to all environments and in prevention mode. File Integrity Monitoring (FIM) and Application Controls analytics are integrated into Comply to Connect for expanded access decision making data points. Comply to Connect analytics are evaluated for further device/endpoint security stack data points such as UEDM and are integrated as necessary. | AppControl and FIM deployment is expanded to all necessary services/applications; Remaining data from Device Security tooling is implemented with C2C | | | Implement C2C/Compliance Based Network Authorization Pt2; Managed and Full BYOD & IOT Support Pt2 |\r\n| 2.3.6 | Enterprise PKI Pt1 | 2.3 Device Authorization w/ Real Time Inspection | Advanced ZT | 22.7 | The DoD Enterprise Public Key Infrastructure (PKI) is expanded to include the addition of NPE and device certificates. NPEs and device that do not support PKI certificates are marked for retirement and decommission starts. | Devices that are unable to have certificates are phased out and/or moved to minimal access environments; All devices and NPEs have certs installed for authentication in the Enterprise PKI | | Implement UEDM or equivalent Tools; NPE/PKI Device Under Management | Enterprise PKI Pt2 |\r\n| 2.3.7 | Enterprise PKI Pt2 | 2.3 Device Authorization w/ Real Time Inspection | Advanced ZT | 10.5 | DoD Organizations utilize certificates for device authentication and machine to machine communications. Unsupported devices complete retirement and exceptions are approved using a risk based methodical approach. | Devices are required to authenticate to communicate with other services and devices | | Enterprise PKI Pt1 | |\r\n| 2.4.1 | Deny Device by Default Policy | 2.4 Remote Access | Target Level ZT | 9.6 | DoD Organizations block all unmanaged remote and local device access to resources. Compliant managed devices are provided risk based methodical access following ZTA target level concepts. | Components can block device access by default to resources (apps/data) and explicitly allow compliant devices per policy; Remote Access is enabled following a \"deny device by default policy\" approach | | NPE/PKI Device Under Management | |\r\n| 2.4.2 | Managed and Limited BYOD & IOT Support | 2.4 Remote Access | Target Level ZT | 39.7 | DoD Organizations utilize Unified Endpoint and Device Management (UEDM) and similar solutions to ensure that managed Bring Your Own Device (BYOD) and Internet of Things (IoT) devices are fully integrated with Enterprise IdP enable user and device-based authorization are supported. Device access for all applications requires dynamic access policies. | All applications require dynamic permissions access for devices; BYOD and IOT device permissions are baselined and integrated with Enterprise IDP | | | Implement C2C/Compliance Based Network Authorization Pt1; Managed and Full BYOD & IOT Support Pt1 |\r\n| 2.4.3 | Managed and Full BYOD & IOT Support Pt1 | 2.4 Remote Access | Advanced ZT | 24.7 | DoD Organizations utilize Unified Endpoint and Device Management (UEDM) and similar solutions to enable access for managed and approved devices to Mission and Operational Critical services/applications using dynamic access policies. BYOD and Internet of Things (IoT) devices are required to meet standard baseline checks before authorization. | Only BYOD and IOT devices that meet mandated configuration standards allowed to access resources; Critical Services require dynamic access for devices | | Managed and Limited BYOD & IOT Support | Managed and Full BYOD & IOT Support Pt2 |\r\n| 2.4.4 | Managed and Full BYOD & IOT Support Pt2 | 2.4 Remote Access | Advanced ZT | 24.6 | DoD Organizations utilize Unified Endpoint and Device Management (UEDM) and similar solutions to enable access for unmanaged devices meeting device checks and standard baselines. All possible services/applications are integrated to allow access to managed devices. Unmanaged devices are integrated with services/applications based on risk driven methodical authorization approach. | All possible services require dynamic access for deviceslll | | Fully Integrate Device Security Stack w/ C2C as appropriate; Managed and Full BYOD & IOT Support Pt1 | |\r\n| 2.5.1 | Implement Asset, Vulnerability and Patch Management Tools | 2.5 Partially & Fully Automated Asset,
Vulnerability and Patch Management | Target Level ZT | 18.4 | DoD Organizations implement solution(s) for managing assets/devices configurations, vulnerabilities, and patches. Using minimum compliance standards (e.g., STIGs, etc.) teams can confirm or deny managed device compliance. As part of the procurement and implementation process for solutions, APIs or other programmatic interfaces will be in scope for future levels of automation and integration. | Components can confirm if devices meet minimum compliance standards or not; Components have asset management, vulnerability, and patching systems with APIs that will enable integration across the systems | | | Implement C2C/Compliance Based Network Authorization Pt1 |\r\n| 2.6.1 | Implement UEDM or equivalent Tools | 2.6 Unified Endpoint Management (UEM) &
Mobile Device Management (MDM) | Target Level ZT | 18.1 | DoD Organizations will work closely with the “Implement Asset, Vulnerability, and Patch Management tools” activity to procure and implement and Unified Endpoint and Device Management (UEDM) solution ensuring that requirements are integrated with the procurement process. Once a solution is procured the UEDM team(s) ensure that critical ZT target functionalities such as minimum compliance, asset management, and API support are in place. | Components can confirm if devices meet minimum compliance standards or not; Components have asset management system(s) for user devices (phones, desktops, laptops) that maintains IT compliance, which is reported up to DoD enterprise; Components asset management systems can programmatically, i.e., API, provide device compliance status and if it meets minimum standards | AC-7 (2) purge or wipe mobile device | | Enterprise PKI Pt1 |\r\n| 2.6.2 | Enterprise Device Management Pt1 | 2.6 Unified Endpoint Management (UEM) &
Mobile Device Management (MDM) | Target Level ZT | 17.6 | DoD Organizations migrate the manual device inventory to an automated approach using the Unified Endpoint and Device Management solution. Approved devices are able to be managed regardless of location. Devices part of critical services are mandated to be managed by the Unified Endpoint and Device Management solution supporting automation. | Manual inventory is integrated with an automated management solution for critical services; Enable ZT Device Management (from any location with or without remote access) | | | NPE/PKI Device Under Management; Enterprise Device Management Pt2 |\r\n| 2.6.3 | Enterprise Device Management Pt2 | 2.6 Unified Endpoint Management (UEM) &
Mobile Device
Management (MDM) | Target Level ZT | 12.6 | DoD Organizations migrate the remaining devices to Enterprise Device Management solution. EDM solution is integrated with risk and compliance solutions as appropriate. | Manual inventory is integrated with an automated management solution for all services | | Enterprise Device Management Pt1 | |\r\n| 2.7.1 | Implement Endpoint Detection & Response (EDR) Tools and Integrate with C2C | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Target Level ZT | 16.5 | DoD Organizations procure and implement Endpoint Detection and Response (EDR) solution(s) within environments. EDR is protecting, monitoring, and responding to malicious and anomalous activities enabling ZT Target functionality and is sending data to the Comply to Connection solution for expanded device and user checks. | Endpoint Detection & Response Tooling is implemented ; Critical EDR data is being sent to C2C for checks; NextGen AV tooling covers maximum amount of services/applications | | | Implement Extended Detection & Response (XDR) & Integrate w/ C2C Pt 1 |\r\n| 2.7.2 | Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt1 | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Target Level ZT | 19.2 | DoD Organizations procure and implement Extended Detection & Response (XDR) solution(s). Integration points with cross pillar capabilities are identified and prioritized based on risk. The riskiest of these integration points are actioned and integration is started. EDR continues coverage of endpoints to include the maximum number of services and applications as part of the XDR implementation. Basic analytics are sent from the XDR solution stack to the SIEM. | Integration Points have been identified per Capability; Riskiest integration points have been integrated w/ XDR; Basic alerting is in place with SIEM and/or other mechanisms | | Implement Endpoint Detection & Response (EDR) Tools & Integrate w/ C2C; Threat Alerting Pt1 | Implement Extended Detection & Response (XDR) & Integrate w/ C2C Pt 2 |\r\n| 2.7.3 | Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt2 | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Advanced ZT | 19.9 | XDR solution stack completes identification of integration points expanding coverage to the fullest amount possible. Exceptions are tracked and managed using a risk based methodical approach for continued operation. Extended analytics enabling ZT Advanced functionalities are integrated into the SIEM and other appropriate solutions. | Remaining integration points have been integrate as appropriate; Extended alerting and response is enabled with other Analytics tools at least using SIEM | | Implement Extended Detection & Response (XDR) & Integrate w/ C2C Pt 1 | Threat Alerting Pt3 |\r\n| 3.1.1 | Application/Code Identification | 3.1 Application Inventory | Target Level ZT | 16.7 | DoD Organizations create an inventory of approved applications and code (e.g., source code, libraries, etc.). Each organization will track the supportability (i.e., active, legacy, etc.) and hosted location (i.e., cloud, on-premise, hybrid, etc.) at least in the inventory. | Component has identified applications and classified as either legacy, virtualized on-premises, and cloud hosted | | | |\r\n| 3.1.2 | Resource Authorization Pt1 | 3.4 Resource Authorization &
Integration | Target Level ZT | 18.5 | The DoD Enterprise standardizes on resource authorization approaches (e.g., Software Defined Perimeter) with the organizations. At a minimum the resource authorization gateways will be integrated with identities and devices. Organizations deploy approved resource authorization gateways and enable for external facing applications/services. Additional applications for migration and applications unable to be migrated are identified for exception or decommission. | Resource Authorization Gateway is in place for external facing applications; Resource Authorization policy integrated with identity and device; Enterprise-wide Guidance on conversion standards are communicated to stakeholders | | NPE/PKI, Device under Management
Datacenter Macro segmentation | Resource Authorization Pt2 |\r\n| 3.1.3 | Resource Authorization Pt2 | 3.4 Resource Authorization &
Integration | Target Level ZT | 20.6 | Resource authorization gateways are used for all possible applications/services. Application unable to utilize gateways are either decommissioned or excepted using a risk based methodical approach.
Authorizations are further integrated with the CI/CD pipeline for automated decision making. | Resource Authorization gateway is utilized for all applications; Resource Authorization is integrated with DevSecOps and CI/CD for automated functions | | Resource Authorization Pt1 | |\r\n| 3.2.1 | Build DevSecOps Software Factory Pt1 | 3.2 Secure Software Development &
Integration | Target Level ZT | 19.3 | The DoD enterprise creates the foundational standards for modern DevSecOps processes and CI/CD pipelines. The concepts are applied in a standardized technology stack across DoD organizations able to meet future Application Security requirements. An enterprise-wide Vulnerability Management program is integrated with the CI/CD pipelines following the Vulnerability Management Program activities. | Developed Data/Service Standards for DevSecOps; CI/CD Pipeline is fully functional and tested successfully; Vulnerability Management program is officially in place and operating | SC-3 (3) minimize nonsecurity functionality | | Build DevSecOps Software Factory Pt2 |\r\n| 3.2.2 | Build DevSecOps Software Factory Pt2 | 3.2 Secure Software Development &
Integration | Target Level ZT | 10.8 | DoD Organizations will use their approved CI/CD pipelines to develop most new applications. Any exceptions will follow a standardized approval process to be allowed to develop in a legacy fashion.
DevSecOps processes are also used to develop all new applications and update existing applications. Continual validation functions are integrated into the CI/CD pipelines and DevSecOps processes and
integrated with existing applications. | Development of applications is migrated to CI/CD pipeline; Continual validation process/technology is implemented and in use; Development of applications is migrated to DevSecOps process and technology | AC-6 (4) separate processing domains; CM 7 (6) confined environments with limited privileges | Build DevSecOps Software Factory Pt1 | Continuous Authorization to Operate (cATO) Pt1 |\r\n| 3.2.3 | Automate Application Security & Code Remediation Pt1 | 3.2 Secure Software Development &
Integration | Target Level ZT | 18.0 | A standardized approach to application security including code remediation is implemented across the DoD enterprise. Part one (1) of this activity includes the integration of a Secure API gateway with applications utilizing API or similar calls. Code reviews are conducted in a methodical approach and standardized protections for containers and their infrastructure are in place. Additionally, any serverless functions where the 3rd party manages the infrastructure such as Platform as a Service utilize adequate serverless security monitoring and response functions. Code Reviews, Container and Serverless security functions are integrated into the CI/CD and/or DevSecOps process appropriate. | Secure API Gateway is operational and majority of API calls are passing through gateway; Application Security functions (e.g., code review, container and serverless security) are implemented as part of CI/CD and DevSecOps | SI-7 (12) integrity verification; SI-7 (15) code authentication; SC-7 (21) isolation of system components; | Implement Asset, Vulnerability and Patch Management Tools | Automate Application Security & Code Remediation Pt2; REST API Micro-Segments |\r\n| 3.2.4 | Automate Application Security & Code Remediation Pt2 | 3.2 Secure Software Development &
Integration | Advanced ZT | 16.2 | DoD Organizations modernize approaches to delivering internally developed and managed services following best practice approaches such as Microservices. These approaches will enable more resilient and secure architectures by allowing for quicker changes to code in each microservice as security issues are discovered. Further advancement security remediation activities continue across the DoD Enterprise with the inclusion of runtime security functions for containers as appropriate, automated vulnerable library updates and automated CI/CD approvals during the release process. | Secure API Gateway is operational and majority of API calls are passing through gateway; Services are provided following a Service Oriented Architecture (SOA); Security Remediation activities (e.g., runtime security, library updates, release approvals) are fully automated | CM-7 (7) code execution in protected environments; CM-14 Signed Components; SI-7 (17) runtime application self-protection | Automate Application Security & Code Remediation Pt1 | |\r\n| 3.3.1 | Approved Binaries/Code | 3.3 Software Risk Management | Target Level ZT | 23.4 | The DoD enterprise uses best practice approaches to manage approved binaries and code in a methodical approach. These approaches will include supplier sourcing risk management, approved repository usage, bill of materials supply chain risk management, and industry standard vulnerability management. | Supplier sourcing risk evaluated and identified for approved sources; Repository and update channel established for use by development teams; Bill of Materials is created for applications identify source, supportability and risk posture; Industry standard (DIB) and approved vulnerability databases are pulled in to be used in DevSecOps | SI-19 (7) validated algorithms and software | Vulnerability Management Program Pt1 | |\r\n| 3.3.2 | Vulnerability Management Program Pt1 | 3.3 Software Risk Management | Target Level ZT | 7.8 | The DoD Enterprise works with Organizations to establish and manage a Vulnerability Management program. The program includes a policy and standards agreed upon by all Organizations. The developed program includes at a minimum the track and management of public vulnerabilities based on DoD applications/services. Organizations establish a vulnerability management team with key stakeholders where vulnerabilities are discussed and managed following the Enterprise policy and standards. | Vulnerability Management Team is in place w/ appropriate stakeholder membership; Vulnerability Management policy and process is in place and agreed to w/ stakeholders; Public source of vulnerabilities are being utilized for tracking | SA-11 (2) threat modeling and vulnerability analyses | | Approved Binaries/Code; Vulnerability Management Program Pt2 |\r\n| 3.3.3 | Vulnerability Management Program Pt2 | 3.3 Software Risk Management | Target Level ZT | 12.1 | Processes are established at the DoD Enterprise level for managing the disclosure of vulnerabilities in DoD maintained/operated services both publicly and privately accessible. DoD Organizations expand the vulnerability management program to track and manage closed vulnerability repositories such as DIB, CERT, and others. | Controlled (e.g., DIB, CERT) sources of vulnerabilities are being utilized for tracking; Vulnerability management program has a process for accepting external/public disclosures for managed services | | Vulnerability Management Program Pt1 | Automate Application Security & Code Remediation Pt1 |\r\n| 3.3.4 | Continual Validation | 3.3 Software Risk Management | Target Level ZT | 11.1 | DoD Organizations will implement a continual validation approach for application development where parallel deployment is conducted and integrated with an approved environment level (e.g., UAT, Prod).
Applications unable to integrate continual validation into their CI/CD process are identified and exceptions are provided as needed using a methodical approach. | Updated Applications are deployed in a live and/or production environment; Applications that were marked for retirement and transition are decommissioned; Continual validation tools are implemented and applied to code in the CI/CD pipeline; Code requiring continuous validation is identified and validation criteria are established | | | |\r\n| 3.4.1 | SDC Resource Authorization Pt1 | 3.4 Resource Authorization &
Integration | Target Level ZT | 31.1 | The DoD Enterprise provides a standardized approach for code based compute management (i.e., Software Defined Compute) following industry best practices. Using risk-based approaches baselines are created using the approved set of code libraires and packages. DoD Organizations work with the approved code/binaries activities to ensure that applications are identified which can and cannot support the approach. Applications which can support a modern software- based configuration and management approaches are identified and transitioning begins. Applications which cannot follow software-based configuration and management approaches are identified and allowed through exception using a methodical approach. | Applications unable to be updated to use approved binaries/code are marked for retirement and transition plans are created; Identified applications without approved binaries and code are updated to use approved binaries/code; Enterprise-wide Guidance on conversion standards are communicated to stakeholders | | | SDC Resource Authorization Pt2 |\r\n| 3.4.2 | SDC Resource Authorization Pt2 | 3.4 Resource Authorization &
Integration | Target Level ZT | 21.8 | Applications which support software-based configuration and management have been transitioned to a production/live environment and are in normal operations. Where possible applications which cannot support software-based configuration and management are decommissioned. | Updated Applications are deployed in a live and/or production environment; Applications that were marked for retirement and transition are decommissioned | | SDC Resource Authorization Pt1 | |\r\n| 3.4.3 | Enrich Attributes for Resource Authorization Pt1 | 3.4 Resource Authorization &
Integration | Advanced ZT | 17.6 | Initial attributes from sources such as User and Entity Activity Monitoring, Micro-segmentation services, DLP and DRM are integrated into the Resource Authorization technology stack and policy. Any additional attributes for later integration are identified and planned.
Attributes are used to create basic risk posture of users, NPEs and devices allowing for authorization decisions. | Most API calls are passing through the Secure API Gateway; Resource Authorization receives data from Analytics Engine; Authorization policies incorporate identified attributes in making authorization decisions; Attributes to be used for initial enrichment are identified; Identified attributes are assigned to resources and/or entities | SC-3 (2) access and flow control functions | User Activity Monitoring Pt2; Entity Activity Monitoring Pt2; Application & Device Micro segmentation; Manual Data Tagging Pt2; DLP Enforcement via Data Tags and Analytics Pt2; DRM Enforcement via Data Tags and Analytics Pt2 | Enrich Attributes for Resource Authorization Pt2 |\r\n| 3.4.4 | Enrich Attributes for Resource Authorization Pt2 | 3.4 Resource Authorization &
Integration | Advanced ZT | 17.8 | Extended identified attributes are integrated with the resource authorization technology and policy. Confidence scoring is introduced across the attributes to create a more advanced method of
authorization decision making in an automated fashion. | Authorization policies incorporate confidence levels in making authorization decisions; Confidence levels for attributes are defined | | Enrich Attributes for Resource Authorization Pt1 | |\r\n| 3.4.5 | REST API Micro-Segments | 3.4 Resource Authorization &
Integration | Advanced ZT | 18.1 | Using the DoD Enterprise approved API gateway(s), application calls are micro-segmented only allowing authenticated and authorized access to specific destinations (e.g., microservices). When possible, API Micro-Segmentation consoles are integrated and aware of other Micro Segmentation consoles such as Software Defined Perimeter Controllers and/or Software Defined Networking Consoles. | Approved Enterprise APIs are Micro-Segmented appropriately | SC-39 (2) separate execution domain per thread | Automate Application Security & Code Remediation Pt1 | |\r\n| 3.5.1 | Continuous Authorization to Operate (cATO) Pt1 | 3.5 Continuous Monitoring and Ongoing
Authorizations | Advanced ZT | 15.1 | DoD Organizations utilize automation solutions within the environment to standardize the monitoring of controls and offer the capability to identify deviations. Where appropriate monitoring and testing is integrated with DevSecOps processes. | Controls derivation is standardized and ready for automation; Controls testing is integrated with DevSecOps processes and technology | | Policy Inventory & Development; Build DevSecOps Software Factory Pt2 | Continuous Authorization to Operate (ATO) Pt2 |\r\n| 3.5.2 | Continuous Authorization to Operate (cATO) Pt2 | 3.5 Continuous Monitoring and Ongoing
Authorizations | Advanced ZT | 21.8 | DoD Organizations fully automate control derivation, testing and monitoring processes. Deviations are automatically tested and resolved using existing cross pillar automation infrastructure. Dashboarding is used to monitor the status of authorizations and analytics are integrated with the responsible authorizing officials. | Controls testing is fully automated; Integration with standard IR and SOC operations is automated; Control derivation and applicability is fully automated; Dashboards are used to track continuing authorization status | | Continuous Authorization to Operate (ATO) Pt1; Threat Alerting Pt3; Automated Workflow | |\r\n| 4.1.1 | Data Analysis | 4.1 Data Catalog Risk Alignment | Target Level ZT | 17.4 | DoD Organizations update the service and application catalog(s) with data classifications. Data tags are also added to each service and
application. | The service catalog is updated with data types for each application and service based on data classification levels | | | |\r\n| 4.2.1 | Define Data Tagging Standards | 4.2 DoD Enterprise Data Governance | Target Level ZT | 15.8 | The DoD Enterprise works with organizations to establish data tagging and classification standards based on industry best practices.
Classifications are agreed upon and implemented in processes. Tags are identified as manual and automated for future activities. | Enterprise data classification and tagging standards are developed; Organizations align to enterprise standards and begin implementation | | | Implement Data Tagging & Classification Tools; Manual Data Tagging Pt1 |\r\n| 4.2.2 | Interoperability Standards | 4.2 DoD Enterprise Data Governance | Target Level ZT | 14.4 | The DoD Enterprise collaborating with the organizations develops interoperability standards integrating mandatory Data Rights Management (DRM) and Protection solutions with necessary technologies to enable ZT target functionality. | Formal standards are in place by the Enterprise for the appropriate data standards | | | Implement DRM and Protection Tools Pt1 |\r\n| 4.2.3 | Develop Software Defined Storage (SDS) Policy | 4.2 DoD Enterprise Data Governance | Target Level ZT | 9.9 | The DoD enterprise working with organizations establishes a software define storage (SDS) policy and standards based on industry best practices. DoD organizations evaluate current data storage strategy and technology for implementation of SDS. Where appropriate storage technology is identified for SDS implementation. | Determine need for SDS tool implementation; Policy for SDS is created at the enterprise and org levels | | | Integrate DAAS Access w/ SDS Policy Pt1; Integrate Solution & Policy w/ Enterprise IDP Pt1 |\r\n| 4.3.1 | Implement Data Tagging & Classification Tools | 4.3 Data Labeling and Tagging | Target Level ZT | 15.9 | DoD Organizations utilize the enterprise standard and requirements to implement data tagging and classification solution(s). Organizations ensure that future ML and AI integrations are supported by solutions through DoD enterprise requirements. | A requirement of Data classification and tagging tools must include integration and/or support of Machine Learning (ML); Data classification and tagging tools are implemented at org and enterprise levels | | Define Data Tagging Standards | Implement Enforcement Points |\r\n| 4.3.2 | Manual Data Tagging Pt1 | 4.3 Data Labeling and Tagging | Target Level ZT | 17.6 | Using the DoD Enterprise data tagging and classification policy and standards, manual tagging starts using basic data level attributes to meet ZT target functionality. | Manual data tagging begins at the enterprise level with basic attributes | SI-18 (2) data tags | Define Data Tagging Standards | Manual Data Tagging Pt2; DRM Enforcement via Data Tags and Analytics Pt1; DLP Enforcement via Data Tags and Analytics Pt1 |\r\n| 4.3.3 | Manual Data Tagging Pt2 | 4.3 Data Labeling and Tagging | Advanced ZT | 16.1 | DoD organizational specific data level attributes are integrated into the manual data tagging process. DoD enterprise and organizations collaborate to decide which attributes are required to meet ZTA advanced functionality. Data level attributes for ZTA advanced functionality are standardized across the enterprise and incorporated. | Manual data tagging is expanded to the program/org levels with specific attributes | AC-4 (6) metadata | Manual Data Tagging Pt1 | Enrich Attributes for Resource Authorization Pt1 |\r\n| 4.3.4 | Automated Data Tagging & Support Pt1 | 4.3 Data Labeling and Tagging | Advanced ZT | 14.1 | DoD Organizations use data loss prevention, rights management, and/or protection solutions to conduct scanning of data repositories. Standardized tags are applied to supported data repositories and data types. Unsupported data repositories and types are identified. | Basic automation begins by scanning data repositories and applying tags | | Implement Data Tagging & Classification ML Tools | Automated Data Tagging & Support Pt2 |\r\n| 4.3.5 | Automated Data Tagging & Support Pt2 | 4.3 Data Labeling and Tagging | Advanced ZT | 38.8 | Remaining supported data repositories have basic and extended data tags which are applied using machine learning and artificial intelligence. Extended data tags are applied to existing repositories.
Unsupported data repositories and data types are evaluated for decommissioning using a risk based methodical approach. Approved exceptions utilize manual data tagging approaches with data owners
and/or custodians to manage tagging. | Full automation of data tagging is completed; Results of data tagging are fed into ML algorithms to develop AI driven data tagging | | Automated Data Tagging & Support Pt1 | |\r\n| 4.4.1 | DLP Enforcement Point Logging and Analysis | 4.4 Data Monitoring and Sensing | Target Level ZT | 10.8 | DoD Organizations identify data loss prevention (DLP) enforcement points such as specific services and user endpoints. Using the established DoD Enterprise cybersecurity incident response standard, DoD organizations ensure the appropriate detail of data is captured.
Additionally, protection, detection, and response use cases are
developed to better outline solution coverage. | Enforcement points are identified; Standardized Logging schema is enforced at the enterprise and org levels | AC-3 (8) revocation of access authorizations | | Comprehensive Data Activity Monitoring |\r\n| 4.4.2 | DRM Enforcement Point Logging and Analysis | 4.4 Data Monitoring and Sensing | Target Level ZT | 12.6 | DoD Organizations identify data rights management (DRM) enforcement points such as specific services and user endpoints. Using the established DoD Enterprise cybersecurity incident response standard, DoD organizations ensure the appropriate detail of data is captured. Additionally, protection, detection, and response use cases are developed to better outline solution coverage. | Enforcement points are identified; Standardized Logging schema is enforced at the enterprise and org levels | | | Comprehensive Data Activity Monitoring |\r\n| 4.4.3 | File Activity Monitoring Pt1 | 4.4 Data Monitoring and Sensing | Target Level ZT | 16.8 | DoD Organizations utilize File Monitoring tools to monitor the most critical data classification levels in applications, services, and repositories. Analytics from monitoring is fed into the SIEM with basic data attributes to accomplish ZT Target functionality. | Data and files of critical classification are actively being monitored; Basic Integration is in place with monitoring system such as the SIEM | MP-8 (3) controlled unclassified information | | File Activity Monitoring Pt2 |\r\n| 4.4.4 | File Activity Monitoring Pt2 | 4.4 Data Monitoring and Sensing | Target Level ZT | 18.9 | DoD Organizations utilize File Monitoring tools to monitor all regulatory protected data (e.g., CUI, PII, PHI, etc.) in applications, services, and repositories. Extended integration is used to send data to appropriate inter/intra-pillar solutions such as Data Loss Prevention, Data Rights Management/Protection and User & Entity Behavior Analytics. | Data and files of all regulated classifications are actively being monitored; Extended integrations are in place as appropriate to further manage risk | MP-8 (4) classified information | File Activity Monitoring Pt1 | Rule Based Dynamic Access Pt2; Database Activity Monitoring |\r\n| 4.4.5 | Database Activity Monitoring | 4.4 Data Monitoring and Sensing | Advanced ZT | 18.2 | DoD Organizations procure, implement, and utilize Database Monitor solutions to monitor all databases containing regulated data types (CUI, PII, PHI, etc.). Logs and analytics from the database monitoring solution are fed to the SIEM for monitoring and response. Analytics are fed into cross pillar activities such as \"Enterprise Security Profile\" and \"Real Time Access\" to better direct decision making. | Appropriate Database are being actively monitored; Monitoring technology is integrated with solutions such as SIEM, PDP and Dynamic Access Control mechanisms | | File Activity Monitoring Pt2 | Comprehensive Data Activity Monitoring |\r\n| 4.4.6 | Comprehensive Data Activity Monitoring | 4.4 Data Monitoring and Sensing | Advanced ZT | 27.2 | DoD Organizations expand monitoring of data repositories including databases as appropriate based on a methodical risk approach.
Additional data attributes to meet the ZT Advanced functionalities are integrated into the analytics for additional integrations. | Data Activity monitoring mechanisms are integrated to provide a unified view of monitoring across data repositories; Appropriate integrations exist with solutions such as SIEM and PDP | | DLP Enforcement Point Logging and Analysis;
DRM Enforcement Point Logging and Analysis;
Database Activity Monitoring | AI-enabled Dynamic Access Control; FF Baseline & Profiling Pt. 2; AI- enabled Network Access |\r\n| 4.5.1 | Implement DRM and Protection Tools Pt1 | 4.5 Data Encryption & Rights Management | Target Level ZT | 11.7 | DoD Organizations procure and implement DRM and Protection solution(s) as needed following the DoD Enterprise standard and requirements. Newly implement DRM and protection solution(s) are implemented with high risk data repositories using ZTA target level
protections. | DRM and protection tools are enabled for high risk data repositories with basic protections | AU-9 (2) store on separate physical systems or components | Interoperability Standards | Implement DRM and Protection Tools Pt2 |\r\n| 4.5.2 | Implement DRM and Protection Tools Pt2 | 4.5 Data Encryption & Rights Management | Target Level ZT | 22.0 | DRM and protection coverage is expanded to cover all in scope data repositories. Encryption keys are automatically managed to meet best practices (e.g., FIPS). Extended data protection attributes are implemented based on the environment classification. | DRM and protection tools are enabled for possible repositories | AC-3 (9) controlled release; MP-6 (8) remote purging or wiping of information; SI-19 (4) removal, masking, encryption, hashing, or replacement of direct identifiers | Implement DRM and Protection Tools Pt1 | |\r\n| 4.5.3 | DRM Enforcement via Data Tags and Analytics Pt1 | 4.5 Data Encryption & Rights Management | Target Level ZT | 16.2 | Data rights management (DRM) and protection solutions are integrated with basic data tags defined by the DoD Enterprise standard. Initial data repositories are monitored and have protect and response actions enabled. Data at rest is encrypted in repositories. | Data Tags are integrated with DRM and monitored repositories are expanded; Based on data tags, data is encrypted at rest | | Manual Data Tagging Pt1 | DRM Enforcement via Data Tags and Analytics Pt2 |\r\n| 4.5.4 | DRM Enforcement via Data Tags and Analytics Pt2 | 4.5 Data Encryption & Rights Management | Advanced ZT | 19.0 | Extended data repositories are protected with DRM and Protection solutions. DoD Organizations implement extended data tags applicable to organizations versus mandated enterprise. Data is encrypted in extended repositories using additional tags. | All applicable data repositories are protected using DRM; Data is encrypted using extended data tags from the org levels | SC-16 (3) cryptographic binding | DRM Enforcement via Data Tags and Analytics Pt1 | Enrich Attributes for Resource Authorization Pt1; DRM Enforcement via Data Tags and Analytics Pt3 |\r\n| 4.5.5 | DRM Enforcement via Data Tags and Analytics Pt3 | 4.5 Data Encryption & Rights Management | Advanced ZT | 23.3 | DRM and Protection solutions integrate with AI and ML tooling for encryption, rights management and protection functions. | Analytics from ML/AI are integrated with DRM to better automate protections; Encryption protection is integrated with AI/ML and updated encryption methods are used as needed | AC-4 (19) validation of metadata | DRM Enforcement via Data Tags and Analytics Pt2 | |\r\n| 4.6.1 | Implement Enforcement Points | 4.6 Data Loss Prevention (DLP) | Target Level ZT | 21.2 | Data loss prevention (DLP) solution is deployed to the in-scope enforcement points. DLP solution is set to “monitor-only” and/or “learning” mode limiting impact. DLP solution results are analyzed, and
policy is fine tuned to manage risk to an acceptable level. | Identified enforcement points have DLP tool deployed and set to monitor mode with standardized logging | | Implement Data Tagging & Classification Tools | Process Micro segmentation |\r\n| 4.6.2 | DLP Enforcement via Data Tags and Analytics Pt1 | 4.6 Data Loss Prevention (DLP) | Target Level ZT | 21.3 | Data loss prevention (DLP) solution is updated from monitor only mode to prevention mode. Basic data tags are utilized for DLP solution and
logging schema is integrated. | Enforcement Points to set to prevent mode integrating the logging schema and manual tags | | Manual Data Tagging Pt1 | DLP Enforcement via Data Tags and Analytics Pt2 |\r\n| 4.6.3 | DLP Enforcement via Data Tags and Analytics Pt2 | 4.6 Data Loss Prevention (DLP) | Advanced ZT | 19.0 | Data loss prevention (DLP) solution is updated to include extended data tags based on parallel Automation activities. | Enforcement points have extended data tag attributes applied for additional prevention | | DLP Enforcement via Data Tags and Analytics Pt1 | Enrich Attributes for Resource Authorization Pt1; DLP Enforcement via Data Tags and Analytics Pt3 |\r\n| 4.6.4 | DLP Enforcement via Data Tags and Analytics Pt3 | 4.6 Data Loss Prevention (DLP) | Advanced ZT | 41.6 | Data loss prevention (DLP) solution is integrated with automated data tagging techniques to include any missing enforcement points and tags. | Automated tagging attributes are integrated with DLP and resulting metrics are used for ML | | DLP Enforcement via Data Tags and Analytics Pt2 | |\r\n| 4.7.1 | Integrate DAAS Access w/ SDS Policy Pt1 | 4.7 Data Access Control | Target Level ZT | 15.3 | Utilizing the DoD enterprise SDS policy, organizational DAAS policy is developed with intended integration in mind. SDS implementation guide is developed by DoD organizations due to environment specific nature. | Attribute base fine-grained DAAS policy is developed w/ enterprise and org level support; SDS Integration plan is developed to support DAAS policy | | Develop Software Defined Storage (SDS) Policy | Integrate DAAS Access w/ SDS Policy Pt2 |\r\n| 4.7.2 | Integrate DAAS Access w/ SDS Policy Pt2 | 4.7 Data Access Control | Advanced ZT | 12.6 | DoD Organizations implement the DAAS policy in an automated fashion. | Attribute based fine-grained DAAS Policy implemented in an automated fashion | | Integrate DAAS Access w/ SDS Policy Pt1; Implement SDS Tool and/or Integrate w/ DRM Tool Pt1 | Integrate DAAS Access w/ SDS Policy Pt3 |\r\n| 4.7.3 | Integrate DAAS Access w/ SDS Policy Pt3 | 4.7 Data Access Control | Advanced ZT | 9.2 | Newly implemented SDS technology and/or functionalities are integrated with the DAAS policy in a risk-based fashion. A phased approach should be taken to during implementation to measure results and adjust accordingly. | SDS is integrated with DAAS policy functionality; all data in all applications are protected with attribute based fine- grained DAAS policy | | Integrate DAAS Access w/ SDS Policy Pt2 | |\r\n| 4.7.4 | Integrate Solution(s) and Policy with Enterprise IDP
Pt1 | 4.7 Data Access Control | Target Level ZT | 13.9 | DoD Organizations develop an integration plan using the SDS policy and technology/functionality with the enterprise Identity Provider
(IdP) solution. | Integration plan between SDS and authoritative Identity Provider is developed to support existing DAAS access | | Develop Software Defined Storage (SDS) Policy; Enterprise IDP Pt1 | Integrate Solution & Policy w/ Enterprise IDP Pt2 |\r\n| 4.7.5 | Integrate Solution(s) and Policy with Enterprise IDP Pt2 | 4.7 Data Access Control | Advanced ZT | 9.2 | Newly implemented SDS technology and/or functionalities are integrated with the Enterprise Identity Provider (IdP) following the integration plan. Identity attributes required to meet ZT Target functionalities are required for integration. | Complete integration with Enterprise IDP and SDS toolingto support all attribute based fine-grained DAAS access | | Integrate Solution & Policy w/ Enterprise IDP Pt1 | |\r\n| 4.7.6 | Implement SDS Tool and/or integrate with DRM Tool Pt1 | 4.7 Data Access Control | Advanced ZT | 17.4 | Depending on the need for a Software Defined Storage tool, a new solution is implemented or an existing solution is identified meeting the functionality requirements to be integrated with DLP,
DRM/Protection, and ML solutions. | If tooling is needed ensure there is supported integrations with DLP, DRM and ML tooling | | Develop Software Defined Storage (SDS) Policy; Integrate Solution & Policy w/ Enterprise IDP Pt1 | Integrate DAAS Access w/ SDS Policy Pt2; Implement SDS Tool and/or Integrate w/ DRM Tool Pt2 |\r\n| 4.7.7 | Implement SDS Tool and/or integrate with DRM Tool Pt2 | 4.7 Data Access Control | Advanced ZT | 15.3 | DoD Organizations configure the SDS functionality and/or solution to be integrated with the underlying DLP and DRM/Protection infrastructure as appropriate. Lower-level integrations enable more
effective protection and response. | Integrate SDS infrastructure with existing DLP and DRM infrastructure | | Implement SDS Tool and/or Integrate w/ DRM Tool Pt1 | |\r\n| 5.1.1 | Define Granular Control Access Rules & Policies Pt1 | 5.1 Data Flow Mapping | Target Level ZT | 10.3 | The DoD Enterprise working with the Organizations creates granular network access rules and policies. Associated Concept of Operations (ConOps) are developed in alignment with access policies as well ensure future supportability. Once agreed upon, DoD Organizations will implement these access policies into existing network technologies (e.g., Next Generation Firewalls, Intrusion Prevention Systems, etc.) to improve initial risk levels. | Provide Technical Standards; Develop Concept of Operations; Identify Communities of Interest | | | Define SDN APIs; Define Granular Control Access Rules & Policies Pt2 |\r\n| 5.1.2 | Define Granular Control Access Rules & Policies Pt2 | 5.1 Data Flow Mapping | Target Level ZT | 8.0 | DoD Organizations utilize data tagging and classification standards to develop data filters for API access to the SDN Infrastructure. API Decision Points are formalized within the SDN architecture and implemented with non-mission/task critical applications and services. | Define Data Tagging Filters for API Infrastructure | | Define Granular Control Access Rules & Policies Pt1 | |\r\n| 5.2.1 | Define SDN APIs | 5.2 Software Defined Networking (SDN) | Target Level ZT | 8.3 | The DoD Enterprise works with the Organizations to define the necessary APIs and other programmatic interfaces to enable Software Defined Networking (SDN) functionalities. These APIs will enable Authentication Decision Point, Application Delivery Control Proxy and Segmentation Gateways automation. | SDN APIs are standardized and implemented; APIs are functional for AuthN Decision Point, App Delivery Control Proxy and Segmentation Gateways | | Define Granular Control Access Rules & Policies Pt1 | Implement SDN Programable Infrastructure |\r\n| 5.2.2 | Implement SDN Programable Infrastructure | 5.2 Software Defined Networking (SDN) | Target Level ZT | 32.0 | Following the API standards, requirements and SDN API functionalities, DoD Organizations will implement Software Defined Networking (SDN) infrastructure to enable automation tasks. Segmentation Gateways and Authentication Decision Points are integrated into the SDN infrastructure along with output logging into a standardized repository (e.g., SIEM, Log Analytics) for monitoring and alerting. | Implemented Application Delivery Control Proxy; Established SIEM Logging Activities; Implemented User Activity Monitoring (UAM); Integrated with Authentication Decision Point; Implemented Segmentation Gateways | | Define SDN APIs; Standardized API Calls & Schemas Pt1 | |\r\n| 5.2.3 | Segment Flows into Control, Management, and Data Planes | 5.2 Software Defined Networking (SDN) | Target Level ZT | 13.0 | Network infrastructure and flows are segmented either physically or logically into control, management, and data planes. Basic segmentation using IPv6/VLAN approaches is implemented to better organize traffic across data planes. Analytics and NetFlow from the updated infrastructure is automatically fed into Operations Centers and analytics tools. | IPv6 Segmentation; Enable Automated NetOps Information Reporting; Ensure Configuration Control Across Enterprise; Integrated with SOAR | AC-4 (21) physical or logical separation of information flows | | B/C/P/S Macro segmentation; Application & Device Micro segmentation |\r\n| 5.2.4 | Network Asset Discovery & Optimization | 5.2 Software Defined Networking (SDN) | Advanced ZT | 30.2 | DoD Organizations automate network asset discovery through the SDN infrastructure limiting access to devices based on risk based methodical approaches. Optimization is conducted based on the SDN analytics to improve overall performance along with provide necessary approved access to resources. | Technical Refreshment/Technology Evolution; Provide Optimization/Performance Controls | | | |\r\n| 5.2.5 | Real-Time Access Decisions | 5.2 Software Defined Networking (SDN) | Advanced ZT | 15.6 | SDN Infrastructure utilizes cross Pillar data sources such as User Activity Monitoring, Entity Activity Monitoring, Enterprise Security Profiles and more for real-time access decisions. Machine learning is used to assist decision making based on advanced network analytics (full packet capture, etc.). Policies are consistently implemented across the Enterprise using unified access standards. | Analyze SIEM Logs with Analytics Engine to Provide Real- Time Policy Access Decisions; Support Sending Captured Packets, Data/Network Flows, and other Specific Logs for Analytics; Segment End-to-End Transport Network Flows; Audit Security Policies for Consistency across Enterprise; Protect Data-in-Transit During Coalition Information Sharing | | Continuous Authentication Pt2; User Activity Monitoring Pt2; Implement C2C/Compliance Based Network Authorization Pt2; Entity Activity Monitoring Pt2; AI-enabled Network Access; Enterprise Security Profile Pt2 | |\r\n| 5.3.1 | Datacenter Macro segmentation | 5.3 Macro Segmentation | Target Level ZT | 17.6 | DoD Organizations implement data center focused macro- segmentation using traditional tiered (web, app, db) and/or service- based architectures. Proxy and/or enforcement checks are integrated with the SDN solution(s) based on device attributes and behavior. | Log Actions to SIEM; Establish Proxy/Enforcement Checks of Device Attributes, Behavior, and other Data; Analyze Activities with Analytics Engine | | | Implement Micro segmentation |\r\n| 5.3.2 | B/C/P/S Macro segmentation | 5.3 Macro Segmentation | Target Level ZT | 18.1 | DoD Organizations implement base, camp, post, and station macro- segmentation using logical network zones limiting lateral movement.
Proxy and/or enforcement checks are integrated with the SDN
solution(s) based on device attributes and behavior. | Establish Proxy/Enforcement Checks of Device Attributes, Behavior, and other Data; Log Actions to SIEM; Analyze Activities with Analytics Engine; Leverage SOAR to Provide RT Policy Access Decisions | | Segment Flows into Control, Management, and Data Planes | |\r\n| 5.4.1 | Implement Micro segmentation | 5.4 Micro Segmentation | Target Level ZT | 17.3 | DoD Organizations implement Micro-Segmentation infrastructure into SDN environment enabling basic segmentation of service components (e.g., web, app, db), ports and protocols. Basic automation is accepted for policy changes including API decision making. Virtual hosting environments implement micro-segmentation at the host/container level. | Accept Automated Policy Changes; Implement API Decision Points; Implement NGF/Micro FW/Endpoint Agent in Virtual Hosting Environment | SC-7 (22) separate subnets for connecting to different security domains | Datacenter Macro segmentation | Application & Device Micro segmentation |\r\n| 5.4.2 | Application & Device Micro segmentation | 5.4 Micro Segmentation | Target Level ZT | 17.9 | DoD Organizations utilize Software Defined Networking (SDN) solution(s) to establish infrastructure meeting the ZT Target functionalities – logical network zones, role, attribute and conditional based access control for user and devices, privileged access management services for network resources, and policy-based control on API access. | Assign Role, Attribute, & Condition Based Access Control to User & Devices; Provide Privileged Access Management Services; Limit Access on Per Identity Basis for User & Device; Create Logical Network Zones; Support Policy Control via REST API | | Segment Flows into Control, Management, and Data Planes; Implement Micro segmentation | Enrich Attributes for Resource Authorization Pt1 |\r\n| 5.4.3 | Process Micro segmentation | 5.4 Micro Segmentation | Advanced ZT | 20.3 | DoD Organizations utilize existing micro-segmentation and SDN automation infrastructure enabling process micro-segmentation. Host- level processes are segmented based on security policies and access is granted using real-time access decision making. | Segment Host-Level Processes for Security Policies; Support Real-Time Access Decisions and Policy Changes; Support Offload of Logs for Analytics and Automation; Support Dynamic Deployment of Segmentation Policy | AC-4 (7) one-way flow mechanisms; AC-4
(17) domain authentication; SC-7 (20) dynamic isolation and segregation | Implement Enforcement Points | |\r\n| 5.4.4 | Protect Data In Transit | 5.4 Micro Segmentation | Target Level ZT | 9.1 | Based on the data flow mappings and monitoring, policies are enabled by DoD Organizations to mandate protection of data in transit.
Common use cases such as Coalition Information Sharing, Sharing
Across System Boundaries and Protection across Architectural Components are included in protection policies. | Protect Data In Transit During Coalition Information Sharing; Protect Data in Transit Across System High Boundaries; Integrate Data In Transit Protection Across Architecture Components | | | |\r\n| 6.1.1 | Policy Inventory & Development | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Target Level ZT | 9.8 | The DoD Enterprise works with the Organizations to catalog and inventory existing Cyber Security policies and standards. Policies are updated and created in cross pillar activities as needed to meet critical ZT Target functionality. | Policies have been collected in reference to applicable compliance and risk (e.g. RMF, NIST); Policies have been reviewed for missing Pillars and Capabilities per the ZTRA; Missing areas of policies are updated to meet the capabilities per ZTRA | | | Continuous Authorization to Operate (cATO) Pt1 |\r\n| 6.1.2 | Organization Access Profile | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Target Level ZT | 19.4 | DoD Organizations develop basic access profiles for mission/task and non-mission/task DAAS access using the data from the User, Data, Network, and device pillars. The DoD Enterprise works with the Organizations to develop an Enterprise Security Profile using the existing Organizational security profiles to create a common access approach to DAAS. A phased approach can be used in organizations to limit risk to mission/task critical DAAS access once the security profile(s) are created. | Organization scoped profile(s) are created to determine access to DAAS using capabilities from User, Data, Network, and Device pillars; Initial enterprise profile access standard is developed for access to DAAS ; When possible the organization profile(s) utilizes enterprise available services in the User, Data, Network and Device pillars; Organization Mission/Task critical profile(s) are created | | | Enterprise Security Profile Pt1 |\r\n| 6.1.3 | Enterprise Security Profile Pt1 | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Target Level ZT | 16.0 | The Enterprise Security profile covers the User, Data, Network and Device pillars initially. Existing Organizational Security Profiles are integrated for non-mission/task DAAS access following an iterative approach to tuning access. | Enterprise Profile(s) are created to access DAAS using capabilities from User, Data, Network and Device Pillars; Non-mission/task critical organization profile(s) are integrated with the enterprise profile(s) using a standardized approach | | Organization Access Profile | Enterprise Security Profile Pt2 |\r\n| 6.1.4 | Enterprise Security Profile Pt2 | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Advanced ZT | 12.5 | The minimum number of Enterprise Security Profile(s) exist granting access to the widest range of DAAS across Pillars within the DoD Organizations. Mission/task organization profiles are integrated with the Enterprise Security Profile(s) and exceptions are managed in a risk based methodical approach. | Enterprise Profile(s) have been reduced and simplified to support widest array of access to DAAS; Where appropriate Mission/Task Critical profile(s) have been integrated and supported Organization profiles are considered the exception | | Enterprise Security Profile Pt1 | Real-Time Access Decisions
AI-enabled Dynamic Access Control |\r\n| 6.2.1 | Task Automation Analysis | 6.2 Critical Process Automation | Target Level ZT | 6.3 | DoD Organizations identify and enumerate all task activities that can be executed both manually and in an automated fashion. Task activities are organized into automated and manual categories.
Manual activities are analyzed for possible retirement. | Automatable tasks are identified; Tasks are enumerated | | | |\r\n| 6.2.2 | Enterprise Integration & Workflow Provisioning Pt1 | 6.2 Critical Process Automation | Target Level ZT | 23.4 | The DoD enterprise establishes baseline integrations within the Security Orchestration, Automation and Response solution (SOAR) required to enable target level ZTA functionality. DoD organizations identify integration points and prioritize key ones per the DoD enterprise baseline. Critical integrations occur meeting key services enabling recovery and protection capabilities. | Implement full enterprise integration; Identify key integrations; Identify recovery and protection requirements | | | Enterprise Integration & Workflow Provisioning Pt2 |\r\n| 6.2.3 | Enterprise Integration & Workflow Provisioning Pt2 | 6.2 Critical Process Automation | Advanced ZT | 12.7 | DoD Organizations integrate remaining services to meet baseline requirements and advanced ZTA functionality requirements as appropriate per environment. Service provisioning is integrated and automated into workflows where required meeting ZTA target functionalities. | Services identified; Service provisioning is implemented | CM-3 (3) automated change implementation | Enterprise Integration & Workflow Provisioning Pt1 | Automated Workflow |\r\n| 6.3.1 | Implement Data Tagging & Classification ML Tools | 6.3 Machine Learning | Target Level ZT | 16.0 | DoD Organizations utilize existing Data Tagging and Classification standards and requirements to procure Machine Learning solution(s) as needed. Machine Learning solution(s) is implemented in organizations and existing tagged and classified data repositories are used to establish baselines. Machine learning solution(s) applies data tags in a supervised approach to continually improve analysis. | Implemented data tagging and classification tools are integrated with ML tools | | Define Data Tagging Standards | Automated Data Tagging & Support Pt1 |\r\n| 6.4.1 | Implement AI automation tools | 6.4 Artificial Intelligence | Advanced ZT | 25.7 | DoD Organizations identify areas of improvement based on existing machine learning techniques for Artificial Intelligence. AI solutions are identified, procured, and implemented using the identified areas as requirements. | Develop AI Tool Requirements; Procure and Implement AI Tools | | | Automated Workflow |\r\n| 6.4.2 | AI Driven by Analytics decides A&O modifications | 6.4 Artificial Intelligence | Advanced ZT | 42.0 | DoD Organizations utilizing existing machine learning functions implement and use AI technology such as neural networks to drive automation and orchestration decisions. Decision making is moved to AI as much as possible freeing up human staff for other efforts.
Utilizing historical patterns, AI will make anticipatory changes in the
environment to better reduce risk. | AI is able to make changes to automated workflow activities | | | |\r\n| 6.5.1 | Response Automation Analysis | 6.5 Security Orchestration,
Automation & Response
(SOAR) | Target Level ZT | 9.0 | DoD Organizations identify and enumerate all response activities that executed both manually and in an automated fashion. Response activities are organized into automated and manual categories.
Manual activities are analyzed for possible retirement. | Automatable response activities are identified; Response activities are enumerated | AC-21 (1) automated decision support; SI- 4 (3) automated tool and mechanism integration; SI-18 (1) automation support | | |\r\n| 6.5.2 | Implement SOAR Tools | 6.5 Security Orchestration,
Automation & Response (SOAR) | Target Level ZT | 14.9 | DoD enterprise working with Organizations develops a standard set of requirements for security orchestration, automation, and response (SOAR) tooling to enable target level ZTA functions. DoD Organizations use approved requirements to procure and implement SOAR solution.
Basic infrastructure integrations for future SOAR functionality is
completed. | Develop requirements for SOAR tool; Procure SOAR tools | | Standardized API Calls & Schemas Pt1; Workflow Enrichment Pt1 | |\r\n| 6.5.3 | Implement Playbooks | 6.5 Security Orchestration,
Automation & Response (SOAR) | Advanced ZT | 14.0 | DoD organizations review all existing playbooks to identify for future automation. Existing manual and automated processes missing playbooks have playbooks developed. Playbooks are prioritized for automation to be integrated with the Automated Workflows activities covering Critical Processes. Manual processes without playbooks are authorized using a risk based methodical approach. | When possible automated playbooks based on automated workflows capability; Manual Playbooks are developed and implemented | CA-7 (6) automation support for monitoring; CM-3 (1) automated documentation, notification, and prohibition of changes; CM-3 (5) automated security response | | |\r\n| 6.6.1 | Tool Compliance Analysis | 6.6 API Standardization | Target Level ZT | 7.3 | Automation and Orchestration tooling and solutions are analyzed for compliance and capabilities based on the DoD Enterprise programmatic interface standard and requirements. Any additional tooling or solutions are identified to support the programmatic interface standards and requirements. | API status is determined compliance or non-compliance to API standards; Tools to be used are Identified | | | |\r\n| 6.6.2 | Standardized API Calls & Schemas Pt1 | 6.6 API Standardization | Target Level ZT | 13.6 | The DoD enterprise works with organizations to establish a programmatic interface (e.g., API) standard and requirements as needed to enable target ZTA functionalities. DoD Organizations update programmatic interfaces to the new standard and mandate newly acquired/developed tools to meet the new standard. Tools unable to meet the standard are allowed by exception using a risk based methodical approach. | Initial calls and schemas are implemented; Non-compliant tools are replaced | | | Implement SDN Programable Infrastructure; Implement SOAR Tools; Standardized API Calls & Schemas Pt2 |\r\n| 6.6.3 | Standardized API Calls & Schemas Pt2 | 6.6 API Standardization | Target Level ZT | 14.2 | DoD Organizations complete the migration to the new programmatic interface standard. Tools marked for decommission in the previous activity are retired and functions are migrated to modernized tools.
Approved schemas are adopted based on the DoD Enterprise
standard/requirements. | All calls and schemas are implemented | | Standardized API Calls & Schemas Pt1 | |\r\n| 6.7.1 | Workflow Enrichment Pt1 | 6.7 Security Operations Center (SOC) & Incident
Response (IR) | Target Level ZT | 7.3 | DoD Enterprise works with organizations to establish a cybersecurity incident response standard using industry best practices such as NIST. DoD Organizations utilize the enterprise standard to determine incident response workflows. External sources of enrichment are identified for future integration. | Threat events are identified; Workflows for threat events are developed | | | Implement SOAR Tools; Workflow Enrichment Pt2 |\r\n| 6.7.2 | Workflow Enrichment Pt2 | 6.7 Security Operations Center (SOC) & Incident
Response (IR) | Target Level ZT | 9.1 | DoD organizations identify and establish extended workflows for additional incident response types. Initial enrichment data sources are used for existing workflows. Additional enrichment sources are identified for future integrations. | Workflows for Advanced threat events are developed; Advanced Threat events are identified | SI-4 (7) automated response to suspicious events | Workflow Enrichment Pt1 | Workflow Enrichment Pt3 |\r\n| 6.7.3 | Workflow Enrichment Pt3 | 6.7 Security Operations Center (SOC) & Incident
Response (IR) | Advanced ZT | 12.4 | DoD organizations use final enrichment data sources on basic and extended threat response workflows. | Enrichment data has been identified; Enrichment data is integrated into workflows | | Workflow Enrichment Pt2 | Automated Workflow |\r\n| 6.7.4 | Automated Workflow | 6.7 Security Operations Center (SOC) & Incident
Response (IR) | Advanced ZT | 14.4 | DoD organizations focus on automating Security Orchestration, Automation and Response (SOAR) functions and playbooks. Manual processes within security operations are identified and fully automated as possible. Remaining manual processes are decommissioned when possible or marked for exception using a risk based approach. | Workflow processes are fully automated; Manual Processes have been identified; Remaining Processes are marked as exceptions and documented | MA-2 (2) automated maintenance activities; PE-8 (1) automated records maintenance and review; RA-5 (6) automated trend analysis; SC-7 (17) automated enforcement of protocol formats; SI-5 (1) automated alerts and advisories; SI-7 (2) automated notifications of integrity violations; SI-7 (5) automated response to integrity violations | Workflow Enrichment Pt3; Implement AI automation tools; Enterprise Integration & Workflow Provisioning Pt2 | Continuous Authorization to Operate (cATO) Pt2 |\r\n| 7.1.1 | Scale Considerations | 7.1 Log All Traffic (Network, Data, Apps,
Users) | Target Level ZT | 11.6 | DoD Organizations conduct analysis to determine current and future needs of scaling. Scaling is analyzed following common industry best practice methods and ZT Pillars. The team works with existing Business Continuity Planning (BCP) and Disaster Recovery Planning (DPR) groups to determine distributed environment needs in emergencies and as organizations grow. | Sufficient infrastructure in place; Distributed environment established; Sufficient bandwidth for network traffic | | | |\r\n| 7.1.2 | Log Parsing | 7.1 Log All Traffic (Network, Data, Apps,
Users) | Target Level ZT | 6.3 | DoD Organizations identify and prioritize log and flow sources (e.g., Firewalls, Endpoint Detection & Response, Active Directory, Switches, Routers, etc.) and develop a plan for collection of high priority logs first then low priority. An open industry-standard log format is agreed upon at the DoD Enterprise level with the Organizations and implemented in future procurement requirements. Existing solutions and technologies are migrated to the format on a continual basis. | Standardized log formats; Rules developed for each log format | | | Implement Analytics Tools; Asset ID & Alert Correlation |\r\n| 7.1.3 | Log Analysis | 7.1 Log All Traffic (Network, Data, Apps,
Users) | Target Level ZT | 10.3 | Common user and device activities are identified and prioritized based on risk. Activities deemed the most simplistic and risky have analytics created using different data sources such as logs. Trends and patterns are developed based on the analytics collected to look at activities over longer periods of time. | Develop analytics per activity; Identify activities to analyze | RA-5 (10) correlate scanning information; SI-4 (13) analyze traffic and event patterns; SI-4 (18) analyze traffic and covert exfiltration | | Establish User Baseline Behavior; User/Device Baselines; Baseline & Profiling Pt1 |\r\n| 7.2.1 | Threat Alerting Pt1 | 7.2 Security Information and Event Management
(SIEM) | Target Level ZT | 7.5 | DoD Organizations utilize existing Security Information and Event Management (SIEM) solution to develop basic rules and alerts for common threat events (malware, phishing, etc.) Alerts and/or rule firings are fed into the parallel “Asset ID & Alert Correlation” activity to being automation of responses. | Rules developed for threat correlation | | | Threat Alerting Pt2; Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt1 |\r\n| 7.2.2 | Threat Alerting Pt2 | 7.2 Security Information and Event Management
(SIEM) | Target Level ZT | 16.5 | DoD Organizations expand threat alerting in the Security Information and Event Management (SIEM) solution to include Cyber Threat Intelligence (CTI) data feeds. Deviation and anomaly rules are developed in the SIEM to detect advanced threats. | Develop analytics to detect deviations | | Threat Alerting Pt1; Cyber Threat Intelligence Program Pt1 | Threat Alerting Pt3 |\r\n| 7.2.3 | Threat Alerting Pt3 | 7.2 Security Information and Event Management
(SIEM) | Advanced ZT | 12.9 | Threat Alerting is expanded to include advanced data sources such as Extended Detection & Response (XDR), User & Entity Behavior Analytics (UEBA), and User Activity Monitoring (UAM). These advanced data sources are used to develop improved anomalous and pattern activity detections. | Identify Triggering Anomalous Events; Implement Triggering Policy | AU-6 (6) correlation with physical monitoring; PE-6 (4) monitoring physical access to systems | Threat Alerting Pt2; Implement Extended Detection & Response (XDR) Tools and Integrate with C2C Pt2 | Continuous Authorization to Operate (cATO) Pt2 |\r\n| 7.2.4 | Asset ID & Alert Correlation | 7.2 Security Information and Event Management
(SIEM) | Target Level ZT | 10.2 | DoD Organizations develop basic correlation rules using asset and alert data. Response to common threat events (e.g., malware, phishing, etc.) are automated within the Security Information and Event Management (SIEM) solution. | Rules developed for asset ID based responses | | Log Parsing | |\r\n| 7.2.5 | User/Device Baselines | 7.2 Security Information and Event Management
(SIEM) | Target Level ZT | 13.0 | DoD Organizations develop user and device baseline approaches based on DoD Enterprise standards for the appropriate pillar. Attributes utilized in baselining are pulled from the enterprise wide standards developed in cross pillar activities. | Identify user and device baselines | | Implement User & Entity Behavior Activity (UEBA) and User Activity Monitoring (UAM) Tooling;
Log Analysis | User Activity Monitoring Pt1; Entity Activity Monitoring Pt1 |\r\n| 7.3.1 | Implement Analytics Tools | 7.3 Common Security and Risk Analytics | Target Level ZT | 12.1 | DoD Organizations procure and implement basic Cyber-focused analytics tools. Analytics development is prioritized based on risk and complexity looking for easy impactful analytics first. Continued analytics development focuses on Pillar requirements to better meet reporting needs. | Develop requirements for analytic environment; Procure and implement analytic tools | | Log Parsing | |\r\n| 7.3.2 | Establish User Baseline Behavior | 7.3 Common Security and Risk Analytics | Target Level ZT | 13.8 | Utilizing the analytics developed for users and devices in a parallel activity, baselines are established in a technical solution. These baselines are applied to an identified set of users based on risk initially and then expanded to the larger DoD Organization user base. The technical solution used is integrated with machine learning functionality to begin automation. | Identify users for baseline; Establish ML-based baselines | | Implement User & Entity Behavior Activity (UEBA)
and User Activity Monitoring (UAM) Tooling; Log Analysis | |\r\n| 7.4.1 | Baseline & Profiling Pt1 | 7.4 User and Entity Behavior Analytics | Target Level ZT | 12.3 | Utilizing the analytics developed for users and devices in a parallel activity, common profiles are created for typical user and device types.
Analytics taken from baselining are updated to look at larger
containers, profiles. | Develop analytics to detect changing threat conditions; Identify user and device threat profiles | | Implement User & Entity Behavior Activity (UEBA)
and User Activity Monitoring (UAM)
Tooling; Log Analysis | Baseline & Profiling Pt2; UEBA Baseline Support Pt 1 |\r\n| 7.4.2 | Baseline & Profiling Pt2 | 7.4 User and Entity Behavior Analytics | Advanced ZT | 22.7 | DoD Organizations expand baselines and profiles to include unmanaged and non-standard device types including Internet of Things (IoT) and Operational Technology (OT) through data output monitoring. These devices are again profiled based on standardized attributes and use cases. Analytics are updated to consider the new baselines and profiles accordingly enabling further detections and response. Specific risky users and devices are automatically prioritized for increased monitoring based on risk. Detection and response are integrated with cross pillar functionalities. | Add threat profiles for IoT and OT devices; Develop and extend analytics; Extend threat profiles to individual users and devices | | Baseline & Profiling Pt1 | |\r\n| 7.4.3 | UEBA Baseline Support Pt 1 | 7.4 User and Entity Behavior Analytics | Advanced ZT | 6.3 | User & Entity Behavior Analytics (UEBA) within DoD Organizations expands monitoring to advanced analytics such as Machine Learning (ML). These results are in turn reviewed and fed back into the ML algorithms to improve detection and response. | Implement ML-based Analytics to detect anomalies | RA-3 (4) predictive cyber analytics; SI-4
(25) optimize network traffic analysis | Baseline & Profiling Pt1 | AI-enabled Network Access; UEBA Baseline Support Pt2 |\r\n| 7.4.4 | UEBA Baseline Support Pt 2 | 7.4 User and Entity Behavior Analytics | Advanced ZT | 6.3 | User & Entity Behavior Analytics (UEBA) within DoD Organizations completes it expansion by using traditional and machine learning (ML) based results to be fed into Artificial Intelligence (AI) algorithms.
Initially AI based detections are supervised but ultimately using advanced techniques such as neural networks, UEBA operators are not
part of the learning process | Implement ML-based Analytics to detect anomalies | | UEBA Baseline Support Pt1 | |\r\n| 7.5.1 | Cyber Threat Intelligence Program Pt1 | 7.5 Threat Intelligence Integration | Target Level ZT | 9.9 | The DoD Enterprise works with the Organizations to develop and Cyber Threat Intelligence (CTI) program policy, standard and process.
Organizations utilize this documentation to develop organizational CTI teams with key mission/task stakeholders. CTI Teams integrate common feeds of data with the Security Information and Event Management (SIEM) for improved alerting and response. Integrations with Device and Network enforcement points (e.g., Firewalls, Endpoint Security Suites, etc.) are created to conduct basic monitoring of CTI
driven data. | Cyber Threat Intelligence team is in place with critical stakeholders; Public and Baseline CTI feeds are being utilized by SIEM for alerting; Basic integration points exist with Device and Network enforcement points (e.g., NGAV, NGFW, NG-IPS) | AU-6 (5) integrated analysis of audit records; SI-4 (17) integrated situational awareness | | Cyber Threat Intelligence Program Pt2;
Threat Alerting Pt 2 |\r\n| 7.5.2 | Cyber Threat Intelligence Program Pt2 | 7.5 Threat Intelligence Integration | Target Level ZT | 19.5 | DoD Organizations expand their Cyber Threat Intelligence (CTI) teams to include new stakeholders as appropriate. Authenticated, private and controlled CTI data feeds are integrated into Security Information and Event Management (SIEM) and enforcement points from the Device, User, Network and Data pillars. | Cyber Threat Intelligence team is in place with extended stakeholders as appropriate; Controlled and Private feed are being utilized by SIEM and other appropriate Analytics tools for alerting and monitoring; Integration is in place for extended enforcement points within the Device, User, Network and Data pillars (UEBA, UAM) | AU-5 (2) real-time alerts; SI-6 (3) report verification results | Cyber Threat Intelligence Program Pt1 | |\r\n| 7.6.1 | AI-enabled Network Access | 7.6 Automated Dynamic Policies | Advanced ZT | 27.8 | DoD Organizations utilize the SDN Infrastructure and Enterprise Security Profiles to enable Artificial Intelligence (AI)/Machine Learning (ML) driven network access. Analytics from previous activities is used to teach the AI/ML algorithms improving decision making. | Network Access is AI driven based on environment analytics | SI-8 (3) continuous learning capability | UEBA Baseline Support Pt1; Periodic Authentication; Rule Based Dynamic Access Pt1
The following activities are to be completed in parallel: Comprehensive Data Activity Monitoring
User Activity Monitoring Pt2
Entity Activity Monitoring Pt2 | Real-Time Access Decisions; AI- enabled Dynamic Access Control |\r\n| 7.6.2 | AI-enabled Dynamic Access Control | 7.6 Automated Dynamic Policies | Advanced ZT | 24.4 | DoD Organizations utilize previous rule based dynamic access to teach Artificial Intelligence (AI)/Machine Learning (ML) algorithms to make access decision to various resources. The “AI-enabled Network Access” activity algorithms are updated to enable broader decision making to all DAAS. | JIT/JEA are integrated with AI; Access is AI driven based on environment analytics | | Continuous Authentication Pt2; AI- enabled Network Access |\t|", + "style": "info" + }, + "conditionalVisibility": { + "parameterName": "DoDZT", + "comparison": "isEqualTo", + "value": "Activities" + }, + "name": "ZTActivities" + } + ], + "fromTemplateId": "sentinel-UserWorkbook", + "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json" +} \ No newline at end of file From c5d2c6105f9aa336476710fbebf9b2f0b01faa37 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Fri, 18 Aug 2023 14:27:45 -0400 Subject: [PATCH 02/12] Finished 7.6 + cleanup Added final example visual for Capability 7.6 + cleanup for release --- Workbooks/DoDZeroTrustWorkbook.json | 2348 ++++++++++++++++++++------- 1 file changed, 1787 insertions(+), 561 deletions(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index e8fc37c7714..daeb6f60307 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -108,7 +108,7 @@ "allowCustom": true }, "value": { - "durationMs": 2592000000 + "durationMs": 7776000000 } } ], @@ -10737,6 +10737,166 @@ "styleSettings": { "maxWidth": "50" } + }, + { + "type": 1, + "content": { + "json": "## AWS network activities" + }, + "name": "text - 0" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "b9e68383-3369-42fc-b7e7-506fd187832d", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 1209600000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = AWSCloudTrail;\r\ndata\r\n| summarize Count = count() by AWSRegion\r\n| join kind = fullouter (datatable(AWSRegion:string)['OneDrive', 'SharePoint']) on AWSRegion\r\n| project AWSRegion = iff(AWSRegion == '', AWSRegion1, AWSRegion), Count = iff(AWSRegion == '', 0, Count)\r\n| join kind = inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by AWSRegion)\r\n on AWSRegion\r\n| project-away AWSRegion1, TimeGenerated\r\n| extend AWSRegion = AWSRegion\r\n| union (\r\n data \r\n | summarize Count = count() \r\n | extend jkey = 1\r\n | join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain}\r\n | extend jkey = 1) on jkey\r\n | extend AWSRegion = 'All', AWSRegions = '*' \r\n)\r\n| order by Count desc\r\n| take 10\r\n", + "size": 4, + "title": "Top 10 active regions - click to filter", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "AWSRegion", + "exportParameterName": "AWSRegion", + "exportDefaultValue": "All", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "AWSRegion", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "min": 0, + "palette": "blue", + "showIcon": true + } + }, + "showBorder": false + } + }, + "name": "query - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AWSCloudTrail\r\n//| where EventSource == \"ec2.amazonaws.com\" and (EventName startswith \"create\" or EventName startswith \"replace\" or EventName startswith \"delete\" or EventName startswith \"authorize\" or EventName startswith \"revoke\") and (EventName !contains \"Volume\" and EventName !contains \"KeyPair\" and EventName !contains \"Tags\" and EventName !contains \"Image\" and EventName !contains \"LaunchTemplate\")\r\n| where AWSRegion == '{AWSRegion}' or '{AWSRegion}' == \"All\"\r\n| summarize count() by AWSRegion, bin(TimeGenerated, {TimeRange:grain})", + "size": 0, + "title": "Network events, by region", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "barchart" + }, + "customWidth": "50", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "AWSCloudTrail\r\n//| where EventSource == \"ec2.amazonaws.com\" and (EventName startswith \"create\" or EventName startswith \"replace\" or EventName startswith \"delete\" or EventName startswith \"authorize\" or EventName startswith \"revoke\") and (EventName !contains \"Volume\" and EventName !contains \"KeyPair\" and EventName !contains \"Tags\" and EventName !contains \"Image\" and EventName !contains \"LaunchTemplate\")\r\n| where AWSRegion == '{AWSRegion}' or '{AWSRegion}' == \"All\"\r\n| summarize count() by EventName, bin(TimeGenerated, {TimeRange:grain})", + "size": 0, + "title": "Network event types", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "areachart" + }, + "customWidth": "50", + "name": "query - 4" } ] }, @@ -10837,116 +10997,673 @@ "links": [] }, "name": "links - 3" - } - ] - }, - "conditionalVisibility": { - "parameterName": "isNE54Visible", - "comparison": "isEqualTo", - "value": "true" - }, - "name": "5.4Activities", - "styleSettings": { - "showBorder": true - } - } - ] - }, - "conditionalVisibility": { - "parameterName": "pillar", - "comparison": "isEqualTo", - "value": "p5" - }, - "name": "P5Activities" - }, - { - "type": 12, - "content": { - "version": "NotebookGroup/1.0", - "groupType": "editable", - "items": [ - { - "type": 3, - "content": { - "version": "KqlItem/1.0", - "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.1 Policy Decision Point (PD) & Policy Orchestration\\\", \\\"tab\\\": \\\"AO61\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.2 Critical Process Automation \\\", \\\"tab\\\": \\\"AO62\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.3 Machine Learning\\\", \\\"tab\\\": \\\"AO63\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.4 Artifical Learning\\\", \\\"tab\\\": \\\"AO64\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.5 Security Orchestration, Automation & Response (SOAR)\\\", \\\"tab\\\": \\\"AO65\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.6 API Standardization\\\", \\\"tab\\\": \\\"AO66\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.7 Security Operations Center (SOC) & Incident Response (IR)\\\", \\\"tab\\\": \\\"AO67\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", - "size": 3, - "exportMultipleValues": true, - "exportedParameters": [ - { - "fieldName": "tab", - "parameterName": "Tab", - "parameterType": 1 - } - ], - "queryType": 8, - "gridSettings": { - "formatters": [ - { - "columnMatch": "Select All (Automation & Orchestration 6.x)", - "formatter": 0, - "formatOptions": { - "customColumnWidthSetting": "75ch" - } - }, - { - "columnMatch": "tab", - "formatter": 5 - }, - { - "columnMatch": "Zero Trust", - "formatter": 0, - "formatOptions": { - "customColumnWidthSetting": "75ch" - } - } - ] - } - }, - "customWidth": "90", - "name": "AutomationOrchZT", - "styleSettings": { - "showBorder": true - } - }, - { - "type": 9, - "content": { - "version": "KqlParameterItem/1.0", - "parameters": [ + }, { - "id": "42fc8445-0772-439f-b490-461fb17e5d2f", - "version": "KqlParameterItem/1.0", - "name": "isAO61Visible", "type": 1, - "isHiddenWhenLocked": true, - "criteriaData": [ - { - "criteriaContext": { - "leftOperand": "Tab", - "operator": "contains", - "rightValType": "static", - "rightVal": "AO61", - "resultValType": "static", - "resultVal": "true" - } - }, - { - "criteriaContext": { - "operator": "Default", - "resultValType": "static", - "resultVal": "false" - } - } - ], - "timeContext": { - "durationMs": 86400000 - } + "content": { + "json": "## Azure AD audit logs" + }, + "name": "text - 1" }, { - "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", - "version": "KqlParameterItem/1.0", - "name": "isAO62Visible", + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "bc372bf5-2dcd-4efa-aa85-94b6e6fafe14", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 7776000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "e032b9f7-5449-4180-9c20-75760afa96f6", + "version": "KqlParameterItem/1.0", + "name": "User", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "AuditLogs\r\n| where SourceSystem == \"Azure AD\"\r\n| extend initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\")\r\n//| where initiator!= \"\"\r\n| summarize Count = count() by initiator\r\n| order by Count desc, initiator asc\r\n| project Value = initiator, Label = strcat(initiator, ' - ', Count), Selected = false", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "All" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "0a59a0b3-6d93-4fee-bdbe-147383c510c6", + "version": "KqlParameterItem/1.0", + "name": "Category", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "AuditLogs\r\n| extend initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\")\r\n| where \"{User:lable}\" == \"All\" or initiator in ({User})\r\n| summarize Count = count() by Category\r\n| order by Count desc, Category asc\r\n| project Value = Category, Label = strcat(Category, ' - ', Count)", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "All" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + { + "id": "4d2b245b-5e59-4eb6-9f51-ba926581ab47", + "version": "KqlParameterItem/1.0", + "name": "Result", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "AuditLogs\r\n| extend initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\")\r\n| where \"{User:lable}\" == \"All\" or initiator in ({User})\r\n| summarize Count = count() by Result\r\n| order by Count desc, Result asc\r\n| project Value = Result, Label = strcat(Result, ' - ', Count, ' sign-ins')", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "All" + }, + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = AuditLogs\r\n| where \"{Category:lable}\" == \"All\" or Category in ({Category})\r\n| where \"{Result:lable}\" == \"All\" or Result in ({Result})\r\n| extend initiatingUserPrincipalName = tostring(InitiatedBy.user.userPrincipalName)\r\n| where initiatingUserPrincipalName != \"\" \r\n| where \"{User:lable}\" == \"All\" or initiatingUserPrincipalName in ({User});\r\ndata\r\n| summarize Count = count() by Category\r\n| join kind = fullouter (datatable(Category:string)['Medium', 'high', 'low']) on Category\r\n| project Category = iff(Category == '', Category1, Category), Count = iff(Category == '', 0, Count)\r\n| join kind = inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by Category)\r\n on Category\r\n| project-away Category1, TimeGenerated\r\n| extend Category = Category\r\n| union (\r\n data \r\n | summarize Count = count() \r\n | extend jkey = 1\r\n | join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain}\r\n | extend jkey = 1) on jkey\r\n | extend Category = 'All', Categorys = '*' \r\n)\r\n| order by Count desc\r\n| take 10", + "size": 4, + "title": "Access Categories ", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "Category", + "exportParameterName": "CategoryFIlter", + "exportDefaultValue": "All", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "Category", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "style": "decimal", + "maximumFractionDigits": 2, + "maximumSignificantDigits": 3 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 21, + "formatOptions": { + "palette": "purple", + "showIcon": true + } + }, + "showBorder": false + } + }, + "name": "query - 4" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = AuditLogs\r\n| where \"{Result:lable}\" == \"All\" or Result in ({Result})\r\n| extend initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\")\r\n| where \"{User:lable}\" == \"All\" or initiator in ({User})\r\n| where \"{Category:lable}\" == \"All\" or Category in ({Category})\r\n| where Category == '{CategoryFIlter}' or '{CategoryFIlter}' == \"All\";\r\nlet appData = data\r\n| summarize TotalCount = count() by OperationName, Category\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName\r\n | project-away TimeGenerated) on OperationName\r\n| order by TotalCount desc, OperationName asc\r\n| project OperationName, TotalCount, Trend, Category\r\n| serialize Id = row_number();\r\ndata\r\n| summarize TotalCount = count() by initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\"), Category, OperationName\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName, initiator = iif (tostring(InitiatedBy.user.userPrincipalName) != \"\", tostring(InitiatedBy.user.userPrincipalName), \"unknown\")\r\n | project-away TimeGenerated) on OperationName, initiator\r\n| order by TotalCount desc, OperationName asc\r\n| project OperationName, initiator, TotalCount, Category, Trend\r\n| serialize Id = row_number(1000000)\r\n| join kind=inner (appData) on OperationName\r\n| project Id, Name = initiator, Type = 'initiator', ['Operations Count'] = TotalCount, Trend, Category, ParentId = Id1\r\n| union (appData \r\n | project Id, Name = OperationName, Type = 'Operation', ['Operations Count'] = TotalCount, Category, Trend)\r\n| order by ['Operations Count'] desc, Name asc", + "size": 0, + "showAnalytics": true, + "title": "Conditional Acess & User activities", + "timeContextFromParameter": "TimeRange", + "exportParameterName": "UserInfo", + "exportDefaultValue": "{ \"Name\":\"\", \"Type\":\"*\"}", + "showExportToExcel": true, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "Type", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "Operations Count", + "formatter": 8, + "formatOptions": { + "min": 0, + "palette": "blue", + "showIcon": true + }, + "numberFormat": { + "unit": 0, + "options": { + "style": "decimal" + } + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "min": 0, + "palette": "turquoise", + "showIcon": true + }, + "numberFormat": { + "unit": 0, + "options": { + "style": "decimal" + } + } + }, + { + "columnMatch": "ParentId", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "rowLimit": 1000, + "filter": true, + "hierarchySettings": { + "idColumn": "Id", + "parentColumn": "ParentId", + "treeType": 0, + "expanderColumn": "Name" + } + } + }, + "customWidth": "70", + "showPin": true, + "name": "query - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "80e332f7-8176-461f-b27a-0a52242fe6c9", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 86400000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ], + "allowCustom": true + } + }, + { + "id": "5a93ede8-361d-4cc6-93f8-967dfc355143", + "version": "KqlParameterItem/1.0", + "name": "Activity", + "type": 2, + "isRequired": true, + "multiSelect": true, + "quote": "'", + "delimiter": ",", + "query": "SecurityEvent\r\n| summarize Count = count() by Activity\r\n| order by Count desc, Activity asc\r\n| project Value = Activity, Label = strcat(Activity, ' - ', Count)", + "value": [ + "value::all" + ], + "typeSettings": { + "additionalResourceOptions": [ + "value::all" + ], + "selectAllValue": "All" + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters - 1" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = SecurityEvent\r\n| where \"{Activity:lable}\" == \"All\" or Activity in ({Activity});\r\ndata\r\n| summarize Count = count() by Activity\r\n| join kind = fullouter (datatable(Activity:string)['Medium', 'high', 'low']) on Activity\r\n| project Activity = iff(Activity == '', Activity1, Activity), Count = iff(Activity == '', 0, Count)\r\n| join kind = inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by Activity)\r\n on Activity\r\n| project-away Activity1, TimeGenerated\r\n| extend Activitys = Activity\r\n| union (\r\n data \r\n | summarize Count = count() \r\n | extend jkey = 1\r\n | join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain}\r\n | extend jkey = 1) on jkey\r\n | extend Activity = 'All', Activitys = '*' \r\n)\r\n| order by Count desc\r\n| take 10", + "size": 4, + "title": "Top 10 Identity & Access Activities - click to filter by activity", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "Activity", + "exportParameterName": "ActivityPiker", + "exportDefaultValue": "All", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "tiles", + "tileSettings": { + "titleContent": { + "columnMatch": "Activity", + "formatter": 1, + "formatOptions": { + "showIcon": true + } + }, + "leftContent": { + "columnMatch": "Count", + "formatter": 12, + "formatOptions": { + "palette": "auto", + "showIcon": true + }, + "numberFormat": { + "unit": 17, + "options": { + "maximumSignificantDigits": 3, + "maximumFractionDigits": 2 + } + } + }, + "secondaryContent": { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "lightBlue", + "showIcon": true + } + }, + "showBorder": false + } + }, + "name": "query - 2" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "let data = SecurityEvent\r\n| where \"{Activity:lable}\" == \"All\" or Activity in ({Activity})\r\n| where Activity == '{ActivityPiker}' or '{ActivityPiker}' == \"All\" and AccountType == 'User'\r\n| extend Name = extract(@'^(.*\\\\)?([^@]*)(@.*)?$', 2, tolower(Account));\r\nlet appData = data\r\n| summarize TotalCount = count() by Name\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by Name\r\n | project-away TimeGenerated) on Name\r\n| order by TotalCount desc, Name asc\r\n| project Name, TotalCount, Trend\r\n| serialize Id = row_number();\r\ndata\r\n| summarize TotalCount = count() by Activity , Name\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by Name, Activity\r\n | project-away TimeGenerated) on Name, Activity\r\n| order by TotalCount desc, Name asc\r\n| project Name, Activity, TotalCount, Trend\r\n| serialize Id = row_number(1000000)\r\n| join kind=inner (appData) on Name\r\n| project Id, Name = Activity, Type = 'Activity', ['Activity Count'] = TotalCount, Trend, ParentId = Id1\r\n| union (appData \r\n | project Id, Name = Name, Type = 'Computer', ['Activity Count'] = TotalCount, Trend )\r\n| order by ['Activity Count'] desc, Name asc", + "size": 0, + "title": "User activities", + "timeContextFromParameter": "TimeRange", + "exportParameterName": "Userinfo", + "exportDefaultValue": "{ \"Name\":\"\", \"Type\":\"*\"}", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "Activity Count", + "formatter": 8, + "formatOptions": { + "min": 0, + "palette": "blueGreen", + "showIcon": true + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "palette": "greenDark", + "showIcon": true + } + }, + { + "columnMatch": "IpAddress", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "ParentId", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "filter": true, + "hierarchySettings": { + "idColumn": "Id", + "parentColumn": "ParentId", + "treeType": 0, + "expanderColumn": "Name" + } + } + }, + "customWidth": "50", + "name": "query - 3" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "//let Users = dynamic({Userinfo});\r\nlet data = SecurityEvent\r\n| where \"{Activity:lable}\" == \"All\" or Activity in ({Activity})\r\n| where Activity == '{ActivityPiker}' or '{ActivityPiker}' == \"All\" and AccountType == 'Machine'\r\n| extend user = extract(@'^(.*\\\\)?([^@]*)(@.*)?$', 2, tolower(Account))\r\n| where dynamic({Userinfo}).Type == '*' or (dynamic({Userinfo}).Type == 'Computer' and user == dynamic({Userinfo}).Name);\r\nlet appData = data\r\n| summarize TotalCount = count() by Computer\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by Computer\r\n | project-away TimeGenerated) on Computer\r\n| order by TotalCount desc, Computer asc\r\n| project Computer, TotalCount, Trend\r\n| serialize Id = row_number();\r\ndata\r\n| summarize TotalCount = count() by Activity , Computer\r\n| join kind=inner (data\r\n | make-series Trend = count() default = 0 on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by Computer, Activity\r\n | project-away TimeGenerated) on Computer, Activity\r\n| order by TotalCount desc, Computer asc\r\n| project Computer, Activity, TotalCount, Trend\r\n| serialize Id = row_number(1000000)\r\n| join kind=inner (appData) on Computer\r\n| project Id, Name = Activity, Type = 'Activity', ['Activity Count'] = TotalCount, Trend, ParentId = Id1\r\n| union (appData \r\n | project Id, Name = Computer, Type = 'Computer', ['Activity Count'] = TotalCount, Trend )\r\n| order by ['Activity Count'] desc, Name asc", + "size": 0, + "title": "Machine activities", + "timeContextFromParameter": "TimeRange", + "exportFieldName": "", + "exportParameterName": "MachineInfo", + "exportDefaultValue": "{ \"Name\":\"\", \"Type\":\"*\"}", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Id", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "Activity Count", + "formatter": 8, + "formatOptions": { + "min": 0, + "palette": "blue", + "showIcon": true + } + }, + { + "columnMatch": "Trend", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "ParentId", + "formatter": 5, + "formatOptions": { + "showIcon": true + } + } + ], + "filter": true, + "hierarchySettings": { + "idColumn": "Id", + "parentColumn": "ParentId", + "treeType": 0, + "expanderColumn": "Name" + } + } + }, + "customWidth": "50", + "name": "query - 4" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isNE54Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "5.4Activities", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "conditionalVisibility": { + "parameterName": "pillar", + "comparison": "isEqualTo", + "value": "p5" + }, + "name": "P5Activities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "{\"version\":\"1.0.0\",\"content\":\"[\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.1 Policy Decision Point (PD) & Policy Orchestration\\\", \\\"tab\\\": \\\"AO61\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.2 Critical Process Automation \\\", \\\"tab\\\": \\\"AO62\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.3 Machine Learning\\\", \\\"tab\\\": \\\"AO63\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.4 Artifical Learning\\\", \\\"tab\\\": \\\"AO64\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.5 Security Orchestration, Automation & Response (SOAR)\\\", \\\"tab\\\": \\\"AO65\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.6 API Standardization\\\", \\\"tab\\\": \\\"AO66\\\" },\\r\\n\\t\\t{ \\\"Select All (Automation & Orchestration 6.x)\\\": \\\"6.7 Security Operations Center (SOC) & Incident Response (IR)\\\", \\\"tab\\\": \\\"AO67\\\" }\\r\\n\\t\\t]\",\"transformers\":null}", + "size": 3, + "exportMultipleValues": true, + "exportedParameters": [ + { + "fieldName": "tab", + "parameterName": "Tab", + "parameterType": 1 + } + ], + "queryType": 8, + "gridSettings": { + "formatters": [ + { + "columnMatch": "Select All (Automation & Orchestration 6.x)", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + }, + { + "columnMatch": "tab", + "formatter": 5 + }, + { + "columnMatch": "Zero Trust", + "formatter": 0, + "formatOptions": { + "customColumnWidthSetting": "75ch" + } + } + ] + } + }, + "customWidth": "90", + "name": "AutomationOrchZT", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "42fc8445-0772-439f-b490-461fb17e5d2f", + "version": "KqlParameterItem/1.0", + "name": "isAO61Visible", + "type": 1, + "isHiddenWhenLocked": true, + "criteriaData": [ + { + "criteriaContext": { + "leftOperand": "Tab", + "operator": "contains", + "rightValType": "static", + "rightVal": "AO61", + "resultValType": "static", + "resultVal": "true" + } + }, + { + "criteriaContext": { + "operator": "Default", + "resultValType": "static", + "resultVal": "false" + } + } + ], + "timeContext": { + "durationMs": 86400000 + } + }, + { + "id": "6d0940d2-e259-49de-b490-75d026dd6ad3", + "version": "KqlParameterItem/1.0", + "name": "isAO62Visible", "type": 1, "isHiddenWhenLocked": true, "criteriaData": [ @@ -13920,7 +14637,206 @@ "content": { "json": "----\n## AuditLogs\n\nThese tables are an example Azure Security Administrators and Zero Trust Implementtors can use so to make sure that the Zero Trust Logging activties of user operations are successfully executed.
\nIt also benefits the security operator by seeing which operations are perfomed by which users or services. Therefore he or she can act quickly on a suspicious operation." }, - "name": "text - 9" + "name": "text - 9" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| join (\nAuditLogs\n| where Result == 'success'\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName \n) on OperationName\n| project OperationName, Runs, SuccessRate, TrendList\n| top 10 by Runs desc // Show the top 10 of most run operations", + "size": 0, + "title": "Top 10 operation by successrate", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Runs", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "SuccessRate", + "formatter": 8, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "showIcon": true + } + }, + { + "columnMatch": "TrendList", + "formatter": 9, + "formatOptions": { + "showIcon": true + } + } + ] + } + }, + "customWidth": "50", + "name": "query - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| project OperationName, Runs, SuccessRate, Fails\n| top 10 by SuccessRate asc // Show the 10 Operation by least SuccessRate", + "size": 0, + "title": "Top 10 most failed operations", + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "gridSettings": { + "formatters": [ + { + "columnMatch": "Runs", + "formatter": 4, + "formatOptions": { + "showIcon": true + } + }, + { + "columnMatch": "SuccessRate", + "formatter": 8, + "formatOptions": { + "min": 0, + "max": 100, + "palette": "redGreen", + "showIcon": true + } + }, + { + "columnMatch": "Fails", + "formatter": 8, + "formatOptions": { + "palette": "redBright", + "showIcon": true + } + } + ] + } + }, + "customWidth": "50", + "name": "query - 5 - Copy" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA71Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.1Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.2 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.2 Security Information & Event Management (SIEM)\r\n

\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.apps.mil/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.office365.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
\r\n💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
\r\n💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
\r\n💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
\r\n💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
\r\n💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "d1983eba-6224-4c08-b792-4910eff535ad", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "description": "Select the time range that will be used for the query's", + "value": { + "durationMs": 604800000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "name": "parameters" }, { "type": 3, @@ -13928,7 +14844,7 @@ "version": "KqlItem/1.0", "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| join (\nAuditLogs\n| where Result == 'success'\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName \n) on OperationName\n| project OperationName, Runs, SuccessRate, TrendList\n| top 10 by Runs desc // Show the top 10 of most run operations", "size": 0, - "title": "Top 10 operation by successrate", + "title": "Top 10 Information & Events by Successrate", "timeContextFromParameter": "TimeRange", "queryType": 0, "resourceType": "microsoft.operationalinsights/workspaces", @@ -13964,57 +14880,316 @@ "customWidth": "50", "name": "query - 5" }, + { + "type": 1, + "content": { + "json": "One of countless SIEM Analytics examples of delivering Context, Correlation & Aggrgation of Security Incidents. " + }, + "name": "text - 4" + } + ] + }, + "conditionalVisibility": { + "parameterName": "isVA72Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "7.2Activities", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "title": "7.3 Activities", + "expandable": true, + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# 7.3 Common Security and Risk Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + }, + "customWidth": "33", + "name": "LT-1" + }, + { + "type": 1, + "content": { + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + }, + "customWidth": "33", + "name": "LT-1 - Copy" + }, + { + "type": 1, + "content": { + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
\r\n💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
\r\n💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
\r\n💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance)
" + }, + "customWidth": "33", + "name": "LT-1 - Copy - Copy" + } + ] + }, + "name": "group - 6" + }, + { + "type": 1, + "content": { + "json": "## Example Visual Representations \r\n" + }, + "name": "text - 5" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "parameters": [ + { + "id": "befbf593-c171-4129-b890-7e642265ed0c", + "version": "KqlParameterItem/1.0", + "name": "TimeRange", + "type": 4, + "isRequired": true, + "value": { + "durationMs": 2592000000 + }, + "typeSettings": { + "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, + { + "durationMs": 14400000 + }, + { + "durationMs": 43200000 + }, + { + "durationMs": 86400000 + }, + { + "durationMs": 172800000 + }, + { + "durationMs": 259200000 + }, + { + "durationMs": 604800000 + }, + { + "durationMs": 1209600000 + }, + { + "durationMs": 2419200000 + }, + { + "durationMs": 2592000000 + }, + { + "durationMs": 5184000000 + }, + { + "durationMs": 7776000000 + } + ] + } + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "name": "parameters - 8" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "value::selected" + ], + "parameters": [ + { + "id": "3218e2b0-1bcc-46d4-affa-d298e0cf90f6", + "version": "KqlParameterItem/1.0", + "name": "DefaultSubscription_Internal", + "type": 1, + "isRequired": true, + "query": "where type =~ 'microsoft.operationalinsights/workspaces'\r\n| take 1\r\n| project subscriptionId", + "crossComponentResources": [ + "value::selected" + ], + "isHiddenWhenLocked": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + { + "id": "e6ded9a1-a83c-4762-938d-5bf8ff3d3d38", + "version": "KqlParameterItem/1.0", + "name": "Subscription", + "type": 6, + "isRequired": true, + "query": "summarize by subscriptionId\r\n| project value = strcat(\"/subscriptions/\", subscriptionId), label = subscriptionId, selected = iff(subscriptionId =~ '{DefaultSubscription_Internal}', true, false)", + "crossComponentResources": [ + "value::selected" + ], + "typeSettings": { + "additionalResourceOptions": [] + }, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + } + ], + "style": "pills", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + "customWidth": "33", + "name": "parameters - 10" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "tabs", + "links": [ + { + "id": "d4aa2831-0ab8-4977-a80e-359420e7d5f7", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Azure Security Center", + "subTarget": "ASC", + "style": "link" + }, + { + "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft 365", + "subTarget": "M365", + "style": "link" + }, + { + "id": "d4f75516-6286-4660-8294-395da6b9c29a", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Defender for Endpoint", + "subTarget": "D4E", + "style": "link" + }, + { + "id": "96141225-a0ad-43ca-bf96-e701c64318ce", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft Cloud App Security", + "subTarget": "MCAS", + "style": "link" + } + ] + }, + "name": "links - 6" + }, { "type": 3, "content": { "version": "KqlItem/1.0", - "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| project OperationName, Runs, SuccessRate, Fails\n| top 10 by SuccessRate asc // Show the 10 Operation by least SuccessRate", + "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols'\r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max\r\n| where maxscore != 0\r\n| project SecureControl , unhealthy, currentscore, maxscore", "size": 0, - "title": "Top 10 most failed operations", - "timeContextFromParameter": "TimeRange", - "queryType": 0, + "queryType": 1, "resourceType": "microsoft.operationalinsights/workspaces", + "crossComponentResources": [ + "{Subscription}" + ], "gridSettings": { "formatters": [ { - "columnMatch": "Runs", - "formatter": 4, + "columnMatch": "SecureControl", + "formatter": 1 + }, + { + "columnMatch": "unhealthy", + "formatter": 18, "formatOptions": { - "showIcon": true + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "!=", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "greenDark", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "blue", + "text": "{0}{1}" + } + ] } }, { - "columnMatch": "SuccessRate", - "formatter": 8, + "columnMatch": "currentscore", + "formatter": 18, "formatOptions": { - "min": 0, - "max": 100, - "palette": "redGreen", - "showIcon": true + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "greenDark", + "text": "{0}{1}" + } + ] } }, { - "columnMatch": "Fails", - "formatter": 8, - "formatOptions": { - "palette": "redBright", - "showIcon": true - } + "columnMatch": "maxscore", + "formatter": 1 } ] } }, - "customWidth": "50", - "name": "query - 5 - Copy" + "name": "query - 1" } ] }, "conditionalVisibility": { - "parameterName": "isVA71Visible", + "parameterName": "isVA73Visible", "comparison": "isEqualTo", "value": "true" }, - "name": "7.1Activities", + "name": "7.3Activities", "styleSettings": { "showBorder": true } @@ -14024,7 +15199,7 @@ "content": { "version": "NotebookGroup/1.0", "groupType": "editable", - "title": "7.2 Activities", + "title": "7.4 Activities", "expandable": true, "items": [ { @@ -14036,7 +15211,7 @@ { "type": 1, "content": { - "json": "# 7.2 Security Information & Event Management (SIEM)\r\n

\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.apps.mil/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n\r\n" }, "customWidth": "33", "name": "LT-1" @@ -14044,7 +15219,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.office365.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -14052,7 +15227,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
\r\n💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
\r\n💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
\r\n💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
\r\n💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
\r\n💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
\r\n💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
\r\n💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
\r\n💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
\r\n💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14068,22 +15243,35 @@ }, "name": "text - 5" }, + { + "type": 1, + "content": { + "json": "# User and Entity Behavior Analytics\n---\n\nDepicted below is one of many examples of UEBA- open incidents, alerts and anomalies identified by Sentinel UEBA engine. " + }, + "name": "text - 2" + }, { "type": 9, "content": { "version": "KqlParameterItem/1.0", "parameters": [ { - "id": "d1983eba-6224-4c08-b792-4910eff535ad", + "id": "36cdaf52-4303-405d-ac9c-de2037db99c3", "version": "KqlParameterItem/1.0", "name": "TimeRange", + "label": "Time Range", "type": 4, - "description": "Select the time range that will be used for the query's", "value": { - "durationMs": 604800000 + "durationMs": 2419200000 }, "typeSettings": { "selectableValues": [ + { + "durationMs": 1800000 + }, + { + "durationMs": 3600000 + }, { "durationMs": 14400000 }, @@ -14096,12 +15284,18 @@ { "durationMs": 172800000 }, + { + "durationMs": 259200000 + }, { "durationMs": 604800000 }, { "durationMs": 1209600000 }, + { + "durationMs": 2419200000 + }, { "durationMs": 2592000000 }, @@ -14112,6 +15306,9 @@ "durationMs": 7776000000 } ] + }, + "timeContext": { + "durationMs": 86400000 } } ], @@ -14119,65 +15316,83 @@ "queryType": 0, "resourceType": "microsoft.operationalinsights/workspaces" }, - "name": "parameters" + "name": "parameters - 2" }, { "type": 3, "content": { "version": "KqlItem/1.0", - "query": "\nAuditLogs\n| summarize Runs = count(), Success = countif(Result == 'success'), Fails = countif(Result != 'success') by OperationName // Summarize the total, successful and failed operations by name\n| extend SuccessRate = (Success * 100 / Runs) // Calculate the percentage of succesful operations against the total\n| join (\nAuditLogs\n| where Result == 'success'\n| make-series TrendList = count() on TimeGenerated in range({TimeRange:start}, {TimeRange:end}, {TimeRange:grain}) by OperationName \n) on OperationName\n| project OperationName, Runs, SuccessRate, TrendList\n| top 10 by Runs desc // Show the top 10 of most run operations", - "size": 0, - "title": "Top 10 Information & Events by Successrate", + "query": "let AnomalousSigninActivity = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where (UsersInsights.NewAccount == True or UsersInsights.DormantAccount == True) and (\n ActivityInsights.FirstTimeUserAccessedResource == True and ActivityInsights.ResourceUncommonlyAccessedAmongPeers == True\nor ActivityInsights.FirstTimeUserUsedApp == True and ActivityInsights.AppUncommonlyUsedAmongPeers == False)\n| join (\nSigninLogs | where TimeGenerated {TimeRange:query} | where Status.errorCode == 0 or Status.errorCode == 0 and RiskDetail != \"none\"\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Persistence\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Successful Sign-in with one or more of the following indications: sign by new or recently dormant accounts and sign in with resource for the first time (while none of their peers did) or to an app for the first time (while none of their peers did) or performed by a user with Risk indicaiton from AAD\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet critical = dynamic(['9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3','c4e39bd9-1100-46d3-8c65-fb160da0071f','158c047a-c907-4556-b7ef-446551a6b5f7','62e90394-69f5-4237-9190-012177145e10','d29b2b05-8046-44ba-8758-1e26182fcf32','729827e3-9c14-49f7-bb1b-9608f156bbb8','966707d0-3269-4727-9be2-8c3a10f19b9d','194ae4cb-b126-40b2-bd5b-6091b380977d','fe930be7-5e62-47db-91af-98c3a49a38b1']);\nlet high = dynamic(['cf1c38e5-3621-4004-a7cb-879624dced7c','7495fdc4-34c4-4d15-a289-98788ce399fd','aaf43236-0c0d-4d5f-883a-6955382ac081','3edaf663-341e-4475-9f94-5c398ef6c070','7698a772-787b-4ac8-901f-60d6b08affd2','b1be1c3e-b65d-4f19-8427-f6fa0d97feb9','9f06204d-73c1-4d4c-880a-6edb90606fd8','29232cdf-9323-42fd-ade2-1d097af3e4de','be2f45a1-457d-42af-a067-6ec1fa63bc45','7be44c8a-adaf-4e2a-84d6-ab2649e08a13','e8611ab8-c189-46e8-94e1-60213ab1f814']);\nlet AnomalousRoleAssignment = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Add member to role\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = tostring(TargetResources.userPrincipalName)\n| join kind=inner ( BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Add member to role\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend AnomalyName = \"Anomalous Role Assignemt\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing Add member to priveleged role, or ones that add users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority;let LogOns=materialize(\nBehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\");\nlet AnomalousResourceAccess = LogOns\n| where ActionType == \"ResourceAccess\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous Resource Access\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversary may be trying to move through the environment. APT29 and APT32, for example, has used PtH & PtT techniques to lateral move around the network. The query below generates an output of all users performing an resource access (4624:3) to devices for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousRDPActivity = LogOns\n| where ActionType == \"RemoteInteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous RDP Activity\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversaries may use Valid Accounts to log into a computer using the Remote Desktop Protocol (RDP). The adversary may then perform actions as the logged-on user. FIN10, for example, has used RDP to move laterally to systems in the victim environment. The query below generates an output of all users performing a remote interactive logon (4624:10) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousLogintoDevices = LogOns\n| where ActionType == \"InteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| where UsersInsights.DormantAccount == true or DevicesInsights.LocalAdmin == true\n| extend AnomalyName = \"Anomalous Login To Devices\",\n Tactic = \"Privilege Escalation\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access and privilege escalation. The query below generates an output of all administator users performing an interactive logon (4624:2) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousPasswordReset = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Reset user password\"\n| where ActivityInsights.FirstTimeUserPerformedAction == \"True\"\n| join (\nAuditLogs\n | where TimeGenerated {TimeRange:query}\n | where OperationName == \"Reset user password\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Password Reset\",\n Tactic = \"Impact\",\n Technique = \"Account Access Removal\",\n SubTechnique = \"\",\n Description = \"Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users. Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts. LockerGoga, for example, has been observed changing account passwords and logging off current users. The query below generates an output of all users performing Reset user password for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalousGeoLocationLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where ActivityInsights.FirstTimeUserConnectedFromCountry == True and (ActivityInsights.FirstTimeConnectionFromCountryObservedInTenant == True or ActivityInsights.CountryUncommonlyConnectedFromAmongPeers == True)\n| join (\nSigninLogs\n | where TimeGenerated {TimeRange:query}\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Initial Access\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access. The query below generates an output of successful Sign-in performed by a user from a new geo location he has never connected from before, and none of his peers as well.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousFailedLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\"\n| where UsersInsights.BlastRadius == \"High\"\n| join (\n SigninLogs \n | where TimeGenerated {TimeRange:query}\n | where Status.errorCode == 50126\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Failed Logon\",\n Tactic = \"Credential Access\",\n Technique = \"Brute Force\",\n SubTechnique = \"Password Guessing\",\n Description = \"Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts. Emotet, for example, has been observed using a hard coded list of passwords to brute force user accounts. The query below generates an output of all users with 'High' BlastRadius that perform failed Sign-in:Invalid username or password.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousAADAccountManipulation = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Update user\"\n| mv-expand AdditionalDetails\n| where AdditionalDetails.key == \"UserPrincipalName\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| join kind=inner ( \n BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Update user\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName) \n| extend AnomalyName = \"Anomalous Account Manipulation\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing 'Update user' (name change) to priveleged role, or ones that changed users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; let AnomalousAADAccountCreation = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Add user\"\n| where ActivityInsights.FirstTimeUserPerformedAction == True or ActivityInsights.FirstTimeActionPerformedInTenant == True or ActivityInsights.ActionUncommonlyPerformedAmongPeers == true\n| join(\nAuditLogs\n | where TimeGenerated {TimeRange:query} \n | where OperationName == \"Add user\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend DisplayName = tostring(UsersInsights.AccountDisplayName),\nUserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Account Creation\",\n Tactic = \"Persistence\",\n Technique = \"Create Account\",\n SubTechnique = \"Cloud Account\",\n Description = \"Adversaries may create a cloud account to maintain access to victim systems. With a sufficient level of access, such accounts may be used to establish secondary credentialed access that does not require persistent remote access tools to be deployed on the system. The query below generates an output of all the users performing user creation for the first time and the target users that were created.\"\t\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalyTable = union kind=outer AnomalousSigninActivity, AnomalousRoleAssignment, AnomalousResourceAccess, AnomalousRDPActivity, AnomalousPasswordReset, AnomalousLogintoDevices, AnomalousGeoLocationLogon, AnomalousAADAccountManipulation, AnomalousAADAccountCreation, AnomalousFailedLogon;\nlet TopUsersByAnomalies = AnomalyTable\n| summarize hint.strategy = shuffle AnomalyCount=count() by UserName, UserPrincipalName, tostring(UsersInsights.OnPremSid), tostring(UsersInsights.AccountObjectId)\n| project Name=tolower(UserName),UPN=tolower(UserPrincipalName), AadUserId=UsersInsights_AccountObjectId, Sid=UsersInsights_OnPremSid, AnomalyCount\n| sort by AnomalyCount desc;\nlet TopUsersByIncidents = SecurityIncident\n| where TimeGenerated {TimeRange:query} \n| summarize hint.strategy = shuffle arg_max(LastModifiedTime, *) by IncidentNumber\n| where Status == \"New\" or Status == \"Active\"\n| mv-expand AlertIds\n| extend AlertId = tostring(AlertIds)\n| join kind= innerunique ( \nSecurityAlert | where TimeGenerated {TimeRange:query} \n) on $left.AlertId == $right.SystemAlertId\n| summarize hint.strategy = shuffle arg_max(TimeGenerated,*), NumberOfUpdates = count() by SystemAlertId\n| mv-expand todynamic(Entities)\n| where Entities[\"Type\"] =~ \"account\"\n| extend Name = tostring(tolower(Entities[\"Name\"])), NTDomain = tostring(Entities[\"NTDomain\"]), UPNSuffix = tostring(Entities[\"UPNSuffix\"]), AadUserId = tostring(Entities[\"AadUserId\"]), AadTenantId = tostring(Entities[\"AadTenantId\"]), \n Sid = tostring(Entities[\"Sid\"]), IsDomainJoined = tobool(Entities[\"IsDomainJoined\"]) , Host = tostring(Entities[\"Host\"])\n| extend UPN = iff(Name != \"\" and UPNSuffix != \"\", strcat(Name, \"@\", UPNSuffix), \"\")\n| union TopUsersByAnomalies\n| extend \n AadPivot = iff(isempty(AadUserId),iff(isempty(Sid),Name,Sid),AadUserId),\n SidPivot = iff(isempty(Sid),iff(isempty(AadUserId),Name,AadUserId),Sid),\n UPNExists = iff(isempty(UPN), false,true),\n NameExists = iff(isempty(Name), false,true),\n SidExists = iff(isempty(Sid), false,true),\n AADExists = iff(isempty(AadUserId), false,true)\n| summarize hint.strategy = shuffle IncidentCount=dcount(IncidentNumber,4),AlertCount=dcountif(AlertId,isnotempty(AlertId),4),AnomalyCount=sum(AnomalyCount),any(Title, Severity, Status, StartTime, IncidentNumber, IncidentUrl, Owner), UPNAnchor=anyif(UPN, UPNExists == true),NameAnchor=anyif(Name, NameExists == true),AadAnchor=anyif(AadUserId, AADExists == true), SidAnchor=anyif(Sid, SidExists == true) , any(SidPivot) by AadPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount),AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),NameAnchor=anyif(NameAnchor, isempty(NameAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_Title,any_Severity,any_StartTime, any_IncidentNumber, any_IncidentUrl) by any_SidPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount), AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_any_Title, any_any_Severity,any_any_StartTime, any_any_IncidentNumber, any_any_IncidentUrl) by NameAnchor\n| project [\"UserName\"]=NameAnchor,IncidentCount, AlertCount,AnomalyCount, [\"AadUserId\"]=AadAnchor,[\"OnPremSid\"]=SidAnchor , [\"UserPrincipalName\"]=UPNAnchor;\nTopUsersByIncidents\n| sort by IncidentCount, AlertCount, AnomalyCount desc\n", + "size": 1, + "showAnalytics": true, "timeContextFromParameter": "TimeRange", + "exportedParameters": [ + { + "fieldName": "UserPrincipalName", + "parameterName": "SelectedUser", + "parameterType": 1 + }, + { + "fieldName": "UserName", + "parameterName": "UserName", + "parameterType": 1, + "defaultValue": "None" + }, + { + "fieldName": "AadUserId", + "parameterName": "UserObjectId", + "parameterType": 1 + }, + { + "fieldName": "OnPremSid", + "parameterName": "UserSid", + "parameterType": 1 + }, + { + "fieldName": "AnomalyCount", + "parameterName": "AnomalyCount", + "parameterType": 1, + "defaultValue": "0" + } + ], "queryType": 0, "resourceType": "microsoft.operationalinsights/workspaces", + "visualization": "table", "gridSettings": { "formatters": [ { - "columnMatch": "Runs", - "formatter": 4, - "formatOptions": { - "showIcon": true - } - }, - { - "columnMatch": "SuccessRate", + "columnMatch": "IncidentCount", "formatter": 8, "formatOptions": { - "min": 0, - "max": 100, - "palette": "redGreen", - "showIcon": true + "palette": "redDark" } - }, + } + ], + "filter": true, + "sortBy": [ { - "columnMatch": "TrendList", - "formatter": 9, - "formatOptions": { - "showIcon": true - } + "itemKey": "AnomalyCount", + "sortOrder": 2 } ] - } - }, - "customWidth": "50", - "name": "query - 5" - }, - { - "type": 1, - "content": { - "json": "One of countless SIEM Analytics examples of delivering Context, Correlation & Aggrgation of Security Incidents. " + }, + "sortBy": [ + { + "itemKey": "AnomalyCount", + "sortOrder": 2 + } + ] }, - "name": "text - 4" + "name": "query - 2" } ] }, "conditionalVisibility": { - "parameterName": "isVA72Visible", + "parameterName": "isVA74Visible", "comparison": "isEqualTo", "value": "true" }, - "name": "7.2Activities", + "name": "7.4Activities", "styleSettings": { "showBorder": true } @@ -14187,7 +15402,7 @@ "content": { "version": "NotebookGroup/1.0", "groupType": "editable", - "title": "7.3 Activities", + "title": "7.5 Activities", "expandable": true, "items": [ { @@ -14199,7 +15414,7 @@ { "type": 1, "content": { - "json": "# 7.3 Common Security and Risk Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + "json": "# 7.5 Threat Intelligence Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
" }, "customWidth": "33", "name": "LT-1" @@ -14207,7 +15422,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -14215,7 +15430,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
\r\n💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
\r\n💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
\r\n💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
\r\n💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
\r\n💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
\r\n💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
\r\n💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
\r\n💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14229,250 +15444,80 @@ "content": { "json": "## Example Visual Representations \r\n" }, - "name": "text - 5" - }, - { - "type": 9, - "content": { - "version": "KqlParameterItem/1.0", - "parameters": [ - { - "id": "befbf593-c171-4129-b890-7e642265ed0c", - "version": "KqlParameterItem/1.0", - "name": "TimeRange", - "type": 4, - "isRequired": true, - "value": { - "durationMs": 2592000000 - }, - "typeSettings": { - "selectableValues": [ - { - "durationMs": 300000 - }, - { - "durationMs": 900000 - }, - { - "durationMs": 1800000 - }, - { - "durationMs": 3600000 - }, - { - "durationMs": 14400000 - }, - { - "durationMs": 43200000 - }, - { - "durationMs": 86400000 - }, - { - "durationMs": 172800000 - }, - { - "durationMs": 259200000 - }, - { - "durationMs": 604800000 - }, - { - "durationMs": 1209600000 - }, - { - "durationMs": 2419200000 - }, - { - "durationMs": 2592000000 - }, - { - "durationMs": 5184000000 - }, - { - "durationMs": 7776000000 - } - ] - } - } - ], - "style": "pills", + "name": "text - 5" + }, + { + "type": 3, + "content": { + "version": "KqlItem/1.0", + "query": "ThreatIntelligenceIndicator\r\n// Select all indicators from the table\r\n// Create a new column to identify the type of indicator, IP, Domain, URL, File, or Other\r\n| extend IndicatorType = iif(\r\n isnotempty(EmailSourceIpAddress) or isnotempty(NetworkDestinationIP) or isnotempty(NetworkIP) or isnotempty(NetworkSourceIP) or isnotempty(NetworkCidrBlock),\r\n \"IP\",\r\n iff(\r\n isnotempty(Url),\r\n \"URL\",\r\n iff(\r\n isnotempty(EmailRecipient) or isnotempty(EmailSenderAddress),\r\n \"Email\",\r\n iff(\r\n isnotempty(FileHashValue),\r\n \"File\",\r\n iff(\r\n isnotempty(DomainName) or isnotempty(EmailSourceDomain),\r\n \"Domain\",\r\n \"Other\"\r\n)\r\n)\r\n)\r\n)\r\n )\r\n// Summarize and order the data, then render the chart\r\n| summarize CountOfIndicators = count() by IndicatorType, bin(TimeGenerated, 1h)\r\n| order by CountOfIndicators desc \r\n| render barchart kind=stacked", + "size": 0, + "title": "Indicators Imported into Sentinel by Indicator Type and Date", + "timeContext": { + "durationMs": 2592000000 + }, "queryType": 0, "resourceType": "microsoft.operationalinsights/workspaces" }, "customWidth": "50", - "name": "parameters - 8" + "name": "75query1" }, { - "type": 9, + "type": 3, "content": { - "version": "KqlParameterItem/1.0", - "crossComponentResources": [ - "value::selected" - ], - "parameters": [ - { - "id": "3218e2b0-1bcc-46d4-affa-d298e0cf90f6", - "version": "KqlParameterItem/1.0", - "name": "DefaultSubscription_Internal", - "type": 1, - "isRequired": true, - "query": "where type =~ 'microsoft.operationalinsights/workspaces'\r\n| take 1\r\n| project subscriptionId", - "crossComponentResources": [ - "value::selected" - ], - "isHiddenWhenLocked": true, - "queryType": 1, - "resourceType": "microsoft.resourcegraph/resources" - }, - { - "id": "e6ded9a1-a83c-4762-938d-5bf8ff3d3d38", - "version": "KqlParameterItem/1.0", - "name": "Subscription", - "type": 6, - "isRequired": true, - "query": "summarize by subscriptionId\r\n| project value = strcat(\"/subscriptions/\", subscriptionId), label = subscriptionId, selected = iff(subscriptionId =~ '{DefaultSubscription_Internal}', true, false)", - "crossComponentResources": [ - "value::selected" - ], - "typeSettings": { - "additionalResourceOptions": [] - }, - "queryType": 1, - "resourceType": "microsoft.resourcegraph/resources" - } - ], - "style": "pills", - "queryType": 1, - "resourceType": "microsoft.resourcegraph/resources" + "version": "KqlItem/1.0", + "query": "ThreatIntelligenceIndicator\r\n// Select all indicators from the table\r\n// Summarize and order the data, then render the chart\r\n| summarize CountOfIndicators = count() by SourceSystem, bin(TimeGenerated, 1h)\r\n| render barchart kind=stacked", + "size": 0, + "title": "Indicators Imported into Sentinel by Indicator Provider and Date", + "timeContext": { + "durationMs": 2592000000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" }, - "customWidth": "33", - "name": "parameters - 10" + "customWidth": "50", + "name": "75query2" }, { - "type": 11, + "type": 3, "content": { - "version": "LinkItem/1.0", - "style": "tabs", - "links": [ - { - "id": "d4aa2831-0ab8-4977-a80e-359420e7d5f7", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Azure Security Center", - "subTarget": "ASC", - "style": "link" - }, - { - "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft 365", - "subTarget": "M365", - "style": "link" - }, - { - "id": "d4f75516-6286-4660-8294-395da6b9c29a", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Defender for Endpoint", - "subTarget": "D4E", - "style": "link" - }, - { - "id": "96141225-a0ad-43ca-bf96-e701c64318ce", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft Cloud App Security", - "subTarget": "MCAS", - "style": "link" - } - ] + "version": "KqlItem/1.0", + "query": "ThreatIntelligenceIndicator\r\n// Select all indicators from the table\r\n| where TimeGenerated < now()\r\n // Select only indicators that have not expired\r\n and ExpirationDateTime > now()\r\n // Select only indicators that are marked active\r\n and Active == true\r\n// Select only the most recently ingested copy of an indicator\r\n| summarize arg_max(TimeGenerated, *) by IndicatorId\r\n// Create a new column to identify the type of indicator, IP, Domain, URL, File, or Other\r\n| extend IndicatorType = iif(\r\n isnotempty(EmailSourceIpAddress) or isnotempty(NetworkDestinationIP) or isnotempty(NetworkIP) or isnotempty(NetworkSourceIP) or isnotempty(NetworkCidrBlock),\r\n \"IP\",\r\n iff(\r\n isnotempty(Url),\r\n \"URL\",\r\n iff(\r\n isnotempty(EmailRecipient) or isnotempty(EmailSenderAddress),\r\n \"Email\",\r\n iff(\r\n isnotempty(FileHashValue),\r\n \"File\",\r\n iff(\r\n isnotempty(DomainName) or isnotempty(EmailSourceDomain),\r\n \"Domain\",\r\n \"Other\"\r\n)\r\n)\r\n)\r\n)\r\n )\r\n// Summarize and order the data, then render the chart\r\n| summarize CountOfIndicators = count() by IndicatorType\r\n| order by CountOfIndicators desc \r\n| render barchart kind=unstacked", + "size": 0, + "title": "Active Indicators by Indicator Type", + "timeContext": { + "durationMs": 2592000000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" }, - "name": "links - 6" + "customWidth": "50", + "name": "75query3" }, { "type": 3, "content": { "version": "KqlItem/1.0", - "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols'\r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max\r\n| where maxscore != 0\r\n| project SecureControl , unhealthy, currentscore, maxscore", + "query": "ThreatIntelligenceIndicator\r\n// Select all indicators from the table\r\n| where TimeGenerated < now()\r\n // Select only indicators that have not expired\r\n and ExpirationDateTime > now()\r\n // Select only indicators that are marked active\r\n and Active == true\r\n// Select only the most recently ingested copy of an indicator\r\n| summarize arg_max(TimeGenerated, *) by IndicatorId\r\n// Summarize and order the data, then render the chart\r\n| summarize CountOfIndicators = count() by SourceSystem\r\n| order by CountOfIndicators desc \r\n| render barchart kind=unstacked", "size": 0, - "queryType": 1, - "resourceType": "microsoft.operationalinsights/workspaces", - "crossComponentResources": [ - "{Subscription}" - ], - "gridSettings": { - "formatters": [ - { - "columnMatch": "SecureControl", - "formatter": 1 - }, - { - "columnMatch": "unhealthy", - "formatter": 18, - "formatOptions": { - "thresholdsOptions": "colors", - "thresholdsGrid": [ - { - "operator": "!=", - "thresholdValue": "0", - "representation": "redBright", - "text": "{0}{1}" - }, - { - "operator": "==", - "thresholdValue": "0", - "representation": "greenDark", - "text": "{0}{1}" - }, - { - "operator": "Default", - "thresholdValue": null, - "representation": "blue", - "text": "{0}{1}" - } - ] - } - }, - { - "columnMatch": "currentscore", - "formatter": 18, - "formatOptions": { - "thresholdsOptions": "colors", - "thresholdsGrid": [ - { - "operator": "==", - "thresholdValue": "0", - "representation": "redBright", - "text": "{0}{1}" - }, - { - "operator": "Default", - "thresholdValue": null, - "representation": "greenDark", - "text": "{0}{1}" - } - ] - } - }, - { - "columnMatch": "maxscore", - "formatter": 1 - } - ] - } + "title": "Active Indicators by Indicator Source", + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" }, - "name": "query - 1" + "customWidth": "50", + "name": "75query4" } ] }, "conditionalVisibility": { - "parameterName": "isVA73Visible", + "parameterName": "isVA75Visible", "comparison": "isEqualTo", "value": "true" }, - "name": "7.3Activities", + "name": "7.5Activities", "styleSettings": { "showBorder": true } @@ -14482,7 +15527,7 @@ "content": { "version": "NotebookGroup/1.0", "groupType": "editable", - "title": "7.4 Activities", + "title": "7.6 Activities", "expandable": true, "items": [ { @@ -14494,7 +15539,7 @@ { "type": 1, "content": { - "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n\r\n" + "json": "# 7.6 Automated Dynamic Policies\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" }, "customWidth": "33", "name": "LT-1" @@ -14502,7 +15547,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -14510,7 +15555,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
\r\n💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
\r\n💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
\r\n💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
\r\n💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
\r\n💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
\r\n💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
\r\n💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
\r\n💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
\r\n💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
\r\n💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14529,7 +15574,7 @@ { "type": 1, "content": { - "json": "# User and Entity Behavior Analytics\n---\n\nDepicted below is one of many examples of UEBA- open incidents, alerts and anomalies identified by Sentinel UEBA engine. " + "json": "## Microsoft Defender for Cloud Security Continous Posture Monitoring & Manangement " }, "name": "text - 2" }, @@ -14539,16 +15584,22 @@ "version": "KqlParameterItem/1.0", "parameters": [ { - "id": "36cdaf52-4303-405d-ac9c-de2037db99c3", + "id": "befbf593-c171-4129-b890-7e642265ed0c", "version": "KqlParameterItem/1.0", "name": "TimeRange", - "label": "Time Range", "type": 4, + "isRequired": true, "value": { - "durationMs": 2419200000 + "durationMs": 2592000000 }, "typeSettings": { "selectableValues": [ + { + "durationMs": 300000 + }, + { + "durationMs": 900000 + }, { "durationMs": 1800000 }, @@ -14589,105 +15640,104 @@ "durationMs": 7776000000 } ] - }, - "timeContext": { - "durationMs": 86400000 } } ], "style": "pills", - "queryType": 0, - "resourceType": "microsoft.operationalinsights/workspaces" + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "50", + "name": "parameters - 8" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "value::selected" + ], + "parameters": [ + { + "id": "3218e2b0-1bcc-46d4-affa-d298e0cf90f6", + "version": "KqlParameterItem/1.0", + "name": "DefaultSubscription_Internal", + "type": 1, + "isRequired": true, + "query": "where type =~ 'microsoft.operationalinsights/workspaces'\r\n| take 1\r\n| project subscriptionId", + "crossComponentResources": [ + "value::selected" + ], + "isHiddenWhenLocked": true, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + { + "id": "e6ded9a1-a83c-4762-938d-5bf8ff3d3d38", + "version": "KqlParameterItem/1.0", + "name": "Subscription", + "type": 6, + "isRequired": true, + "query": "summarize by subscriptionId\r\n| project value = strcat(\"/subscriptions/\", subscriptionId), label = subscriptionId, selected = iff(subscriptionId =~ '{DefaultSubscription_Internal}', true, false)", + "crossComponentResources": [ + "value::selected" + ], + "typeSettings": { + "additionalResourceOptions": [] + }, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + } + ], + "style": "pills", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" }, - "name": "parameters - 2" + "customWidth": "33", + "name": "parameters - 10" }, { - "type": 3, + "type": 11, "content": { - "version": "KqlItem/1.0", - "query": "let AnomalousSigninActivity = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where (UsersInsights.NewAccount == True or UsersInsights.DormantAccount == True) and (\n ActivityInsights.FirstTimeUserAccessedResource == True and ActivityInsights.ResourceUncommonlyAccessedAmongPeers == True\nor ActivityInsights.FirstTimeUserUsedApp == True and ActivityInsights.AppUncommonlyUsedAmongPeers == False)\n| join (\nSigninLogs | where TimeGenerated {TimeRange:query} | where Status.errorCode == 0 or Status.errorCode == 0 and RiskDetail != \"none\"\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Persistence\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Successful Sign-in with one or more of the following indications: sign by new or recently dormant accounts and sign in with resource for the first time (while none of their peers did) or to an app for the first time (while none of their peers did) or performed by a user with Risk indicaiton from AAD\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet critical = dynamic(['9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3','c4e39bd9-1100-46d3-8c65-fb160da0071f','158c047a-c907-4556-b7ef-446551a6b5f7','62e90394-69f5-4237-9190-012177145e10','d29b2b05-8046-44ba-8758-1e26182fcf32','729827e3-9c14-49f7-bb1b-9608f156bbb8','966707d0-3269-4727-9be2-8c3a10f19b9d','194ae4cb-b126-40b2-bd5b-6091b380977d','fe930be7-5e62-47db-91af-98c3a49a38b1']);\nlet high = dynamic(['cf1c38e5-3621-4004-a7cb-879624dced7c','7495fdc4-34c4-4d15-a289-98788ce399fd','aaf43236-0c0d-4d5f-883a-6955382ac081','3edaf663-341e-4475-9f94-5c398ef6c070','7698a772-787b-4ac8-901f-60d6b08affd2','b1be1c3e-b65d-4f19-8427-f6fa0d97feb9','9f06204d-73c1-4d4c-880a-6edb90606fd8','29232cdf-9323-42fd-ade2-1d097af3e4de','be2f45a1-457d-42af-a067-6ec1fa63bc45','7be44c8a-adaf-4e2a-84d6-ab2649e08a13','e8611ab8-c189-46e8-94e1-60213ab1f814']);\nlet AnomalousRoleAssignment = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Add member to role\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = tostring(TargetResources.userPrincipalName)\n| join kind=inner ( BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Add member to role\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend AnomalyName = \"Anomalous Role Assignemt\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing Add member to priveleged role, or ones that add users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority;let LogOns=materialize(\nBehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\");\nlet AnomalousResourceAccess = LogOns\n| where ActionType == \"ResourceAccess\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous Resource Access\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversary may be trying to move through the environment. APT29 and APT32, for example, has used PtH & PtT techniques to lateral move around the network. The query below generates an output of all users performing an resource access (4624:3) to devices for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousRDPActivity = LogOns\n| where ActionType == \"RemoteInteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| extend AnomalyName = \"Anomalous RDP Activity\",\n Tactic = \"Lateral Movement\",\n Technique = \"\",\n SubTechnique = \"\",\n Description = \"Adversaries may use Valid Accounts to log into a computer using the Remote Desktop Protocol (RDP). The adversary may then perform actions as the logged-on user. FIN10, for example, has used RDP to move laterally to systems in the victim environment. The query below generates an output of all users performing a remote interactive logon (4624:10) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousLogintoDevices = LogOns\n| where ActionType == \"InteractiveLogon\"\n| where ActivityInsights.FirstTimeUserLoggedOnToDevice == true\n| where UsersInsights.DormantAccount == true or DevicesInsights.LocalAdmin == true\n| extend AnomalyName = \"Anomalous Login To Devices\",\n Tactic = \"Privilege Escalation\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access and privilege escalation. The query below generates an output of all administator users performing an interactive logon (4624:2) to a device for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousPasswordReset = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Reset user password\"\n| where ActivityInsights.FirstTimeUserPerformedAction == \"True\"\n| join (\nAuditLogs\n | where TimeGenerated {TimeRange:query}\n | where OperationName == \"Reset user password\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Password Reset\",\n Tactic = \"Impact\",\n Technique = \"Account Access Removal\",\n SubTechnique = \"\",\n Description = \"Adversaries may interrupt availability of system and network resources by inhibiting access to accounts utilized by legitimate users. Accounts may be deleted, locked, or manipulated (ex: changed credentials) to remove access to accounts. LockerGoga, for example, has been observed changing account passwords and logging off current users. The query below generates an output of all users performing Reset user password for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalousGeoLocationLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Sign-in\"\n| where ActivityInsights.FirstTimeUserConnectedFromCountry == True and (ActivityInsights.FirstTimeConnectionFromCountryObservedInTenant == True or ActivityInsights.CountryUncommonlyConnectedFromAmongPeers == True)\n| join (\nSigninLogs\n | where TimeGenerated {TimeRange:query}\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Successful Logon\",\n Tactic = \"Initial Access\",\n Technique = \"Valid Accounts\",\n SubTechnique = \"\",\n Description = \"Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier in their reconnaissance process through social engineering for means of gaining Initial Access. APT33, for example, has used valid accounts for initial access. The query below generates an output of successful Sign-in performed by a user from a new geo location he has never connected from before, and none of his peers as well.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousFailedLogon = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActivityType == \"LogOn\"\n| where UsersInsights.BlastRadius == \"High\"\n| join (\n SigninLogs \n | where TimeGenerated {TimeRange:query}\n | where Status.errorCode == 50126\n) on $left.SourceRecordId == $right._ItemId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Failed Logon\",\n Tactic = \"Credential Access\",\n Technique = \"Brute Force\",\n SubTechnique = \"Password Guessing\",\n Description = \"Adversaries with no prior knowledge of legitimate credentials within the system or environment may guess passwords to attempt access to accounts. Emotet, for example, has been observed using a hard coded list of passwords to brute force user accounts. The query below generates an output of all users with 'High' BlastRadius that perform failed Sign-in:Invalid username or password.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType,[\"Evidence\"]=ActivityInsights, ResourceDisplayName,AppDisplayName ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; \nlet AnomalousAADAccountManipulation = AuditLogs\n| where TimeGenerated {TimeRange:query}\n| where OperationName == \"Update user\"\n| mv-expand AdditionalDetails\n| where AdditionalDetails.key == \"UserPrincipalName\"\n| mv-expand TargetResources\n| extend RoleId = tostring(TargetResources.modifiedProperties[0].newValue)\n| where isnotempty(RoleId) and RoleId in (critical,high)\n| extend RoleName = tostring(TargetResources.modifiedProperties[1].newValue)\n| where isnotempty(RoleName)\n| extend TargetId = tostring(TargetResources.id)\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| join kind=inner ( \n BehaviorAnalytics\n | where TimeGenerated {TimeRange:query}\n | where ActionType == \"Update user\"\n | where UsersInsights.BlasrRadius == \"High\" or ActivityInsights.FirstTimeUserPerformedAction == true\n) on $left._ItemId == $right.SourceRecordId\n| extend UserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName) \n| extend AnomalyName = \"Anomalous Account Manipulation\",\n Tactic = \"Persistence\",\n Technique = \"Account Manipulation\",\n SubTechnique = \"\",\n Description = \"Adversaries may manipulate accounts to maintain access to victim systems. These actions include adding new accounts to high privilleged groups. Dragonfly 2.0, for example, added newly created accounts to the administrators group to maintain elevated access. The query below generates an output of all high Blast Radius users performing 'Update user' (name change) to priveleged role, or ones that changed users for the first time.\"\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,RoleName,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority; let AnomalousAADAccountCreation = BehaviorAnalytics\n| where TimeGenerated {TimeRange:query}\n| where ActionType == \"Add user\"\n| where ActivityInsights.FirstTimeUserPerformedAction == True or ActivityInsights.FirstTimeActionPerformedInTenant == True or ActivityInsights.ActionUncommonlyPerformedAmongPeers == true\n| join(\nAuditLogs\n | where TimeGenerated {TimeRange:query} \n | where OperationName == \"Add user\"\n) on $left.SourceRecordId == $right._ItemId\n| mv-expand TargetResources\n| extend Target = iff(tostring(TargetResources.userPrincipalName) contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(TargetResources.userPrincipalName, \"#\")[0])),TargetResources.userPrincipalName),tostring(TargetResources.userPrincipalName)\n| extend DisplayName = tostring(UsersInsights.AccountDisplayName),\nUserPrincipalName = iff(UserPrincipalName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserPrincipalName),\nUserName = iff(UserName contains \"#EXT#\",replace(\"_\",\"@\",tostring(split(UserPrincipalName, \"#\")[0])),UserName)\n| extend AnomalyName = \"Anomalous Account Creation\",\n Tactic = \"Persistence\",\n Technique = \"Create Account\",\n SubTechnique = \"Cloud Account\",\n Description = \"Adversaries may create a cloud account to maintain access to victim systems. With a sufficient level of access, such accounts may be used to establish secondary credentialed access that does not require persistent remote access tools to be deployed on the system. The query below generates an output of all the users performing user creation for the first time and the target users that were created.\"\t\n| project TimeGenerated, AnomalyName,Tactic,Technique,SubTechnique, Description, UserName, UserPrincipalName, UsersInsights, ActivityType, ActionType, [\"TargetUser\"]=Target,[\"Evidence\"]=ActivityInsights ,SourceIPAddress, SourceIPLocation, SourceDevice, DevicesInsights,[\"Anomaly Score\"]=InvestigationPriority\n| sort by TimeGenerated desc;\nlet AnomalyTable = union kind=outer AnomalousSigninActivity, AnomalousRoleAssignment, AnomalousResourceAccess, AnomalousRDPActivity, AnomalousPasswordReset, AnomalousLogintoDevices, AnomalousGeoLocationLogon, AnomalousAADAccountManipulation, AnomalousAADAccountCreation, AnomalousFailedLogon;\nlet TopUsersByAnomalies = AnomalyTable\n| summarize hint.strategy = shuffle AnomalyCount=count() by UserName, UserPrincipalName, tostring(UsersInsights.OnPremSid), tostring(UsersInsights.AccountObjectId)\n| project Name=tolower(UserName),UPN=tolower(UserPrincipalName), AadUserId=UsersInsights_AccountObjectId, Sid=UsersInsights_OnPremSid, AnomalyCount\n| sort by AnomalyCount desc;\nlet TopUsersByIncidents = SecurityIncident\n| where TimeGenerated {TimeRange:query} \n| summarize hint.strategy = shuffle arg_max(LastModifiedTime, *) by IncidentNumber\n| where Status == \"New\" or Status == \"Active\"\n| mv-expand AlertIds\n| extend AlertId = tostring(AlertIds)\n| join kind= innerunique ( \nSecurityAlert | where TimeGenerated {TimeRange:query} \n) on $left.AlertId == $right.SystemAlertId\n| summarize hint.strategy = shuffle arg_max(TimeGenerated,*), NumberOfUpdates = count() by SystemAlertId\n| mv-expand todynamic(Entities)\n| where Entities[\"Type\"] =~ \"account\"\n| extend Name = tostring(tolower(Entities[\"Name\"])), NTDomain = tostring(Entities[\"NTDomain\"]), UPNSuffix = tostring(Entities[\"UPNSuffix\"]), AadUserId = tostring(Entities[\"AadUserId\"]), AadTenantId = tostring(Entities[\"AadTenantId\"]), \n Sid = tostring(Entities[\"Sid\"]), IsDomainJoined = tobool(Entities[\"IsDomainJoined\"]) , Host = tostring(Entities[\"Host\"])\n| extend UPN = iff(Name != \"\" and UPNSuffix != \"\", strcat(Name, \"@\", UPNSuffix), \"\")\n| union TopUsersByAnomalies\n| extend \n AadPivot = iff(isempty(AadUserId),iff(isempty(Sid),Name,Sid),AadUserId),\n SidPivot = iff(isempty(Sid),iff(isempty(AadUserId),Name,AadUserId),Sid),\n UPNExists = iff(isempty(UPN), false,true),\n NameExists = iff(isempty(Name), false,true),\n SidExists = iff(isempty(Sid), false,true),\n AADExists = iff(isempty(AadUserId), false,true)\n| summarize hint.strategy = shuffle IncidentCount=dcount(IncidentNumber,4),AlertCount=dcountif(AlertId,isnotempty(AlertId),4),AnomalyCount=sum(AnomalyCount),any(Title, Severity, Status, StartTime, IncidentNumber, IncidentUrl, Owner), UPNAnchor=anyif(UPN, UPNExists == true),NameAnchor=anyif(Name, NameExists == true),AadAnchor=anyif(AadUserId, AADExists == true), SidAnchor=anyif(Sid, SidExists == true) , any(SidPivot) by AadPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount),AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),NameAnchor=anyif(NameAnchor, isempty(NameAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_Title,any_Severity,any_StartTime, any_IncidentNumber, any_IncidentUrl) by any_SidPivot\n| summarize hint.strategy = shuffle IncidentCount=sum(IncidentCount), AlertCount=sum(AlertCount),AnomalyCount=sum(AnomalyCount), UPNAnchor=anyif(UPNAnchor, isempty(UPNAnchor) == false),AadAnchor=anyif(AadAnchor, isempty(AadAnchor) == false), SidAnchor=anyif(SidAnchor, isempty(SidAnchor) == false), any(any_any_Title, any_any_Severity,any_any_StartTime, any_any_IncidentNumber, any_any_IncidentUrl) by NameAnchor\n| project [\"UserName\"]=NameAnchor,IncidentCount, AlertCount,AnomalyCount, [\"AadUserId\"]=AadAnchor,[\"OnPremSid\"]=SidAnchor , [\"UserPrincipalName\"]=UPNAnchor;\nTopUsersByIncidents\n| sort by IncidentCount, AlertCount, AnomalyCount desc\n", - "size": 1, - "showAnalytics": true, - "timeContextFromParameter": "TimeRange", - "exportedParameters": [ - { - "fieldName": "UserPrincipalName", - "parameterName": "SelectedUser", - "parameterType": 1 - }, + "version": "LinkItem/1.0", + "style": "tabs", + "links": [ { - "fieldName": "UserName", - "parameterName": "UserName", - "parameterType": 1, - "defaultValue": "None" + "id": "d4aa2831-0ab8-4977-a80e-359420e7d5f7", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Azure Security Center", + "subTarget": "ASC", + "style": "link" }, { - "fieldName": "AadUserId", - "parameterName": "UserObjectId", - "parameterType": 1 + "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft 365", + "subTarget": "M365", + "style": "link" }, { - "fieldName": "OnPremSid", - "parameterName": "UserSid", - "parameterType": 1 + "id": "d4f75516-6286-4660-8294-395da6b9c29a", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Defender for Endpoint", + "subTarget": "D4E", + "style": "link" }, { - "fieldName": "AnomalyCount", - "parameterName": "AnomalyCount", - "parameterType": 1, - "defaultValue": "0" - } - ], - "queryType": 0, - "resourceType": "microsoft.operationalinsights/workspaces", - "visualization": "table", - "gridSettings": { - "formatters": [ - { - "columnMatch": "IncidentCount", - "formatter": 8, - "formatOptions": { - "palette": "redDark" - } - } - ], - "filter": true, - "sortBy": [ - { - "itemKey": "AnomalyCount", - "sortOrder": 2 - } - ] - }, - "sortBy": [ - { - "itemKey": "AnomalyCount", - "sortOrder": 2 + "id": "96141225-a0ad-43ca-bf96-e701c64318ce", + "cellValue": "Tab", + "linkTarget": "parameter", + "linkLabel": "Microsoft Cloud App Security", + "subTarget": "MCAS", + "style": "link" } ] }, - "name": "query - 2" - } - ] - }, - "conditionalVisibility": { - "parameterName": "isVA74Visible", - "comparison": "isEqualTo", - "value": "true" - }, - "name": "7.4Activities", - "styleSettings": { - "showBorder": true - } - }, - { - "type": 12, - "content": { - "version": "NotebookGroup/1.0", - "groupType": "editable", - "title": "7.5 Activities", - "expandable": true, - "items": [ + "name": "links - 6" + }, { "type": 12, "content": { @@ -14695,100 +15745,273 @@ "groupType": "editable", "items": [ { - "type": 1, - "content": { - "json": "# 7.5 Threat Intelligence Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
\r\n[Microsoft ]\r\n\r\n" - }, - "customWidth": "33", - "name": "LT-1" - }, - { - "type": 1, + "type": 3, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
\r\n[Microsoft ]\r\n\r\n" + "version": "KqlItem/1.0", + "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols'\r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max\r\n| where maxscore != 0\r\n| project SecureControl , unhealthy, currentscore, maxscore", + "size": 0, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Subscription}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "SecureControl", + "formatter": 1 + }, + { + "columnMatch": "unhealthy", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "!=", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "0", + "representation": "greenDark", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "blue", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "currentscore", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "0", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "greenDark", + "text": "{0}{1}" + } + ] + } + }, + { + "columnMatch": "maxscore", + "formatter": 1 + } + ] + } }, - "customWidth": "33", - "name": "LT-1 - Copy" + "name": "query - 1" }, { - "type": 1, - "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
\r\n💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
\r\n💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
\r\n💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
\r\n💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
\r\n💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal)
" - }, - "customWidth": "33", - "name": "LT-1 - Copy - Copy" - } - ] - }, - "name": "group - 6" - }, - { - "type": 1, - "content": { - "json": "## Example Visual Representations \r\n" - }, - "name": "text - 5" - } - ] - }, - "conditionalVisibility": { - "parameterName": "isVA75Visible", - "comparison": "isEqualTo", - "value": "true" - }, - "name": "7.5Activities", - "styleSettings": { - "showBorder": true - } - }, - { - "type": 12, - "content": { - "version": "NotebookGroup/1.0", - "groupType": "editable", - "title": "7.6 Activities", - "expandable": true, - "items": [ - { - "type": 12, - "content": { - "version": "NotebookGroup/1.0", - "groupType": "editable", - "items": [ - { - "type": 1, + "type": 3, "content": { - "json": "# 7.6 Automated Dynamic Policies\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type == \"microsoft.security/regulatorycompliancestandards\"\r\n| extend \r\n\tpassedControls = trim (' ', tostring(properties.passedControls)), \r\n\tfailedControls = trim(' ',tostring(properties.failedControls)), \r\n\tstate \t\t = trim(' ', tostring(properties.state)), \r\n\tunsupportedControls = trim(' ', tostring(properties.unsupportedControls)), \r\n\tskippedControls = trim(' ', tostring(properties.skippedControls))\r\n| project name, passedControls, failedControls, unsupportedControls, skippedControls , subscriptionId\r\n| order by passedControls desc", + "size": 1, + "title": "Regulatory compliance", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Subscription}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "passedControls", + "formatter": 3, + "formatOptions": { + "palette": "greenDark" + } + }, + { + "columnMatch": "failedControls", + "formatter": 3, + "formatOptions": { + "palette": "redBright" + } + }, + { + "columnMatch": "unsupportedControls", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "Default", + "thresholdValue": null, + "representation": "blue", + "text": "{0}{1}" + } + ], + "compositeBarSettings": { + "labelText": "", + "columnSettings": [] + } + } + }, + { + "columnMatch": "skippedControls", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "Default", + "thresholdValue": null, + "representation": "gray", + "text": "{0}{1}" + } + ] + } + } + ] + } }, - "customWidth": "33", - "name": "LT-1" + "name": "query - 2" }, { - "type": 1, + "type": 9, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Subscription}" + ], + "parameters": [ + { + "id": "bc9db514-ebcc-4e47-bf23-a0dfe8cb1594", + "version": "KqlParameterItem/1.0", + "name": "SelectCompliance", + "label": "Control", + "type": 2, + "isRequired": true, + "query": "securityresources\r\n| where type == \"microsoft.security/regulatorycompliancestandards\"\r\n| project name\r\n", + "crossComponentResources": [ + "{Subscription}" + ], + "value": "Microsoft-cloud-security-benchmark", + "typeSettings": { + "additionalResourceOptions": [ + "value::1" + ], + "showDefault": false + }, + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + }, + { + "id": "385b8e2e-be15-416d-8ed0-730f6dd34737", + "version": "KqlParameterItem/1.0", + "name": "selectState", + "label": "State", + "type": 2, + "isRequired": true, + "query": "securityresources\r\n| where type == \"microsoft.security/regulatorycompliancestandards/regulatorycompliancecontrols\"\r\n | extend state \t\t = trim(' ', tostring(properties.state))\r\n| summarize by state", + "crossComponentResources": [ + "{Subscription}" + ], + "value": "Passed", + "typeSettings": { + "additionalResourceOptions": [ + "value::1" + ] + }, + "timeContext": { + "durationMs": 86400000 + }, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" + } + ], + "style": "pills", + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources" }, - "customWidth": "33", - "name": "LT-1 - Copy" + "name": "parameters - 5" }, { - "type": 1, + "type": 3, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
\r\n💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
\r\n💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
\r\n💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
\r\n💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
\r\n💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
\r\n💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
" + "version": "KqlItem/1.0", + "query": "securityresources\r\n| where type == \"microsoft.security/regulatorycompliancestandards/regulatorycompliancecontrols\"\r\n| parse id with *\"/regulatoryComplianceStandards/\" strControlName \"/regulatory\"*\r\n | extend \r\n\t state \t\t = trim(' ', tostring(properties.state))\r\n\t,description = trim(' ', tostring(properties.description))\r\n| where strControlName startswith '{SelectCompliance}'\r\n| extend isState = iif(isempty('{selectState}'),\"All states\",'{selectState}')\r\n//| where isSstate == '{selectState}'\r\n| summarize by ControlName = strControlName, name, Status = isState, description", + "size": 0, + "queryType": 1, + "resourceType": "microsoft.resourcegraph/resources", + "crossComponentResources": [ + "{Subscription}" + ], + "gridSettings": { + "formatters": [ + { + "columnMatch": "Status", + "formatter": 18, + "formatOptions": { + "thresholdsOptions": "colors", + "thresholdsGrid": [ + { + "operator": "==", + "thresholdValue": "Passed", + "representation": "greenDark", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Failed", + "representation": "redBright", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Skipped", + "representation": "gray", + "text": "{0}{1}" + }, + { + "operator": "==", + "thresholdValue": "Unsupported", + "representation": "blue", + "text": "{0}{1}" + }, + { + "operator": "Default", + "thresholdValue": null, + "representation": "blue", + "text": "{0}{1}" + } + ] + } + } + ] + } }, - "customWidth": "33", - "name": "LT-1 - Copy - Copy" + "name": "query - 3" } ] }, - "name": "group - 6" - }, - { - "type": 1, - "content": { - "json": "## Example Visual Representations \r\n" + "conditionalVisibility": { + "parameterName": "Tab", + "comparison": "isEqualTo", + "value": "ASC" }, - "name": "text - 5" + "name": "ASC" } ] }, @@ -18205,6 +19428,9 @@ "name": "ZTActivities" } ], + "fallbackResourceIds": [ + "/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourcegroups/cets-sentinel/providers/microsoft.operationalinsights/workspaces/cetsgovsentinel" + ], "fromTemplateId": "sentinel-UserWorkbook", "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json" -} \ No newline at end of file +} From 638286604f8f9e9c1b857e689bdf3aace07a09b6 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Mon, 21 Aug 2023 09:56:23 -0500 Subject: [PATCH 03/12] Cleaning up FAQ & Links Changed some FAQ verbiage and updated URL links (placeholders) --- Workbooks/DoDZeroTrustWorkbook.json | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index daeb6f60307..683e71589ff 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -153,7 +153,7 @@ { "type": 1, "content": { - "json": "# [DoD Zero Trust Strategy Workbook](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTExecutionRoadmap.pdf)\n---\n\n\"The journey to Zero Trust requires all DoD Components to adopt and integrate Zero Trust capabilities, technologies, solutions, and processes across their architectures, systems, and within their budget and execution plans. Perhaps most importantly, they must also address Zero Trust requirements within their staffing, training, and professional development processes as well.\" For more information, see the💡 [DoD CIO Zero Trust Strategy](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf).

\nThis workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD CIO Zero Trust Strategy (November 2022). It fully aligns with the DoD CIO Zero Trust Strategy and also enables the following:
\n- Maturity Situational Awareness of the DoD CIO Zero Trust Framework\n- Provides Configuration Guides, Examples, Resources, and Steps for Deployment \n- Enables actions and reporting on DoD CIO Zero Trust Framework Pillars, Capabilities, and Activities \n\n" + "json": "# [DoD Zero Trust Strategy Workbook](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTExecutionRoadmap.pdf)\n---\n\n\"The journey to Zero Trust requires all DoD Components to adopt and integrate Zero Trust capabilities, technologies, solutions, and processes across their architectures, systems, and within their budget and execution plans. Perhaps most importantly, they must also address Zero Trust requirements within their staffing, training, and professional development processes as well.\" For more information, see the💡 [DoD CIO Zero Trust Strategy](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf).

\nThis workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD Zero Trust Strategy (November 2022). It fully aligns with the DoD Zero Trust Strategy and also enables the following:
\n- Maturity Situational Awareness of the DoD Zero Trust Framework\n- Provides Configuration Guides, Examples, Resources, and Steps for Deployment \n- Enables actions and reporting on DoD Zero Trust Framework Pillars, Capabilities, and Activities \n\n" }, "name": "Workbook Overview" }, @@ -165,24 +165,25 @@ "links": [ { "id": "1bad541e-219a-4277-9510-876b0e8cad51", - "cellValue": "https://learn.microsoft.com/en-us/azure/sentinel/monitor-your-data", - "linkTarget": "Url", + "cellValue": "Coming soon!", + "linkTarget": "CellDetails", "linkLabel": "Solution Blog", "postText": "", "style": "link" }, { "id": "b9a6293e-1c7b-4ec2-ad2a-d72b5ee01722", - "cellValue": "https://www.youtube.com/watch?app=desktop&v=tGhZkuSPMiM&feature=youtu.be", - "linkTarget": "Url", + "cellValue": "Coming soon!", + "linkTarget": "CellDetails", "linkLabel": "Video Overview", + "postText": "", "style": "link" }, { "id": "7e8ff8aa-f632-4a4d-90cf-a71da0dc6b31", - "cellValue": "https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/DoDZeroTrust", + "cellValue": "https://github.com/Azure/Azure-Sentinel", "linkTarget": "Url", - "linkLabel": "GitHub Repo", + "linkLabel": "Sentinel GitHub Repo", "postText": "", "style": "link" }, @@ -19369,7 +19370,7 @@ { "type": 1, "content": { - "json": "## DoD Zero Trust Strategy Workbook Workbook FAQ \r\n\r\n
\r\n### What will this workbook do for my organization? \r\n\r\nThis workbook provides structure, guidance, and simplification of the DoD CIO Zero Trust Strategy to make it easier to track, prioritize, and improve Zero Trust Target (and Advanced) level Capabilities/Activities that are required to be implemented by 2027. \r\n\r\n
\r\n### Does this workbook only pertain to Microsoft-specific capabiltiies?\r\n\r\nNo, the out-of-the-box content of this Sentinel workbook includes references to Microsoft-specific capabilities/solutions. However, the workbook has been designed to account for \"Alternate Implementations\" (non-Microsoft), which can also meet the Target (and Advanced)-level Zero Trust Capabilities and Activities. \r\n\r\n
\r\n### How will this workbook help with deployment and maturity of the DoD CIO Zero Trust Strategy Capabilities & Activities? \r\n\r\n* Provides Zero Trust roll-up of organizational maturity and situational awareness as it relates directly to the 2027 Zero Trust Target-level deadline. \r\n\r\n* Provides DoD Zero Trust Activity simplification and improved awareness, allowing responsible parties for each pillar(s) to report which capabilities are planned, implemented, or not applicable. \r\n\r\n* Provides guidance and recommendations to meet the 45 capabilities (and supporting 152 activities) \r\n\r\n* Provides a working (and evolving) organized method of orchestrating and managing/tracking efforts around the Zero Trust Capabilities and Activities covered in the DoD CIO Zero Trust Strategy. \r\n\r\n
\r\n### Why are some of the visualizations not working in my workbook? \r\n\r\nThe visualizations within this workbook are simply examples and rely on specific logs to populate accordingly. We realize that not every organization leverages the same solution logs used to build/populate this workbook. In addition, we also realize that many customers leverage third-party solutions for their needs. Every implementation of this workbook is unique to the respective environment in which it is installed. It is intended to be a starting point and can be further customized to better meet the needs of each customer. Please contact your Account Representative if your team requires further assistance and/or customizations. \r\n\r\nVisualizations can be used to show examples of the DoD CIO Zero Trust Activities in use/or configurations themselves. They can also be used to further develop automations related to improving cyber hygiene through deploying Zero Trust principals. \r\n\r\n
\r\n### Who should use this workbook? \r\n\r\nThis workbook is designed for both executives and individuals who are directly responsible for implementing the respective Capabilities/Activities due by 2027 outlined in the DoD CIO Zero Trust Strategy. \r\n\r\nThis workbook derives language and terminology specific to the DoD CIO Zero Trust Strategy. However, many non-DoD organizations can also leverage this guidance for their needs. \r\n\r\n
\r\n### Where does the Zero Trust Maturity (Percentage) score come from? \r\n\r\nThe Zero Trust Maturity score is calculated based on the interactive capabilities sections contained within each of the pillars. When updated, the drop-down boxes labeled, “Implementation Status” directly contribute to the overall level of maturity reported under the “Zero Trust Essentials” → \"DoD CIO Zero Trust Assessment Tracker\". \r\n\r\n
\r\n### How can I make recommendations to improve this workbook? \r\n\r\nPlease utilize the link in the opening screen labeled, “Please take some time to take a quick survey”. Our team values these responses and takes them very seriously. Any feedback that you can provide is greatly appreciated. \r\n\r\n
\r\n### Can this workbook be customized? \r\n\r\nYes! This workbook has been created with additional customization in mind. Please contact your Account Representative if you would to like to inquire about any additional assistance with customizing this workbook to suit your organizational goals related to DoD CIO Zero Trust Strategy maturity. \r\n\r\n
\r\n### Do other customers outside the DoD utilize this workbook? \r\n\r\nYes, Many customers outside the DoD have gravitated toward the DoD CIO Zero Trust Strategy because it includes specfiic \"Capabilities and Activities\" that apply to the Zero Trust Principals. \r\n\r\n
\r\n### Who created this workbook? \r\n\r\nThis workbook was created by a collaboration of Microsoft teams and subject matter experts along with our pilot customers. \r\n\r\n
\r\n### Does this workbook cover all 152 “Activities” defined in the Strategy? \r\n\r\nYes, the recommendations, visualizations, and guidance, while centered around the 45 capabilities, will still apply to all 152 activities. This workbook aims to simplify the Target (and Advanced)-level Zero Trust Capabilities and Activities. Based on prior feedback, this workbook may be updated in the future to include further guidance, reporting, and relevant information. ", + "json": "## DoD Zero Trust Strategy Workbook Workbook FAQ \r\n\r\n
\r\n### What will this workbook do for my organization? \r\n\r\nThis workbook provides structure, guidance, and simplification of the DoD Zero Trust Strategy to make it easier to track, prioritize, and improve Zero Trust Target (and Advanced) level Capabilities/Activities that are required to be implemented by 2027. \r\n\r\n
\r\n### Does this workbook only pertain to Microsoft-specific capabiltiies?\r\n\r\nNo, the out-of-the-box content of this Sentinel workbook includes references to Microsoft-specific capabilities/solutions. However, the workbook has been designed to account for \"Alternate Implementations\" (non-Microsoft), which may also meet the Target (and Advanced)-level Zero Trust Capabilities and Activities. In addition, Microsoft Sentinel supports custom log formats and multiple third-party [data connectors](\"https://learn.microsoft.com/en-us/azure/sentinel/data-connectors-reference\") that can provide visibility for non-Microsoft solutions. \r\n\r\n
\r\n### How will this workbook help with deployment and maturity of the DoD Zero Trust Strategy Capabilities & Activities? \r\n\r\n* Provides Zero Trust roll-up of organizational maturity and situational awareness as it relates directly to the 2027 Zero Trust Target-level deadline. \r\n\r\n* Provides DoD Zero Trust Activity simplification and improved awareness, allowing responsible parties for each pillar(s) to report which capabilities are planned, implemented, or not applicable. \r\n\r\n* Provides guidance and recommendations to meet the 45 capabilities (and supporting 152 activities) \r\n\r\n* Provides a working (and evolving) organized method of orchestrating and managing/tracking efforts around the Zero Trust Capabilities and Activities covered in the DoD Zero Trust Strategy. \r\n\r\n
\r\n### Why are some of the visualizations not working in my workbook? \r\n\r\nThe visualizations within this workbook are simply examples and rely on specific logs to populate accordingly. We realize that not every organization leverages the same solution logs used to build/populate this workbook. In addition, we also realize that many customers leverage third-party solutions for their needs. Every implementation of this workbook is unique to the respective environment in which it is installed. It is intended to be a starting point and can be further customized to better meet the needs of each customer. Please contact your Account Representative if your team requires further assistance and/or customizations. \r\n\r\nVisualizations can be used to show examples of the DoD Zero Trust Activities in use/or configurations themselves. They can also be used to further develop automations related to improving cyber hygiene through deploying Zero Trust principals. \r\n\r\n
\r\n### Who should use this workbook? \r\n\r\nThis workbook is designed for both executives and individuals who are directly responsible for implementing the respective Capabilities/Activities due by 2027 outlined in the DoD Zero Trust Strategy. \r\n\r\nThis workbook derives language and terminology specific to the DoD Zero Trust Strategy. However, many non-DoD organizations can also leverage this guidance for their needs. \r\n\r\n
\r\n### Where does the Zero Trust Maturity (Percentage) score come from? \r\n\r\nThe Zero Trust Maturity score is calculated based on the interactive capabilities sections contained within each of the pillars. When updated, the drop-down boxes labeled, “Implementation Status” directly contribute to the overall level of maturity reported under the “Zero Trust Essentials” → \"DoD Zero Trust Assessment Tracker\". \r\n\r\n
\r\n### How can I make recommendations to improve this workbook? \r\n\r\nPlease utilize the link in the opening screen labeled, “Please take some time to take a quick survey”. Our team values these responses and takes them very seriously. Any feedback that you can provide is greatly appreciated. \r\n\r\n
\r\n### Can this workbook be customized? \r\n\r\nYes! This workbook has been created with additional customization in mind. Please contact your Account Representative if you would to like to inquire about any additional assistance with customizing this workbook to suit your organizational goals related to DoD Zero Trust Strategy maturity. \r\n\r\n
\r\n### Do other customers outside the DoD utilize this workbook? \r\n\r\nYes, many customers outside the DoD have also gravitated toward the DoD Zero Trust Strategy because it focuses on an outcomes-focused methodology and includes specific \"Capabilities and Activities\" that apply to core Zero Trust principals. \r\n\r\n
\r\n### Who created this workbook? \r\n\r\nThis workbook was created by a collaboration of Microsoft teams and subject matter experts along with our pilot customers. \r\n\r\n
\r\n### Does this workbook cover all 152 “Activities” defined in the Strategy? \r\n\r\nYes, the recommendations, visualizations, and guidance, while centered around the 45 capabilities, will still apply to all 152 activities. This workbook aims to simplify the Target (and Advanced)-level Zero Trust Capabilities and Activities. Based on prior feedback, this workbook may be updated in the future to include further guidance, reporting, and relevant information. ", "style": "info" }, "conditionalVisibility": { @@ -19428,9 +19429,6 @@ "name": "ZTActivities" } ], - "fallbackResourceIds": [ - "/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourcegroups/cets-sentinel/providers/microsoft.operationalinsights/workspaces/cetsgovsentinel" - ], "fromTemplateId": "sentinel-UserWorkbook", "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json" } From 4a43a5e3f32435b8830af19a640c0521cd66f53c Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Tue, 5 Sep 2023 08:46:16 -0500 Subject: [PATCH 04/12] Final Release v1.0 Final release v1.0 --- Workbooks/DoDZeroTrustWorkbook.json | 3447 +++++++++++++++++++++++++-- 1 file changed, 3248 insertions(+), 199 deletions(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index 683e71589ff..da57082d436 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -153,7 +153,7 @@ { "type": 1, "content": { - "json": "# [DoD Zero Trust Strategy Workbook](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTExecutionRoadmap.pdf)\n---\n\n\"The journey to Zero Trust requires all DoD Components to adopt and integrate Zero Trust capabilities, technologies, solutions, and processes across their architectures, systems, and within their budget and execution plans. Perhaps most importantly, they must also address Zero Trust requirements within their staffing, training, and professional development processes as well.\" For more information, see the💡 [DoD CIO Zero Trust Strategy](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf).

\nThis workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD Zero Trust Strategy (November 2022). It fully aligns with the DoD Zero Trust Strategy and also enables the following:
\n- Maturity Situational Awareness of the DoD Zero Trust Framework\n- Provides Configuration Guides, Examples, Resources, and Steps for Deployment \n- Enables actions and reporting on DoD Zero Trust Framework Pillars, Capabilities, and Activities \n\n" + "json": "# [DoD Zero Trust Strategy Workbook](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTExecutionRoadmap.pdf)\n---\n\n\"The journey to Zero Trust requires all DoD Components to adopt and integrate Zero Trust capabilities, technologies, solutions, and processes across their architectures, systems, and within their budget and execution plans. Perhaps most importantly, they must also address Zero Trust requirements within their staffing, training, and professional development processes as well.\" For more information, see the [DoD CIO Zero Trust Strategy](https://dodcio.defense.gov/Portals/0/Documents/Library/DoD-ZTStrategy.pdf).

\nThis workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD Zero Trust Strategy (November 2022). It fully aligns with the DoD Zero Trust Strategy and also enables the following:
\n- Maturity Situational Awareness of the DoD Zero Trust Framework\n- Provides Configuration Guides, Examples, Resources, and Steps for Deployment \n- Enables actions and reporting on DoD Zero Trust Framework Pillars, Capabilities, and Activities \n\n" }, "name": "Workbook Overview" }, @@ -165,16 +165,16 @@ "links": [ { "id": "1bad541e-219a-4277-9510-876b0e8cad51", - "cellValue": "Coming soon!", - "linkTarget": "CellDetails", - "linkLabel": "Solution Blog", + "cellValue": "https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/bg-p/MicrosoftSentinelBlog", + "linkTarget": "Url", + "linkLabel": "Sentinel Tech Community Blog", "postText": "", "style": "link" }, { "id": "b9a6293e-1c7b-4ec2-ad2a-d72b5ee01722", - "cellValue": "Coming soon!", - "linkTarget": "CellDetails", + "cellValue": "https://youtu.be/P3uzdmLhwj0", + "linkTarget": "Url", "linkLabel": "Video Overview", "postText": "", "style": "link" @@ -677,7 +677,7 @@ "additionalResourceOptions": [], "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -756,7 +756,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -838,7 +838,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -920,7 +920,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1002,7 +1002,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1084,7 +1084,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1166,7 +1166,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1248,7 +1248,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1330,7 +1330,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -1415,6 +1415,7 @@ "groupType": "editable", "title": "1.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -1431,7 +1432,7 @@ { "type": 1, "content": { - "json": "# 1.1 User Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" + "json": "# 1.1 User Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -1450,7 +1451,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -1762,6 +1763,7 @@ "groupType": "editable", "title": "1.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -1778,7 +1780,7 @@ { "type": 1, "content": { - "json": "# 1.2 Conditional User Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + "json": "# 1.2 Conditional User Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -1797,7 +1799,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2057,6 +2059,7 @@ "groupType": "editable", "title": "1.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -2073,7 +2076,7 @@ { "type": 1, "content": { - "json": "# 1.3 Multi-Factor Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n" + "json": "# 1.3 Multi-Factor Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2092,7 +2095,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.com/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
\r\n🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Entra ID - AuthN Strengths](https://portal.azure.com/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5)\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2327,6 +2330,7 @@ "groupType": "editable", "title": "1.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -2343,7 +2347,7 @@ { "type": 1, "content": { - "json": "# 1.4 Privileged Access Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n" + "json": "# 1.4 Privileged Access Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [Entra ID PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2362,7 +2366,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
\r\n🔀 [Entra ID PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles)
\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2500,6 +2504,7 @@ "groupType": "editable", "title": "1.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -2516,7 +2521,7 @@ { "type": 1, "content": { - "json": "## 1.5 Identity Federation & User Credentialing\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n" + "json": "## 1.5 Identity Federation & User Credentialing\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2535,7 +2540,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Azure Active Directory - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
\r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -2799,6 +2804,7 @@ "groupType": "editable", "title": "1.6 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -3226,6 +3232,7 @@ "groupType": "editable", "title": "1.7 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -3242,7 +3249,7 @@ { "type": 1, "content": { - "json": "## 1.7 Least Privelege Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" + "json": "## 1.7 Least Privelege Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" }, "customWidth": "100", "name": "LT-1" @@ -3261,7 +3268,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
\r\n🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
\r\n🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)" }, "customWidth": "100", "name": "LT-1" @@ -3496,6 +3503,7 @@ "groupType": "editable", "title": "1.8 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -3512,7 +3520,7 @@ { "type": 1, "content": { - "json": "## 1.8 Continuous Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Active Directory - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)
" + "json": "## 1.8 Continuous Authentication\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)" }, "customWidth": "100", "name": "LT-1" @@ -3531,7 +3539,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Active Directory - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Azure Active Directory - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Azure Active Directory - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Azure Active Directory - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)
" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
\r\n🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
\r\n🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
\r\n🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles)
" }, "customWidth": "100", "name": "LT-1" @@ -3698,6 +3706,7 @@ "groupType": "editable", "title": "1.9 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -3714,7 +3723,7 @@ { "type": 1, "content": { - "json": "## 1.9 Integrated ICAM Platform\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Azure Active Directory - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
" + "json": "## 1.9 Integrated ICAM Platform\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)" }, "customWidth": "100", "name": "LT-1" @@ -3733,7 +3742,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Azure Active Directory - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Azure Active Directory - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Azure Active Directory - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
\r\n🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
\r\n🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
\r\n🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
" }, "customWidth": "100", "name": "LT-1" @@ -4210,7 +4219,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4292,7 +4301,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4374,7 +4383,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4456,7 +4465,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4538,7 +4547,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4620,7 +4629,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4702,7 +4711,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -4783,6 +4792,7 @@ "groupType": "editable", "title": "2.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -4793,7 +4803,7 @@ { "type": 1, "content": { - "json": "# 2.1 Device Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "# 2.1 Device Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)" }, "name": "LT-1" } @@ -4805,7 +4815,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)\r\n" }, "customWidth": "33", "name": "text - 9" @@ -5082,6 +5092,7 @@ "groupType": "editable", "title": "2.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5092,7 +5103,7 @@ { "type": 1, "content": { - "json": "# 2.2 Device Detection & Compliance\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + "json": "# 2.2 Device Detection & Compliance\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)\r\n" }, "name": "LT-1" } @@ -5104,7 +5115,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" }, "customWidth": "33", "name": "text - 6" @@ -5234,6 +5245,7 @@ "groupType": "editable", "title": "2.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5244,7 +5256,7 @@ { "type": 1, "content": { - "json": "# 2.3 Device Automation with Real Time Inspection\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Security & Compliance Center](https://scc.protection.apps.mil/#/homepage)
\r\n" + "json": "# 2.3 Device Automation with Real Time Inspection\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)\r\n" }, "name": "LT-1" } @@ -5256,7 +5268,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Security & Compliance Center](https://scc.protection.apps.us/#/homepage)
\r\n\r\n\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5488,6 +5500,7 @@ "groupType": "editable", "title": "2.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5498,7 +5511,7 @@ { "type": 1, "content": { - "json": "# 2.4 Remote Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "# 2.4 Remote Access\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)" }, "name": "LT-1" } @@ -5510,7 +5523,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" }, "customWidth": "33", "name": "text - 6" @@ -5581,6 +5594,7 @@ "groupType": "editable", "title": "2.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5591,7 +5605,7 @@ { "type": 1, "content": { - "json": "# 2.5 Partially & Fully Automated Asset, Vulnerability & Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "# 2.5 Partially & Fully Automated Asset, Vulnerability & Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview)\r\n" }, "name": "LT-1" } @@ -5603,7 +5617,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview)\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5611,7 +5625,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
\r\n💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
\r\n💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
\r\n💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
\r\n💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
\r\n💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
\r\n💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
\r\n💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
\r\n💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
\r\n💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
\r\n💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
\r\n💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
\r\n💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
\r\n💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
\r\n💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
\r\n💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5722,6 +5736,7 @@ "groupType": "editable", "title": "2.6 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5732,7 +5747,7 @@ { "type": 1, "content": { - "json": "# 2.6 Unified Endpoint Management & Mobile Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "# 2.6 Unified Endpoint Management & Mobile Patch Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview)" }, "name": "LT-1" } @@ -5744,7 +5759,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview)" }, "customWidth": "33", "name": "text - 6" @@ -5865,6 +5880,7 @@ "groupType": "editable", "title": "2.7 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -5875,7 +5891,7 @@ { "type": 1, "content": { - "json": "# 2.7 Endpoint & Extended Detection & Response (EDR & XDR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n" + "json": "# 2.7 Endpoint & Extended Detection & Response (EDR & XDR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)\r\n\r\n" }, "name": "LT-1" } @@ -5887,7 +5903,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" }, "customWidth": "33", "name": "text - 6" @@ -6221,7 +6237,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -6303,7 +6319,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -6340,7 +6356,7 @@ { "type": 1, "content": { - "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Policy | \r\n| Microsoft Defender for Cloud (MDfC) | \r\n| Microsoft Defender for Endpoint (MDE) |" + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Azure Policy | \r\n| Microsoft Defender for Cloud (MDfC) | \r\n| Microsoft Defender for Endpoint (MDE) |\r\n| Microsoft Intune |" }, "name": "text - 2" } @@ -6385,7 +6401,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -6467,7 +6483,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -6549,7 +6565,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -6634,6 +6650,7 @@ "groupType": "editable", "title": "3.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -6650,7 +6667,7 @@ { "type": 1, "content": { - "json": "# 3.1 Application Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Active Directory Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n\r\n" + "json": "# 3.1 Application Inventory\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -6669,7 +6686,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Active Directory Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
\r\n🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
\r\n🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -6744,6 +6761,7 @@ "groupType": "editable", "title": "3.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -6760,7 +6778,7 @@ { "type": 1, "content": { - "json": "# 3.2 Secure Software Development & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n\r\n\r\n\r\n" + "json": "# 3.2 Secure Software Development & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -6779,7 +6797,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
\r\n🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
\r\n🔀 [Intune App Security](https://endpoint.microsoft.us)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -6915,6 +6933,7 @@ "groupType": "editable", "title": "3.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -6931,7 +6950,7 @@ { "type": 1, "content": { - "json": "# 3.3 Software Risk Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n\r\n\r\n" + "json": "# 3.3 Software Risk Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -6950,7 +6969,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Managed Application Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Solutions%2Fapplications)
\r\n🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -7049,6 +7068,7 @@ "groupType": "editable", "title": "3.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -7065,7 +7085,7 @@ { "type": 1, "content": { - "json": "# 3.4 Resource Authorization & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n\r\n\r\n\r\n" + "json": "# 3.4 Resource Authorization & Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "100", "name": "LT-1" @@ -7084,7 +7104,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
\r\n🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
\r\n🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -7233,6 +7253,7 @@ "groupType": "editable", "title": "3.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -7249,7 +7270,7 @@ { "type": 1, "content": { - "json": "# 3.5 Continuous Monitoring and Ongoing Authorizations\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n\r\n\r\n\r\n" + "json": "# 3.5 Continuous Monitoring and Ongoing Authorizations\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)" }, "customWidth": "100", "name": "LT-1" @@ -7268,7 +7289,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Microsoft Portals Government \r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
\r\n🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
\r\n🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)\r\n\r\n\r\n\r\n\r\n" }, "customWidth": "100", "name": "LT-1" @@ -7910,7 +7931,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -7992,7 +8013,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8074,7 +8095,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8156,7 +8177,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8238,7 +8259,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8320,7 +8341,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8402,7 +8423,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -8488,6 +8509,7 @@ "groupType": "editable", "title": "4.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -8498,7 +8520,7 @@ { "type": 1, "content": { - "json": "# 4.1 Data Catalog Risk Alignment\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300)
" + "json": "# 4.1 Data Catalog Risk Alignment\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300)" }, "name": "LT-1" } @@ -8688,6 +8710,7 @@ "groupType": "editable", "title": "4.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -8698,7 +8721,7 @@ { "type": 1, "content": { - "json": "# 4.2 Enterprise Data Governance\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Power Platform Azure Common Data Service](https://admin.appsplatform.us/)" + "json": "# 4.2 Enterprise Data Governance\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" }, "customWidth": "33", "name": "LT-1" @@ -8706,7 +8729,7 @@ { "type": 1, "content": { - "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Power Platform Azure Common Data Service](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/3c83b6d8-636d-4c3c-99f4-006a3cbb8d65/appId/99335b6b-7d9d-4216-8dee-883b26e0ccf7)" + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
\r\n" }, "customWidth": "33", "name": "text - 1" @@ -8895,6 +8918,7 @@ "groupType": "editable", "title": "4.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -8905,7 +8929,7 @@ { "type": 1, "content": { - "json": "# 4.3 Data Labeling & Tagging \r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Security & Compliance](https://scc.protection.apps.mil/#/homepage)
" + "json": "# 4.3 Data Labeling & Tagging \r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" }, "customWidth": "33", "name": "text - 0" @@ -8913,7 +8937,7 @@ { "type": 1, "content": { - "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Security & Compliance](https://scc.protection.apps.us/#/homepage)
" + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
" }, "customWidth": "33", "name": "text - 1" @@ -9016,6 +9040,7 @@ "groupType": "editable", "title": "4.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -9026,7 +9051,7 @@ { "type": 1, "content": { - "json": "# 4.4 Data Monitoring & Sensing \r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b)
" + "json": "# 4.4 Data Monitoring & Sensing \r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b)" }, "customWidth": "33", "name": "text - 0" @@ -9212,11 +9237,12 @@ "groupType": "editable", "title": "4.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 1, "content": { - "json": "# 4.5 Data Encryption & Rights Management\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
" + "json": "# 4.5 Data Encryption & Rights Management\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "text - 0" @@ -9224,7 +9250,7 @@ { "type": 1, "content": { - "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
\r\n🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
\r\n🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" }, "customWidth": "33", "name": "text - 1" @@ -9279,11 +9305,12 @@ "groupType": "editable", "title": "4.6 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 1, "content": { - "json": "# 4.6 Data Loss and Prevention (DLP)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
" + "json": "# 4.6 Data Loss and Prevention (DLP)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "text - 0" @@ -9291,7 +9318,7 @@ { "type": 1, "content": { - "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
" }, "customWidth": "33", "name": "text - 1" @@ -9424,11 +9451,12 @@ "groupType": "editable", "title": "4.7 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 1, "content": { - "json": "# 4.7 Data Access & Control\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Azure AD Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)
\r\n" + "json": "# 4.7 Data Access & Control\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)" }, "customWidth": "33", "name": "text - 0" @@ -9436,7 +9464,7 @@ { "type": 1, "content": { - "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Azure AD Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Active Directory - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)
" + "json": "

\r\n\r\n## Microsoft Portals Government\r\n\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
\r\n🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
\r\n🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
\r\n🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
\r\n🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
\r\n🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters)
" }, "customWidth": "33", "name": "text - 2" @@ -10044,7 +10072,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -10126,7 +10154,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -10208,7 +10236,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -10290,7 +10318,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -10375,6 +10403,7 @@ "groupType": "editable", "title": "5.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -10385,7 +10414,7 @@ { "type": 1, "content": { - "json": "# 5.1 Data Flow Mapping\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n\r\n\r\n" + "json": "# 5.1 Data Flow Mapping\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n" }, "customWidth": "33", "name": "LT-1" @@ -10393,7 +10422,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n\r\n\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
\r\n🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
\r\n🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
\r\n🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n\r\n\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -10536,6 +10565,7 @@ "groupType": "editable", "title": "5.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -10546,7 +10576,7 @@ { "type": 1, "content": { - "json": "# 5.2 Software Defined Networking (SDN)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n\r\n\r\n" + "json": "# 5.2 Software Defined Networking (SDN)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)\r\n🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade)" }, "customWidth": "33", "name": "LT-1" @@ -10554,7 +10584,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n\r\n\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n\r\n\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
\r\n🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -10667,6 +10697,7 @@ "groupType": "editable", "title": "5.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -10677,7 +10708,7 @@ { "type": 1, "content": { - "json": "# 5.3 Macro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n" + "json": "# 5.3 Macro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)" }, "customWidth": "33", "name": "LT-1" @@ -10918,6 +10949,7 @@ "groupType": "editable", "title": "5.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -10928,7 +10960,7 @@ { "type": 1, "content": { - "json": "# 5.4 Micro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)\r\n\r\n" + "json": "# 5.4 Micro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)" }, "customWidth": "33", "name": "LT-1" @@ -10936,7 +10968,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.com/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Azure AD Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Virtual Networks Termal Access Points](https://portal.azure.com/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
\r\n🔀 [Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Cloud Access Routers](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
\r\n🔀 [Entra ID Conditional Access](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
\r\n🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
\r\n🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
\r\n🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -11899,7 +11931,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -11981,7 +12013,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12063,7 +12095,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12145,7 +12177,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12227,7 +12259,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12309,7 +12341,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12391,7 +12423,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -12428,7 +12460,7 @@ { "type": 1, "content": { - "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel |\r\n| Microsoft 365 Defender |" + "json": "| Recommended Microsoft Solution(s) | \r\n|-----------------------------------|\r\n| Microsoft Sentinel |\r\n| Microsoft 365 Defender |\r\n|Microsoft Defender for Cloud (MDfC)|" }, "conditionalVisibility": { "parameterName": "isAO67Visible", @@ -12476,6 +12508,7 @@ "groupType": "editable", "title": "6.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -12486,7 +12519,7 @@ { "type": 1, "content": { - "json": "# 6.1 Policy Decision Point (PD) & Policy Orchestration\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n\r\n" + "json": "# 6.1 Policy Decision Point (PD) & Policy Orchestration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)" }, "customWidth": "33", "name": "LT-1" @@ -12494,7 +12527,7 @@ { "type": 1, "content": { - "json": "


\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + "json": "


\r\n## Microsoft Portals Government\r\n\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
\r\n🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -12678,6 +12711,7 @@ "groupType": "editable", "title": "6.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -12688,7 +12722,7 @@ { "type": 1, "content": { - "json": "# 6.2 Critical Process Automation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
\r\n🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n" + "json": "# 6.2 Critical Process Automation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
\r\n🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "LT-1" @@ -12848,6 +12882,7 @@ "groupType": "editable", "title": "6.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -12858,7 +12893,7 @@ { "type": 1, "content": { - "json": "# 6.3 Machine Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Power Automate](https://make.gov.powerautomate.us/)
\r\n🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n\r\n\r\n\r\n\r\n" + "json": "# 6.3 Machine Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
\r\n🔀 [Power Automate](https://make.gov.powerautomate.us/)
\r\n🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)" }, "customWidth": "33", "name": "LT-1" @@ -13080,6 +13115,7 @@ "groupType": "editable", "title": "6.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -13090,7 +13126,7 @@ { "type": 1, "content": { - "json": "# 6.4 Artifical Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + "json": "# 6.4 Artifical Learning\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
\r\n🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)" }, "customWidth": "33", "name": "LT-1" @@ -13169,6 +13205,7 @@ "groupType": "editable", "title": "6.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -13179,7 +13216,7 @@ { "type": 1, "content": { - "json": "# 6.5 Security Orchestration, Automation & Response (SOAR)\r\n\r\n## Microsoft Portals Department of Defense\r\n\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n\r\n" + "json": "# 6.5 Security Orchestration, Automation & Response (SOAR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)" }, "customWidth": "33", "name": "LT-1" @@ -13187,7 +13224,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -13244,6 +13281,7 @@ "groupType": "editable", "title": "6.6 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -13254,7 +13292,7 @@ { "type": 1, "content": { - "json": "# 6.6 API Standardization\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n" + "json": "# 6.6 API Standardization\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)" }, "customWidth": "33", "name": "LT-1" @@ -13262,7 +13300,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
\r\n🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
\r\n🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
\r\n🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -13285,6 +13323,25 @@ "json": "## Example Visual Representations " }, "name": "text - 5" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d0637751-acaa-4443-91d1-7f00f29ce09f", + "cellValue": "https://dod.defense.gov/Resources/Developer-Info/", + "linkTarget": "Url", + "linkLabel": "DoD API Standardization", + "preText": "Please see the following link for DoD-specific API standardization guidance, as API's are unique to each agency/MILDEP: ", + "style": "link", + "icon": "1" + } + ] + }, + "name": "links - 2" } ] }, @@ -13305,6 +13362,7 @@ "groupType": "editable", "title": "6.7 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -13315,7 +13373,7 @@ { "type": 1, "content": { - "json": "# 6.7 Security Operations Center (SOC) & Incident Response (IR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + "json": "# 6.7 Security Operations Center (SOC) & Incident Response (IR)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "LT-1" @@ -13323,7 +13381,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -13764,7 +13822,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -13846,7 +13904,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -13928,7 +13986,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -14010,7 +14068,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -14092,7 +14150,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -14174,7 +14232,7 @@ "typeSettings": { "showDefault": false }, - "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope\"}\r\n]", + "jsonData": "[\r\n {\"value\": \"Not Implemented\", \"label\": \"Not Implemented (0%)\", \"selected\":true},\r\n {\"value\": \"Implemented\", \"label\": \"Implemented (100%)\"},\r\n {\"value\": \"Alternate Implementation\", \"label\": \"Alternate Implementation (100%)\"},\r\n {\"value\": \"Planned\", \"label\": \"Planned (50%)\"},\r\n {\"value\": \"Out of Scope\", \"label\": \"Out of Scope (0%)\"}\r\n]", "timeContext": { "durationMs": 86400000 } @@ -14259,6 +14317,7 @@ "groupType": "editable", "title": "7.1 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -14269,7 +14328,7 @@ { "type": 1, "content": { - "json": "# 7.1 Log All Traffic (Network, Data, Apps, Users)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
\r\n🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
\r\n🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
\r\n🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
\r\n🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
\r\n🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
\r\n🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7)
\r\n" + "json": "# 7.1 Log All Traffic (Network, Data, Apps, Users)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
\r\n🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
\r\n🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
\r\n🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
\r\n🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
\r\n🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
\r\n🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7)" }, "customWidth": "33", "name": "LT-1" @@ -14744,6 +14803,7 @@ "groupType": "editable", "title": "7.2 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -14754,7 +14814,7 @@ { "type": 1, "content": { - "json": "# 7.2 Security Information & Event Management (SIEM)\r\n

\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.apps.mil/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + "json": "# 7.2 Security Information & Event Management (SIEM)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" }, "customWidth": "33", "name": "LT-1" @@ -14762,7 +14822,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Admin Center](https://portal.office365.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)
\r\n🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -14839,6 +14899,13 @@ }, "name": "parameters" }, + { + "type": 1, + "content": { + "json": "## One of countless SIEM Analytics examples of delivering Context, Correlation & Aggrgation of Security Incidents. " + }, + "name": "text - 4" + }, { "type": 3, "content": { @@ -14880,13 +14947,6 @@ }, "customWidth": "50", "name": "query - 5" - }, - { - "type": 1, - "content": { - "json": "One of countless SIEM Analytics examples of delivering Context, Correlation & Aggrgation of Security Incidents. " - }, - "name": "text - 4" } ] }, @@ -14907,6 +14967,7 @@ "groupType": "editable", "title": "7.3 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -14917,7 +14978,7 @@ { "type": 1, "content": { - "json": "# 7.3 Common Security and Risk Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)
\r\n" + "json": "# 7.3 Common Security and Risk Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Security Baselines](https://endpoint.microsoft.us/#home)" }, "customWidth": "33", "name": "LT-1" @@ -14961,7 +15022,7 @@ "type": 4, "isRequired": true, "value": { - "durationMs": 2592000000 + "durationMs": 7776000000 }, "typeSettings": { "selectableValues": [ @@ -15054,7 +15115,8 @@ "value::selected" ], "typeSettings": { - "additionalResourceOptions": [] + "additionalResourceOptions": [], + "showDefault": false }, "queryType": 1, "resourceType": "microsoft.resourcegraph/resources" @@ -15080,30 +15142,6 @@ "linkLabel": "Azure Security Center", "subTarget": "ASC", "style": "link" - }, - { - "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft 365", - "subTarget": "M365", - "style": "link" - }, - { - "id": "d4f75516-6286-4660-8294-395da6b9c29a", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Defender for Endpoint", - "subTarget": "D4E", - "style": "link" - }, - { - "id": "96141225-a0ad-43ca-bf96-e701c64318ce", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft Cloud App Security", - "subTarget": "MCAS", - "style": "link" } ] }, @@ -15116,7 +15154,7 @@ "query": "SecurityResources \r\n| where type == 'microsoft.security/securescores/securescorecontrols'\r\n| extend SecureControl = properties.displayName, unhealthy = properties.unhealthyResourceCount, currentscore = properties.score.current, maxscore = properties.score.max\r\n| where maxscore != 0\r\n| project SecureControl , unhealthy, currentscore, maxscore", "size": 0, "queryType": 1, - "resourceType": "microsoft.operationalinsights/workspaces", + "resourceType": "microsoft.resourcegraph/resources", "crossComponentResources": [ "{Subscription}" ], @@ -15202,6 +15240,7 @@ "groupType": "editable", "title": "7.4 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -15212,7 +15251,7 @@ { "type": 1, "content": { - "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n\r\n" + "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "LT-1" @@ -15220,7 +15259,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -15405,6 +15444,7 @@ "groupType": "editable", "title": "7.5 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -15415,7 +15455,7 @@ { "type": 1, "content": { - "json": "# 7.5 Threat Intelligence Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)
" + "json": "# 7.5 Threat Intelligence Integration\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/)" }, "customWidth": "33", "name": "LT-1" @@ -15530,6 +15570,7 @@ "groupType": "editable", "title": "7.6 Activities", "expandable": true, + "expanded": true, "items": [ { "type": 12, @@ -15540,7 +15581,7 @@ { "type": 1, "content": { - "json": "# 7.6 Automated Dynamic Policies\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + "json": "# 7.6 Automated Dynamic Policies\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
" }, "customWidth": "33", "name": "LT-1" @@ -15548,7 +15589,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Azure Active Directory](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -15575,7 +15616,7 @@ { "type": 1, "content": { - "json": "## Microsoft Defender for Cloud Security Continous Posture Monitoring & Manangement " + "json": "## Microsoft Defender for Cloud Security Continuous Posture Monitoring & Manangement " }, "name": "text - 2" }, @@ -15591,7 +15632,7 @@ "type": 4, "isRequired": true, "value": { - "durationMs": 2592000000 + "durationMs": 7776000000 }, "typeSettings": { "selectableValues": [ @@ -15710,30 +15751,6 @@ "linkLabel": "Azure Security Center", "subTarget": "ASC", "style": "link" - }, - { - "id": "797538b2-ca75-48ad-85b2-e12d9d59fb08", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft 365", - "subTarget": "M365", - "style": "link" - }, - { - "id": "d4f75516-6286-4660-8294-395da6b9c29a", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Defender for Endpoint", - "subTarget": "D4E", - "style": "link" - }, - { - "id": "96141225-a0ad-43ca-bf96-e701c64318ce", - "cellValue": "Tab", - "linkTarget": "parameter", - "linkLabel": "Microsoft Cloud App Security", - "subTarget": "MCAS", - "style": "link" } ] }, @@ -15814,7 +15831,8 @@ "columnMatch": "maxscore", "formatter": 1 } - ] + ], + "filter": true } }, "name": "query - 1" @@ -15881,7 +15899,8 @@ ] } } - ] + ], + "filter": true } }, "name": "query - 2" @@ -15905,7 +15924,7 @@ "crossComponentResources": [ "{Subscription}" ], - "value": "Microsoft-cloud-security-benchmark", + "value": "DOD-IL5", "typeSettings": { "additionalResourceOptions": [ "value::1" @@ -15929,7 +15948,7 @@ "crossComponentResources": [ "{Subscription}" ], - "value": "Passed", + "value": "Failed", "typeSettings": { "additionalResourceOptions": [ "value::1" @@ -16000,7 +16019,9 @@ ] } } - ] + ], + "rowLimit": 1000, + "filter": true } }, "name": "query - 3" @@ -19383,7 +19404,7 @@ { "type": 1, "content": { - "json": "## Microsoft to DoD CIO Zero Trust Capability Alignment\r\n\r\n#### In an effort to support our DoD customers, we have provided the following as a general overview of how Microsoft products/capabilities align with the latest DoD CIO Zero Trust Strategy. The following document correlates specific Microsoft solution(s) to each of the 45 main capabilities contained in the latest version from November of 2022.\r\n\r\n
\r\n\r\n| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 💡 [M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡 [What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡 [Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡 [Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡 [Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡 [Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡 [Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡 [Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡 [Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡 [Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡 [Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡 [Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡 [Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡 [Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡 [Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡 [Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡 [Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡 [Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡 [Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡 [Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡 [Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡 [Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 💡 [What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡 [Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡 [Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡 [Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡 [Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡 [Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡 [Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡 [Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡 [What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡 [Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡 [What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡 [Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡 [Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡 [Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡 [Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡 [Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡 [Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡 [Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 💡 [DoD CIO DevSecOps with IaC & Microsoft](https://dodcio.defense.gov/Portals/0/Documents/Library/DoDRefDesignCloudGithub.pdf?ver=zXJ_uO5LfouVaysHo5Ejsw%3d%3d)
💡 [Microsoft Secure DevSecOps](https://www.microsoft.com/en-us/securityengineering/sdl/)
💡 [Application Security & DevSecOps Security](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/organize/cloud-security-application-security-devsecops?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=eb8cd3d8eb27486d87bbb4d96d996220)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Azure AI Content Moderator API Security](https://learn.microsoft.com/en-us/azure/ai-services/content-moderator/overview) |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel
Microsoft 365 Defender | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" + "json": "| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended DoD Portal(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted) | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade) | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles) | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡[What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡[Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡[Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡[Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡[Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡[Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡[Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡[Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡[Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡[Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡[Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡[Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡[Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡[Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡[Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡[Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡[Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡[Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡[Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
|\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡[What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡[Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡[Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡[Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡[Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡[Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡[Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡[Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡[What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡[Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us) | 💡[What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡[Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡[What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡[Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡[Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡[Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡[Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡[Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡[Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡[Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Intune App Security](https://endpoint.microsoft.us)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300) | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b) | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters) | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
| 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade) | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D) | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Power Automate](https://make.gov.powerautomate.us/)
🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows) | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7) | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡[Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡[Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡[Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡[Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡[Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡[Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Security Baselines](https://endpoint.microsoft.us/#home) | 💡[Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡[Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡[Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡[Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/) | 💡[Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡[Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡[Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡[Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡[Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡[Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance) | 💡[Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡[Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡[Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡[Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡[AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡[AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡[Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡[What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡[Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡[Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" }, "conditionalVisibility": { "parameterName": "isess3Visible", @@ -19427,6 +19448,3034 @@ "value": "Activities" }, "name": "ZTActivities" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "items": [ + { + "type": 1, + "content": { + "json": "# [Recommended Data Connectors](https://docs.microsoft.com/azure/sentinel/connect-data-sources)\r\n---\r\n\r\nAfter onboarding Microsoft Sentinel into your workspace, connect data sources to start ingesting your data into Microsoft Sentinel. Microsoft Sentinel comes with many connectors for Microsoft products, available out of the box and providing real-time integration. For example, service-to-service connectors include Microsoft 365 Defender connectors and Microsoft 365 sources, such as Office 365, Azure Active Directory (Azure AD), Microsoft Defender for Identity, and Microsoft Defender for Cloud Apps. Check out these references if you're new to Microsoft Sentinel." + }, + "customWidth": "40", + "name": "NS Guide" + }, + { + "type": 1, + "content": { + "json": "" + }, + "customWidth": "10", + "name": "text - 2" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "b1cd1f8a-e807-4deb-93f4-7812e5ed014a", + "linkTarget": "OpenBlade", + "linkLabel": "Data Connectors >>", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorsBlade", + "extensionName": "Microsoft_Azure_Security_Insights" + } + } + ] + }, + "customWidth": "20", + "name": "EL0" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "nav", + "links": [ + { + "id": "b9a6293e-1c7b-4ec2-ad2a-d72b5ee01722", + "cellValue": "https://docs.microsoft.com/azure/sentinel/best-practices", + "linkTarget": "Url", + "linkLabel": "Best Practices", + "style": "link" + }, + { + "id": "1bad541e-219a-4277-9510-876b0e8cad51", + "cellValue": "https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/azure-sentinel-all-in-one-accelerator/ba-p/1807933", + "linkTarget": "Url", + "linkLabel": "Microsoft Sentinel All-In-One Accelerator", + "style": "link" + }, + { + "id": "7e8ff8aa-f632-4a4d-90cf-a71da0dc6b31", + "cellValue": "https://docs.microsoft.com/learn/browse/?wt.mc_id=resilience_skilling_webpage_gdc&terms=sentinel", + "linkTarget": "Url", + "linkLabel": "Microsoft Sentinel Training", + "style": "link" + } + ] + }, + "customWidth": "40", + "name": "links - 29" + } + ], + "exportParameters": true + }, + "name": "group - 7" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Event Logging (EL0) Connectors", + "style": "info" + }, + "name": "text - 13" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Activity Connector](https://docs.microsoft.com/azure/azure-monitor/essentials/activity-log)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "909d0019-23cb-43ad-8285-9f1dca1cd1be", + "version": "KqlParameterItem/1.0", + "name": "AzureActivity", + "label": "Status", + "type": 1, + "query": "AzureActivity\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "58cc25ab-a9af-4516-99e1-fa22e0637a76", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureActivity" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "33", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Active Directory (AAD) Connector](https://docs.microsoft.com/azure/sentinel/connect-azure-active-directory)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "23ba579d-c894-43be-9fe1-d1b04bc34d7a", + "version": "KqlParameterItem/1.0", + "name": "SignInLogs", + "label": "Status", + "type": 1, + "query": "SigninLogs\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Active Directory" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "7c97e893-29f3-4d4c-a379-f220bb82518c", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureActiveDirectory" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Active Directory (AAD) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Office 365 Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#microsoft-office-365)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "68bd12c8-e473-45d1-8bbc-2dd9f326ea69", + "version": "KqlParameterItem/1.0", + "name": "OfficeActivity", + "label": "Status", + "type": 1, + "query": "OfficeActivity\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "6a86eb8d-5487-4aad-ae7b-b526e68a249f", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "Office365" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Office 365 Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft Defender for Cloud Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#microsoft-defender-for-cloud)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "1673e4cf-354f-4a42-bed2-2374be47779e", + "version": "KqlParameterItem/1.0", + "name": "MDfC", + "label": "Status", + "type": 1, + "query": "SecurityAlert\r\n| where ProviderName == \"Azure Security Center\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "56600b70-0e55-433a-be86-b7c561bced8b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureSecurityCenter" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Microsoft Defender for Cloud Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Network Security Groups (NSG) Connector](https://docs.microsoft.com/azure/virtual-network/virtual-network-nsg-manage-log)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "b17ce357-e8d5-4c7c-a4f0-765598462a1c", + "version": "KqlParameterItem/1.0", + "name": "NSG", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics\r\n| where Category == \"NetworkSecurityGroupEvent\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "935bb630-1fce-4021-b7b4-c010b9e05973", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureNSG" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Network Security Groups (NSG) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Windows Security Events (AMA) Connector](https://docs.microsoft.com/azure/sentinel/connect-azure-windows-microsoft-services?tabs=SA%2CAMA#windows-agent-based-connections)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "d9af27d9-8c90-4c85-a57f-f329257d9956", + "version": "KqlParameterItem/1.0", + "name": "AMA", + "label": "Status", + "type": 1, + "query": "SecurityEvent\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d002eb41-c632-429b-8504-846b69314620", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "WindowsSecurityEvents" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Windows Security Events (AMA) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Security Events via Legacy Agent Connector](https://docs.microsoft.com/azure/sentinel/connect-azure-windows-microsoft-services?tabs=SA%2CLAA#windows-agent-based-connections)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "b2737fbc-c0e2-4584-9fba-ee7d057d7db0", + "version": "KqlParameterItem/1.0", + "name": "SecurityEvent", + "label": "Status", + "type": 1, + "query": "SecurityEvent\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "9a8b0649-e79b-4a30-be25-4a5486f302ee", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "SecurityEvents" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Security Events via Legacy Agent Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [DNS Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#windows-dns-server-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "8b7ac3ca-b46c-43e0-ae8c-e2b5189596bc", + "version": "KqlParameterItem/1.0", + "name": "DNS", + "label": "Status", + "type": 1, + "query": "DnsEvents\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": null + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "2d8731f5-c225-4a39-9914-6391b2c89ecb", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "DNS" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "DNS Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Storage Accounts Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-storage-account)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "4f291c03-8d98-47b6-ba82-1282322bb7a5", + "version": "KqlParameterItem/1.0", + "name": "StorageLogs", + "label": "Status", + "type": 1, + "query": "StorageBlobLogs\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "6d9cd26b-3fcd-4556-b2eb-3dcb711c4de4", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureStorageAccount" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Storage Logs Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Common Event Format (CEF) Connector](https://docs.microsoft.com/azure/sentinel/connect-common-event-format)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "4fcf795c-75b8-4010-bd24-1d66511ff6e8", + "version": "KqlParameterItem/1.0", + "name": "CommonSecurityLog", + "label": "Status", + "type": 1, + "query": "CommonSecurityLog\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "452e02e1-b0c4-4b9b-8a54-bc9295db22b9", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "CEF" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Common Event Format (CEF) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Syslog Connector](https://docs.microsoft.com/azure/sentinel/connect-syslog)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "fa63a08f-dd08-4e11-bcb6-c075a6d6c15c", + "version": "KqlParameterItem/1.0", + "name": "Syslog", + "label": "Status", + "type": 1, + "query": "Syslog\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "021644a3-bd51-4b09-8117-017a89c71d58", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "Syslog" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Syslog Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Amazon Web Services (AWS) Connector](https://docs.microsoft.com/azure/sentinel/connect-aws?tabs=s3)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "18ed59f0-c497-44b1-94b7-8700051cf189", + "version": "KqlParameterItem/1.0", + "name": "AWS", + "label": "Status", + "type": 1, + "query": "AWSCloudTrail\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "393c465e-4398-428b-8da2-87ac07d8a987", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AWS" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Amazon Web Services (AWS) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Amazon Web Services (AWS) S3 Connector](https://docs.microsoft.com/azure/sentinel/connect-aws?tabs=s3)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AWSS3", + "label": "Status", + "type": 1, + "query": "AWSVPCFlow\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AwsS3" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Amazon Web Services (AWS) S3 Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Google Cloud Platform IAM Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#google-workspace-g-suite-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "GCP", + "label": "Status", + "type": 1, + "query": "GCP_IAM_CL\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": null + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "1f2ba663-dd7a-49b6-87ba-0b8adf6d2d34" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Amazon Web Services (AWS) S3 Connector - Copy", + "styleSettings": { + "showBorder": true + } + } + ], + "exportParameters": true + }, + "name": "group - 5", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Basic Event Logging (EL1) Connectors", + "style": "info" + }, + "name": "text - 13" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft 365 Defender Connector](https://docs.microsoft.com/azure/sentinel/connect-microsoft-365-defender?tabs=MDE)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "M365Defender", + "label": "Status", + "type": 1, + "query": "AlertEvidence\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "MicrosoftThreatProtection" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Microsoft 365 Defender Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft Defender for Endpoint Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#microsoft-defender-for-endpoint)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "MDE", + "label": "Status", + "type": 1, + "query": "SecurityAlert\r\n| where ProviderName == \"MDATP\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "MicrosoftDefenderAdvancedThreatProtection" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Microsoft 365 Defender Connector - Copy", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Firewall Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-firewall)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AzureFirewall", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics\r\n| where ResourceType == \"AZUREFIREWALLS\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureFirewall" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Firewall Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Windows Firewall Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#windows-firewall)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "WindowsFirewall", + "label": "Status", + "type": 1, + "query": "WindowsFirewall\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "WindowsFirewall" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Windows Firewall Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Web Application Firewall Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-web-application-firewall-waf)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AzureWAF", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics | where ResourceType in (\"APPLICATIONGATEWAYS\", \"FRONTDOORS\", \"CDNWEBAPPLICATIONFIREWALLPOLICIES\", \"PROFILES\")\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "WAF" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Web Application Firewall Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure SQL Databases Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-sql-databases)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "8b7ac3ca-b46c-43e0-ae8c-e2b5189596bc", + "version": "KqlParameterItem/1.0", + "name": "SQL", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics | where Category contains \"SQL\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "2d8731f5-c225-4a39-9914-6391b2c89ecb", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureSql" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "SQL Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Key Vault Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-key-vault)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AzureKeyVault", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics | where ResourceProvider == \"MICROSOFT.KEYVAULT\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureKeyVault" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Key Vault Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure DDoS Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-ddos-protection)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "DDoS", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics | where ResourceType == \"PUBLICIPADDRESSES\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "Azure Activity Connector - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy - Copy" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "DDOS" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure DDoS Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [VMware ESXi Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#vmware-esxi-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "VMwareESXi", + "label": "Status", + "type": 1, + "query": "VMwareESXi\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": null + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "VMwareESXi" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "VMware ESXi Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft Defender for Cloud: Continuous Export](https://docs.microsoft.com/azure/defender-for-cloud/continuous-export?tabs=azure-portal)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "SecurityRecommendation", + "label": "Status", + "type": 1, + "query": "SecurityRecommendation\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 3" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Feature", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "SecurityMenuBlade", + "extensionName": "Microsoft_Azure_Security" + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Continuous Export Connector", + "styleSettings": { + "showBorder": true + } + } + ], + "exportParameters": true + }, + "name": "group - 6", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Intermediate Event Logging (EL2) Connectors", + "style": "info" + }, + "name": "text - 13" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Information Protection Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-information-protection-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "InformationProtectionLogs_CL", + "type": 1, + "query": "InformationProtectionLogs_CL​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "label": "Status", + "value": null + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureInformationProtection" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Information Protection Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Dynamics 365 Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#dynamics-365)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "Dynamics365Activity", + "label": "Status", + "type": 1, + "query": "Dynamics365Activity\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "Dynamics365" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Dynamics 365 Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Kubernetes Service (AKS) Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-kubernetes-service-aks)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AKS", + "label": "Status", + "type": 1, + "query": "AzureDiagnostics\r\n| where Category == \"kube-audit\"\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureKubernetes" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Kubernetes Service (AKS) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Qualys Vulnerability Management Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#qualys-vulnerability-management-vm-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "Qualys", + "label": "Status", + "type": 1, + "query": "QualysHostDetection_CL\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces", + "value": null + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "QualysVulnerabilityManagement" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Qualys Vulnerability Management Connector", + "styleSettings": { + "showBorder": true + } + } + ], + "exportParameters": true + }, + "name": "group - 6" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "## Advanced Event Logging (EL3) Connectors", + "style": "info" + }, + "name": "text - 13" + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Entity Behavior (UEBA)](https://docs.microsoft.com/azure/sentinel/enable-entity-behavior-analytics)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "BehaviorAnalytics", + "label": "Status", + "type": 1, + "query": "BehaviorAnalytics​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Feature", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "EntitySearchBlade", + "extensionName": "Microsoft_Azure_Security_Insights" + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Entity Behavior (UEBA) Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Azure Active Directory Identity Protection Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#azure-active-directory-identity-protection)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "AADIP", + "label": "Status", + "type": 1, + "query": "SecurityAlert | where ProductName == \"Azure Active Directory Identity Protection\"​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "AzureActiveDirectoryIdentityProtection" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Azure Active Directory Identity Protection Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Threat Intelligence TAXII Connector](https://docs.microsoft.com/azure/sentinel/connect-threat-intelligence-taxii)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "TAXII", + "label": "Status", + "type": 1, + "query": "ThreatIntelligenceIndicator | where SourceSystem !in (\"SecurityGraph\", \"Microsoft sentinel\", \"Microsoft Sentinel\") ​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "ThreatIntelligenceTaxii" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Threat Intelligence TAXII Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Threat Intelligence Platform Connector](https://docs.microsoft.com/azure/sentinel/connect-threat-intelligence-tip)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "ThreatIntelligence", + "label": "Status", + "type": 1, + "query": "ThreatIntelligenceIndicator | where SourceSystem in (\"SecurityGraph\", \"Microsoft sentinel\", \"Microsoft Sentinel\") ​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "ThreatIntelligence" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Threat Intelligence Platform Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft Defender for IoT Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#microsoft-defender-for-iot)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "MD4IOT", + "label": "Status", + "type": 1, + "query": "SecurityAlert | where ProductName == \"Azure Security Center for IoT\"​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "IoT" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Microsoft Defender for IoT Connector", + "styleSettings": { + "showBorder": true + } + }, + { + "type": 12, + "content": { + "version": "NotebookGroup/1.0", + "groupType": "editable", + "loadType": "always", + "items": [ + { + "type": 1, + "content": { + "json": "### [Microsoft Purview: Insider Risk Management Connector](https://docs.microsoft.com/azure/sentinel/data-connectors-reference#microsoft-purview-insider-risk-management-irm-preview)" + }, + "customWidth": "33", + "name": "text - 2" + }, + { + "type": 9, + "content": { + "version": "KqlParameterItem/1.0", + "crossComponentResources": [ + "{Workspace}" + ], + "parameters": [ + { + "id": "548cdd92-87c3-4e69-be08-52ecca0f76a8", + "version": "KqlParameterItem/1.0", + "name": "IRM", + "label": "Status", + "type": 1, + "query": "SecurityAlert\r\n| where ProductName == \"Microsoft 365 Insider Risk Management\"​​\r\n| limit 1\r\n| summarize count()\r\n| extend Results = iff(count_ ==0, \"❌ Not Connected\", \"✅ Connected\")\r\n| project Results", + "crossComponentResources": [ + "{Workspace}" + ], + "timeContext": { + "durationMs": 0 + }, + "timeContextFromParameter": "TimeRange", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + } + ], + "style": "pills", + "queryType": 0, + "resourceType": "microsoft.operationalinsights/workspaces" + }, + "customWidth": "33", + "name": "parameters - 1" + }, + { + "type": 11, + "content": { + "version": "LinkItem/1.0", + "style": "list", + "links": [ + { + "id": "d9b9144c-69bc-4eb2-a747-a9e0d206780b", + "linkTarget": "OpenBlade", + "linkLabel": "Enable Connector", + "style": "secondary", + "bladeOpenContext": { + "bladeName": "DataConnectorBlade", + "extensionName": "Microsoft_Azure_Security_Insights", + "bladeParameters": [ + { + "name": "dataConnectorId", + "source": "static", + "value": "OfficeIRM" + } + ] + } + } + ] + }, + "customWidth": "33", + "name": "EL0" + } + ], + "exportParameters": true + }, + "name": "Microsoft Purview: Insider Risk Management Connector", + "styleSettings": { + "showBorder": true + } + } + ] + }, + "name": "group - 6" + } + ], + "exportParameters": true + }, + "conditionalVisibility": { + "parameterName": "ifess2Visible", + "comparison": "isEqualTo", + "value": "true" + }, + "name": "Recommended Data Connectors - Copy" } ], "fromTemplateId": "sentinel-UserWorkbook", From e9b4ec205072044b725798721b03ab705c8bb0d8 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Wed, 6 Sep 2023 06:18:06 -0500 Subject: [PATCH 05/12] Updated fromTemplateId value --- Workbooks/DoDZeroTrustWorkbook.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index da57082d436..59a1292ff52 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -22478,6 +22478,6 @@ "name": "Recommended Data Connectors - Copy" } ], - "fromTemplateId": "sentinel-UserWorkbook", + "fromTemplateId": "sentinel-DoDZeroTrust", "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json" } From 9d7219d24414c46f839bcf8046090b5bd76316dc Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Tue, 12 Sep 2023 09:54:19 -0700 Subject: [PATCH 06/12] Cleaned up broken links and validated others --- Workbooks/DoDZeroTrustWorkbook.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index 59a1292ff52..f4634ad5fc0 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -10576,7 +10576,7 @@ { "type": 1, "content": { - "json": "# 5.2 Software Defined Networking (SDN)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)\r\n🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade)" + "json": "# 5.2 Software Defined Networking (SDN)\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
\r\n🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
\r\n🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)\r\n
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade)" }, "customWidth": "33", "name": "LT-1" @@ -13232,7 +13232,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
\r\n💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
\r\n💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
\r\n💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
\r\n💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
\r\n💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/workflow-automation)
\r\n💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -15251,7 +15251,7 @@ { "type": 1, "content": { - "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" + "json": "# 7.4 User and Entity Behavior Analytics\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)" }, "customWidth": "33", "name": "LT-1" @@ -15259,7 +15259,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
\r\n🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
\r\n🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
\r\n🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
\r\n🔀 [M365 Defender Portal](https://security.microsoft.us/)\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -19404,7 +19404,7 @@ { "type": 1, "content": { - "json": "| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended DoD Portal(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted) | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade) | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles) | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡[What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡[Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡[Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡[Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡[Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡[Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡[Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡[Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡[Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡[Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡[Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡[Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡[Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡[Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡[Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡[Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡[Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡[Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡[Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
|\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡[What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡[Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡[Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡[Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡[Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡[Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡[Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡[Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡[What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡[Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us) | 💡[What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡[Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡[What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡[Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡[Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡[Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡[Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡[Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡[Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡[Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Intune App Security](https://endpoint.microsoft.us)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300) | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b) | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters) | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
| 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade) | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D) | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Power Automate](https://make.gov.powerautomate.us/)
🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://www.bing.com/ck/a?!&&p=9150006d50b58362JmltdHM9MTY5MDg0ODAwMCZpZ3VpZD0yMTRiYTU0My05MDAzLTY2ODAtMjJhMS1iNjFjOTQwMzYwYjYmaW5zaWQ9NTI5Mw&ptn=3&hsh=3&fclid=214ba543-9003-6680-22a1-b61c940360b6&psq=Microsoft+SOAR+Logic+Apps&u=a1aHR0cHM6Ly9sZWFybi5taWNyb3NvZnQuY29tL2VuLXVzL2F6dXJlL2RlZmVuZGVyLWZvci1jbG91ZC93b3JrZmxvdy1hdXRvbWF0aW9u&ntb=1)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows) | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7) | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡[Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡[Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡[Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡[Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡[Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡[Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Security Baselines](https://endpoint.microsoft.us/#home) | 💡[Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡[Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡[Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡[Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/) | 💡[Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡[Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡[Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡[Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡[Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡[Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance) | 💡[Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡[Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡[Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡[Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡[AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡[AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡[Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡[What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡[Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡[Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" + "json": "| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended DoD Portal(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted) | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade) | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles) | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡[What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡[Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡[Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡[Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡[Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡[Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡[Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡[Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡[Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡[Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡[Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡[Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡[Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡[Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡[Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡[Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡[Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡[Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡[Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
|\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡[What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡[Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡[Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡[Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡[Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡[Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡[Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡[Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡[What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡[Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us) | 💡[What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡[Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡[What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡[Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡[Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡[Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡[Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡[Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡[Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡[Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Intune App Security](https://endpoint.microsoft.us)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300) | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b) | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters) | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
| 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade) | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D) | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Power Automate](https://make.gov.powerautomate.us/)
🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/workflow-automation)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows) | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7) | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡[Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡[Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡[Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡[Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡[Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡[Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Security Baselines](https://endpoint.microsoft.us/#home) | 💡[Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡[Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡[Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡[Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/) | 💡[Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡[Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡[Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡[Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡[Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡[Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance) | 💡[Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡[Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡[Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡[Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡[AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡[AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡[Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡[What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡[Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡[Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" }, "conditionalVisibility": { "parameterName": "isess3Visible", From a196fd345905f735a8fbbb53f99fc066add77951 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Fri, 15 Sep 2023 11:35:28 -0500 Subject: [PATCH 07/12] Removed remaining subscription-specific URL/link --- Workbooks/DoDZeroTrustWorkbook.json | 100 ++++++++++++++-------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/Workbooks/DoDZeroTrustWorkbook.json b/Workbooks/DoDZeroTrustWorkbook.json index f4634ad5fc0..aee7b21a178 100644 --- a/Workbooks/DoDZeroTrustWorkbook.json +++ b/Workbooks/DoDZeroTrustWorkbook.json @@ -189,7 +189,7 @@ }, { "id": "2b573101-8841-45a7-ac7a-7139c7d321a5", - "cellValue": "https://www.microsoft.com/en-us/security/blog/2022/11/22/microsoft-supports-the-dods-zero-trust-strategy/", + "cellValue": "https://www.microsoft.com/security/blog/2022/11/22/microsoft-supports-the-dods-zero-trust-strategy/", "linkTarget": "Url", "linkLabel": "Microsoft supports the DoD’s Zero Trust strategy", "style": "link" @@ -1464,7 +1464,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
\r\n💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
\r\n💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
\r\n💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
\r\n💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
\r\n💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
\r\n💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
\r\n💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
\r\n💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
\r\n💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
\r\n💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/azure/active-directory/develop/v2-overview)
\r\n💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/azure/active-directory/hybrid/)
\r\n💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Identity Decision Guide](https://learn.microsoft.com/azure/cloud-adoption-framework/decision-guides/identity/)
\r\n💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/download/details.aspx?id=54431)
\r\n💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
\r\n💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
\r\n💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
\r\n💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/defender-for-identity/deploy-defender-identity)
\r\n💡 [Secure with Azure Active Directory](https://learn.microsoft.com/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
\r\n💡 [AAD Hybrid Identity](https://learn.microsoft.com/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Azure AD Reports](https://learn.microsoft.com/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
\r\n💡 [B2B Collaboration](https://learn.microsoft.com/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664)
\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -1812,7 +1812,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
\r\n💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
\r\n💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
\r\n💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
\r\n💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
\r\n💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
\r\n💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
\r\n💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [What is Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/overview)
\r\n💡 [Conditional Access Learning Path](https://learn.microsoft.com/training/modules/plan-implement-administer-conditional-access/)
\r\n💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/security/business/identity-access/azure-active-directory-pricing?rtc=1)
\r\n💡 [Conditional Access Design Principles](https://learn.microsoft.com/azure/architecture/guide/security/conditional-access-design)
\r\n💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
\r\n💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
\r\n💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
\r\n💡 [Intune Conditional Access](https://learn.microsoft.com/mem/intune/protect/conditional-access)
\r\n💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/location-condition)
\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -2108,7 +2108,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
\r\n💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
\r\n💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
\r\n💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [How MFA Works](https://learn.microsoft.com/azure/active-directory/authentication/concept-mfa-howitworks)
\r\n💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
\r\n💡 [Deploy Passwordless Solution](https://learn.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
\r\n💡 [Configure Azure AD CBA](https://learn.microsoft.com/azure/active-directory/authentication/how-to-certificate-based-authentication)
\r\n💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
\r\n💡 [Plan AAD MFA](https://learn.microsoft.com/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664)
" }, "customWidth": "33", "name": "text - 9" @@ -2379,7 +2379,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
\r\n💡 [privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
\r\n💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
\r\n💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
\r\n💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
\r\n💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
\r\n💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
\r\n💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-deployment-plan)
\r\n💡 [privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
\r\n💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-getting-started)
\r\n💡 [Secure Roadmap - PIM](https://learn.microsoft.com/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
\r\n💡 [PIM for Groups](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
\r\n💡 [PIM Compliancy with Sentinel](https://learnsentinel.blog/2021/07/26/enforce-pim-compliance-with-azure-sentinel-and-playbooks/)
\r\n💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-approval-workflow)
\r\n💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/security/benchmark/azure/baselines/defender-for-identity-security-baseline)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -2553,7 +2553,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
\r\n💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
\r\n💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
\r\n💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
\r\n💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
\r\n💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
\r\n💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
\r\n💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/azure/azure-government/documentation-government-plan-identity)
\r\n💡 [Federated Identity Credentials](https://learn.microsoft.com/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
\r\n💡 [What is Hybrid Identity](https://learn.microsoft.com/azure/active-directory/hybrid/whatis-hybrid-identity)
\r\n💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n💡 [Azure AD SCIM](https://learn.microsoft.com/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
\r\n💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
\r\n💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
\r\n💡 [Azure AD Application Roles](https://learn.microsoft.com/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
\r\n💡 [What is Identity Governace?](https://learn.microsoft.com/azure/active-directory/governance/identity-governance-overview)
\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -2853,7 +2853,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
\r\n💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
\r\n💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
\r\n💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
\r\n💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
\r\n💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
\r\n💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Windows Hello Biometrics](https://learn.microsoft.com/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
\r\n💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [UEBA Reference](https://learn.microsoft.com/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
\r\n💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
\r\n💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
\r\n💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
\r\n💡 [Securing Workload Identities](https://learn.microsoft.com/azure/active-directory/identity-protection/concept-workload-identity-risk)
\r\n💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -3281,7 +3281,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Implementing Least-privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
\r\n💡 [enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
\r\n💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Implementing Least-privileged Administrative Models](https://learn.microsoft.com/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
\r\n💡 [enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
\r\n💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -3552,7 +3552,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
\r\n💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
\r\n💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
\r\n💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
\r\n💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
\r\n💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/azure/active-directory/devices/concept-primary-refresh-token)
\r\n💡 [Privileged Identity Management Insights](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
\r\n💡 [Entra Permissions Managment](https://learn.microsoft.com/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
\r\n💡 [Session Management with Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -3755,7 +3755,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
\r\n💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
\r\n💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
\r\n💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/azure/active-directory/develop/v2-overview)
\r\n💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/azure/active-directory/fundamentals/auth-passwordless)
\r\n💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
\r\n💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/azure/active-directory/authentication/concept-certificate-based-authentication)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -4823,7 +4823,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
\r\n💡 [What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
\r\n💡 [Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
\r\n💡 [Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
\r\n💡 [Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
\r\n💡 [Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
\r\n💡 [Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
\r\n💡 [Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
\r\n💡 [Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [M365 Defender Device inventory](https://learn.microsoft.com/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
\r\n💡 [What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/azure/active-directory/devices/overview)
\r\n💡 [Manage device identities by using the Azure portal](https://learn.microsoft.com/azure/active-directory/devices/device-management-azure-portal) 
\r\n💡 [Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-devices) 
\r\n💡 [Hybrid Azure AD joined devices](https://learn.microsoft.com/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
\r\n💡 [Conditional Access policy: Device Compliancy](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
\r\n💡 [Intune Reporting](https://learn.microsoft.com/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
\r\n💡 [Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
\r\n💡 [Working with Intune in Microsoft Graph](https://learn.microsoft.com/graph/api/resources/intune-graph-overview?view=graph-rest-1.0)
\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5123,7 +5123,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Device compliance policies in Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint | Microsoft Learn](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Scenarios for using Conditional Access with Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations)\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Device compliance policies in Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune | Microsoft Learn](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint | Microsoft Learn](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Scenarios for using Conditional Access with Microsoft Intune | Microsoft Learn](https://learn.microsoft.com/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations)\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5276,7 +5276,7 @@ { "type": 1, "content": { - "json": "

\r\n## Resources\r\n\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
\r\n💡 [Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
\r\n💡 [Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
\r\n💡 [Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)
\r\n
\r\n#### Additional References:
\r\n💡 [Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
\r\n💡 [Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
\r\n💡 [Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
\r\n💡 [Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
\r\n💡 [Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
\r\n💡 [Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
" + "json": "

\r\n## Resources\r\n\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Device discovery overview](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
\r\n💡 [Learn about Conditional Access and Intune](https://learn.microsoft.com/mem/intune/protect/conditional-access)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
\r\n💡 [Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/plan-conditional-access)
\r\n💡 [Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)
\r\n
\r\n#### Additional References:
\r\n💡 [Track changes to system files and registry keys](https://learn.microsoft.com/azure/defender-for-cloud/file-integrity-monitoring-overview)
\r\n💡 [Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/connect-defender-for-cloud)
\r\n💡 [Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
\r\n💡 [Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/connect-custom-logs?tabs=DCG)
\r\n💡 [Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/azure/azure-monitor/agents/agents-overview)
\r\n💡 [Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics)
" }, "customWidth": "33", "name": "text - 6" @@ -5531,7 +5531,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
\r\n💡 [Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
\r\n💡 [Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Device compliance policies in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
\r\n💡 [Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/actions-for-noncompliance)
\r\n💡 [Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
\r\n💡 [Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
\r\n💡 [Enhance security with the principle of least privilege](https://learn.microsoft.com/azure/active-directory/develop/secure-least-privileged-access)
\r\n💡 [Best practices for Azure AD roles](https://learn.microsoft.com/azure/active-directory/roles/best-practices)
\r\n💡 [Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/azure/active-directory/roles/delegate-by-task)
\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5625,7 +5625,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
\r\n💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
\r\n💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
\r\n💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
\r\n💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
\r\n💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
\r\n💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
\r\n💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
\r\n💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Windows Update for Business?](https://learn.microsoft.com/windows/deployment/update/waas-manage-updates-wufb)
\r\n💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/mem/configmgr/core/understand/introduction)
\r\n💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/mem/intune/protect/windows-10-update-rings?source=recommendations)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/mem/intune/protect/windows-update-for-business-configure)
\r\n💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/mem/configmgr/sum/deploy-use/deploy-software-updates)
\r\n💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/mem/intune/protect/atp-manage-vulnerabilities)
\r\n💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
\r\n💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/deployoffice/fieldnotes/choose-how-to-deliver-updates)
\r\n💡 [Windows Release Health](https://learn.microsoft.com/windows/release-health/)
\r\n💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/azure/automation/update-management/manage-updates-for-vm)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5767,7 +5767,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
\r\n💡 [Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
\r\n💡 [Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
\r\n💡 [Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
\r\n💡 [Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
\r\n💡 [Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
\r\n💡 [Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
\r\n💡 [Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
\r\n💡 [What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/what-is-intune)
\r\n💡 [Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-devices)
\r\n💡 [Zero Trust with Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
\r\n💡 [Supported operating systems and browsers in Intune](https://learn.microsoft.com/mem/intune/fundamentals/supported-devices-browsers)
\r\n💡 [Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/mem/intune/fundamentals/deployment-guide-enrollment)
\r\n💡 [Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/mem/intune/protect/software-updates-ios)
\r\n💡 [Manage macOS software update policies in Intune](https://learn.microsoft.com/mem/intune/protect/software-updates-macos)
\r\n💡 [Microsoft Intune How-To Guides](https://learn.microsoft.com/mem/intune/#how-to-guides)
\r\n💡 [What is Azure Arc-enabled servers?](https://learn.microsoft.com/azure/azure-arc/servers/overview)
\r\n💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
\r\n\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -5911,7 +5911,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
\r\n💡 [Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
\r\n💡 [Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
\r\n💡 [Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
\r\n💡 [Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
\r\n💡 [Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident)
\r\n\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
\r\n💡 [What is Microsoft 365 Defender?](https://learn.microsoft.com/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
\r\n💡 [Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
\r\n💡 [Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/security/operations/siem-xdr-overview)
\r\n💡 [Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/mem/intune/protect/endpoint-security-edr-policy)
\r\n💡 [Set up your XDR tools](https://learn.microsoft.com/security/operations/setup-xdr-tools)
\r\n💡 [Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/security/operations/siem-workspace)
\r\n💡 [Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/security/operations/ingest-data-sources)
\r\n💡 [Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/security/operations/respond-incident)
\r\n\r\n\r\n\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -6699,7 +6699,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
\r\n💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
\r\n💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
\r\n💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
\r\n💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
\r\n💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
\r\n💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Cloud Discovery Setup](https://learn.microsoft.com/defender-cloud-apps/set-up-cloud-discovery)
\r\n💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
\r\n💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Active Directory Federation Services Health](https://learn.microsoft.com/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
\r\n💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
\r\n💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/azure/active-directory/app-proxy/what-is-application-proxy)
\r\n💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/azure/defender-for-cloud/asset-inventory)
\r\n💡 [Working with Discovered Apps](https://learn.microsoft.com/defender-cloud-apps/discovered-apps)
\r\n💡 [Software Inventory](https://learn.microsoft.com/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide)
\r\n" }, "customWidth": "33", "name": "text - 9" @@ -6810,7 +6810,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [DoD CIO DevSecOps with IaC & Microsoft](https://dodcio.defense.gov/Portals/0/Documents/Library/DoDRefDesignCloudGithub.pdf?ver=zXJ_uO5LfouVaysHo5Ejsw%3d%3d)
\r\n💡 [Microsoft Secure DevSecOps](https://www.microsoft.com/en-us/securityengineering/sdl/)
\r\n💡 [Application Security & DevSecOps Security](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/organize/cloud-security-application-security-devsecops?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=eb8cd3d8eb27486d87bbb4d96d996220)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Azure AI Content Moderator API Security](https://learn.microsoft.com/en-us/azure/ai-services/content-moderator/overview)\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [DoD CIO DevSecOps with IaC & Microsoft](https://dodcio.defense.gov/Portals/0/Documents/Library/DoDRefDesignCloudGithub.pdf?ver=zXJ_uO5LfouVaysHo5Ejsw%3d%3d)
\r\n💡 [Microsoft Secure DevSecOps](https://www.microsoft.com/securityengineering/sdl/)
\r\n💡 [Application Security & DevSecOps Security](https://learn.microsoft.com/azure/cloud-adoption-framework/organize/cloud-security-application-security-devsecops?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=eb8cd3d8eb27486d87bbb4d96d996220)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n💡 [Azure AI Content Moderator API Security](https://learn.microsoft.com/azure/ai-services/content-moderator/overview)\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -6982,7 +6982,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
\r\n💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
\r\n💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
\r\n💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
\r\n💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
\r\n💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
\r\n💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-apps)
\r\n💡 [App Protection Policies in Intune](https://learn.microsoft.com/mem/intune/apps/app-protection-policy)
\r\n💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
\r\n💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
\r\n💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
\r\n💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
\r\n💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/securityengineering/opensource/osssscframeworkguide)
\r\n💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
\r\n💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
\r\n💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -7117,7 +7117,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
\r\n💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
\r\n💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
\r\n💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
\r\n💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
\r\n💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
\r\n💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
\r\n💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/azure/defender-for-cloud/defender-for-cloud-introduction)
\r\n💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/download/details.aspx?id=54431)
\r\n💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/azure/app-service/overview-authentication-authorization)
\r\n💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
\r\n💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow)
\r\n💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/azure/active-directory/manage-apps/methods-for-removing-user-access)
\r\n💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
\r\n💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/mem/intune/fundamentals/role-based-access-control)
\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -7302,7 +7302,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
\r\n💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
\r\n💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
\r\n💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
\r\n💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac)
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
\r\n💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/azure/architecture/hybrid/hybrid-security-monitoring)
\r\n💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/azure/security/fundamentals/management-monitoring-overview)
\r\n💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/deployoffice/security/security-baseline)
\r\n💡 [Utilize Application Control for Windows](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/wdac)
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 9" @@ -8540,7 +8540,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
\r\n💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/azure/data-catalog/data-catalog-get-started)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/azure/data-catalog/data-catalog-frequently-asked-questions)
\r\n💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Set up Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
\r\n💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 6" @@ -8737,7 +8737,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
\r\n💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
\r\n💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
\r\n💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
\r\n💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Deploy Azure Data Governance](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
\r\n💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/azure/defender-for-cloud/governance-rules)
\r\n💡 [Implement Purview Data Governance](https://learn.microsoft.com/purview/?view=o365-worldwide)
\r\n💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
\r\n💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Azure Collaboration Governance](https://learn.microsoft.com/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n\r\n" }, "customWidth": "33", "name": "text - 2" @@ -8945,7 +8945,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Create Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
\r\n💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
\r\n💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Utilize Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
\r\n💡 [Use the Service Catalog](https://learn.microsoft.com/system-center/scsm/service-catalog?view=sc-sm-2022)
\r\n" }, "customWidth": "33", "name": "text - 2" @@ -9067,7 +9067,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
\r\n💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
\r\n💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
\r\n💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
\r\n💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/compliance/assurance/assurance-monitoring-and-self-healing)
\r\n💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
\r\n💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/azure/sentinel/best-practices-data) 
\r\n💡 [Deploy Microsoft Purview](https://learn.microsoft.com/purview/purview) 
\r\n💡 [Utilze Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
\r\n💡 [Configure Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
\r\n💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/azure/azure-sql/database/sql-insights-overview?view=azuresql)
\r\n\r\n" }, "customWidth": "33", "name": "text - 2" @@ -9258,7 +9258,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
\r\n💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
\r\n💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n💡 [Utilize Azure Encrption](https://learn.microsoft.com/azure/security/fundamentals/encryption-overview)
\r\n💡 [Deploy Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
\r\n💡 [Deploy Purview Information Protection](https://learn.microsoft.com/purview/information-protection)
\r\n💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/azure/media-services/latest/drm-content-protection-concept) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n\r\n\r\n" }, "customWidth": "33", "name": "text - 2" @@ -9326,7 +9326,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
\r\n💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
\r\n💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
\r\n💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
\r\n💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/purview/dlp-learn-about-dlp)
\r\n💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
\r\n💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/purview/dlp-adaptive-protection-learn)
\r\n💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
\r\n💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
\r\n💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
\r\n\r\n" }, "customWidth": "33", "name": "text - 2" @@ -9472,7 +9472,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
\r\n💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
\r\n💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
\r\n💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
\r\n💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
\r\n💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies)
\r\n\r\n" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/azure/active-directory/conditional-access/overview)
\r\n💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/conditional-access)
\r\n💡 [Use Conditional Access APIs](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-apis)
\r\n💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
\r\n💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/azure/data-explorer/security-conditional-access)
\r\n💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
\r\n💡 [Build Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policies)
\r\n\r\n" }, "customWidth": "33", "name": "text - 4" @@ -10430,7 +10430,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
\r\n💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
\r\n💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
\r\n💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
\r\n💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
\r\n💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
\r\n💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/power-query/dataflows/create-use)
\r\n💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/azure/network-watcher/traffic-analytics)
\r\n💡 [Azure Blue Print ](https://learn.microsoft.com/azure/governance/blueprints/overview)
\r\n💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/azure/data-explorer/viz-overview)
\r\n💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
\r\n💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
\r\n💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -10592,7 +10592,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
\r\n💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
\r\n💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
\r\n💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
\r\n💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
\r\n💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
\r\n💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/security/business/security-101/what-is-sase)
\r\n💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
\r\n💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
\r\n💡 [Implementing Software Defined Networking](https://learn.microsoft.com/windows-server/networking/sdn/)
\r\n💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/windows-server/networking/sdn/manage/manage-sdn)
\r\n💡 [Deploy Software Defined Networking](https://learn.microsoft.com/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
\r\n💡 [Secure the Network Controller](https://learn.microsoft.com/azure-stack/hci/manage/nc-security)
\r\n💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/windows-server/networking/sdn/sdn-whats-new)
\r\n💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
\r\n💡 [IPV6 Config Interface](https://learn.microsoft.com/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/azure/well-architected/security/design-segmentation)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -10708,7 +10708,7 @@ { "type": 1, "content": { - "json": "# 5.3 Macro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)" + "json": "# 5.3 Macro Segmentation\r\n\r\n## Microsoft Portals Department of Defense\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Azure Features for Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)" }, "customWidth": "33", "name": "LT-1" @@ -10716,7 +10716,7 @@ { "type": 1, "content": { - "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.us/en-us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Segementation Security Strategies](https://learn.microsoft.us/en-us/azure/well-architected/security/design-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n" + "json": "

\r\n## Microsoft Portals Government\r\n🔀 [Impletment Network Segmentation](https://learn.microsoft.us/azure/well-architected/security/design-network-segmentation)
\r\n🔀 [Segementation Security Strategies](https://learn.microsoft.us/azure/well-architected/security/design-segmentation)
\r\n🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
\r\n" }, "customWidth": "33", "name": "LT-1 - Copy" @@ -10724,7 +10724,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n\r\n💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
\r\n💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n\r\n💡 [Impletment Network Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
\r\n💡 [Azure Features for Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
\r\n💡 [Segementation Security Strategies](https://learn.microsoft.com/azure/well-architected/security/design-segmentation)
\r\n💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
\r\n💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -10976,7 +10976,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Enabling JIT Access Controls](https://learn.microsoft.com/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/security/zero-trust/deploy/networks)
\r\n💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
\r\n💡 [Microsoft Packet Monitor](https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -12535,7 +12535,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
\r\n💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
\r\n💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
\r\n💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
\r\n💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
\r\n💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
\r\n💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
\r\n💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/)
\r\n💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/security/benchmark/azure/baselines/azure-policy-security-baseline)
\r\n💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Azure Policy](https://learn.microsoft.com/azure/governance/policy/overview)
\r\n💡 [What is Azure Firewall?](https://learn.microsoft.com/azure/firewall/overview)
\r\n💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/security/zero-trust/azure-infrastructure-networking)
\r\n💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/azure/automation/automation-role-based-access-control)
\r\n💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
\r\n💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -12738,7 +12738,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
\r\n💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Automation Overview](https://learn.microsoft.com/azure/automation/overview)
\r\n💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/security/benchmark/azure/baselines/automation-security-baseline)
\r\n💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/)
\r\n💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/automation)
\r\n💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Power Automate U.S Government](https://learn.microsoft.com/power-automate/us-govt)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -12909,7 +12909,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
\r\n💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
\r\n💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
\r\n💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
\r\n💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
\r\n💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
\r\n💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/fusion)
\r\n💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/bring-your-own-ml)
\r\n💡 [Azure Machine Learning](https://learn.microsoft.com/azure/machine-learning/?view=azureml-api-2)
\r\n💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
\r\n💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/azure/azure-government/documentation-government-impact-level-5)
\r\n💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
\r\n💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/security/benchmark/azure/baselines/machine-learning-security-baseline)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -13142,7 +13142,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
\r\n💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
\r\n💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [AI Security Services](https://learn.microsoft.com/azure/ai-services/security-features)
\r\n💡 [Senintel Automation](https://learn.microsoft.com/azure/sentinel/automation)
\r\n💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/products/category/identity/)
\r\n💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/security/operations/siem-xdr-overview)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -13232,7 +13232,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
\r\n💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
\r\n💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
\r\n💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/workflow-automation)
\r\n💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/azure/sentinel/automation)
\r\n💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
\r\n💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/azure/sentinel/sentinel-soar-content)
\r\n💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
\r\n💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/workflow-automation)
\r\n💡 [SOAR Best Practices](https://www.microsoft.com/security/business/security-101/what-is-soar#SOARbestpractices)
\r\n💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -13308,7 +13308,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
\r\n💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
\r\n💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
\r\n💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
\r\n💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
\r\n💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsft API Management & Security](https://azure.microsoft.com/products/api-management/)
\r\n💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/azure/api-management/mitigate-owasp-api-threats)
\r\n💡 [Security Baselines for API Management](https://learn.microsoft.com/security/benchmark/azure/baselines/api-management-security-baseline)
\r\n💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
\r\n💡 [Web API Design Best Practice](https://learn.microsoft.com/azure/architecture/best-practices/api-design)
\r\n💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/azure/api-management/api-management-howto-use-azure-monitor)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -13389,7 +13389,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
\r\n💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
\r\n💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
\r\n💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
\r\n💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Security Operations In Azure](https://learn.microsoft.com/azure/well-architected/security/monitor-security-operations)
\r\n💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
\r\n💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
\r\n💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
\r\n💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14344,7 +14344,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
\r\n💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
\r\n💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
\r\n💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
\r\n💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
\r\n💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
\r\n💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
\r\n💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
\r\n💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
\r\n💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Azure Log Analytics](https://learn.microsoft.com/azure/azure-monitor/logs/log-analytics-overview)
\r\n💡 [Azure Monitor](https://learn.microsoft.com/azure/azure-monitor/overview)
\r\n💡 [Audit Logging and Monitoring](https://learn.microsoft.com/compliance/assurance/assurance-audit-logging)
\r\n💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
\r\n💡 [Device Log Capture - Intune](https://learn.microsoft.com/mem/intune/remote-actions/collect-diagnostics)
\r\n💡 [Application Logging](https://learn.microsoft.com/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
\r\n💡 [User Access Logging](https://learn.microsoft.com/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
\r\n💡 [Azure Infrastructure Logs](https://learn.microsoft.com/azure/well-architected/scalability/monitor-infrastructure)
\r\n💡 [Network Logging](https://learn.microsoft.com/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
\r\n💡 [Supported Logs for Network](https://learn.microsoft.com/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14830,7 +14830,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
\r\n💡 [Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
\r\n💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
\r\n💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
\r\n💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
\r\n💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
\r\n💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/overview)
\r\n💡 [Implement Sentinel & M365](https://learn.microsoft.com/security/operations/siem-xdr-overview)
\r\n💡 [Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
\r\n💡 [Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
\r\n💡 [Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
\r\n💡 [Sentinel & SOC Analysis Process](https://learn.microsoft.com/azure/sentinel/migration-security-operations-center-processes)
\r\n💡 [Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/azure/sentinel/skill-up-resources)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -14994,7 +14994,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
\r\n💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
\r\n💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
\r\n💡 [Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
\r\n💡 [Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/data-security-review-risks)
\r\n💡 [Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/azure/defender-for-cloud/concept-attack-path)
\r\n💡 [Cloud Security Posture Management](https://learn.microsoft.com/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Microsoft Cloud Security Benchmark](https://learn.microsoft.com/azure/defender-for-cloud/concept-regulatory-compliance)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -15267,7 +15267,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
\r\n💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
\r\n💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
\r\n💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
\r\n💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
\r\n💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics)
\r\n💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/azure/sentinel/ueba-reference)
\r\n💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/azure/sentinel/investigate-with-ueba)
\r\n💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/defender-cloud-apps/tutorial-dlp)
\r\n💡 [Purview Insider Risk Management](https://learn.microsoft.com/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -15471,7 +15471,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
\r\n💡 [Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
\r\n💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
\r\n💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
\r\n💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
\r\n💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal)
" + "json": "
\r\n
\r\n## Resources\r\n\r\n💡 [Microsoft Threat Intelligence](https://learn.microsoft.com/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
\r\n💡 [Microsoft Security Graph API](https://learn.microsoft.com/graph/api/resources/security-api-overview?view=graph-rest-beta)
\r\n💡 [Create Threat Intelligence Indicators](https://learn.microsoft.com/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
\r\n💡 [Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/threat-intelligence-integration)
\r\n💡 [Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/defender-cloud-apps/additional-integrations)
\r\n💡 [Accessing the Threat Intelligence Portal](https://learn.microsoft.com/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -15597,7 +15597,7 @@ { "type": 1, "content": { - "json": "
\r\n
\r\n## Resources\r\n💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
\r\n💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
\r\n💡 [Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
\r\n💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
\r\n💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
\r\n💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
\r\n💡 [Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
" + "json": "
\r\n
\r\n## Resources\r\n💡 [Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
\r\n💡 [Adaptive Protection - Microsoft Purview](https://www.microsoft.com/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
\r\n💡 [Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
\r\n💡 [Adaptive Application Controls](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-application-controls)
\r\n💡 [AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
\r\n💡 [AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
\r\n💡 [Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/azure/defender-for-cloud/concept-cloud-security-posture-management)
\r\n💡 [Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-network-hardening)
\r\n💡 [What is Microsoft Entra ID Protection?](https://learn.microsoft.com/azure/active-directory/identity-protection/overview-identity-protection)
\r\n💡 [Azure Automation update management](https://learn.microsoft.com/azure/architecture/hybrid/azure-update-mgmt)
\r\n💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/mem/intune/protect/windows-update-for-business-configure)
" }, "customWidth": "33", "name": "LT-1 - Copy - Copy" @@ -19391,7 +19391,7 @@ { "type": 1, "content": { - "json": "## DoD Zero Trust Strategy Workbook Workbook FAQ \r\n\r\n
\r\n### What will this workbook do for my organization? \r\n\r\nThis workbook provides structure, guidance, and simplification of the DoD Zero Trust Strategy to make it easier to track, prioritize, and improve Zero Trust Target (and Advanced) level Capabilities/Activities that are required to be implemented by 2027. \r\n\r\n
\r\n### Does this workbook only pertain to Microsoft-specific capabiltiies?\r\n\r\nNo, the out-of-the-box content of this Sentinel workbook includes references to Microsoft-specific capabilities/solutions. However, the workbook has been designed to account for \"Alternate Implementations\" (non-Microsoft), which may also meet the Target (and Advanced)-level Zero Trust Capabilities and Activities. In addition, Microsoft Sentinel supports custom log formats and multiple third-party [data connectors](\"https://learn.microsoft.com/en-us/azure/sentinel/data-connectors-reference\") that can provide visibility for non-Microsoft solutions. \r\n\r\n
\r\n### How will this workbook help with deployment and maturity of the DoD Zero Trust Strategy Capabilities & Activities? \r\n\r\n* Provides Zero Trust roll-up of organizational maturity and situational awareness as it relates directly to the 2027 Zero Trust Target-level deadline. \r\n\r\n* Provides DoD Zero Trust Activity simplification and improved awareness, allowing responsible parties for each pillar(s) to report which capabilities are planned, implemented, or not applicable. \r\n\r\n* Provides guidance and recommendations to meet the 45 capabilities (and supporting 152 activities) \r\n\r\n* Provides a working (and evolving) organized method of orchestrating and managing/tracking efforts around the Zero Trust Capabilities and Activities covered in the DoD Zero Trust Strategy. \r\n\r\n
\r\n### Why are some of the visualizations not working in my workbook? \r\n\r\nThe visualizations within this workbook are simply examples and rely on specific logs to populate accordingly. We realize that not every organization leverages the same solution logs used to build/populate this workbook. In addition, we also realize that many customers leverage third-party solutions for their needs. Every implementation of this workbook is unique to the respective environment in which it is installed. It is intended to be a starting point and can be further customized to better meet the needs of each customer. Please contact your Account Representative if your team requires further assistance and/or customizations. \r\n\r\nVisualizations can be used to show examples of the DoD Zero Trust Activities in use/or configurations themselves. They can also be used to further develop automations related to improving cyber hygiene through deploying Zero Trust principals. \r\n\r\n
\r\n### Who should use this workbook? \r\n\r\nThis workbook is designed for both executives and individuals who are directly responsible for implementing the respective Capabilities/Activities due by 2027 outlined in the DoD Zero Trust Strategy. \r\n\r\nThis workbook derives language and terminology specific to the DoD Zero Trust Strategy. However, many non-DoD organizations can also leverage this guidance for their needs. \r\n\r\n
\r\n### Where does the Zero Trust Maturity (Percentage) score come from? \r\n\r\nThe Zero Trust Maturity score is calculated based on the interactive capabilities sections contained within each of the pillars. When updated, the drop-down boxes labeled, “Implementation Status” directly contribute to the overall level of maturity reported under the “Zero Trust Essentials” → \"DoD Zero Trust Assessment Tracker\". \r\n\r\n
\r\n### How can I make recommendations to improve this workbook? \r\n\r\nPlease utilize the link in the opening screen labeled, “Please take some time to take a quick survey”. Our team values these responses and takes them very seriously. Any feedback that you can provide is greatly appreciated. \r\n\r\n
\r\n### Can this workbook be customized? \r\n\r\nYes! This workbook has been created with additional customization in mind. Please contact your Account Representative if you would to like to inquire about any additional assistance with customizing this workbook to suit your organizational goals related to DoD Zero Trust Strategy maturity. \r\n\r\n
\r\n### Do other customers outside the DoD utilize this workbook? \r\n\r\nYes, many customers outside the DoD have also gravitated toward the DoD Zero Trust Strategy because it focuses on an outcomes-focused methodology and includes specific \"Capabilities and Activities\" that apply to core Zero Trust principals. \r\n\r\n
\r\n### Who created this workbook? \r\n\r\nThis workbook was created by a collaboration of Microsoft teams and subject matter experts along with our pilot customers. \r\n\r\n
\r\n### Does this workbook cover all 152 “Activities” defined in the Strategy? \r\n\r\nYes, the recommendations, visualizations, and guidance, while centered around the 45 capabilities, will still apply to all 152 activities. This workbook aims to simplify the Target (and Advanced)-level Zero Trust Capabilities and Activities. Based on prior feedback, this workbook may be updated in the future to include further guidance, reporting, and relevant information. ", + "json": "## DoD Zero Trust Strategy Workbook Workbook FAQ \r\n\r\n
\r\n### What will this workbook do for my organization? \r\n\r\nThis workbook provides structure, guidance, and simplification of the DoD Zero Trust Strategy to make it easier to track, prioritize, and improve Zero Trust Target (and Advanced) level Capabilities/Activities that are required to be implemented by 2027. \r\n\r\n
\r\n### Does this workbook only pertain to Microsoft-specific capabiltiies?\r\n\r\nNo, the out-of-the-box content of this Sentinel workbook includes references to Microsoft-specific capabilities/solutions. However, the workbook has been designed to account for \"Alternate Implementations\" (non-Microsoft), which may also meet the Target (and Advanced)-level Zero Trust Capabilities and Activities. In addition, Microsoft Sentinel supports custom log formats and multiple third-party [data connectors](\"https://learn.microsoft.com/azure/sentinel/data-connectors-reference\") that can provide visibility for non-Microsoft solutions. \r\n\r\n
\r\n### How will this workbook help with deployment and maturity of the DoD Zero Trust Strategy Capabilities & Activities? \r\n\r\n* Provides Zero Trust roll-up of organizational maturity and situational awareness as it relates directly to the 2027 Zero Trust Target-level deadline. \r\n\r\n* Provides DoD Zero Trust Activity simplification and improved awareness, allowing responsible parties for each pillar(s) to report which capabilities are planned, implemented, or not applicable. \r\n\r\n* Provides guidance and recommendations to meet the 45 capabilities (and supporting 152 activities) \r\n\r\n* Provides a working (and evolving) organized method of orchestrating and managing/tracking efforts around the Zero Trust Capabilities and Activities covered in the DoD Zero Trust Strategy. \r\n\r\n
\r\n### Why are some of the visualizations not working in my workbook? \r\n\r\nThe visualizations within this workbook are simply examples and rely on specific logs to populate accordingly. We realize that not every organization leverages the same solution logs used to build/populate this workbook. In addition, we also realize that many customers leverage third-party solutions for their needs. Every implementation of this workbook is unique to the respective environment in which it is installed. It is intended to be a starting point and can be further customized to better meet the needs of each customer. Please contact your Account Representative if your team requires further assistance and/or customizations. \r\n\r\nVisualizations can be used to show examples of the DoD Zero Trust Activities in use/or configurations themselves. They can also be used to further develop automations related to improving cyber hygiene through deploying Zero Trust principals. \r\n\r\n
\r\n### Who should use this workbook? \r\n\r\nThis workbook is designed for both executives and individuals who are directly responsible for implementing the respective Capabilities/Activities due by 2027 outlined in the DoD Zero Trust Strategy. \r\n\r\nThis workbook derives language and terminology specific to the DoD Zero Trust Strategy. However, many non-DoD organizations can also leverage this guidance for their needs. \r\n\r\n
\r\n### Where does the Zero Trust Maturity (Percentage) score come from? \r\n\r\nThe Zero Trust Maturity score is calculated based on the interactive capabilities sections contained within each of the pillars. When updated, the drop-down boxes labeled, “Implementation Status” directly contribute to the overall level of maturity reported under the “Zero Trust Essentials” → \"DoD Zero Trust Assessment Tracker\". \r\n\r\n
\r\n### How can I make recommendations to improve this workbook? \r\n\r\nPlease utilize the link in the opening screen labeled, “Please take some time to take a quick survey”. Our team values these responses and takes them very seriously. Any feedback that you can provide is greatly appreciated. \r\n\r\n
\r\n### Can this workbook be customized? \r\n\r\nYes! This workbook has been created with additional customization in mind. Please contact your Account Representative if you would to like to inquire about any additional assistance with customizing this workbook to suit your organizational goals related to DoD Zero Trust Strategy maturity. \r\n\r\n
\r\n### Do other customers outside the DoD utilize this workbook? \r\n\r\nYes, many customers outside the DoD have also gravitated toward the DoD Zero Trust Strategy because it focuses on an outcomes-focused methodology and includes specific \"Capabilities and Activities\" that apply to core Zero Trust principals. \r\n\r\n
\r\n### Who created this workbook? \r\n\r\nThis workbook was created by a collaboration of Microsoft teams and subject matter experts along with our pilot customers. \r\n\r\n
\r\n### Does this workbook cover all 152 “Activities” defined in the Strategy? \r\n\r\nYes, the recommendations, visualizations, and guidance, while centered around the 45 capabilities, will still apply to all 152 activities. This workbook aims to simplify the Target (and Advanced)-level Zero Trust Capabilities and Activities. Based on prior feedback, this workbook may be updated in the future to include further guidance, reporting, and relevant information. ", "style": "info" }, "conditionalVisibility": { @@ -19404,7 +19404,7 @@ { "type": 1, "content": { - "json": "| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended DoD Portal(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/en-us/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/en-us/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/en-us/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [What is Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/en-us/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/en-us/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5) | 💡 [How MFA Works](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/en-us/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted) | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/en-us/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/en-us/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/en-us/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/en-us/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade) | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/en-us/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles) | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/en-us/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/en-us/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/en-us/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[M365 Defender Device inventory](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡[What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/en-us/azure/active-directory/devices/overview)
💡[Manage device identities by using the Azure portal](https://learn.microsoft.com/en-us/azure/active-directory/devices/device-management-azure-portal) 
💡[Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices) 
💡[Hybrid Azure AD joined devices](https://learn.microsoft.com/en-us/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡[Conditional Access policy: Device Compliancy](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/en-us/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡[Intune Reporting](https://learn.microsoft.com/en-us/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡[Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡[Working with Intune in Microsoft Graph](https://learn.microsoft.com/en-us/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Device discovery overview](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡[Learn about Conditional Access and Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡[Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access)
💡[Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡[Track changes to system files and registry keys](https://learn.microsoft.com/en-us/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡[Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-defender-for-cloud)
💡[Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡[Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/connect-custom-logs?tabs=DCG)
💡[Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/agents/agents-overview)
💡[Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/actions-for-noncompliance)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Enhance security with the principle of least privilege](https://learn.microsoft.com/en-us/azure/active-directory/develop/secure-least-privileged-access)
💡[Best practices for Azure AD roles](https://learn.microsoft.com/en-us/azure/active-directory/roles/best-practices)
💡[Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/en-us/windows/deployment/update/waas-manage-updates-wufb)
💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/en-us/mem/configmgr/core/understand/introduction)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/en-us/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/en-us/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/en-us/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/en-us/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
|\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡[What is Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/what-is-intune)
💡[Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-devices)
💡[Zero Trust with Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡[Supported operating systems and browsers in Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/supported-devices-browsers)
💡[Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/en-us/mem/intune/fundamentals/deployment-guide-enrollment)
💡[Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-ios)
💡[Manage macOS software update policies in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/software-updates-macos)
💡[Microsoft Intune How-To Guides](https://learn.microsoft.com/en-us/mem/intune/#how-to-guides)
💡[What is Azure Arc-enabled servers?](https://learn.microsoft.com/en-us/azure/azure-arc/servers/overview)
💡[Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us) | 💡[What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡[Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡[What is Microsoft 365 Defender?](https://learn.microsoft.com/en-us/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡[Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡[Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡[Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/endpoint-security-edr-policy)
💡[Set up your XDR tools](https://learn.microsoft.com/en-us/security/operations/setup-xdr-tools)
💡[Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/en-us/security/operations/siem-workspace)
💡[Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/en-us/security/operations/ingest-data-sources)
💡[Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/en-us/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/en-us/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/en-us/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/en-us/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/en-us/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/en-us/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/en-us/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Intune App Security](https://endpoint.microsoft.us)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/en-us/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/en-us/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/en-us/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/en-us/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/en-us/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/en-us/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/en-us/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/en-us/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/en-us/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/en-us/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300) | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/en-us/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/en-us/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/en-us/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/en-us/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/en-us/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/en-us/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/en-us/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/en-us/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b) | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/en-us/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/en-us/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/en-us/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/en-us/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/en-us/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/en-us/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/en-us/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/en-us/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/en-us/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/en-us/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/en-us/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/en-us/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/en-us/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/en-us/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters) | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/en-us/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
| 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/en-us/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/en-us/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/en-us/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/en-us/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/en-us/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade) | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/en-us/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/en-us/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/en-us/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/en-us/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/en-us/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/en-us/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/en-us/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/en-us/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 🔀 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
🔀 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/en-us/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D) | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/en-us/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/en-us/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/en-us/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/en-us/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/en-us/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/en-us/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/en-us/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Azure Automation Overview](https://learn.microsoft.com/en-us/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/en-us/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/en-us/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Power Automate](https://make.gov.powerautomate.us/)
🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/en-us/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/en-us/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [AI Security Services](https://learn.microsoft.com/en-us/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/en-us/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/en-us/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/en-us/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/workflow-automation)
💡 [SOAR Best Practices](https://www.microsoft.com/en-us/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows) | 💡 [Microsft API Management & Security](https://azure.microsoft.com/en-us/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/en-us/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/en-us/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/en-us/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Security Operations In Azure](https://learn.microsoft.com/en-us/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/en-us/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/en-us/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/en-us/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/en-us/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7) | 💡 [Azure Log Analytics](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/en-us/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/en-us/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/en-us/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/en-us/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/en-us/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/en-us/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/en-us/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡[Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/overview)
💡[Implement Sentinel & M365](https://learn.microsoft.com/en-us/security/operations/siem-xdr-overview)
💡[Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡[Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/en-us/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡[Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡[Sentinel & SOC Analysis Process](https://learn.microsoft.com/en-us/azure/sentinel/migration-security-operations-center-processes)
💡[Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/en-us/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Security Baselines](https://endpoint.microsoft.us/#home) | 💡[Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡[Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/en-us/azure/defender-for-cloud/data-security-review-risks)
💡[Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-attack-path)
💡[Cloud Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Microsoft Cloud Security Benchmark](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 🔀 [Behavior Analytics Insights](https://portal.azure.us/#@jubradfogov.onmicrosoft.us/asset/Microsoft_OperationsManagementSuite_Workspace/Solution/subscriptions/3ab4869f-acc9-49ec-a399-12efd162502f/resourceGroups/fedlogana/providers/Microsoft.OperationsManagement/solutions/BehaviorAnalyticsInsights(loganalytics)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/en-us/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/en-us/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/en-us/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/en-us/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/en-us/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/en-us/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/) | 💡[Microsoft Threat Intelligence](https://learn.microsoft.com/en-us/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡[Microsoft Security Graph API](https://learn.microsoft.com/en-us/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡[Create Threat Intelligence Indicators](https://learn.microsoft.com/en-us/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡[Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/threat-intelligence-integration)
💡[Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/en-us/defender-cloud-apps/additional-integrations)
💡[Accessing the Threat Intelligence Portal](https://learn.microsoft.com/en-us/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance) | 💡[Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/en-us/azure/sentinel/automate-responses-with-playbooks)
💡[Adaptive Protection - Microsoft Purview](https://www.microsoft.com/en-us/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡[Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡[Adaptive Application Controls](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-application-controls)
💡[AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡[AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/en-us/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡[Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/en-us/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/en-us/azure/defender-for-cloud/adaptive-network-hardening)
💡[What is Microsoft Entra ID Protection?](https://learn.microsoft.com/en-us/azure/active-directory/identity-protection/overview-identity-protection)
💡[Azure Automation update management](https://learn.microsoft.com/en-us/azure/architecture/hybrid/azure-update-mgmt)
💡[Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/en-us/mem/intune/protect/windows-update-for-business-configure) |" + "json": "| DoD Zero Trust Pillar | DoD Zero Trust Capability | Recommended Microsoft Solution(s) | Recommended DoD Portal(s) | Recommended Resources |\r\n|--------------------------------|------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\r\n| User 1.x | | | | |\r\n| | 1.1 User Inventory | Entra ID
Microsoft Sentinel UEBA
Microsoft Defender for Cloud (MDfC) | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Microsoft Identity Platform Entra (formerly AAD)](https://learn.microsoft.com/azure/active-directory/develop/v2-overview)
💡 [Microsoft Hybrid Identity with Entra/AAD/AD](https://learn.microsoft.com/azure/active-directory/hybrid/)
💡 [Using the Inventory in Secure Score - Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/asset-inventory)
💡 [Identity Decision Guide](https://learn.microsoft.com/azure/cloud-adoption-framework/decision-guides/identity/)
💡 [Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/download/details.aspx?id=54431)
💡 [Identity Security Monitoring](https://github.com/Cloud-Architekt/AzureAD-Attack-Defense/blob/main/IdentitySecurityMonitoring.md#identity-security-monitoring-in-a-hybrid-environment)
💡 [Collect Azure Active Directory (Azure AD) Logs](https://learn.microsoft.com/azure/active-directory/reports-monitoring/howto-integrate-activity-logs-with-log-analytics#send-logs-to-azure-monitor)
💡 [Enable User Entity Behavorial Analytics](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics#how-to-enable-user-and-entity-behavior-analytics)
💡 [Deploy Microsoft Defender for Identity](https://learn.microsoft.com/defender-for-identity/deploy-defender-identity)
💡 [Secure with Azure Active Directory](https://learn.microsoft.com/azure/active-directory/fundamentals/secure-with-azure-ad-introduction)
💡 [AAD Hybrid Identity](https://learn.microsoft.com/azure/active-directory/hybrid/connect/plan-hybrid-identity-design-considerations-overview?WT.mc_id=DT-MVP-5001664)
💡 [Azure AD Reports](https://learn.microsoft.com/azure/active-directory/reports-monitoring/overview-reports?WT.mc_id=DT-MVP-5001664)
💡 [B2B Collaboration](https://learn.microsoft.com/azure/active-directory/external-identities/what-is-b2b?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.2 Conditional User Access | Entra ID Conditional Access (CA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel
Microsoft 365 Defender
Microsoft Intune | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [Conditional Access Policy Templates](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Microsoft Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [What is Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/overview)
💡 [Conditional Access Learning Path](https://learn.microsoft.com/training/modules/plan-implement-administer-conditional-access/)
💡 [Conditional Access Licensing- Need at least AADP1](https://www.microsoft.com/security/business/identity-access/azure-active-directory-pricing?rtc=1)
💡 [Conditional Access Design Principles](https://learn.microsoft.com/azure/architecture/guide/security/conditional-access-design)
💡 [Templates -Secure Foundation & Work Toward ZT](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policy-common)
💡 [Conditional Access Trends and Changes](https://github.com/Cyberlorians/Workbooks/blob/main/ConditionalAccessTrendsandChanges.json)
💡 [Implement Authentication Strengths](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/authentication-strength-choose-the-right-auth-method-for-your/ba-p/2365674)
💡 [Intune Conditional Access](https://learn.microsoft.com/mem/intune/protect/conditional-access)
💡 [Using Locations in Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/location-condition) |\r\n| | 1.3 Multi-Factor Authentication (MFA) | Entra ID
Entra ID - Certificate Based Authorization (CBA) | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AuthN Methods Activity](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity/menuId/AuthMethodsActivity)
🔀 [Entra ID - AuthN Methods Policies](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Defender for Cloud Recommendations](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security/SecurityMenuBlade/~/5) | 💡 [How MFA Works](https://learn.microsoft.com/azure/active-directory/authentication/concept-mfa-howitworks)
💡 [Setup Multifactor Authenication for Users M365](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Configure the MFA Azure Active Directrory Registration Policies](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy)
💡 [Deploy Passwordless Solution](https://learn.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-deployment)
💡 [Configure Azure AD CBA](https://learn.microsoft.com/azure/active-directory/authentication/how-to-certificate-based-authentication)
💡 [Conditional Access Policy - MFA](https://learn.microsoft.com/azure/active-directory/identity-protection/howto-identity-protection-configure-mfa-policy?WT.mc_id=DT-MVP-5001664)
💡 [Plan AAD MFA](https://learn.microsoft.com/azure/active-directory/authentication/howto-mfa-getstarted?WT.mc_id=DT-MVP-5001664) |\r\n| | 1.4 Privileged Access Management (PAM) | Entra ID
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID DiagnosticSettings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - PIM](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/CommonMenuBlade/~/quickStart)
🔀 [AAD PIM - Audit History](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/MyAuditsMenuBlade/~/aadmigratedroles) | 💡 [Plan a Privileged Identity Management Deployment](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-deployment-plan)
💡 [Privileged Identity Management - Why use it with Defender for O365?](https://learn.microsoft.com/microsoft-365/security/office-365-security/use-privileged-identity-management-in-defender-for-office-365?view=o365-worldwide)
💡 [Implementing PIM - Micrsoft Entra](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-getting-started)
💡 [Secure Roadmap - PIM](https://learn.microsoft.com/azure/active-directory/roles/security-planning#use-azure-ad-privileged-identity-management)
💡 [PIM for Groups](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/concept-pim-for-groups)
💡 [Configure Approve or Deny Request for AD Roles in PIM](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-approval-workflow)
💡 [Azure Security Benchmark Defender for Identity](https://learn.microsoft.com/security/benchmark/azure/baselines/defender-for-identity-security-baseline) |\r\n| | 1.5 Identity Federation & User Credentialing | Entra ID - Certificate-Based Authorization (CBA)
Entra ID - Guest Access | 🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Entra ID - AAD Connect](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/GetStarted)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted) | 💡 [Azure Governement - Planning Identity for Azure Government Apps](https://learn.microsoft.com/azure/azure-government/documentation-government-plan-identity)
💡 [Federated Identity Credentials](https://learn.microsoft.com/graph/api/resources/federatedidentitycredentials-overview?view=graph-rest-1.0)
💡 [What is Hybrid Identity](https://learn.microsoft.com/azure/active-directory/hybrid/whatis-hybrid-identity)
💡 [Azure AD Certificate Based Authentication](https://learn.microsoft.com/azure/active-directory/authentication/concept-certificate-based-authentication)
💡 [Azure AD SCIM](https://learn.microsoft.com/azure/active-directory/app-provisioning/use-scim-to-provision-users-and-groups)
💡 [Provisioning with Google Cloud](https://cloud.google.com/architecture/identity/federating-gcp-with-azure-ad-configuring-provisioning-and-single-sign-on)
💡 [Provisioning with Amazon Cloud](https://learn.microsoft.com/azure/active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial)
💡 [Azure AD Application Roles](https://learn.microsoft.com/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps)
💡 [What is Identity Governace?](https://learn.microsoft.com/azure/active-directory/governance/identity-governance-overview) |\r\n| | 1.6 Behavioral, Contextual ID, and Biometrics | Microsoft Sentinel UEBA
Entra ID - Identity Protection | 🔀 [Azure Face APIs](https://portal.azure.us/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/Face)
🔀 [Sentinel - UEBA](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Verified ID](https://portal.azure.us/#view/Microsoft_AAD_DecentralizedIdentity/InitialMenuBlade/~/setupBlade) | 💡 [User Entity Behavorial Analytics - What is it?](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Windows Hello Biometrics](https://learn.microsoft.com/windows/security/identity-protection/hello-for-business/hello-biometrics-in-enterprise)
💡 [Identify Advanced Threats with UEBA](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [UEBA Reference](https://learn.microsoft.com/azure/sentinel/ueba-reference?WT.mc_id=AZ-MVP-5004810#ueba-enrichments)
💡 [UEBA Sentinel Content Hub](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/ueba-essentials-solution-now-available-in-content-hub/ba-p/3651074)
💡 [Guided UEBA Investigation Scenarios](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/guided-ueba-investigation-scenarios-to-empower-your-soc/ba-p/1857100)
💡 [Combatting Risky Sign-ins in Azure Active Directory](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/combatting-risky-sign-ins-in-azure-active-directory/ba-p/3724786)
💡 [Securing Workload Identities](https://learn.microsoft.com/azure/active-directory/identity-protection/concept-workload-identity-risk)
💡 [Reprise99 UEBA](https://github.com/reprise99/Sentinel-Queries/tree/main/UEBA) |\r\n| | 1.7 Least Privileged Access | Entra ID - Permissions
Azure Policy
Entra ID - Privileged Identity Management (PIM) | 🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Protection](https://portal.azure.us/#view/Microsoft_AAD_IAM/IdentityProtectionMenuBlade/~/Overview)
🔀 [Microsoft Defender for Cloud Apps](https://security.microsoft.us/cloudapps/)
🔀 [Application Security Groupss](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups) | 💡 [Implementing Least-Privileged Administrative Models](https://learn.microsoft.com/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models)
💡 [Enhance Application Security with Lease Privilege Access Controls](https://learn.microsoft.com/azure/active-directory/develop/secure-least-privileged-access)
💡 [Identity Protection](https://techcommunity.microsoft.com/t5/itops-talk-blog/what-s-the-difference-between-azure-active-directory-identity/ba-p/1320887?WT.mc_id=itopstalk-newsletter-abartolo)
💡 [Continuous Access Evaluation Monitoring](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-continuous-access-evaluation-troubleshoot#continuous-access-evaluation-sign-in-reporting) |\r\n| | 1.8 Continuous Authentication | Entra ID - Continuous Access Evaluation (CAE)
Entra ID - Privileged Identity Management (PIM)
Entra ID - Identity Protection | 🔀 [Entra ID - Device Inventory](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Entra ID - Connect Sync (Hybrid Join)](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_Connect_Provisioning/AADConnectMenuBlade/~/ConnectSync)
🔀 [Entra ID - Enterprise Apps](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview/menuId~/null)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView)
🔀 [Entra ID - Identity Governance](https://portal.azure.us/#view/Microsoft_AAD_ERM/DashboardBlade/~/GettingStarted)
🔀 [Entra ID - PIM Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_PIMCommon/ResourceMenuBlade/~/aaddiscovery/resourceId//resourceType/tenant/provider/aadroles) | 💡 [Implement Continuous Access Evaluation Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-continuous-access-evaluation)
💡 [Implementing Primary Refresh Token](https://learn.microsoft.com/azure/active-directory/devices/concept-primary-refresh-token)
💡 [Privileged Identity Management Insights](https://learn.microsoft.com/azure/active-directory/privileged-identity-management/pim-security-wizard#discovery-and-insights-preview)
💡 [Entra Permissions Managment](https://learn.microsoft.com/azure/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide)
💡 [Session Management with Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime) |\r\n| | 1.9 Integrated ICAM Platform | Entra Entitlement Management
Entra ID Certificate Based Authentication (CBA) | 🔀 [Entra ID - AuthN Methods](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods)
🔀 [Entra ID - AuthN Strengths](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthStrengths)
🔀 [Entra ID - AuthN Insights](https://portal.azure.us/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AuthMethodsActivity)
🔀 [Entra ID - Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/CaTemplates.ReactView) | 💡 [Microsoft Integrated Identity Platform Entra](https://learn.microsoft.com/azure/active-directory/develop/v2-overview)
💡 [Implement Passwordless Auth with Microsoft Entra](https://learn.microsoft.com/azure/active-directory/fundamentals/auth-passwordless)
💡 [Configure Passwordless Key with Microsoft Entra](https://learn.microsoft.com/azure/active-directory/authentication/howto-authentication-passwordless-security-key)
💡 [Entra Certificate Based Authorization](https://learn.microsoft.com/azure/active-directory/authentication/concept-certificate-based-authentication) |\r\n| Device 2.x | | | | |\r\n| | 2.1 Device Inventory | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Identity (MDI)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/DevicesMenu/~/overview)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[M365 Defender Device inventory](https://learn.microsoft.com/graph/api/resources/intune-graph-overview?view=graph-rest-1.0%22%20%EF%BF%BDHYPERLINK%20%22https://learn.microsoft.com/microsoft-365/security/defender-endpoint/machines-view-overview?view=o365-worldwide)
💡[What is a device identity (Azure Active Directory)?](https://learn.microsoft.com/azure/active-directory/devices/overview)
💡[Manage device identities by using the Azure portal](https://learn.microsoft.com/azure/active-directory/devices/device-management-azure-portal) 
💡[Manage your devices and control features with Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-devices) 
💡[Hybrid Azure AD joined devices](https://learn.microsoft.com/azure/active-directory/devices/concept-azure-ad-join-hybrid) 
💡[Conditional Access policy: Device Compliancy](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[ZT Guide: Endpoint Zero Trust Deployment Objectives](https://learn.microsoft.com/security/zero-trust/deploy/endpoints#endpoint-zero-trust-deployment-objectives)
💡[Intune Reporting](https://learn.microsoft.com/mem/intune/fundamentals/review-logs-using-azure-monitor) ** not yet availble in DoD cloud
💡[Provide Additional Intune Reporting](https://www.linkedin.com/pulse/provide-additional-intune-reporting-data-wmi-iren%C3%A4us-becker/)
💡[Working with Intune in Microsoft Graph](https://learn.microsoft.com/graph/api/resources/intune-graph-overview?view=graph-rest-1.0) |\r\n| | 2.2 Device Detection and Compliance | Entra ID Conditional Access (CA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Scenarios for using Conditional Access with Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/conditional-access-intune-common-ways-use?source=recommendations) |\r\n| | 2.3 Device Authorization w/ Real Time Inspection | Microsft Entra ID
Microsoft Intune
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
💡[Device discovery overview](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/device-discovery?view=o365-worldwide)
💡[Learn about Conditional Access and Intune](https://learn.microsoft.com/mem/intune/protect/conditional-access)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/actions-for-noncompliance)
💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access insights and reporting workbook - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-insights-reporting)
💡[Plan an Azure Active Directory Conditional Access deployment - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/plan-conditional-access)
💡[Azure Samples for Conditional Access (PowerShell) - GitHub](https://github.com/Azure-Samples/azure-ad-conditional-access-apis/tree/main/01-configure/powershell)

Additional References:
💡[Track changes to system files and registry keys](https://learn.microsoft.com/azure/defender-for-cloud/file-integrity-monitoring-overview)
💡[Connect Microsoft Defender for Cloud alerts to Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/connect-defender-for-cloud)
💡[Deploying and Managing Microsoft Defender for Cloud as Code](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/deploying-and-managing-microsoft-defender-for-cloud-as-code/ba-p/3649653)
💡[Collect data in custom log formats to Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/connect-custom-logs?tabs=DCG)
💡[Azure Monitor Agent overview - Azure Monitor](https://learn.microsoft.com/azure/azure-monitor/agents/agents-overview)
💡[Use entity behavior analytics to detect advanced threats](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics) |\r\n| | 2.4 Remote Access | Microsft Entra ID
Microsft Entra ID Conditional Access (CA)
Microsoft Intune
Microsoft Defender for Endpoint (MDE) | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints) | 💡[Require compliant, hybrid joined devices, or MFA - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-compliant-device)
💡[Conditional Access APIs and PowerShell - Microsoft Entra](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡[Device compliance policies in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/device-compliance-get-started)
💡[Configure compliance policies with actions for noncompliance in Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/actions-for-noncompliance)
💡[Configure Microsoft Defender for Endpoint in Intune](https://learn.microsoft.com/mem/intune/protect/advanced-threat-protection-configure)
💡[Configure Conditional Access in Microsoft Defender for Endpoint](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/configure-conditional-access?view=o365-worldwide)
💡[Enhance security with the principle of least privilege](https://learn.microsoft.com/azure/active-directory/develop/secure-least-privileged-access)
💡[Best practices for Azure AD roles](https://learn.microsoft.com/azure/active-directory/roles/best-practices)
💡[Least privileged roles by task in Azure Active Directory](https://learn.microsoft.com/azure/active-directory/roles/delegate-by-task) |\r\n| | 2.5 Partially & Fully Automated Asset, Vulnerability and Patch | Microsoft Intune
Microsoft Endpoint Configuration Manager (MECM)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Azure Arc-enabled Servers
Azure Automation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡 [What is Windows Update for Business?](https://learn.microsoft.com/windows/deployment/update/waas-manage-updates-wufb)
💡 [Microsoft Configuration Manager MECEM](https://learn.microsoft.com/mem/configmgr/core/understand/introduction)
💡 [Update rings for Windows 10 and later policy in Intune](https://learn.microsoft.com/mem/intune/protect/windows-10-update-rings?source=recommendations)
💡 [Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/mem/intune/protect/windows-update-for-business-configure)
💡 [Deploy software updates with Configuration Manager](https://learn.microsoft.com/mem/configmgr/sum/deploy-use/deploy-software-updates)
💡 [Use Intune to remediate vulnerabilities identified by Microsoft Defender for Endpoint](https://learn.microsoft.com/mem/intune/protect/atp-manage-vulnerabilities)
💡 [Remediate vulnerabilities (Defender for Endpoint)](https://learn.microsoft.com/microsoft-365/security/defender-vulnerability-management/tvm-remediation?view=o365-worldwide)
💡 [Choose how to deliver updates for the Microsoft 365 Apps](https://learn.microsoft.com/deployoffice/fieldnotes/choose-how-to-deliver-updates)
💡 [Windows Release Health](https://learn.microsoft.com/windows/release-health/)
💡 [Manage updates and patches for your VMs](https://learn.microsoft.com/azure/automation/update-management/manage-updates-for-vm)
💡 [Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141)
|\r\n| | 2.6 Unified Endpoint Management (UEM) & Mobile Device Management (MDM) | Microsoft Intune
Azure Arc-enabled Servers
Azure Autiomation | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Azure Arc](https://portal.azure.us/#view/Microsoft_Azure_HybridCompute/AzureArcCenterBlade/~/overview) | 💡[What is Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/what-is-intune)
💡[Manage your devices and control device features in Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-devices)
💡[Zero Trust with Microsoft Intune](https://learn.microsoft.com/mem/intune/fundamentals/zero-trust-with-microsoft-intune)
💡[Supported operating systems and browsers in Intune](https://learn.microsoft.com/mem/intune/fundamentals/supported-devices-browsers)
💡[Enrollment guide: Microsoft Intune enrollment](https://learn.microsoft.com/mem/intune/fundamentals/deployment-guide-enrollment)
💡[Manage iOS/iPadOS software update policies in Intune](https://learn.microsoft.com/mem/intune/protect/software-updates-ios)
💡[Manage macOS software update policies in Intune](https://learn.microsoft.com/mem/intune/protect/software-updates-macos)
💡[Microsoft Intune How-To Guides](https://learn.microsoft.com/mem/intune/#how-to-guides)
💡[What is Azure Arc-enabled servers?](https://learn.microsoft.com/azure/azure-arc/servers/overview)
💡[Automate your patching using Azure Arc and Azure Automation](https://techcommunity.microsoft.com/t5/manufacturing/automate-your-patching-using-azure-arc-and-azure-automation/ba-p/3214141) |\r\n| | 2.7 Endpoint & Extended Detection & Response (EDR & XDR) | Microsoft 365 Defender
Microsoft Defender for Endpoint (MDE)
Microsoft Defednder for Identity (MDI)
Microsoft Defender for Office 365 (MDO)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us) | 💡[What is Microsoft Defender for Endpoint?](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide)
💡[Zero Trust with Microsoft Defender for Endpoint](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/zero-trust-with-microsoft-defender-endpoint?view=o365-worldwide)
💡[What is Microsoft 365 Defender?](https://learn.microsoft.com/microsoft-365/security/defender/microsoft-365-defender?view=o365-worldwide)
💡[Zero Trust with Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/zero-trust-with-microsoft-365-defender?view=o365-worldwide)
💡[Overview of endpoint detection and response (EDR) with Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/overview-endpoint-detection-response?view=o365-worldwide)
💡[Implement Microsoft Sentinel and Microsoft 365 Defender for Zero Trust](https://learn.microsoft.com/security/operations/siem-xdr-overview)
💡[Manage endpoint detection and response (EDR) policy for endpoint security in Intune](https://learn.microsoft.com/mem/intune/protect/endpoint-security-edr-policy)
💡[Set up your XDR tools](https://learn.microsoft.com/security/operations/setup-xdr-tools)
💡[Architect your Microsoft Sentinel workspace](https://learn.microsoft.com/security/operations/siem-workspace)
💡[Ingest data sources and configure incident detection in Sentinel](https://learn.microsoft.com/security/operations/ingest-data-sources)
💡[Respond to an incident using Microsoft Sentinel and Microsoft 365 Defender](https://learn.microsoft.com/security/operations/respond-incident) |\r\n| Application & Workload 3.x | | | | |\r\n| | 3.1 Application Inventory | Entra ID
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Intune | 🔀 [Entra ID Applications - Useage & Insights](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_AAD_IAM/EnterpriseApplicationsInsightsMenuBlade/~/ApplicationActivity)
🔀 [Application Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Defender for Cloud Apps - Discovery](https://security.microsoft.us/cloudapps/discovery)
🔀 [Virtual Network Gateways](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Network%2FvirtualNetworkGateways)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Cloud Discovery Setup](https://learn.microsoft.com/defender-cloud-apps/set-up-cloud-discovery)
💡 [Deploy Intune Softare inventory & Security Policies](https://learn.microsoft.com/answers/questions/67892/can-we-use-intune-to-inventory-software-on-devices)
💡 [Configure Blocking Unwanted or Unapproved Applications](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/detect-block-potentially-unwanted-apps-microsoft-defender-antivirus?view=o365-worldwide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool)
💡 [Active Directory Federation Services Health](https://learn.microsoft.com/azure/active-directory/hybrid/connect/how-to-connect-health-adfs)
💡 [Azure Active Directory Application Audit](https://github.com/jsa2/AADAppAudit#azure-ad-application-analytics-solution)
💡 [Azure Active Directory Application Proxy](https://learn.microsoft.com/azure/active-directory/app-proxy/what-is-application-proxy)
💡 [Using Microsoft Defender for Cloud Asset Inventory](https://learn.microsoft.com/azure/defender-for-cloud/asset-inventory)
💡 [Working with Discovered Apps](https://learn.microsoft.com/defender-cloud-apps/discovered-apps)
💡 [Software Inventory](https://learn.microsoft.com/microsoft-365/security/defender-vulnerability-management/tvm-software-inventory?view=o365-worldwide) |\r\n| | 3.2 Secure Software Development & Integration | Azure Policy
Microsoft Defender for Cloud (MDfC)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure DevOps](https://portal.azure.us/#view/AzureTfsExtension/OrganizationsTemplateBlade)
🔀 [Azure Dev Test Center](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Azure DevTest Lab](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.DevTestLab%2Flabs)
🔀 [Intune App Security](https://endpoint.microsoft.us)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | |\r\n| | 3.3 Software Risk Management | Microsoft Defender for Cloud Apps (MDA)
Mircosoft Defender for Endpoint (MDE) Threat & Vulnerability Management (TVM)
Microsoft Intune | 🔀 [Azure Enterprise Apps Portal](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppAppsPreview)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Manage and Secure Apps In Intune](https://learn.microsoft.com/mem/intune/fundamentals/manage-apps)
💡 [App Protection Policies in Intune](https://learn.microsoft.com/mem/intune/apps/app-protection-policy)
💡 [Microsoft Container Registry](https://mcr.microsoft.com/)
💡 [GitHub Actaion For Vulnerability Scanning](https://github.com/marketplace/actions/anchore-container-scan)
💡 [Code Scanning with CodeQL](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)
💡 [Keeping your supply chain secure with Dependabot](https://docs.github.com/en/code-security/dependabot)
💡 [Secure Supply Chain Consumption Framework](https://www.microsoft.com/securityengineering/opensource/osssscframeworkguide)
💡 [Generating Software Bill of Materials (SBOM)](https://devblogs.microsoft.com/engineering-at-microsoft/generating-software-bills-of-materials-sboms-with-spdx-at-microsoft/)
💡 [Microsoft Open Source Software Bill of Materials SBOM](https://devblogs.microsoft.com/engineering-at-microsoft/microsoft-open-sources-software-bill-of-materials-sbom-generation-tool/)
💡 [Github Software Bill of Materials - SBOM-Tool](https://github.com/microsoft/sbom-tool) |\r\n| | 3.4 Resource Authorization & Integration | Entra ID Conditional Access (CA)
Entra ID Application Proxy
Azure Policy
Entra ID Privilleged Identity Management (PIM)
Microsoft 365 Defender
Microsoft Intune
Microsoft Defender for Cloud (MDfC) | 🔀 [Azure Identity Governance](https://portal.azure.us/#blade/Microsoft_AAD_ERM/DashboardBlade)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Azure Application Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/~/AppProxy)
🔀 [Managed Service Identity](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/6f3afa5d-4b81-4f10-8806-fb75689672da/appId/c75517e9-05c9-49e9-9990-94f68b04ffc4)
🔀 [Intune Application Security](https://endpoint.microsoft.us/#view/Microsoft_Intune_DeviceSettings/AppsMenu/~/overview)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Deploy Microsoft Defender for Cloud - Enterprise Cloud Application Protection](https://learn.microsoft.com/azure/defender-for-cloud/defender-for-cloud-introduction)
💡 [Configure Microsoft Cloud Identity for Enterprise Architects](https://www.microsoft.com/download/details.aspx?id=54431)
💡 [Deploying Application & Authorization Azure App Services](https://learn.microsoft.com/azure/app-service/overview-authentication-authorization)
💡 [How to create and deploy a custome Authorization Manager](https://learn.microsoft.com/dotnet/framework/wcf/extending/how-to-create-a-custom-authorization-manager-for-a-service)
💡 [Configure with Entra Identity Platform](https://learn.microsoft.com/azure/active-directory/develop/v2-oauth2-auth-code-flow)
💡 [How-to Manage Apps Remove User Access with Entra](https://learn.microsoft.com/azure/active-directory/manage-apps/methods-for-removing-user-access)
💡 [Setup Protecting Apps w. Entra Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-cloud-apps)
💡 [Role Based Access Control Configuration with Intune](https://learn.microsoft.com/mem/intune/fundamentals/role-based-access-control) |\r\n| | 3.5 Continuous Monitoring and Ongoing Authorizations | Entra ID - Conditional Access (CA)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Senitnel Playbooks
Entra ID - Privileged Identity Management (PIM) | 🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5)
🔀 [Application Insights](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.insights%2Fcomponents)
🔀 [Entra ID](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview)
🔀 [Application Security Groups Portal](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FapplicationSecurityGroups)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel) | 💡 [How-to-Build a Successful App Security Program](https://www.microsoft.com/security/blog/2021/03/29/how-to-build-a-successful-application-security-program/)
💡 [Setting up Hybrid Continuous Monitoring with Sentinel](https://learn.microsoft.com/azure/architecture/hybrid/hybrid-security-monitoring)
💡 [Deploy Adaptive Appliation Conrols Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-application-controls)
💡 [Configure Azure Security Management & Monitoring](https://learn.microsoft.com/azure/security/fundamentals/management-monitoring-overview)
💡 [Leverage Security Baselines for M365 Apps Enterprise](https://learn.microsoft.com/deployoffice/security/security-baseline)
💡 [Utilize Application Control for Windows](https://learn.microsoft.com/windows/security/application-security/application-control/windows-defender-application-control/wdac) |\r\n| Data 4.x | | | | |\r\n| | 4.1 Data Catalog Risk Alignment | Purview Data Catalog
Purview Data Map
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Classification Service](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/30ea52ed-e5a7-4e51-a4ea-6c3b96a8be36/appId/7c99d979-3b9c-4342-97dd-3239678fb300) | 💡 [Create a Azrure Data Catalog](https://learn.microsoft.com/azure/data-catalog/data-catalog-get-started)
💡 [Use the Service Catalog](https://learn.microsoft.com/system-center/scsm/service-catalog?view=sc-sm-2022)
💡 [Azure Data Catalog FAQ](https://learn.microsoft.com/azure/data-catalog/data-catalog-frequently-asked-questions)
💡 [Establishing Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Set up Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
💡 [Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
💡 [Discover Data & Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.2 DoD Enterprise Data Governance | Purview Data Governance
Purview Data Estate Insights
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/machines?category=endpoints)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Implement Microsoft Purview - IRM & Compliance - DoD Deployments](https://learn.microsoft.com/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments)
💡 [Implement a Data Governance Maturity Model Framework](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Deploy Azure Data Governance](https://learn.microsoft.com/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/govern)
💡 [Leverage Microsoft Defender for For Cloud Goverance Rules](https://learn.microsoft.com/azure/defender-for-cloud/governance-rules)
💡 [Implement Purview Data Governance](https://learn.microsoft.com/purview/?view=o365-worldwide)
💡 [Purview Data Lineage Machine Learning](https://learn.microsoft.com/samples/microsoft/purview-machine-learning-lineage-solution-accelerator/purview-machine-learning-lineage-solution-accelerator/) 
💡 [Get Started with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Azure Collaboration Governance](https://learn.microsoft.com/microsoft-365/solutions/collaboration-governance-overview?view=o365-worldwide)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/azure/azure-sql/database/sql-insights-overview?view=azuresql)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide) |\r\n| | 4.3 Data Labeling and Tagging | Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud: Recommendations](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade/5) | 💡 [Create Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/sensitivity-labels?view=o365-worldwide)
💡 [Create and Publish Sensitivity Labels](https://learn.microsoft.com/microsoft-365/compliance/create-sensitivity-labels?view=o365-worldwide) 
💡 [Deploy with Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Utilize Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
💡 [Apply Sensitivity Labels Automatically](https://learn.microsoft.com/microsoft-365/compliance/apply-sensitivity-label-automatically?view=o365-worldwide)
💡 [Use the Service Catalog](https://learn.microsoft.com/system-center/scsm/service-catalog?view=sc-sm-2022) |\r\n| | 4.4 Data Monitoring and Sensing | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE)
Microsoft Sentinel | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Monitor Control Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/512ba5b8-8ced-42b9-8a94-c93befaf66a1/appId/e933bd07-d2ee-4f1d-933c-3752b819567b) | 💡 [Leverage Data Monitoring & Self Healing](https://learn.microsoft.com/compliance/assurance/assurance-monitoring-and-self-healing)
💡 [Deploy Microsoft 365 Monitorning](https://learn.microsoft.com/microsoft-365/enterprise/microsoft-365-monitoring?view=o365-worldwide)
💡 [Senitnel Data Collection Best Practices](https://learn.microsoft.com/azure/sentinel/best-practices-data) 
💡 [Deploy Microsoft Purview](https://learn.microsoft.com/purview/purview) 
💡 [Utilze Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
💡 [Configure Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection)
💡 [Configure Sentinel Data Connectors](https://learn.microsoft.com/azure/sentinel/connect-data-sources)
💡 [Monitor Your SQL Deployments](https://learn.microsoft.com/azure/azure-sql/database/sql-insights-overview?view=azuresql) |\r\n| | 4.5 Data Encryption & Rights Management | Purview Data Loss Protection (DLP)
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Endpoint (MDE) | 🔀 [Azure Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/21426118-88fd-4b5e-b106-3bd5f098f31a/appId/dbc36ae1-c097-4df9-8d94-343c3d091a76)
🔀 [Azure Rights Management Service](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/5f0c1df8-5bab-4fb3-b1a5-19bdba46c704/appId/00000012-0000-0000-c000-000000000000)
🔀 [M365 Data At Rest Encryption](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/882ab41e-90f7-4f4e-8b24-3503495a83e6/appId/c066d759-24ae-40e7-a56f-027002b5d3e4)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Utilize Azure Encrption](https://learn.microsoft.com/azure/security/fundamentals/encryption-overview)
💡 [Deploy Azure Rights Management](https://learn.microsoft.com/azure/information-protection/what-is-azure-rms)
💡 [Deploy Purview Information Protection](https://learn.microsoft.com/purview/information-protection)
💡 [Configure Dynamic Key & Encrption Delivery](https://learn.microsoft.com/azure/media-services/latest/drm-content-protection-concept) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.6 Data Loss Prevention (DLP) | Purview Data Loss Protection (DLP)
Purview Information Protection | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Endpoint DLP](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/780e77f3-df11-4525-b201-973a1b691cab/appId/c98e5057-edde-4666-b301-186a01b4dc58)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Implement Data Loss & Prevention (DLP)](https://learn.microsoft.com/purview/dlp-learn-about-dlp)
💡 [Informaiton Protection & Data Loss and Prevention- GITHUB LAB](https://microsoft.github.io/ComplianceCxE/dag/mip-dlp/)
💡 [Deploy Adaptive Protection- Data Loss & Protections](https://learn.microsoft.com/purview/dlp-adaptive-protection-learn)
💡 [Apply Rules for DLP Exchange Online](https://learn.microsoft.com/exchange/security-and-compliance/data-loss-prevention/dlp-rule-application)
💡 [Utilize Trainable Classifiers](https://learn.microsoft.com/microsoft-365/compliance/classifier-get-started-with?view=o365-worldwide) 
💡 [Deploy Azure Information Protection](https://learn.microsoft.com/azure/information-protection/aip-classification-and-protection) |\r\n| | 4.7 Data Access Control | Microsoft Defender for Cloud Apps (MDA)
Entra ID Conditional Access (CA)
Purview Insider Risk Management
Purview Information Protection
Purview Data Loss Prevention (DLP)
Microsoft Intune | 🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Entra ID Privileged Identity Management](https://portal.azure.us/#blade/Microsoft_Azure_PIMCommon/CommonMenuBlade)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#blade/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade)
🔀 [Azure Internal Access Scope Portal](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/a0779651-4c07-4392-a11f-a1694cb497b1/appId/c29427db-9ecc-4750-ad93-d256863f2e37)
🔀 [Virtual Network Terminal Access Points](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Microsoft Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Entra ID - Diagnostic Settings](https://portal.azure.us/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/DiagnosticSettings)
🔀 [Conditional Access Policies](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Policies)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Azure Data Explorer](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Kusto%2Fclusters) | 💡 [Configure Conditional Access in Azure Active Directory](https://learn.microsoft.com/azure/active-directory/conditional-access/overview)
💡 [Use Conditional Access Microsoft Intune](https://learn.microsoft.com/mem/intune/protect/conditional-access)
💡 [Use Conditional Access APIs](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-apis)
💡 [Deploy Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/plan-conditional-access#deploy-conditional-access-policies) 
💡 [Use Conditional Access With Data Explorer](https://learn.microsoft.com/azure/data-explorer/security-conditional-access)
💡 [Deploy Common Conditional Access Policies](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policy-common?tabs=secure-foundation)
💡 [Build Conditional Access](https://learn.microsoft.com/azure/active-directory/conditional-access/concept-conditional-access-policies) |\r\n| Network & Environment 5.x | | | | |\r\n| | 5.1 Data Flow Mapping | Azure Monitor Net Insights
Network Watcher
Microsoft Defender for Endpoint (MDE) | 🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Network Interfaces](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2Fnetworkinterfaces)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Azure Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FazureFirewalls)
🔀 [Web Application Firewall](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FFrontDoorWebApplicationFirewallPolicies)
🔀 [DDoS Protection Plans](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FddosProtectionPlans)
🔀 [Firewall Manager](https://portal.azure.us/#view/Microsoft_Azure_HybridNetworking/FirewallManagerMenuBlade/~/firewallManagerOverview)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
| 💡 [Use Data Flow Mapping Power Platform](https://learn.microsoft.com/power-query/dataflows/create-use)
💡 [User Azure Network Traffic Analytics](https://learn.microsoft.com/azure/network-watcher/traffic-analytics)
💡 [Azure Blue Print ](https://learn.microsoft.com/azure/governance/blueprints/overview)
💡 [Leverage Azure Data Visualization with Data Explorer](https://learn.microsoft.com/azure/data-explorer/viz-overview)
💡 [Use Power Automate for Event Tagging](https://learn.microsoft.com/microsoft-365/security/defender-endpoint/api-microsoft-flow?view=o365-worldwide)
💡 [Secure & Govern Workloads with Network-level Segmentation](https://learn.microsoft.com/azure/architecture/reference-architectures/hybrid-networking/network-level-segmentation)
💡 [Deploy Software Defined Netoworking](https://learn.microsoft.com/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Manage Software Defined Netoworking](https://learn.microsoft.com/windows-server/networking/sdn/manage/manage-sdn)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies) |\r\n| | 5.2 Software Defined Networking (SDN) | Secure Access Service Edge (SASE)
Microsoft Network Secuirty Groups (NSG)
Entra ID App Proxy | 🔀 [Manage Virtual Network](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks)
🔀 [Network Security Groups](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FNetworkSecurityGroups)
🔀 [Network Managers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkManagers)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview)
🔀 [Network Security Perimeters](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FnetworkSecurityPerimeters)
🔀 [Entra App Proxy](https://portal.azure.us/#view/Microsoft_AAD_IAM/AppProxyOverviewBlade) | 💡 [Use Secure Access Service Edge SASE - Software Defined Networking Zero Trust](https://www.microsoft.com/security/business/security-101/what-is-sase)
💡 [Software Defined Network Monitoring using Sentinel](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/software-defined-monitoring-using-automated-notebooks-and-azure/ba-p/2587775)
💡 [Plan Software Defined Netoworking](https://learn.microsoft.com/azure-stack/hci/concepts/plan-software-defined-networking-infrastructure)
💡 [Implementing Software Defined Networking](https://learn.microsoft.com/windows-server/networking/sdn/)
💡 [Manage Software Detined Netoworking](https://learn.microsoft.com/windows-server/networking/sdn/manage/manage-sdn)
💡 [Deploy Software Defined Networking](https://learn.microsoft.com/windows-server/networking/sdn/deploy/deploy-a-software-defined-network-infrastructure-using-scripts)
💡 [Secure the Network Controller](https://learn.microsoft.com/azure-stack/hci/manage/nc-security)
💡 [SDN for Win Server 2019 and 2022](https://learn.microsoft.com/windows-server/networking/sdn/sdn-whats-new)
💡 [Key Components of Software Defined Networking Data Sheet](https://learn.microsoft.com/windows-server/networking/sdn/technologies/Software-Defined-Networking-Technologies)
💡 [IPV6 Config Interface](https://learn.microsoft.com/javascript/api/%40azure/arm-databoxedge-profile-2020-09-01-hybrid/ipv6config?view=azure-node-latest&wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Leverage IPV6 for Azure Virtual Networks](https://learn.microsoft.com/azure/virtual-network/ip-services/ipv6-overview?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Segementation Security Strategies](https://learn.microsoft.com/azure/well-architected/security/design-segmentation)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
💡 [Utilize Microsoft Packet Monitor](https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon) |\r\n| | 5.3 Macro Segmentation | Azure Subscription
Azure VNet(s)
Azure VNet Manager
Network Security Groups (NSG)
Azure Firewall | 🔀 [Impletment Network Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
🔀 [Azure Features for Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
🔀 [Network Service](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
🔀 [Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) | 💡 [Impletment Network Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation)
💡 [Azure Features for Segmentation](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation#azure-features-for-segmentation)
💡 [Segementation Security Strategies](https://learn.microsoft.com/azure/well-architected/security/design-segmentation)
💡 [Network Service Designs](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.HybridNetwork%2Fpublishers%2Fnetworkservicedesigngroups)
💡 [Network Watcher](https://portal.azure.com/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview) |\r\n| | 5.4 Micro Segmentation | Azure Security Groups (ASG)
Entra ID App Proxy
Microsoft Tunnel | 🔀 [Virtual Networks Termal Access Points](https://portal.azure.us/#view/HubsExtension/BrowseResourceBlade/resourceType/microsoft.network%2Fvirtualnetworktaps)
🔀 [Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Cloud Access Routers](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Orbital%2FcloudAccessRouters)
🔀 [Entra ID Conditional Access](https://portal.azure.us/#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/Overview)
🔀 [Azure Monitor Networks](https://portal.azure.us/#view/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/~/networkInsights)
🔀 [Azure Connection Monitor](https://portal.azure.us/#view/Microsoft_Azure_FlowLog/ConnectionMonitorV2ViewModel)
🔀 [Azure Network Watcher](https://portal.azure.us/#view/Microsoft_Azure_Network/NetworkWatcherMenuBlade/~/overview/menuId~/%7B%22target%22%3A%7B%7D%7D) | 💡 [Enabling JIT Access Controls](https://learn.microsoft.com/azure/defender-for-cloud/just-in-time-access-usage?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Conditional Access Block Access by Location](https://learn.microsoft.com/azure/active-directory/conditional-access/howto-conditional-access-policy-location?wt.mc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Secure Networks with Zero Trust](https://learn.microsoft.com/security/zero-trust/deploy/networks)
💡 [Implement Network Segmentation Paterns On Azure](https://learn.microsoft.com/azure/well-architected/security/design-network-segmentation?wtmc_id=searchAPI_azureportal_inproduct_rmskilling&sessionId=a3b01375fbf840fe9b8065377eabbd7d)
💡 [Microsoft Packet Monitor](https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon) |\r\n| Automation & Orchestration 6.x | | | | |\r\n| | 6.1 Policy Decision Point (PDP) & Policy Orchestration | Entra ID Conditional Access (CA)
Azure Policy
Azure Automation
Azure ML
Azure Firewall
Microsoft Sentinel | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Azure Machine Learning](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Azure Policy](https://portal.azure.us/#blade/Microsoft_Azure_Policy/PolicyMenuBlade)
🔀 [Azure Virtual Desktop](https://portal.azure.us/#view/Microsoft_Azure_WVD/WvdManagerMenuBlade/~/overview)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Visibility,Automation and Orchestration with Zero Trust](https://learn.microsoft.com/)
💡 [Azure Orchestration for Azure Security Policy](https://learn.microsoft.com/security/benchmark/azure/baselines/azure-policy-security-baseline)
💡 [Configuration Analyzer for Security Policies](https://learn.microsoft.com/microsoft-365/security/office-365-security/configuration-analyzer-for-security-policies?view=o365-worldwide)
💡 [Azure Automation Overview](https://learn.microsoft.com/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Azure Policy](https://learn.microsoft.com/azure/governance/policy/overview)
💡 [What is Azure Firewall?](https://learn.microsoft.com/azure/firewall/overview)
💡 [Apply Zero Trust principles to a hub virtual network in Azure](https://learn.microsoft.com/security/zero-trust/azure-infrastructure-networking)
💡 [Management of Role Permissions and Automation](https://learn.microsoft.com/azure/automation/automation-role-based-access-control)
💡 [Using Azure Machine Learning to assign roles](https://learn.microsoft.com/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler)
💡 [Azure AD Seccurity Groups ML](https://learn.microsoft.com/azure/machine-learning/how-to-assign-roles?view=azureml-api-2&tabs=labeler#use-azure-ad-security-groups-to-manage-workspace-access) |\r\n| | 6.2 Critical Process Automation | Microsoft Power Automate
Azure Logic Apps
Microsoft Sentinel Playbooks
Microsoft 365 Defender Automated Investigation & Response | 🔀 [Azure Automation](https://portal.azure.us/#view/Microsoft_AAD_IAM/ManagedAppMenuBlade/~/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Sentinel Automation Blade](https://portal.azure.us/?feature.msaljs=true#view/Microsoft_Azure_Security_Insights/MainMenuBlade/~/Automationl)
🔀 [Azure Logic Apps Blade](https://portal.azure.us/?feature.msaljs=true#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Azure Automation Overview](https://learn.microsoft.com/azure/automation/overview)
💡 [Azure Security Baseline for Automation](https://learn.microsoft.com/security/benchmark/azure/baselines/automation-security-baseline)
💡 [Visibility, Automation, and Orchestration with Zero Trust](https://learn.microsoft.com/)
💡 [Automation in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/automation)
💡 [Automate Threat Response with Playbooks](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated Investigation & Response M365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Power Automate U.S Government](https://learn.microsoft.com/power-automate/us-govt) |\r\n| | 6.3 Machine Learning | Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Defender for Cloud (MDfC)
Azure ML | 🔀 [Azure Machine Learning](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.MachineLearningServices%2Fworkspaces)
🔀 [Power Automate](https://make.gov.powerautomate.us/)
🔀 [Power Platform Admin Center](https://admin.appsplatform.us/)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [Advanced multistage attack detection in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/fusion)
💡 [Bring your own Machine Learning (ML) into Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/bring-your-own-ml)
💡 [Azure Machine Learning](https://learn.microsoft.com/azure/machine-learning/?view=azureml-api-2)
💡 [Enterprise Security & Governance w. Machine Learning](https://learn.microsoft.com/azure/machine-learning/concept-enterprise-security?view=azureml-api-2)
💡 [Azure Government Isolaiton Guidelines using AI & ML](https://learn.microsoft.com/azure/azure-government/documentation-government-impact-level-5)
💡 [Quick Start Azure Machine Learning](https://learn.microsoft.com/azure/machine-learning/tutorial-azure-ml-in-a-day?view=azureml-api-2)
💡 [Azure security baseline for Azure Machine Learning](https://learn.microsoft.com/security/benchmark/azure/baselines/machine-learning-security-baseline) |\r\n| | 6.4 Artificial Intelligence | Microsoft Sentinel Fusion ML
Microsoft Sentinel Tailored AI
Azure ML | 🔀 [Azure AI Services](https://portal.azure.us/#blade/Microsoft_Azure_ProjectOxford/CognitiveServicesHub)
🔀 [Sentinel](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡 [AI Security Services](https://learn.microsoft.com/azure/ai-services/security-features)
💡 [Senintel Automation](https://learn.microsoft.com/azure/sentinel/automation)
💡 [AI ID & Access Risk Based Controls](https://azure.microsoft.com/products/category/identity/)
💡 [Implement Sentinel & M365 Defender for XDR - AI Driven Zero Trust ](https://learn.microsoft.com/security/operations/siem-xdr-overview)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.5 Security Orchestration, Automation & Response (SOAR) | Microsoft 365 Defender Automated investigation and response
Microsoft Sentinel Playbooks
Microsoft Defender for Cloud (MDfC)
Azure Logic Apps | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null) | 💡 [Security Ochestration, Automation & Response (SOAR) In Sentinel](https://learn.microsoft.com/azure/sentinel/automation)
💡 [Sentinel SOAR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/how-to-use-azure-sentinel-for-incident-response-orchestration/ba-p/2242397)
💡 [Microsoft Sentinel SOAR Content Catalog](https://learn.microsoft.com/azure/sentinel/sentinel-soar-content)
💡 [Automate Threat Response with Playbooks in Sentinel](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
💡 [Automated investigation and response in Microsoft 365 Defender](https://learn.microsoft.com/microsoft-365/security/defender/m365d-autoir?view=o365-worldwide)
💡 [Workflow Automation in Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/workflow-automation)
💡 [SOAR Best Practices](https://www.microsoft.com/security/business/security-101/what-is-soar#SOARbestpractices)
💡 [Become a Sentinel Automation Ninja](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/become-a-microsoft-sentinel-automation-ninja/ba-p/3563377) |\r\n| | 6.6 API Standardization | Azure API Management
Azure Monitor Log Analytics
Azure Logic Apps
Azure Policy | 🔀 [API Management Services](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.ApiManagement%2Fservice)
🔀 [API Connections](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fconnections)
🔀 [API Playground](https://portal.azure.us/#blade/Microsoft_Azure_Resources/ArmPlayground)
🔀 [Azure Logic Apps](https://portal.azure.us/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Logic%2Fworkflows) | 💡 [Microsft API Management & Security](https://azure.microsoft.com/products/api-management/)
💡 [Mitigate OWASP Top 10 Security Threats Using Microsoft API Management](https://learn.microsoft.com/azure/api-management/mitigate-owasp-api-threats)
💡 [Security Baselines for API Management](https://learn.microsoft.com/security/benchmark/azure/baselines/api-management-security-baseline)
💡 [Secure and Compliant APIs for a Hybrid and Multi Cloud World](https://azure.microsoft.com/blog/secure-and-compliant-apis-for-a-hybrid-and-multi-cloud-world/)
💡 [Web API Design Best Practice](https://learn.microsoft.com/azure/architecture/best-practices/api-design)
💡 [Monitor & Protect Your APIs](https://learn.microsoft.com/azure/api-management/api-management-howto-use-azure-monitor) |\r\n| | 6.7 Security Operations Center (SOC) & Incident Response (IR) | Microsoft Sentinel Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel SIEM-SOAR](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [Security Operations In Azure](https://learn.microsoft.com/azure/well-architected/security/monitor-security-operations)
💡 [Microsoft SOC Best Practices Landing Page](https://www.microsoft.com/security/business/security-101/what-is-a-security-operations-center-soc?ef_id=_k_ce7dcd6e8f2d1919667ca9a72f733870_k_&OCID=AIDcmmdamuj0pc_SEM__k_ce7dcd6e8f2d1919667ca9a72f733870_k_&msclkid=ce7dcd6e8f2d1919667ca9a72f733870)
💡 [Playbook for Modernizing Security Operations Centers](https://www.microsoft.com/security/blog/2021/02/11/a-playbook-for-modernizing-security-operations/)
💡 [CISO Series Lessons Learned from Microsoft's SOC](https://www.microsoft.com/security/blog/2019/10/07/ciso-series-lessons-learned-from-the-microsoft-soc-part-3a-choosing-soc-tools/)
💡 [Integrating Microsoft 365 Defender into your security operations](https://learn.microsoft.com/microsoft-365/security/defender/integrate-microsoft-365-defender-secops?view=o365-worldwide) |\r\n| Visibility & Analytics 7.x | | | | |\r\n| | 7.1 Log All Traffic (Network, Data, Apps, Users) | Azure Monitor Log Analytics
Microsoft Sentinel | 🔀 [Log Analytics Workspace](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fworkspaces)
🔀 [Log Query Packs](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.OperationalInsights%2Fquerypacks)
🔀 [Sign-in Activity Logs](https://portal.azure.us/#blade/Microsoft_AAD_IAM/SignInEventsV3Blade)
🔀 [Activity Logs](https://portal.azure.us/#blade/Microsoft_Azure_Monitoring/AzureMonitoringBrowseBlade/activityLog)
🔀 [Audit Log](https://portal.azure.us/#blade/Microsoft_AAD_IAM/AuditEventsV2PillsBlade)
🔀 [Operation Log](https://portal.azure.us/#blade/Microsoft_Azure_Resources/OperationLogsBlade)
🔀 [Microsoft Azure Log Search Alerts](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/c134d63b-957f-4cf7-8a34-d744aa8804df/appId/f6b60513-f290-450e-a2f3-9930de61c5e7) | 💡 [Azure Log Analytics](https://learn.microsoft.com/azure/azure-monitor/logs/log-analytics-overview)
💡 [Azure Monitor](https://learn.microsoft.com/azure/azure-monitor/overview)
💡 [Audit Logging and Monitoring](https://learn.microsoft.com/compliance/assurance/assurance-audit-logging)
💡 [Maturity Model for Log Management M2131](https://techcommunity.microsoft.com/t5/public-sector-blog/microsoft-sentinel-maturity-model-for-event-log-management-m-21/ba-p/3074336)
💡 [Device Log Capture - Intune](https://learn.microsoft.com/mem/intune/remote-actions/collect-diagnostics)
💡 [Application Logging](https://learn.microsoft.com/sql/relational-databases/performance/view-the-windows-application-log-windows-10?view=sql-server-ver16)
💡 [User Access Logging](https://learn.microsoft.com/windows-server/administration/user-access-logging/get-started-with-user-access-logging)
💡 [Azure Infrastructure Logs](https://learn.microsoft.com/azure/well-architected/scalability/monitor-infrastructure)
💡 [Network Logging](https://learn.microsoft.com/azure/azure-web-pubsub/howto-troubleshoot-network-trace)
💡 [Supported Logs for Network](https://learn.microsoft.com/azure/azure-monitor/reference/supported-logs/microsoft-network-networkmanagers-logs) |\r\n| | 7.2 Security Information and Event Management (SIEM) | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC)
Microsoft 365 Defender | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinel)
🔀 [M365 Defender Portal](https://security.microsoft.us/)
🔀 [Microsoft Defender for Cloud](https://portal.azure.us/#view/Microsoft_Azure_Security/SecurityMenuBlade/~/0) | 💡[Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/overview)
💡[Implement Sentinel & M365](https://learn.microsoft.com/security/operations/siem-xdr-overview)
💡[Unified SIEM & XDR](https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/what-s-new-unified-microsoft-siem-and-xdr-github-community/ba-p/3249533)
💡[Stream Alerts Defender for Cloud to SIEM](https://learn.microsoft.com/azure/defender-for-cloud/export-to-siem#stream-alerts-to-azure-sentinel)
💡[Azure Sentinel Github Repo](https://github.com/Azure/Azure-Sentinel)
💡[Sentinel & SOC Analysis Process](https://learn.microsoft.com/azure/sentinel/migration-security-operations-center-processes)
💡[Microsoft Sentinel Skill Up Training](https://learn.microsoft.com/azure/sentinel/skill-up-resources) |\r\n| | 7.3 Common Security and Risk Analytics | Microsoft Sentinel
Microsoft Defender for Cloud (MDfC) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Security Baselines](https://endpoint.microsoft.us/#home) | 💡[Microsoft Security Response Center Security Updates Guide](https://msrc.microsoft.com/update-guide)
💡[Explore Risks to Sensitive Data Microsoft Defender for Cloud](https://learn.microsoft.com/azure/defender-for-cloud/data-security-review-risks)
💡[Identify & Analyze Risks Across Your Environment](https://learn.microsoft.com/azure/defender-for-cloud/concept-attack-path)
💡[Cloud Security Posture Management](https://learn.microsoft.com/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Microsoft Cloud Security Benchmark](https://learn.microsoft.com/azure/defender-for-cloud/concept-regulatory-compliance) |\r\n| | 7.4 User and Entity Behavior Analytics | Microsoft Sentinel UEBA
Microsoft Defender for Cloud Apps (MDA)
Microsoft Defender for Identity (MDI)
Entra ID Conditional Access (CA)
Purview Insider Risk Management | 🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [M365 Defender Portal](https://security.microsoft.us/) | 💡 [ID Threats with User and Entity Behavior Analytics](https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics)
💡 [Enable Entity Behavior Analytics to Detect Threats](https://learn.microsoft.com/azure/sentinel/enable-entity-behavior-analytics)
💡 [Microsoft Sentinel UEBA Reference](https://learn.microsoft.com/azure/sentinel/ueba-reference)
💡 [Investigate Incidents with UEBA](https://learn.microsoft.com/azure/sentinel/investigate-with-ueba)
💡 [Discover and Protect Sensitive Information in your Organization](https://learn.microsoft.com/defender-cloud-apps/tutorial-dlp)
💡 [Purview Insider Risk Management](https://learn.microsoft.com/office365/servicedescriptions/microsoft-365-service-descriptions/microsoft-365-tenantlevel-services-licensing-guidance/plan-for-microsoft-purview-dod-deployments) |\r\n| | 7.5 Threat Intelligence Integration | Microsoft Sentinel Threat Intelligence (TI)
Microsoft Graph Security Indicators
Microsoft Defender Threat Intelligence (MDTI) | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Microsoft Threat Intelligence Portal](https://ti.defender.microsoft.com/) | 💡[Microsoft Threat Intelligence](https://learn.microsoft.com/defender/threat-intelligence/what-is-microsoft-defender-threat-intelligence-defender-ti)
💡[Microsoft Security Graph API](https://learn.microsoft.com/graph/api/resources/security-api-overview?view=graph-rest-beta)
💡[Create Threat Intelligence Indicators](https://learn.microsoft.com/graph/api/tiindicators-post?view=graph-rest-beta&tabs=http)
💡[Threat intelligence integration in Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/threat-intelligence-integration)
💡[Bring Your Own Threat Intelligence Feeds](https://learn.microsoft.com/defender-cloud-apps/additional-integrations)
💡[Accessing the Threat Intelligence Portal](https://learn.microsoft.com/defender/threat-intelligence/learn-how-to-access-microsoft-defender-threat-intelligence-and-make-customizations-in-your-portal) |\r\n| | 7.6 Automated Dynamic Policies | Entra ID Protection
Microsoft Defender for Endpoint (MDE)
Microsoft Defender for Cloud (MDfC)
Microsoft Sentinel Fusion ML
Microsoft Sentinel Bring Your Own Machine Learning (BYOML)
Microsoft Sentinel Playbooks
Microsoft Intune
Azure Automation
Purview Insider Risk Management | 🔀 [Sentinel](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/microsoft.securityinsightsarg%2Fsentinell)
🔀 [Defender For Cloud](https://portal.azure.us/#blade/Microsoft_Azure_Security/SecurityMenuBlade)
🔀 [Logic Apps](https://portal.azure.us/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Logic%2Fworkflows)
🔀 [Entra ID](https://portal.azure.us/#view/Microsoft_AAD_Devices/DevicesMenuBlade/~/Devices/menuId~/null)
🔀 [Azure Automation](https://portal.azure.us/#blade/Microsoft_AAD_IAM/ManagedAppMenuBlade/Overview/objectId/d2175af3-6958-4008-83ac-ac2b81eafac7/appId/fc75330b-179d-49af-87dd-3b1acf6827fa)
🔀 [Microsoft Purview Portal](https://compliance.microsoft.us)
🔀 [Microsoft Intune](https://endpoint.microsoft.us/#view/Microsoft_Intune_Enrollment/ReportingMenu/~/deviceCompliance) | 💡[Automate Threat Response with Microsoft Sentinel](https://learn.microsoft.com/azure/sentinel/automate-responses-with-playbooks)
💡[Adaptive Protection - Microsoft Purview](https://www.microsoft.com/security/blog/2023/02/06/introducing-adaptive-protection-in-microsoft-purview-people-centric-data-protection-for-a-multiplatform-world/#:~:text=With%20Adaptive%20Protection%2C%20DLP%20policies%20become%20dynamic%2C%20ensuring,efficient%20and%20empowered%20to%20do%20more%20with%20less.)
💡[Adaptive Policy Scopes M365](https://techcommunity.microsoft.com/t5/security-compliance-and-identity/using-adaptive-policy-scopes-to-apply-m365-retention-to-shared/ba-p/3053641#:~:text=Back%20in%20October,in%20Microsoft%20365.)
💡[Adaptive Application Controls](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-application-controls)
💡[AI-Driven Adaptive Device Controls Microsoft Defender for Endpoint](https://techcommunity.microsoft.com/t5/microsoft-defender-for-endpoint/ai-driven-adaptive-protection-in-microsoft-defender-for-endpoint/ba-p/2966491)
💡[AI-Driven Adaptive Protection Against Human Operated Ransomeware](https://www.microsoft.com/security/blog/2021/11/15/ai-driven-adaptive-protection-against-human-operated-ransomware/)
💡[Microsoft Defender for Cloud Automated Security Posture Management](https://learn.microsoft.com/azure/defender-for-cloud/concept-cloud-security-posture-management)
💡[Improve your network security posture with adaptive network hardening](https://learn.microsoft.com/azure/defender-for-cloud/adaptive-network-hardening)
💡[What is Microsoft Entra ID Protection?](https://learn.microsoft.com/azure/active-directory/identity-protection/overview-identity-protection)
💡[Azure Automation update management](https://learn.microsoft.com/azure/architecture/hybrid/azure-update-mgmt)
💡[Manage Windows 10 and Windows 11 software updates in Intune](https://learn.microsoft.com/mem/intune/protect/windows-update-for-business-configure) |" }, "conditionalVisibility": { "parameterName": "isess3Visible", From e3c168e975d298dc8894f8862f99a4c98d5f90da Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Fri, 15 Sep 2023 12:34:50 -0500 Subject: [PATCH 08/12] Added DoD Zero Trust Strategy Workbook v1.0 inputs to WorkbooksMetadata.json --- .../WorkbookMetadata/WorkbooksMetadata.json | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json index 64ad99fb31b..9c7352bbefd 100644 --- a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json +++ b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json @@ -5568,5 +5568,25 @@ "title": "Dataminr Pulse Alerts", "templateRelativePath": "DataminrPulseAlerts.json", "provider": "Dataminr" +}, +{ + "workbookKey": "DoDZeroTrustWorkbook", + "logoFileName": "", + "description": "This workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD Zero Trust Strategy.", + "dataTypesDependencies": [], + "dataConnectorsDependencies": [], + "previewImagesFileNames": [ + "DoDZeroTrustWorkbookMain.png", + "DoDZeroTrustWorkbookTracker.png", + "DoDZeroTrustWorkbookCapabilityExample.png", + "DoDZeroTrustWorkbookCapabilityExample2.png", + "DoDZeroTrustWorkbookGettingStarted.png", + "DoDZeroTrustWorkbookAlignmentTable.png" + ], + "version": "1.0.0", + "title": "DoD Zero Trust Strategy Workbook", + "templateRelativePath": "DoDZeroTrustWorkbook.json", + "subtitle": "", + "provider": "Microsoft" } -] \ No newline at end of file +] From 453724a8ed30a7941be63ad15df8c3e3fdd23cb5 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Fri, 15 Sep 2023 13:04:48 -0500 Subject: [PATCH 09/12] Updated with new filenames for B&W --- .../V2/WorkbookMetadata/WorkbooksMetadata.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json index 9c7352bbefd..571ec500e5d 100644 --- a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json +++ b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json @@ -5576,12 +5576,12 @@ "dataTypesDependencies": [], "dataConnectorsDependencies": [], "previewImagesFileNames": [ - "DoDZeroTrustWorkbookMain.png", - "DoDZeroTrustWorkbookTracker.png", - "DoDZeroTrustWorkbookCapabilityExample.png", - "DoDZeroTrustWorkbookCapabilityExample2.png", - "DoDZeroTrustWorkbookGettingStarted.png", - "DoDZeroTrustWorkbookAlignmentTable.png" + "DoDZeroTrustWorkbook1Black.png", + "DoDZeroTrustWorkbook2Black.png", + "DoDZeroTrustWorkbook3Black.png", + "DoDZeroTrustWorkbook1Whitepng", + "DoDZeroTrustWorkbook2White.png", + "DoDZeroTrustWorkbook3White.png" ], "version": "1.0.0", "title": "DoD Zero Trust Strategy Workbook", From 7598ae55394ae6f9f3c696317d9b0340dbba8174 Mon Sep 17 00:00:00 2001 From: "Chhorn Lim (MSFT)" <50709199+ChhornGLim@users.noreply.github.com> Date: Fri, 15 Sep 2023 13:07:03 -0500 Subject: [PATCH 10/12] Added preview screenshots/images for DoD Zero Trust Workbook v1.0 --- .../Preview/DoDZeroTrustWorkbook1Black.png | Bin 0 -> 183064 bytes .../Preview/DoDZeroTrustWorkbook1White.png | Bin 0 -> 96350 bytes .../Preview/DoDZeroTrustWorkbook2Black.png | Bin 0 -> 276503 bytes .../Preview/DoDZeroTrustWorkbook2White.png | Bin 0 -> 218521 bytes .../Preview/DoDZeroTrustWorkbook3Black.png | Bin 0 -> 196525 bytes .../Preview/DoDZeroTrustWorkbook3White.png | Bin 0 -> 150441 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook1Black.png create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook1White.png create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook2Black.png create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook2White.png create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook3Black.png create mode 100644 Workbooks/Images/Preview/DoDZeroTrustWorkbook3White.png diff --git a/Workbooks/Images/Preview/DoDZeroTrustWorkbook1Black.png b/Workbooks/Images/Preview/DoDZeroTrustWorkbook1Black.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0e94fc7a88f6327efac4c30a1132647a7f24cf GIT binary patch literal 183064 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 z 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 y@Cjk|WJr9uZ3v^@+Ef3SN=e+M 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 literal 0 HcmV?d00001 diff --git a/Workbooks/Images/Preview/DoDZeroTrustWorkbook1White.png b/Workbooks/Images/Preview/DoDZeroTrustWorkbook1White.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e7654700d943815155580181540154da046f16 GIT binary patch literal 96350 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

yW?2C8VT%l<_a>YN?v=| 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 A*8l(j literal 0 HcmV?d00001 diff --git a/Workbooks/Images/Preview/DoDZeroTrustWorkbook2Black.png b/Workbooks/Images/Preview/DoDZeroTrustWorkbook2Black.png new file mode 100644 index 0000000000000000000000000000000000000000..0d9e901da301a993a17fae6423f421c7166094d1 GIT binary patch literal 276503 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

w{hTcN$ftd;eE?)QT@JE%3xQ1ROuBY530< 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 literal 0 HcmV?d00001 diff --git a/Workbooks/Images/Preview/DoDZeroTrustWorkbook2White.png b/Workbooks/Images/Preview/DoDZeroTrustWorkbook2White.png new file mode 100644 index 0000000000000000000000000000000000000000..15d268202845639081d81082e03257b739ef0cb3 GIT binary patch literal 218521 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%0AGke|jv`xYS6KA$TYsWsu~F zUWtP)UpVQM^R2XTcdbE;pLs9G{JN)K{!-?VPkH`rpade6AMq3o&n>hT(EOfMe`eV2 za3j%`A$0!Dy!Mg!7d^%s$?8i)PkQS`6EAMBRsknjblA!V;c!-`$16*v#}2pt+If@` zwNtwDPtPh3hq!Z0NcmUS(KCs+}G@^j5N6b zsP&8FFGDZU6eC3pXy3}F?R%^d|02y;U8_W|;%^oL@R2TMHZzR<>z&(Cizu?e92Ep; zjF)*%zKidAx$;Ei3*yB-6Tj(Gzx~JZ37l;|phsg|$atEXkKZq_oHGI!R|KPCGz|Ln9?74Px{|3&)l-Yd;FZ)exonM`GlHYVG3EO8spb z1oo8oebz>;>EWF~fEQsu53on|ZTF717Wdv07#J3y>RK+zFEE3lM(X=I=TqJwJX)Ms z#08P3ZD)s^S@VLXJ4>qid z>;aWa{U0r#_M5Ix1vs2f8v;Dgm-pE7UcUEy9I8i3wV-YRi{^D7Z(3L!d zGK~F@o%QjN!ampK|G^I_6*%%-Xhe=5>~E`r4&0aOMs^cF&sX5km>25%-1k}Hl8#j{ zeCjwKY6OEiqc&237XMe4BfsMIh!n-YmF5ZXDENg;fVENZ7cgRT9K(7jq%9jyr}A&lKe*b#;khc%n<=tH zI$;XCm0%WlN#$GQi*Ev0ba$mwfZ?qiJJd!T%dssO`2bF8oQskkyK-H0f~#xl)n9YH zwPlvTm`=oTZ0PMJX#uyds+9XDzb}8z>gMTRcE68U5kvnf(9;bUHJ2!zyADxP@ez%-v7U2l z#Q!mauCRt!bWA`C_qVzQUvk&w8&u@hQ5sJH2hhUs>ve++=^@my8$JEACS9#oyo4k9*IhII3qjGspVh-`+?shZc0`_xdiTTLJ+X zpIg_afXSzrbE&?qS>1^??Z4rvP`li>P@SsF94F-|{=sM1B)-O*1;JHeOg;Q&#-D~i zB$$Z-yNVB^*3$vRw6h<6^BVuW$)kIe*H_nDCguIgH~6_-tU>CWtCl9!5{o;SDq%PP zCMeUV+{L#261M!rP()T|HY?143_c_G@)g9P2h^{^XA=~4)t#lufIvW=IhThMG1*Sx z7;c*o3v5hVq`GLEWbCK8-9584yJwXsvAJWu99_vTZq^+>tkfs>*ZrW!gps+ zm5B5TzJx)7OkBI`{hzLQ7J)XT_e8^`y`=@7656?3d!ywU6{3XkqL5V=BG*e(u2r_m zB(R;aT2C;iP>KUM9;=SyFECX>+Dd~+CcpZ1h51*8w^vM2S<8A$ucLL+lnwhFF@g=I znzFOp?B4zn!_iXWY!H}X2_H14w<7qjHA2D>hTWEYapcbkpc58ri-6)?6?=MDetxN9SpB z>07!7rvg{2LF`aY1f>MfQ;spK*^XNWZmKC!K*0oQ`>J~Y0NH2q+#bDLvq^Yx|r?yWMBE!+m^WO?P8?QZ9P*Y3#h^sWwBYUeSI{;VPz=ooy(z@V!cAD(zpFO8Z z7~ZN8vcd>a#?Ojl95VaPe)E#~?X~xNk!Ae&e})|;7Mdsn1k|(O`xT6|)=)W(jq9C< znzr?qQ$gQbB4x6NUCN{9#KZj+J64cARJ3S2O@XPCp2V`bRqG&=liz>3gJ7wW)e#xN zUwDM0Ml~nrNO8kjQ}^48uB}WhvWDuiN|MrRwOMC(3@Uvz%iL`IXyob%$@abYpr#W2 zOALvWRAnrqD9w8`N583UK1VgB+NfuHe+h{B&vO@~lj_eP_1JHQD%)(85HT&VmYh_<~3GY zHBJd5zD_2N%CXTq*s(FI`zRBs*;3ZH8=c4o_3n^uU!RKHlyuN6oKiAgV#Df`yyZFj zSEqAXNi|(xMXg)id}U;<5VyJ#o=u>_tR$NRpEpK?4^m9M#3tR5KUAQam8KHs0!>2A zIGtDxJLANS*Ib$cN=gnIfiD)ij2GSb`n`nB5iQYUwnJTT13%_x>G@_B_b)yL6AjuL#}? z=NYEOB))+V8TqwP!BPkoTt8WA#@2%J50p+fjktt;hMrylV`Nv% zn`6B>0_c0gA%G{VchmMp2(CCj0MmX=I;aS)zaaeD^Q8j4ckwgSYv*I#$!H}5xt%F z0aq=0w}YsaeHi967dfq*SFi{-6%Zh0wSN;N6d%aVKG- z=m@6i?}CKlTbKqNxSI7Sp5Yy;+N8m}AQx2WN491{I4QEN7U}-8VdmktmCa1-($mQv zEypdJ_7_-%x8AV!+*ahY3i>qs^WDqdAKzkDWw0q~)@in;eppeW)E`l&@hiGW{8@l3jlI@JEGCD#&dsOVd=>NYA^Ko1F4*+o8DNl&WInd>^& zsAbxUx{sQSzT0XQmIB93dXV=vx_?H&%H^CWHzk9IC+6SOLZ=hZuGUS2JnoafR7Y8*wgW2JtzH^s6J8*-GSm_+F$1*QsBXrODOm##R)6dw&66B zz%7twe!AlZetxh@O;twuV)6>28DyPj^IeQB@TZ1q-3h;XKq%`fSSZ&N+9$PrM%d=N z{J8S)W@iP4H}CrRk8!vZQkVe0a8Z)I=&J=wOc1D=-my z0Bo@^nZEAA_QQOvDmh2a;IC&p+8y4Z;xMl_aVtA3m*=L$6*+vfCAW(z zR1i?S%D5L+B}L59K_jBN)IX25(s7=P2ib)JIuj#X`Kig`_6sTvQCqWl6D2Y%_1p1A z53H9T<4OCAFe+uHsI6SmXxTkQ;y%KAx+*AuA}ZTkxFzSbI$|NK!j0sKHVrhu1%7?k z;$=|$i)MLpbse#r-m@j3|8U~=%0gYnM@ZV#)Nso37}iXapt;nhX*hNmDIUdB4V+k! zpz>cnmb-8b&y-iG)3@P9D0D2~IPfj$`(pb{`G&D~K|~&D7CslxNYat5-&UDNiv%^> z8jX4RnEZta8#j$*P7j)*!0J&ySiq{axZ8t>1^!j*8~z8}d#gjk#f}>KgN^E#qTBdD zqLH-fQM;;@p|Wn3B)8JZH@VW#(tVoLUn8tt-^-^0dNQ8BTqP%cXaw{q5UDD;Eekbe zQQBKI40}L6~EoO zi3!i$zggdk5EfD#)eR^f8A;tlT$wCYJ{$(#13BS=id>j)k9c|QtwBAG5rt4hW>yjs zna%tMaH|8YsjeMK&wk`-J_BJRF@(dvUjR7sYGGa8-Fstdy&xlnaR4nCZ&@UHDpV85 z#I@$>1wcuz37PqCzFq*cW)g)%_3$GF&Db`E^XW~PV z5$Xt5_P{;51%MQVKxE=(>c@vH^kR47qRZwwk~GDqo(Aqzz!Vnt;Sf^(C7Gvr{IITk zs2uR0dJ&r`OTzgJ2aJgbn}0@o?Q=!TbRC=@^M3vP*jHM)ALl`ue^1yERNzMS0FsyH zo8^Y5+d*-wwhOX{ug(r?%71_c8iKLc@s}V?dKh5}{Wc+MTW+Ff>%aBw#zJw;RC%`= z5Vr6I9H7u0Eoc6q?zgPsQ+*Bl3j=@>axOywlkg`L0#Um6Z12zNk5*NV^DXC2MPwbh zgXdYS{`j5ehuZhF%eBNbS1izxS!f zjmI53R)uX;OOqb|e$N%w38*~O!x**NwaWF(oon;^C3Rp0HS|VR<+jpe z@m+c4b^xj4SAI~WKmakx*2Ara9|N_6a@w5yfXvSoAcMG;XrV%y9XZP>0rH%Qh?DsOh!&gFV*Qn z3E)gKW=k7PXg+}0hOm2m?KbtptEXWQo*^%m!Y^&8(!6q_|y4kz2^ zcEWrzC9cl9&#}<;gnxcyI&ELd<~HVmiiS(NFJ|v=FT!Eu)x|na;Dq5ILyp2U`iKZ&`})eDA3wuk{)ukTg|nUkv(wob&5$bYM{h@ZOp9#Plj#21J>UHXp7u zFDynZzP;^F&O|O8__oY$Td?%|OqH^EY8#ds)mW^T(;qFT{?MMdyM~sQ#q@vDwkfzx z7aVST3P^u`Hnho;tE5L~&l)Im9&Uu7Lg_je@Oj2nEtvsy8#EzoZZ;(rjMY=mQih7d ztRtILVPeI)RXl6#Eje!%S+=~~Ge79~noe+~H`KEev$k}&kC|D)X2mZAgn!c2(VnF# zgS5GOn&49SO6ie}>rKRY{Ke^7YftGf8fBFWQmTT(eSnSB}bog^Fm6%p4Ju(>YRv^z=I`KEjz zemi%B?Up&r(6ic3p+Q3MkQJ?M24c9b*d|$${<>+Z8U#BevONe6uxSLfTLtJ2DhQg6~x5jB`5Q+xLSmuw4r zCAzV2JL}u%>7dnm<@DiF(b?pI=sX6dqb28ON~<8akJr9%7h{!Qp-<6HK=gvbT>yU% zBKFF`wmr&Px2gsi8CIZWw)chEt*W+mI8M)W;HT_#7`3%RFy9N+D=+S*c&s;p`zon9 z&)c-3Z-J-_*3@|w*JVp{50`W1Si7?eP_}DN&uQP)KQ!&09^ERD)0v(waHIM5Q`!H) z_u~9ddhUjPX$yo476;w7+;dXVa$66};8t`eitPkKb>1{Ax0h{7+eGHcG2Lk@@L9-H z8FnPKqYQN8hm~oW_HpvswLA(p|Nf%6p8qQEt~OnGm*MRy^Gki9*S@eg(zQhAeaF2% zPW!L|=3n5I=El-gP1w1X@PnH(n$_38o)jhR{<%Q(szXJ~DNZ${%(jPPL2omF>q~gZ z;ca!<5z|e7p!lFfT&ppIf({7Qv#=^S^7J&ckcpvCH`;HSIF;~#gN*msmEFxHF->lR zXH21)k42pfLci-Dpxs1M8L!ml$qXlJ=)VfHc+|eUo|_t9&JUK5!_Rjf3rW`V_H7I> zRh^rs%LJqHr+|bbl6Oad^ESt(^G(xXOvHNKSb{!FidWgS?pdh;{pteo{O6cmPp)+5|^#U(8+)BKs{>qSRF9I!Z^np5}-$3A}{7PLcAo6R@JlZhb1k z@#W4Ka?F}M0A3p5{Q8GZDMHuM0tvRZUtWdPxeaZ0M)&9h0q@Ostqk~aW;2=Fs_7!! zCSLoDlEJs1e*KQyj1H1XyJe>ho!Ms|G_X!f+8MD#dJKv;z2{|WKOD$X|ArExGijcJ)=9wcS@LvqxQLe%X^LS%i^`JpgkIFJ+g$%I>#{*}^4RM@trd zlT)m!qyyeP;An(o3o{2WbCP~`EV155iv=T&%n?!KXX&$B;HImB+d$m%mIxqJR<6~X zJYJtdprQl!T0QWhdZ6`4P|e60;W^N-0OCoa$ks|$cyW%-OGR}5<4bESqRVZ@vIWM1 zK`%8=7Mx-2sFlTie_7>PQ~(jX3$bL1RA)0fb!IM+n$*_4zTC8jHS-vF?aOxctKKwH zLa>tIYQ##LN2IGUzHZjQa4gF2U@Po~8)v3E+B#ri32sk1yXkzjzycl8ybPRi>>QJVzGTRX+wDuX=}Lymnja(t=iWi?9i`Y zAfzSrNGJ7Fi6=9rershL^9g2si*0p_K+EULBoPa^M-G^=&jcpQWG@6XDsURDMf<%9 z;efi#G?DRU`?ZcWqf%zlC9Ifm`;Mx6Bri7lfY7>2hEwBU`OnI0Tfm9H@OhdSmyg=-BkJqsRm?8U(Cn^%<0{6U=2lz zD?LDdaZY!IVx=2r-muz{)&b_J+n|EfKAQmxDy|g8vX~yATQ*$lGfbjdOIX(t?6?s> z!rU1<_xRAMOYV(?06|}1-kE2tds@k6HPBVX*PqSEl&ga;errS`*CD#>?X}_VIacD@ z-BjjXYCLjq&@0s&khnjrBmJ~tb%zEP(gcki_^P#KXI157^2)2_k+{XU0KQJ%cnQH0 z`cCk3yX)<>`HQa!a4ue$tR0iv_+y<*?jGbXfZ}zahNIZKQ#lCnZf{ z`IX0TVuiiV0Qg<~!E&GIjr7^yErI5L-9EVxjHG>dBhABt)&pU5b%g0jIo5mRP9kXR zFqfqN72}T_NoGLP!6&?k4J<#x&By2UjPnQC0P>}|{JZkXuCH?2dzy4EaqYs`64=o6 zcfrRB2Gxw;Y$kZy%SKn8ms6rV$!jGA>Qv*{5HBHKLg5LHe5zjpnlj1K)@o&xGHrjY zPtf^wx~Y6{7C$bk83+GQi*oiB=O|oW&2*j9isq0FkFQRW_48tpbFfKF9h zAZ2jTVA>~k1y}dDK6x2g)NS_BW1_%GL%n4c~l~KIB)W{YV*Ig z5@_eeIqJVNY(A#9w`}^HOTHJg{u}sP3(flm^q2I4)WUAAZWUGc(84bz&O{u9*L_o-d`F3T0?ttg~t|Xiaq{k6qjx z7BDzc#?0WS%V{OS9cy`et|er!XtZKV^Sp!AaK8JZN3SR(FS64Fl?#s$sQ+|NhXl%| zMr(RFK>~CsXWESW*!w^4T_jQHk>Svv(NZS_G?Y!k<8u@;u77!Y113{%V~bcz@lY@A zOVK;6sbE!<=Cztu2ocpqtO7zRPbZ|{RAd2qplh3@u$-|ojxnuZH$2DTTp5QJ=L2+6 z?G$KkPcPL`W7iLIGUByW2o?C^fezQD`wXf^@2f7GRzVFs`DTR)ZlF#yOwfo@z!66* z6|*l1Kg%|ib}(Dfvz%j5F4Bt*TcQ(8lDN(8(VsB5I$D8p3LyTl?`XOhz2z5X$;yo5fj(Vk*Jngm!97D8W=0bi;r9m>H{;o2bVDX z>#T-^!#)VPaqRG7seZwD&T>V&aGQQCCxOXl~zF*lG(9p^ZR z@PnFn99K}Do0X2T4kIc~JJ&De8d4YMm(grqn)Z|IOOx{Kn)b7Alg)CDRJ}2pyzV@e zNt*XjpuTm;KNM}o#<>`WWU^$Nwo2vHIg&Lt4UpEhvq%Szj0>408OltA?6sU*s6LMg z56T)}|8%cO_ia0LrMPD3V$n}q>0iebxBExCGOCYgHc{!c3)Y+UtDnfnVbT{^eI26t41ya7q}ss{a& zH0aPH`_4%iZur*_l_RaIRRqgVaqnx(oKbwH>6n z3F;m&IPUK2Fq=wP|0LyA);tE=iBj}zOldI1OFKjkN1qyAJv#GbH&D-A8^t zoQ*!Sez=c22+5}`TGcR%`;^1ixPO^FOny|_b1}`E$v$%2Y1}cqYRB&eCQ-um%a`|D z(Y)31+Rf|gK?Ky7R$AGoGXUc78%{AfqAdZ&+4uq?bj>d~gBd-bCpWc~1N5_>xa^u! ztL7WMSCp+D zY$n*plAKo$mbcq(y9UZAhVCqnv^|cp4@JuEj0A+Ov_tWd77c7E=V4_g>GYjdo-&!R z`HL8{(gFfP^jcrEbxBauLPtTFpBN^(Ru}Kby>76>Pq>6BhLj8q?P4ap*v#a#fP|QJ zexP)TW>iorJ&{#w3VtvJE{S1Qj`yV_?B8CwG7F^6AwWbw(*NS0poa!K92|p!!(#%u zIji+kK)UL2=n~Ol4B=L{en@4flb-xo_XiJrHG=!NvMXsL!f(A->%0@9SIk%XKDwkJ z?-Uw18(k|97tJlY>`6(ni0wnqL7jwm2l&0pSBXSgs@UpBDTQ`v-!8Tx4W$&LCu%#i z6DSCq1rli7q;7;jZQ1}+)9|G`h0{iepY9V7p2&96ocAZJ*EpkJN{#tIV#ls&mzE}& zEGt7d?xnTi-k(K^GVnVa#ZQ~5*c*`6Eb>dcFov7X8D;AdCCr#&STY4}nCsBReXGy! zqXmDjygbFp7eTXFXqCbDLJl?^WKK)3FmmHjhvFyR`#$y{;qHAC{0IqL9%wh(M1m21 zcs21!53MFIqx%_fWlTxcWqp+_{qSlIS!nh*adkCT=W->-N6obu#O{RFiu(zhtFgm1 z>eG#rsX{jy0%)TlJNkiB)e;-Q$G1g3&U-{%A-EjwFXo71jD@NC3XYauL{UTHj@DJ% zI2q6Fb3GNYXe;xTUPC4N4DY4S5@~K*{mhD%`G84i_Yt{HkOqmJ$B*}BPF_46)XwdX z-&AErgBd>uQ)jhH)Di0lwnbLw#w!Tipt3LGnrq*^b8@xX8Rcir2t{Z%)2=_%WSn5aJ02k%g16whscQfLMsy1ATghLJ95GUWS|CxCjWtCty@Ra)J z!nc@h*RuQOzyXqc)1k%XYs-1{IYOkx=Zqf;Z)azm6=W&Mmhy&{J-!nn zXDK~4mrAYBF8tsp|4yfH0w(nDX9g#Ws^$hhP#fzIeL!GYxXsfXbFuRxl3;F(S;WWQ_3Bx_lv=UN%^9om2G0 z^(t%HP|+JDjAViCX=541MYXhT=j=u={502puH}OsKZE}PBJmSW<09Md6(fpw445z( z_^WyJXw=opHfiSP`DK=Z4=GTjw}lV9LOddV%Ib*6--~I&*CP)Ic^0R^lNq+%v$9`k z@-?daq*k&=E3BD~9GMq8MD<;t$w+YNDO!$(=8K3=`B*;r$I#KB9O`}#ax=&3|SA>7;dbrfW}cL6_#!!#dO z*?hcq`x$KFfL{66*M|at8O}8(Sg^i3ZI8TG!rolBhpl?Rw!2TFT3F%Z?c{`%e_P}u ztF|@$^u{--rg?9+)7xXwRyqW43Q{hv0tlG6x?LxNFR}IQ>e}IRbu#{i)O8=wJ+f6k zVr|9zV#1yTI+__pX3z~`q8xGK|E)r2!%`E zZov4WY)mZ!un*;=&E=t6`DW;NkVjm>)^)CR|M12X8`XGVDwnG4)e~>sK6^<>f~rin z(kGq2dL(lgAi;)QV8|!C9M>$B#TiH@;y?=_9P~34+9)k$$27e!L9Er| zoXI=R3f<+~AI}BcjD+2~LRwdi8N@Vs8AAchJb1^9urA^|m^~YsD>{sc;=B78jB#&d zmNkkwD`wbje7{qbVd~%EbxER7_o_YjkxLb<_igM6m9|wh=4c)>E2~e`oBxd)hmP4e z*6AT?cdvx789L+)f#V3b+~~XS%Mr9%R;jeRRyE2DOpKdxVDdTFnkm4!H%*UmJjOXa zm9mqD0S3>cOd;rU9b4|JXPyHR={& z^QC>sH{^xI4t;7RP+vluDir0B4Qm5Y~}<^{IJn(kg+ig zsF5L;QY(;syHWEg)~WB0tFSAqn<7x|XV2D^_J%D+Ju+<#;f&$+P|)Y&2@v(3>ST_b zNwzOZx@YWq2$+k(w^W>6i_UduUE9@>(}SiYBHX@Y|IYG2mSTwu)0LX|HO6V%w*jQV zAzTayV?XR1=nlj2k>XReBQb7dizIPp(}At(WnZ0UpwbNJ^F_m(l!k0w@!z*)L%;{5 z{DZkEPRRoMJKlqU42R^Da(E79B7@ZQOgufuY_cK;weOkM5}#-|UfeXM5yEv;lGy)!Zd)O^{dBxggp25Xu;1EDS*Z)ZbepY{1moaGSm z7^sR;1;eXmEK*M&5@wmn(iDlH{2B3PCCL6}^tLO&v7$@i3IP&Wobcd}6z6YoseRJB zjbpOihve@ekRB3Zbx;{a;oC$2jI@oG-FXP;J(FaS{RN;I9FpC9h%a55ce;3w-As-jYV1T?7xob>_7t3iMf|uhqKSjkzNc zfaeSpCIOLuu#<>`EcT@cujOWMGVY6WP>LylmSXrS(;ps&JbZUjnS1R%ZnB%^JrXvUpqKuZ)MZ~;)?M3|66GGV9IW@`ijOfxwW`|qkY<91aD}sJlG(>j) z$Eu8pC7P0LE+C`?soJh4Rv9%1+7{;xj zyc~SP>XZmuj{(pJu=U6~L;Vx=v)g8e^JZI{bS1p)_)Jb|Y^9deMub_a3^OYU4ghv z+J=zb%ZB$3Hvn7ul zv=91uPg#X`G`>k>0j+1IO35RimsR8NISHm+EzK8GgdQ?>HsgmO;apPz7*lV@bf@wn zw&7GH?Zy6r0`r_ak!th91LG%rU!H1?7N%}(y*S;$q$pZa=U4Ttt6SoFL8yXg1r*I= zwJ9Bza|QuonGZ;0i#Y_r5u&g2S1cv9{QT&0t|^~_PF~&*eEOqM9*^m4KSR(?h>8x{ zLS1_y1*A;`qHNOgo}oby{jYjX2ai-$M~z_J-zMJJs-@cZo$&GXTH%l|L$15BtPUG9 zxE^73Ozzl0x7pzbQ}P_=wnt3&T@_ABUYiXT)b)U;S&?Hym_#+9+|O)vKS!2*%mUlv z+UeFysMQrbOA@_A?gw$%FzeKQ0aqrDBjCsT#wNVjcs9u7+b(=8UTAZL!vYOiq&)Nw z(^=B(ziKJR-zmyFG8`Mfh8~PfnD>o*J!wJHy~x5c$R%vOfTe(9N-94FD5+=2({%S! z0f)CdS?E1LAu$W#{~`R`x&6R1!B#oe$n^HHa^`g*&~2sX(6XiX#`(HRV&Y4FtA2`G zkYun{a{vH06tp@B0P=e{ADhrq7s4KJK2^IY3dEZaPA?Tz^r`r*mRU#EXt-)&z>NEdhs3 zX*Jc9#D0nB$N`bCy1hxeeb;3y(=TYdM;N6jSFQ=&n+X{_2a4%zJrUcM^=$wsp_iK; zY^)7wJ%EQ;_o;9xMybd`9p1y;jGK*Wh6;DfPha~_@uZ`@0KGwnTf4_xRKK^&9Ds*gK8o7xewr zH4(+DT3Wk2rI^%Z;n>W2T|T3~ux z^=UKEm89TuCK@}(48GjJ)LVhZ1keZc0XYde22gpLHx@MXl&_Q|33IAtsYzTx?9E0j zCDL`~QqFCv(!lMM>Fmkf5iXL|K-C<<^^iDCK4g2>a0rK}f{K(P3hedxCeM}{J4`f5 z&p6Pxej&LK1)^5G*tkQ5$Al{vs;^=7LuYmI^K!eNJa_NW^$?c_6c-;^&Xjd>*lU?t zzU6x50n7^Kj~J>TeF;nO#mkfB<$R_mD4@EK>NzD92=)SBJ5DLU{4F~ASBFNwAtjUW z3;&mwJ)-OW`*Z}qedNf~-+%9a?uewn6yp&VNJhOfSPk)q{nyNj!N49BcrpXkc$ z8tGBw;IAIDHu#lJT&DhYyd4p7dadI7Ys~Q1hwl6*{{H&mx<+-l^x@unU)#QRW_1-x zc1KBXC6Cv$d3+w!-Iq6b6-xj)V9dt?YOMgbZFRn? z2{Efju5II)#W^m+(&)z-yaWyGBBh43C^8SK65Yz~r_QpZ3N+7lRRVa;$j`1WV<}^A zIZgSdzaF0)iUyyTQ%A77?mYqe6w*xm$`QBFG3um(YGap{k)cApQXJ@N5s3QfL&on=T3O}f$1gXfx*VaE!VBy z7!=@A$Bc^$4VQ`x+lz{dbk+)WM+zV}cK$nu_(9?i`);%w9l+NMxMV}m3ZMy8H>Ue+>5D-P2|Nan0y;1aM1VN`k}s#s@+`BZi;WRe!J9Jo>?n zna&?8?e1?W2Z(sQz95YMu8+8JP=M>gIFge%duh&~TVBu8jIZKZ?<4oczFx;j--EKw z#|b4SC}4S*0C8^Id}D!}T?A3oiqrC7R@$KiF}6O!iM)tKTO+_W+FA#s)W3^SSLgrO z5dS-)o4W`LY8t(z@d{3f0JNa%=h_Q>9Xf$jm?V2C7K-i27)FTcJ z>4RHHHp-jw1DTDTrH_m64YhhuK^~u(!AxxuM(NLEr2(V{;L$m zrJ)=8z5fr(d>!84z?ZFkD*ahcqGl!EFj(zucf$+JHMv)S?ZQ{=ud|X8Wm}b85th;H zW%rHjk6F2@dM>;pO=@De;w0jA~f{epO-Hq9%q!&7VM0c6!dvczF!N(AySndcPlV@RPoaqs zg=;PL`95k-yijIL+4OAJBZ3E$tkdJhEm*ppChHlkbBtYi$GUBqx%kkarLABJUKJ3v z#BZ70oj4|ZKe*r;+AmJoAdLU6jSd>?)8{j_>}z#iu;Us}Wt@fV7z_P$_dg|~Y;~u@ zup#>pEDC3f8UzP{5nGuDsT;KW7um%vHBOZM1^CL($9;SCjq>^9+lVi% zG-v#)&crI93n?d_UIz```SAY7AjjPXY$rAM3!AylXd@mQ?Kio@)8;P^E-^L(>9G_{ zVZ9eN`M8ei>w@^Wydt#K03!2|f&CYEI{64Ug4L%2o{r_sPEMrdrP=K%zqM~G^8pq# z-=JmAF>8|v)UVp1mPn3i^;ezCt87e>Ll7Dri|-n&3P!U7bVg~}V5<&yzv{xc7>g1UP^RpKJB7oq7BeB5CRo7R6yot4 zt+c%@bw3wF0nBRUUmiK26%&sTv#t`WA-$KDj>C<@{~CV?&fR_4`qn`5)l< zPo?>Pl7!~_;pVz0hP$|LgPWI;Ww&H*3lU4!^GkHQB<^RiMvp?t&) z0aXeuQ}WJ);|Wci-CGAuWBS{865j;x$5f;Dvam8cblcN z9FvsgelKj8-)sj6PYk=5am-tV23`e$YR3AE+|FZv#j$)+-1vHFil|(wt*op}sh&vm z$vy9|{Qh*tT*=@m`*K9M)M6Qa%pIljcYd=2lHZWwWGEqa75>1N9QdTH?jF1itKrzQ zx6JdLWqej8fE54qmtn(ufReolfX~?6`z5fcf^a;*pU)UZ9it^GTHma(G(J7gMho#p zgPyFsy$?#mBKjS)0kGh!%y_+rPvab~&lx^G0W;Ka_u@V95`0Qv{ieudGlQ_2DLAQ^ zfajFLFk|J2j%k$d*GIPPk2%6L1NeOJRgAV|S+^?D)GQO$nwJZwIy(GTre0_%QH!`W zj;q{Km8Wbtrg5O}@nbhvM?1jl8SCpyQ?ds68GnFj2wr*SD{uK2zYhYx%G96gH3<&o zZfcG2S{e*4m~4>Vx-NzJbp^H2Pp7TH7h){`>C@p zOHXjK3(T@9Z+t$K0mf5_<7FoRf$;~ZR!Vi*3R%)k06i?1iF!f=*Fb9npSOskUStDb z{^YRMvdZ#Yhpf`p#?o3j*a4u4u(sgDx9V8<9WkdEwcdEcRFlRS8FFnBEj^YCCM&9_ zY;IVpX#apmG>$uz-ID+E@lwYVzO`!=6GPtZdz8OESQZC@W4V};mcE%(fE&qz!SL9r zO^TnNvNG-p;^Q3vD^B%VCTVWbqPNrmls4SXx3!$X{R{YgSJ^zwk!+FG$v5@X$rX@> zHP3Y-n;B|6UYjx9l805Cx#P^`Rbf@TP)%$vP)|U-&)k+UsiVVRdYHV{s7&(mC%-Yk zv}kddxZZNWAHu`Cb?(O#yS}r2WfPC>7z5NW&^zrz*s1}_G^xEwoERY-SWT;@G~2TZ z7|}2B;ecj>2C)=1%}QFo=pGw$p%24b^Bz;VejDIUs$|H} zzd!I>3*qJK`j})~$DKI)sC4bE-Xpi-U}Gm%jsm`()S{e26|(8s~Y zX69tvraOxOe{;+TEO;BmxYb?vt#$6b=r+75(R^PNF(!xtP9gQ9r!;bqUh5=r-{)aG zP8tW_Uq)nJe6%|wJFh}AluuR+SS=Ox+$-k$Y&%l_kWJes&J|rU=-v;lLdH(BJs4t? zGR<@=G7)ryQg*BPMMlGe&R`BFL|9>2U30f~`&5CtxTXTuE2HRreOxL~&zxzFU%Oke z7G<91TJ30ynp>jLsbu8!C0ttsRX zQ5tEUpqC%})D4)FG!SehC7*C-XC35H5}y=QsI(l1XRy+G1h@PCwt!zp8z!jXzRM|7 z1x@(O1RdTjz>Q>fp;rj5f9=A!Y@35Xi1@KcMk50>v$fMX(iB$1f)Bq~pqXjGOyyY{ z*S-jnZTUGO*hs*p@QU3(@Int;v}s~q`S|p5pDliD8q>fdD>+xyB(@e0WvYAJ!3qmf7F|t@uoTbT+6UG>Uq4S(4sU8zECvZLy1pD#0SlUaiqRP! zbZ_duHTGXL*E{rIe(N`Li@{l3m9hHsfH#x=*N*dNIK+ih|3B-cyDln8y4(Q}ywc*t z^lhL~n_8kDGM;a(&S{WcAN0d3b=d2qAA_X=^O3)3Ft)?O;^PEljzOz?_#TEtH^^9h>svh@{oG9#{j{~z;Ne7vFc^|RIIJl&M0dU2Ow zwv{H>{CJ{;bsyVM3!vKU5sLp8%NuRexa_y_DF>(UzRqBM>z zKUP7u4g?*L^zrlIwviL0o4J`??d61_9#1N7%)*5}-vFM)BQt4}-u_>44=NWE37sk) z)?Kp(#me1!O13%Ll-oX+IN5WE4n9%#7SxLRJiQ^}I<{e9teh+%O5wqZ(xPcUUb_1p z9YQK&7V5CNhr&5o0OtxiwQASu4-wW%CH+mA^ zsAd;R6|U>KTqgA99^tY|lcj@}POHgQ4(PcxArV%E@5@-Xw5F_H*$M!=(c8ODgXix6 zR&GJMZzS zc5}%s3~*13{mqYm&2Ic^*%g~$&&Zv#qPUK4xZu$R6wh5J!b|-u4C{g6Ae+$zw&IpPJ`CcKuqU+y~oiG zjVPTz>f3b@hvDUd_LbXnFeM1e*qIMkU8ed+i>dy( zgg_Jkw`D#%BXH`FDY|p0r!xwepG^;H^Z0GNOST|5Ciwa0DYCuJh8k1Upve3ZXj=Qc z;_Me!7LP=hHNG+$0CH6vW>whu@WmS2`f!QHtTt1M-~m0^{O#ecS9jvZ=Un zrPT)zh1iBW4CM#R2YhSyT9B=IQYyNh@jvQ_DXdSO1Gy7n_l$PN`fj{P8aG24gbGKo z>?PG?j#a6+p^kn+x$0CoL2`tmX$MuNE~NxmXCagVmRR7kXpCS}*+88rdcTHUaLUU^;?a zP^RTy01-+j-Tox{mls#XB^U~GJ(bAFkFk~7J}MGp*2}VaoDHt?opM0pz^^`#jT7w- zKKaml0U}7u$Nez7e^yJKurji>Rx0h6Y4-WjW}c0WB1yw}WA2Z4`fYX1o?BJX3 zujstq5C6+6r|+_kkI(OYi=_Hk#wIy-68;I3-JWy{yNl6{Et;OYe)8?73jhqc;QGA~q=E0f6!g}VY6n=<9Q}1o@Nq zktU}B+In5rt2?gA&&k0%I}Uak%*RLhAF3Mo<%RzM*I#J{G~V;whj=4^7QWERVC}=pbElys ze$MyFXgJ?Xk@dGY(3=y;WdJ@L`=mD@t30}z z{>IwA&8?c+4n!vgc0XRm+Gz_=_JB~=^N-wic#?*VbT81kgBa=4QFHu5W9RB)F00ghUE5qbPr8RlD>&|0#?M4-0I(VL zTjg)~#Q_^q(Q3{X+B}dVn#W#gDrG&nl4VbHT*;orDo33W zhJ+U1uw5Z^L>T|16i%E$kv-eaA6lKgZ%oQLChox=PysZRln=lI0hRVkOQarS;3_NM zY*1OV=FPAI-T>i_8v0yxLjlA;3BgW5zZ=UbON>J?{)%%x!~0hWU*O(vn(%)>pR24} zfv1fMym0zP0F$f@yf`D0`}#i?+;c=72$V)WAf5=K`9rRqP^{0%ZY#9PK2hhL1HhTr zRt7aA)ka2d9OhUlpM5uHOeYN3Mh@LPehy&lQmN*ZX4sKe?nuUnbUAVyI!@2*YNn|3pt8-i81P^FTe7P>6^!p=z;AxUAUIz zH9X`T9COdhs=5I+uNaVavvo91yErv>p_GIl*|Y8zPFm^!(Iao4SRjhmDJSce6P<|X zE$KY&`ZfynFxBRj^ppKOv0KkX87vM!ucze);y{e3SD#g#lj!2>wMyZ>A~d{%RGAEM zI5a-U!*zjv#{%d_VRf*Mk|8J&d?{Xs@!DpsGMHxCbZJwe z;GUm5@GyPpJr%pxuNdKDy3j%cxhcbOn<+ic(6>m%X^;8DJX z9QYDQ~l$tE5maGM+-gC>Y@@Xg%V6v7!Ju4UQon?NDX2s2{O<{j-gS90vW5sH=@ zWZN0=7B^yHG?23Y2|0kEw$OeG_mHHXU4{M`8lxr!{VSA7JQw5`cV_omP=vW~BZq>CL>NSf~Sr_vjzII}5# zm}hD2(oZ}}iHF6Er=J{~neKC;RzYF4NPDNbf<9f(YUfH{p}*4C2YQO9TSKuH-nyyy z?#|*%#aqLh^BzH6>4%T4)if|MAFehNw1AZfC8Tofk6&aY<3Z* z6>9Zy!+M)aI1DFc>rL~E(-XF)l1}FGldr_bCIUa{R%wTf;zq(9E=gbJp!AJ|ORH-R z7NXa3#tI{dmHNOg-aEjH-PhLL6LwZ_xp;k}IaG7a`{}SvQ8z`Lh+o~&DmkgQl5O0` zXyD7b@-!b7`A}8F5@8`>a%+QZA_D!C4z||v4JAQmksC-;&m{d3agGy3ML?r-QdP}U zh@^)WEQvZMj(`w~a4<=FM0|JLzFN_2Itp=3BrNw(0Fu;H0%X12s-_FcLPEaCj8c)g zN{Vl}mw`qg=Y!n(hqtK7?L7eQotOwDqV0q<*fDGtbE9SFYl_(#RTVK*yf0>ULY%8` z<;hq0&h(js0)4GojdOR9N>GSOOYkerjRz)0kt01UAEZje>%9L2J}kRH!2=kjzQ$)a z?|HVZm$s;=;2Wf`B%HSioI08!faUD_6{bB@j8A7Tc^NxSCVO8sRgE{T*=Lj2nl@cL zQs&I{hJ_KaJ=KZ`)O|}{S!oOU$y?p%%DUgAEP_Q#u0iI`mW_s~XzB@D83(=2grkPy zD3Hp(=(gNkj8>;A{9?MGEIjWC%KM2quh790C2@Q26}u!$&Ja>v|}7e~9Tj_OeNpbGPu8vn)fB z0N#XTZ3*ffx7iW#lMuN4@b(FO8$`=LJtVA!3taLq60p+I3go1#`X@GG$6Nyl@!s>E zYt`C2vl>@cPmp4U&i0KY{4o`(vMC6dZ3$vSAWoCozu<6kNHcP%u%2sb{kTI8m7npO zI3p83AeKEK+dXm9Gk3b0i;HWq^D%!*Ajro++H;04_K60nc!j8Fgany{E3I4khC#cP z+g$rHA6LBse!Zst$hm(+G+Ksa@lfKuCXQ@|IRW0ZSWW*7op-{&?5g4=MfIZS*5eN{ zV@|#r2wNICBoWT5Shg|%X4aFHAK&9(?+$lST^4?5!P+RCl%3^`@;f9N=oG5rE=oDt z9XNLg;QgMJx?2e{(lQV~t0Hb_c50^?;Mez$5n+X9W}S_FTyT&7$XHjCkl~HBY{p|X z@4BYA>rv0bIgYW$2F(@Zc&%~7Q0c%g_VG5EaIf42xE@->T}OH(FfD4wMQnsc@${}> zm#g8*X>J17{ zCx*yY&sp7!bvn&&i?(qvBd1SStI)uqJNOy03Lm868<8FQ~5UpGc)6TC^k zU1rO@j!M9F$1Ye+%T2q1o+n(}KNjls_q=Q**#1$Br#4#V2qm5F!}txHyTkUBW+Cz9 zMuKRf@X#%UnRvvo`kCxta=>QaiJ<^Q4{pB?iJl)dZ!mAl8_N}UbFEs28h3`|{RU=F zvPT3jhzvi6=dHSt=r0zmzCqFaY4;v{eUXGFuI?fypJc3yp(E*tY!v@~&^2;p0#eX(V}0~zvZn0P(js z6_Kzr^uxGO9bS%U%F$^*OHq4xpcVaN=wh92G^>9WUey%kC=@;I9bhwt#}z!(F+Pn` ze;oDZeA7)AtV0Ws12-5-uiI?P!QT5Sg)(|V=DITR>s@~u4v&BM zg9$dZvV0+VXJnp5J=u#6rP^Pnz$o)g)CYdm|4^R8`E zOt-C#o#9PJdNwg~RjH1WoO1`&GH`uGoRMF&jy?=lin0W)$$xNOpg1rM=x3&8QtUDC zWjCW9Vf);4p$*nI>??x8&ZGk9sMuAwjzbZ+0hG`u-MEtZj<-8l@Nl#RX*FG{dt&_Z zz04d9Bq}P%R#)0%ZXN3sT86T{oK}+A!`|3v-z@mnj~|yBiM7TZL9LlYVuOX~tnEQ+ zhODQ8DY<>T4Odhe@86Q+wLp|))(_wOUC3{O^kFv@hZVzfBKu?pT|4ej4EW52vuhDa zDU{|=Pvg@<_|3IeKQTjgTWj!)QP+dFq5bPeN)HnQ%TQ}{!5z0@r$ECK4uk$~TTUM8 z+ABMNh+D7bzs{O)?=P{1drUSiSUgeR+u&$Z_R@IT3vFJLS=g$Yxv^hN1J=*?Gmt+z z*aU@3RVLzZWB{G<;Z{7Z45XPS7GL)Ee-BbC@>Ow?h_qF3`2WdzBCPrItHVjBL%1Tl z)tgNeRw6rOpPVnPLaCb@H(FmDEtDQT#x~uwS6?)cVzWG{6O>Cz#%m(&gE6D=Wml;$ zRTcddZFNSfSTNFQ1VOb?xe@ehQCiOK8C47hy}LfPy^D~gx5A$;1d|nlyGlupDnrDm z$aR!%KFmW!vHwRY4*1J$JaMpNK5*bbmN$(}HsK#%OIU&r9GCxxcC{x|jXyJ}&iuuL zqD1?0_>O;1UlY*{{v>IpcCOZ@p>qF!YI%P`$N#ah{Ru_>3oGz13_<-HL=e>-rh`Cr zb`WgF?|T3->%VGL+dh7LR^dTG+ilMl+Uf#jy*^o_kO@-MHeP-eGN$=%C+ZL*7u0Ggyl&5+dTZ2VrRrps6J)L!`c9BOT}{y8!6 zzQ(`rbNwt6uPNHn5iL0jS2Wi-kNJV3t=i3Y6P*lp(I()%R*E{Pu>8yis+#XdKL3Wu zxc<)S&IB(-a(}%b+Vs250Div()O}fhY%{g@NLuNsHl2$v(=vASl%Ff=SUNJ@kP1-9 zsf_O7XYMoI;*Lb4Mkj;Bze+rW*4aN-I?pzqMX#BlXpsV)dc(Y}6(H_m9EvB+#(ty_ ze1PT-&O^$&MniMkbTe8KIy{K6DU*JfqR$woItYFAZ@^;$W?@OJ z&tsfE*^R$F1d-|V-oiU=_d?O#^ zv26H^32(hf^qS7%-UvLaXOJ*6TiEagGa6GMi88RjRkIZc+?KjELYjI!k>psks9Q7$ z1UXZ5CO`}p2F3EG86`LGwfFH zL{A=S5V!lwNQ`q;(?h~2yQczmyh0L znYU7zb-~P^!TupBNx5VyeNA4^6pK7~4D~2y&C;4KZv}n8y57c>wql7G4BXFejow++3EfD+lMmb?>nAr^0f(J7XfuMYKU`Ri_`NddbcFSMo>w zkYT(pkiUrMxdAo6m+QLm$N5VpJ+NDbH+SPphP-ArJex#iIlS3b`k(#v$R@IOB$039 z)1Ekcd>CRj+%jloRV17UL=$q`*hk|U$|pVKq^+u1{HYtA84&q-N$&^n0=Jm0R(#=% zSfvaXudtsmzIw%wDQ>dp$8aKEGypZQHtuE3oCZ%(?ikx92;$af>~AA>J)J@O zZED*#G+6GeYNR9XWy^~#*ePJwJ2XqW!x7v%LHUN8ju@DgcCl>Hx4CyU>89E??C3)4BL|RY{6w1WzFOgWoo_Ni#?U>OBh@1Gn_Y+iCc5 zRin^AGefxp<{CTX9EYmRwdorxr9=~fd%A4&Se;=Sivo~n5Zm%~W@muYia=hOa8Scu zx2Z;qa_cC`bOoFj3lm2a<0Y3pMgmiUy2dxhdo5jFW$*W;P7f-m=oJO97)!6%X%+|A zte&muu;ehAi9`%9y?fp;k#ATOjqDb<=MIUSQQSom?%oOu1sQp(CcRTHHT%#wgkOX? zzAaq;z~y_B{&>D5EoD#FgE*4ZGfJweL9r0BTAR9|3sP^)vUK^*2RE8BrDaD@S&V_G zH@2Ethtv>~~rS}n? zJ8u+!y(KcX9JR2Y!*p>jE&XVykfoEcoYEcaWVZ5oj$udtPmLdqs?V$BnI0&?!fhid zJLeZ@7|${Oen?0kzLj+tS*EIy(lfNzg7wsKu)7)0;Rw^#tX4rm$VEg(V_HN1Jy-5w<4itcVqHrFq% zFmS`Qq}QFl{B9bs@k2+p=l6)c^`MR(X>}hK_ieMIiI%HFj#g+k_iH}47`7hU=X$h=} z_ZV86ig#&gnY)o?3+TDHYP4VrkD}GxT$SOqmeP*<*cHJQv8-~5z*n9AfgFIJ9x|LU z)er_bm8QT|(+6>`?6}B@;ww8>L4bG!-187k<^-O((gEkCo1;hg^D_IojKL0RE;km@ zCif4S$w_=ypQ@tX&i2NVvU-qmB*VoLVrE(_U>HxQ;*;|0u#07fdQSUgD5+4h(p2w} zKbe9Ya48Oc8Sva+jT&J-3oy~rZTTU9CrE{~wNd`!(+hnd)br1S%9EeC4ZSl2-m(8x z$ikTygvL_IonXi|Q^t?-75XNrzkZZlzfK{m=p|=s8T9eqcx^WVTrj@$c|B(04Nt;e zCS8%woq2tC_8vAEZlg~IpMyV{kN>vD`Fp+d-+f*J>mXQYZ8PJvwz4|YbsuR0M#u$2 zLP&q@yQj(d@B>M}Hc;2Tu?_YA9c}WTEf35E{tLD8|L%M8k1&k|Q!GCscCP(!7X)>U zS$YnN=N)e_1)03by9Rfb&?MOO9x!f}u(V?5nzZ^Pa6%z#>@ zFaIV6tfIE@dx0k(^OKRlIUugxSxo(dglb@_GnvSsjR6?XtQuAM;2*jb%u8hdu#~vJ=X97=qDKnCs+zBiNrjt)shBI6N1f zvVZoncd?Cru~L-e@=-bn{&0k3$U#Mr5hgdaFA0cC_`GMI_9+=1d63Eyi5Mf4>1D1I z<|rclhy@g~C4Tpx$x0=dKrkHPBaZg8MvPe*>FacdQrDeC5vwz=9@Ru7rF9?d@5VVq zVxOk@BpyzZuowf`%h5C>G5jzckPCD@otXe;Cs69M9S9V8`7MR{eWGJ&xR%tUBn_5c(krfZpg4 zStv>>3jJOnp9SZK)(&Nb-}QWj5a;hWWv1)36%?`XLytwdp^mQobVsQp;dI)bd7{c5 zH*>Fdvco>-5+HR9+AkY&0_e47E}sD@bf-IUW`iDEJLHOVORhf4$l1#_l1SJBKov}) zZe&XjQ(??ZL3U!O2EbtUv41X(0;!$w4J8mIwDz(gL{2#1!-#KN#^fb#ooX<<`jN|U zb}KLLbq;iTLwPnG3{dza<-1X~p+Tkn21i+j<_ZW z+VjYC78%VNPv^p0DJ)k-V^oN}uQZWZvkZ{JWX(uk8bt%og}mMvF3F3a{P7qq$h&J# z)lguW-|~s|qsayOa#V8-M<_n6c;BcaQGLhLF6ZjwyfSq4q=)~XYR!+MRc-P8f3E+o zYxGFlzMP^^uBZMW7iUwJhlA^L8iZ*y05T`ak{iI{%+|hF`3G%=v9zYY@-mazZoMi9 zLh1A!DatzZ3*zIMdDg#D^v(A+#F*#D?>*PKCw2r4oB&)cUKzZqYBUkR}N=*&cp zR!<#cOMz=l@0npN6i<$A)5i0Zw04|piIvW7%h%Hlf(rA4 zjzHzJu|0Uc5Nus?Aud3r*Oh*6KQIutd`@f^=sZ8)MeGDZ&&2 ziQOm_+Hbt0k3Fbz#&y;gEz?7v8BslOKUy$840-8n zE@lM;64XjFRb_x2KwX2h<`6jTbfY|nfU^hRabf0ran$tSZ@P-mZ&eihHUFyh_ABEB70cR%m9NRVOI_g6n#i$D}oaITO1)s zAcWTh^YL%|{C;GQU`9xb`qjH2yiXfud@vJU0A(&>IIIK(fb>HH;)Bv|Hf`<73&uPa zA+UFflKtNFT@ctf_BtnB^*XCV&@)~Cv^TJ1kM=NHo=B{uXaP!*)=rA{Q7A>^=aiq- z1LWV4))lSGPjkIm!8MVVg!a4C2lB?5#NLIbZ%xjtM{8f798VW4)il60>iL(X4|v%U z$P2F1or1X_SO$bpv0x#-GnM|w3#c1agUXOr_e7T`B38yP%AtI0 zd^u~bRNJJ|UDS|W+tVO-7OADcsV+yo%?*-QG0ql+1#=4xyz1VwL-@97voYQ0ZM+S2 z1nL|iqT@n6^^D^VRj;i) zz17~&sT5;jWpKIKXZ5r3oG{LJ4vdc_B}VZ2PQHd%k*9nki${V}{nXTqsmf~ZP00=vj~(boqcrBJUN7)tW&~lA@xjOc&*I76b^%RV8uvd_Tq|x zW$1faNUc87|NWiT*y792a*u6-&aF*?L z!k1avzBQ(f7=rM_oM)(nJCf)^YL4`hDbp@Gl1BX9nJN zYbn}t(!fNZhkoC^G4DZ)&PWuAu1{|^jv5N}hJ1(X)+%I;9*qDm*Xf@)5KUwYx{kK0OL!-Z4FbY*(5(#pCI z-swBcDyefXGVC|Vcwe$rkFZbz7_j)QLkIeW9ed`JAhx>)x0`2^+}9cY8J>VUY+=Ye zysPa^HR3qw0PhR6t?zseJk76ANy^v`PRn?7W!K4Q<9IwDEzlN~bRtS}qbq*h`wFR~ z%Z9=W$_(BJ=8IzSMt`}D%gXTRpG zZy15~njtZb>R@f(9+Ka#Q|1@{#?SQwp{};dbtlX$hxYl@w}%v@s(~^LG1DkoFOz6( z5VipPhKs+EzP;n$4M;riU=zGe2Q!Pl*1S(`^*>kX5YB5XX$yUj2g(ns?x0$QZ;&UT2rV* zJ`pDM zZ_v<2%)_CcxqH#D9SHRnUEqP0BlhEP=>=BTrHOOeDhVp;z|(LEDhHt+8qqXjW5QY^ zB#j~qhsl9N9hYY~yWnXfsHAnbqjIs91YuH?!U8cf{TRV)EQtZsTyelV{T#N||Jtiw z$qr|R`9l4;*G^K&@U4I<-VtTiQwnQe+JN+KM1Ee1Ew5=2ZM-j77>Km3}`n~A-@RJ*;@~afVH%E1%$N~UM>ck<17(m2fC05F}#bb zqr^m}{&_C*A1G6k9JDbAm*~y%zz=!S!O`0EnsDndj7XVCPtsNfqzg_XRlXbIuDiKPVSW%e&fce^VIx%xDJCUOaWZJfar{-d` zc@O5wL8m37=B>JTbwq{h)Som2Q>Oj1G`SB)alqK#TtlRPj?C1MQmJhEev1P<@;U57 z@}SGNonhS>j5FiMxga9*Bwro-pLLC07xV-lqFDF#gS5mB7@_jWnty&13Jom-e@E`D zgkBf9+iaV`_YFB)f@%`MF}+sR6*PSZU@KbqsztSf4@fTlW$wCa*?ue6cdy6F%cPS; z8kFnh>Sb5RNgP)~&X=Gp^0>RTDOE0vjnzAGW7aYgRU6JjFjzkxX2?~+TKJ!L(6QI4 znPF6rAmD6f3!)~XSx%CJ_Zr+N2YL1~XAEOY!Celpe8f8;AUdly$Gy+2VY`Jds6aja zirSg322Z(xN+p<;ap~3#vhBvIle)&y@+Gm#PB4U^AgC7QKRt~&KSTChvSF(>#0({m zrtCEqX`>bN8HgOM4{z zW_r5Eg1_o;=G&<4Ol)jKiDn&AjpWZ}2_YRp)=p=*g?vI4a~TW>3t&%UO^k#Ed{8Vg1YL||IwkRBc^f$S$v#WH~IPu=(&dxsG` zFoDyAsaT(U1?=*=yP$-~a2rn0$qwkdB5N8yb|dvn$}exr=>)3DKxi z+OfL*93ArY-#R|%bvDH-_ppB^08~)iDXE}OZ(!!bxmFyN0uwxFVJlzf)WxiqtLp2D zBE|?~E~xPEDW#M}L(dN&Nd+x1i6Vm)Pq+4)gDSVU@cLE`K}rSw z>(~6C#aYif{vh(jccuIPS5Dslf>f9Io4eqDVj}q8@I5(oOfp^mA=GU{o*dHRn$WY= z1`X{{D*%thZSv26xxV>z&Z?b;f5{48nJGwObQn^Gj5!3JVOj%pN}?-P|8$%vVTqEa zay$9ViYKMWL1nZ2?8i%nZX)mpQ9^#ej(kIR-%5>@2&yC3f-aC@&@wn+!MwjTD#!_D z`XTf=zrpwy_JFb5w2iem%cSO{G$V&{IjjwRPNzH1BshwsgT6v8xG6Vx+im*&`Ef{M zH{P)@(%po)l*O3r?x&v&xxpk*4Q``hUUfP0omrJHpB}XXzd*;t3gWq5KPC&*%6IoHAi+bBol zY{NED-GX&Yb=-IMN7^vPLdoqu&)#GjGRvcc!yDMiP zX>gs|)M4cS7`F0FQ2H9jw^hA=aVjk(Y~5zwG8{-Xqm7-N9Kvl;4QF)Uy27WHt?;vP z*+~Vdh5)lh)J~@ycZ}~p4l;5xN7(prl2ufaIK#spG**K_Q)g1z4UA8}G2{>91Of*z zoyTK>3KLc*Oz$aEgyAru4bR%`d&XPyhe5QAcYXD6R+(cjZPIcXUvtRbsrJF1@mEGY zZqX(kKv*<(eFzRyQn8g2BT!0-oAzi}VPE)uZKkpy5swK0mdf!vjC360{@h`#8Hj<> zfi7WHj404#1Lm641w8yxer;<`2_WXX68m z2clTX&BP~#@r#mOC+tcT6X9-RX7N4cm8a8Ed8wCsHdfK|X5#L`oHB9*m`swYH{K#z z5(_l+GsWHLCfd_leGv&w3pb$;*ZHb~yb;&4xg=*MlZg_K@5tF(isZih^IN<96EoBm z1ZO@+7*AZr9Xl=V<2vTP6AHt5k87Z2L&nf^Mn_2{a-K-3F}yAk7MS(>426|H+j+ey z=ArXYmFE;>O;^%g--1j70Fn4S4j?2;f_|?;E$vz%6-5y65>CTqcQgb!yS-0u&zp4gA5$)E zy|1{-QjTX*uVzuDobSd<`|R9Ou`mbpa;f|kLd0JXBHMP;@W0|EYjM-SoS->a=^+mH z1+y_=J%ZoOeEe_N1pm{|`R300d4{~!-+^+2zr725r`g!wecX5c&-YBs)&3iMvj6+@ z|IhTk|MzwNzpwLux&{i|_cSsVqlu}+txXEZF#_hIt!ofsTz*+i&j5G@K)+WeRJP7qRh~#+TIDcECkpZfidHF@D8k1qX5i93vK9+pU-8?b`C0emzxIUu zoncW)OHt*#nyKQ~`>u;%fE?`pj^(O*O}{_w^7|~9h55(mX^m?z_Y=@w(IEM)HTVP< z?Mw0!NY^Ze8WJgLOV*U5AKi$M;n@}r65O6&N%C=S`xCe?YGObz^BOZLF3pJ*N1xkA z)C5rf`-^3VZxxCA_--wO0SM!BkbvG?DHTrzqQK%o{-1{O`(wGyAUIK<2fM7-5ep3a zApI#aj8i#B^L0Ve=B(uu3@e5sJ^_l|%-9_6h}1JlIH)lDwW!}=v;DcLvSc-Q)wQ)Z zr?W<$rXj}gpyE?(o<(cxPlH0H*v$!xga24;OcnNG>y%vjWo-NUn- zCWY-QlDbR8cEEv{aQ;u}FpvaRfFKv^3?A^=GNpux zZFR0_U7uiH^YDW{uOZJFdPfo?f-%u_H60Es3V6?$N@56BQ?L|uF!x@2Yom25K8!Ja zBllorF=A(-*d~M40qU9r_W|pSWH)QpiXcqsphIQR`%{A*<8gkHFkiaZ`phs0GH?Y0 z<}^WKwK`PHGIa;gmcI^wi!?{S35D{Y9$xR+=ku{LN}HBR%4_lMaF_&)xCV1v=Ue)3 zw85Fq>PC)*nti}|=3-wK)`PS((kZWk42&WsOw-!JYEX>UJ z^%-=V>a+EWfD>z6fm|hh`;OhIMi~Q9Ft!mvGumKwRLqy5NhcfFGdkB7pI=R#=cDV( z(`Q}Uy@!@otbwZkdaof&fYN2xF&6_Ueajypu1ymT$dq45bxZ}CmZF}*RO05Gqulk9 z_ow1gnE^UG_*O6U-3s7o&oO04YFlvf`mTOn{&?vSbD-ke@bd!pfcdn3_wlvdwXQVv zZqoL08c_wJf@>SNaGx(Hg2RR-mE`E}mq9$OvJ%bs65vcu1M!fD2GpSjr?3Y%+VagV z|5a4aWt-~Og+85IIbY#fJsqYn{|+O+xQd_n)IUM|`gl1@+dj#cQJ4fokAkYMk9Hr@ z+FDCe-#zg2?T-pz-(f-A8l<$dUgb{QfwYWYXij@`gJ0Ex!}zRBK%=?Z2MboA;M%U} za79UNowWptuPikyn+rt+aZ;%;Wf!FXzw5YOulro$@ooPSU&d0>1O`rEFct(s{xVJd z_6snzoH|_T2Z$NdYs7Uj9(G#sAkUnZv9;Q|1%^e$O;TXSE;Jjvn3ndt$00U13_v)w z-2o|!x6wLs$N0R9!(P2v`%4XrNZf zKR;^E`VWA;(wAIg_Hf@bgUJA6764k-Ar8{hK<|*XygC}50d6RH>?|e@#>!m-S?Qk8 zE**Q;*XJO<+A>tydDxHs#<8O_%VRuCat89KV8XpZ#*|82Vxo_;d!J{Um(KP|KgI-Y z{KDXgaOFSe!G!jK1{}*IGax$%fjRcN8iZ7Asml)B#U>_#oG!XS#YRDsGo8rjCyGgL zp8D|`)GoH$y_(%vYS9L+XWrQ0xew$R6OUf$Y6ciZ3QvY%ydcP~^XM~g z67ASEypCEQhJe9v$y`Z)dSMIKi??=ruv5g2`>npG2K|Py)`Ma*=`G-3gBXQ%IC!1m z6b>lXZr=iWe$vYy&vjc<>rWVr`FHxE(njBME#Q~;$pPO`80NqIJ36TU$9ypIAjO$(UvXo%Y{js zB9J*?=0`JsP`=QSGe)~W@a^#_5bLQ42id@*j#*Q!q)J&d<}yWn*fGDF_$%D!6q(kj zm7>JID(zGSv84zrB>4^kz(avMwUS=B;kC)CalBK;3hkz zzO_l}Q!)>v!X(z=3DEnBhM_%`!05CoalbWnw4;^PH8|G#L-ege4?eS-$O*oNVUwtXmB*%j?>Tm%x} z)l(ieO}ieWx+CgGjC4DDFd9-TK^HfVdk62;XWgZHc<054gAWDl1)JU!(36IH<=zf9 zb&BTK(v}pLWz+oYAEtGx_z4U2Oqp93oGZ_S*uoBXK%R+aOdSJ5U&6=>7@_JVx-*mG0Y@KM1@ z^{5_dw~6hZmGiYAIaEzH`G)7ldXsqGYqd}=X*=TPN+HqMB@~8{T`(L{_3{fc5azcB(OX-m0J963;abZERu$n@2%9YUB&sTYi9UHXsFFtZ`I?$Bw z)BD-E`bO^1t)pTA{KVd+|o2slk+yVEBDLC1O z3M~_P>@1V8VF@3Ju!Jb>C-QmqNZoc##6Eu0>K{ewV&$D)w0RzrU+fa3 zM5lo|a-Qopj=%S%WxTb0f3XWiGghk2cYW$Kjr+$+;GafM)NHSJ;gG`KQ)ycjPYf5h ztkcv_1nkPN*x&9Ne1Pk=^7KotL=fV?FYiXkGQ}@B!KYF1SK5mY1r|-S&#&^9V8Y}; z#a|pe*Ixc&u6Tmi-F%C&G8~OAc=+()Wb6#^kPL$e?YpJ(a+XOJP0`||09Eg6kzd+h zdO#^mev!o+j8hzVr@dgcwueG=1lOu)$#6{om5`C-B{Z*GO&IpU?3o=N%-sSGiC)pA zv0i+Cjf~f_RjG!Xlv(YRgObvaA4RED5#9UNr?*9MbpK2VMcKh5^2S)@<_fXgzAk0a z$|O>I%((3C>jPY_E_TP24)zQ)K$DW!GI|4(UP-C2edOX)e}B8fvWWB(oP%z<1g5^H zHhAk(n7Fat!n7VWgLY6U)x!>JA|BX+Ekj#=h+(bl0+6|?QMt2)YjfvvuQ+k_jS{7Y zkiyebm;o{qx6e}@iJNzluq#>Ki6M=dlqWSOYZ|z#!%DJS3`$LQr-Af}x7tt``>?Da0kfOgg(lkK>OAyo$oEqsZ*y zhPT1RAuwFr(99bD2)*Nz+Ks(%N@C14to?y8n^y|AwMfC*D>hEDdC3I!tdAy!+FQbN{#V8Bc_@f>4wu(_=1DI}CK9 zC0!<(iW)N?q?mC!=^wSmv_(H@n`zsj#;sgJeS+9 z;*cql2`3VSc_vOL`HX~V`xr*DX&=i z@ne*+F*jDWn1CS?fW5kL z?4?j}OaK33?>)nsPS>wdXH*jLkWxnf^_N9RX|E0NDDQf;(&mG zL7H?V^b({)LQ#<}y@VDby@Vvv5+EcwPiCL}fA{<0T<7EYa9+OPg_i=!^Ly_5UTfWJ ztqr4l^)pI5?SRlva4ezt(|brrKl@;H?d{s3rQJG4Ju9G1Y8RREO|AYi{Cy-XhND`l}fR5wh|>1uZ9AdH|Ozihl#R zF+n0PZnZ=|=Qea=&ABK`nKLr4X1n~!?E}tbMZN3r6~!29kh{7$F$1r`QCeqM&ww3! zt($2>HUvE@ySCCOYS6RPlSpQTAGOowLcHifP+&m5F=yJIqG%ruo!IXWp{2QO0uaQP z3L|!1_I<;-peZ#sy1qYdx7B#(S7JN_rhd-`AoIyrL-_Q`Wz7TU`IR{Bcmje*kTTNp z58g3QY%>0kk7UpgdpWEnweWTauUfz!j7#BzA&(`EFUccIv>>DR%~?Cwcd67k^UgPy zJVlWE??Wj3+JZmqsjmIX=u)RNyl;=35%g+xW*VsuBMtrc7S6~_=IbQR29Lkc+A)bx zN;WXXvcT1g^I=n4=wtxlH>AAhdW&5#^D0%hb0{^fU@x#+mI@umy*GkGmgb`rep&7l zRMmq-VQ^gCK(}K_Mgm{1Uf#CECM)3K)}9$jGxLiO$ZcteOI@V0W`3*-~k< z>!pI@2^+fpg^>%lo99uf+%T+Z&cdBcUff0G-C zbMjg`0ZCO3;Y|6%ujT6s26l@j`o-sCAO)^5>hgbH3hWW1?eiK<>s)6J9PX(MNVgru z({g?roB^}v+JuO_dlGl7!k5#1gM$sNQ6g|2=+SFNvoJesZT=xz7R4pM7bP<5o2G^g z27W2>ADV#IFgZJfO@Y|1*W8HeMf((#0qy5RgO`H}h&`*&NxTNP>Q9%iV1y9}TWiCG z27(Q$X?TZ_{??;vKjkk>y81`?6##JT5LS)UnSO%XM`tiEQi~~(N2}`If@&p?|Aw$t zx7Qr22Ft3(fl>3~9KI?Z0_}y;t?S^PGR@xs7&N(v_>!P)JyY*VNO}YG-8DkfMe#P; zjGJDLrKP!@e}`Rd^1aekh&66f0j+{dW>6vYU~IHX%lQ+`5Y@!;W~tW z$1QRGwHP%tjNF+4_o4oe_V}LzREh+5OnDOtqe7mK687Pa9cx?xdkr`6;*QJw9uI4P zI%ozgwAJ5rRFMCfGwaRzCYz2@JJ81C1JG4l{7{FfV`&R*PUW!FPg9;6B~my!I4r>m zrmKCC&;Hp&=`d$VePYtZ(b!Q;e(k*cPuTCD&k(v@?kZ~um5JyWcICP0EgBO_&OwDz zA^HcM;b+2`bzh6U+<)iu;*%$va`!bqa{O#i@i=0SyJ>7l(pJEoZ>_TIn|wg``>1I( z#^z#nh&x|nmvBhqs=J@U9l6r1HRV}=M{E{moa)dT>iYuxwl*M-bOw)yV3ENDIu#C# z?E?n8-Utifv|4h)4sX+hCIQ+*uI^*I0-LvIm5amopMciO*Lgzes9i+5ejrOv`);f@ z3fTP%QXsYK#8;+Kk~7y)-uDzZl%YGukUfcUXXuO zB5>fb_;KuoV1$;J^}mFWrT!TT^~jf8p8e^H4G8jd(`u}MOnuPKO4I7ypr9aUNMaDU zQw*mcY46DfZPRH07W$`SZ&O*$5ST|apFpl_;ENO}Dbb(|Uq3C0;4NN_R=jgXWmJ*@}e)V@D=f4-D z<9x#X!-Rv^h!Z&cCpcteYS?&yb7%hNqh4;j{_a!*F$@L*xb7*?GQ4KN>hJG?-@i>3 z>!&?f6i^pi0&Y$3wu;R^oo^reRqVV$dvT|6&scGSkljlmaBC0@tR;uql7i37-R=@56{d|RrRH_Q+`k3y z8f#BGr`m5|6#w(0fzQvSbm}}FaJ=rOfOow+r;c%ZNjI-uVbC>rIw1Z|?p;EN4;Q7Z z!2@}DXFjT(u;b?m*nu@&$g+6CBhj+n5%F8w4~>nDcc%*RswO#MOJy%#enGdoB`FwK zTBUL344`3#f%GLeIHbeW5IPP}W^cy+qS5Be7VqXrpL8t7N@=W72bHPG9rIM|Qq~Q1 zbt14L5TM)cp@V-OF{_BkVZ^sE+UT3RKOBF8s_?rB%*wNHG_k;b?#qGENcAAyk*JB& zzNQKj7$IbG>o>o*>*;cCc`7pYiPuP#Gfu=ym5-NH538@?vQ_0%K!{@P`#h}&f)EL> z=HRV(`W*XL1!e)uKxuW>mpnSCHL1?>Zp*l6);D&G!nO|`HmD-S+i?%c^>2QdZzr$2 zWLJSQ&M#P{&yJgY#^kO_So*Km^H}|fam?K`$l`2Jmk?$?4g#Nj*6u)#4{!dwp{4!$ z29H5<6R^l=T6O|b2Yq%zkiY%m1lR7Dw|e6!Qh_*c*}EhKSGJW$n|eDdOH$)Za0rKpD4YF_5C^|pf&qzq2n1z3KOmLIrf z_PMypX7!*{-I)03PHmyZ$xoNOUY67qB@c&9>m@NQn)mv&Z^WtV9Ur7o2`S63Ede>o`JZb|j3wI!;D zrvB|1-IfXi-V*=w@m%U2>hAgBRl#>^NUSFqsD>@m($vFSK|jQ<885T60c{+)8y#0Y zJuE>UJGN9m1F!3oZW%*y>l>8>k&$a!t(y#i~-oAzmlXA|V)q!Q@#Hth*PPvkkW zqY9-q5f)f*zDbR-Yl;_N%cyKai2m*-n7%@d;8FX~MnKqjjFpFV3Aup4l&9tIQIKMQ ziweS(zdo}IOy3xa_ZtJhifz{Y(Lw{yg)dajc{l_a;qUq#ZV^360Ai|Ap*9laWlbaU zKY#wyasnNvJZ*hXd+g`zs5lj>N0iV6UP>UDx^rICqc=$c^Y{(qytA{*y%Z#cHr|S4 z)k5D%Mr1Rpk&u!*#-f=pOv?b|RN?o_7nM?gYYF_pQ<-6TIp=LY z#?j7scoy}#Q9T#;hW3CF690_?;;DT`wGSiz_=MG8RlPb=YEJ47yN=t*jnu*-+ zIv4HQk0!9=!zcg#jU8=3ovedd;y%Ey`@AjI>g)bXI?JjRdTSl+@pVQ=jqV$ zHa%X!X<1Q}x~B&3kq67ElyrvNHZ)DiH?l-0tyeXK=An3HGBLq(AVXzP{`I!WI84_4 z(ZS?md=r^;_&XSSJV34#sulNsIsv&B^1eh(K*rv~jy~CLKq^7vORf5{t|y0YPI`H) zeRvONVAWc4c3WDuxBF3wPfyq836H)(?#r+u#fesZe{|HB5j#e}!%bc9~w_ z4E?g0t4*u6jur-zWy6bLx!unaZ|UG)0A{#>4Xpu31fm`{;Sf%i#}}L73n2HiAyy4R zJ0t6g|J~&&1Y|h9s*WZC4^Z`eFzgKN0I<@o!4`ElG~)6lC7=8j+D6%F5q0LSqhJ5- zWf0~<`xwD9O?#o`>dwb$$uL{JDqd}Ng||(H0LSNsw-3pJCFRl0>oefZ!1);Ue_f3=w!&y5l+1209%lBe;Ft{h8#$aOWlkePd9;IngiO50d#CwfXbZnlS^*iFK z%$bXgvLgOV=V|!1xkpXhg43s&3>^JN;sDUi5u6xQ2W8phn^x6d)L3hx0fgfBX>D)> zv89Z_pfhY8Kj!B7-&0tq8QcWX47D7jPJ?INGt~iMRi1rFBij^i7G?UBW(7~XQLrQR zM38uhTZm7^4YEM{*R&YMZlQbl&u^?YFv(a%DV72bz=bwT6^v7~!KZyy5Wi@6^8pvI9t@_rt`ncd{M2 zF?vOEp2K;65&U-gtK7_(dqrU40#;dK@cd6x3CkTXh6!Vj42V`0MZV9DyqUJ>J4~D0 z$cl6=^UOHKc+;}B33VT9!`WrS`47OX85aOLYY~tpj;reSk2y-nzF$~zqs!}1j zLFounuvK_4F@rdK{sZQA@`L~i3+_&tkd1X0+vAeN=Y`e9@B8lzs=)xZhVbaUFaH#9 zF7^sb2LhY#9OL}^deN5DIRr3I!b)89R}FRzH~16v{=)ifkU+>5+rF9uj}Iaj<(T6z zDLfJ@K)nW!D53_502cUQ%&W6-~K0c;gDf_~6ov-Wre0zmaj@tjuaDX;= z>e{9M#RvZLuO2Xm{;j9|&;N1k+yD8(|GXBQKm7mw^)Tz>at0GqefVrZ4ycs^!(uj( z{-lX10G&TU@{k;HeiSEW9JCWmGpTDho2Y}G)fupfM2TZF>2tBtCr3<8Or8MHB6?4K z{=|$YUK;WJF4Xh$tF7SxMU-=2$`lcf>&KFD@i>eZSlL}u0cu-4(+3Y8X|Q%gILNw9 z%~J!v^_6(lf-wiywoAa#;eSGNKTedJ2qu-h_&e-5-Z377n*rxOkNPEmtf7U_oU1=fu)u^AaJymUqC>cXyEX{ z*y8(pE~(=(tO(SlJDu{)QzPra!~VROQ}S{qOk3Z6hx&Bvq;)f!6@pmix13CpNR(1k z#6uL}9;As5_BpY`>`e|cw0XO0(z9XCU0pxzf*mf@kDIl=QMSps#1-Go)VlE^ftuay z`h4S~q1=qb&ev#dR5cSzCQU#eu_^z|_S;742VVf(iokK8uEg#gsgpsv~&6Qe`H!*eZF_hk=?>> zaRJ^PC}{~j?hd(;2dY9Uh+6A9_bDLL^F(FHMN1Q!rR* zW%n(Zt$O7(jgMo0D9U*XR9dlNS9~Qc%AYCL52(;Dhb(M$l`TE(2eyD@P$tB zT>8_Uz1sFtvXB#L2v*SQ)XS4QXewM-Au2eo=tf^fxZaqn|K7&<1Zd01i$-d7igTfT zG!UD(23a3oEiz#A*oSVNQ~?=5a6>d5tj{tPk6j*(J41j6#w0FMqpZ}sAygpB3 zouX=|K5{IH!vm7@xiX@524O?DtZGsoo7=|=f=2yl)dDZU!7KmRdmzT$>poWe7!<|Y z%2tS@`q6g{KQ}9okPa}nLMt4CoToPdf)&niKmyzLv+_4*F7REvI9=_mN7w;{_@RYG zN{BRo`0Fekf;xb{2QGFg?!@=_@L4aSQTBqcNa(FG5EAt$^_hEbx~5{!jVEB>(i7a{ z!^BCK2urtYRzHM>Dtf@L^BJbXr84zE;36Qdy%FZ{@ z(so9Q*T9i^3JzNh&88dmZsQN=JL%@{e+IPwsn}C^&GlGexyvlA&rYgjBj8%G8cvQO5z?BGK;+|pY;!Wtq^D+GX{^>+qTM=`9?oLSCF z;K#nczM4cMr4FWDt*i0X$ZSE*?QravLN@q)3I%1fg^;zd#@nI$AGoz5M|eo!y{NTA zOo>sR(fP&s5b zH{M}&V$=Z`#)8o9rmWkKo^#l2$_{}>=;E?JI>i9oEI~ON{-Y{$%oH(}pxx-X_I?%Q zLBst}CWo17m1NhDX-s`3bN_uYdplKq=6%#I!W8zp@WdF_S~%2bkHc11(R(#Uzl#r_ z{aGZoz7jcy#M^$PUdzaPAb~YRAgt5lHW5(JxfNJ!`52QMT zu0!qw6GM0EGA@idoWZ8ZJ$X5?=O?_I&2q180SQjG5YSBjl}pYT!7M7^z8gvJyMAEc z2Hj?+wV&m;#*F#yL)w^L4NWkkWu?{38iFei#Ek^jhHC)3`iqLRfjOTr1e&$T6DDxo zh&5+`NAK0O>2cY6_^zg~-p%(VZyw&iI@g4+D}_xEm&}!Dr20yfFm$?QA}qA2SH%DY zznXKzNF=n~#Y$_1wz8DX?U3JrH^SlGstq1pxIP}jy1aqAdB{54hP_hIspCFvf99~^ z-d^QSE_6t6%kZq=vjNYHLq{3Rh7k^5J_<_3Uc#yoY;MG8|SUJ4k;4%M;+8pN! zcwh$vP7^UPF*jx2W)vT9D{>o4Hrn4e+sX>7$+{DQ@I&q2E?6kRQJQPMQWw{cq$OjL zcf*=(KX$Fhh_z@|G4@?q{4zyK7-ALNu2MFhvy}D6ftgN(>=bCpD@=<96x>Fx(j&Zw zKD^f;tU0ICG|@=~8tUl|$nj(Z(;tuhE!)@Ex56MpfucR{)tSP)?GXLN)JT0fEO&xu z2__nyngRtS6tN{D?W0}@^o@9fhLZeE0RC0&41#g~=vgD9IqXX-kZep5*h1%1!S=ZVD zNF1NZ&G15WRglD7=VqJ0CWDu;83sRi~^-_|#f=*dB9#l}X2)uqT0( zoi6!9ENMW+Lx1;au2b;QbRDX4>4P398ib51+5R6N}nTP z&g-la3%37xa#4lVo8I4EP(Y)6g+0i%C@g=%M5D$|v}z4-+kAHEnQCm1bl$c7pu8#IgDm=};5Z87TvW#lGA!%fsS_DO>ncqyDma6VkSD zr@3l}Z~3%!IH0B)j*H^0v7t9pZ@8F8Xxp`K_v49^3mvfp-vgj!C&*>Qe2Q1yxR0Nb z9G!HS!R@8k*hXDg9xZh=3hIUi5Xovq*a=6#ZeWH}2V-AGs;Ykh@A&XT!(3ZdBuL-X z77m)EyteJTcaJn%SGcXZ|LwT*f_WB+BZOfwM)W9HV{p;&C!-@j?-g6nE_`@WCKc2QZSPmU6K%v3k!rj^Mylb)!1POaFb zM=gYEz72Nj8}~FxVTzAmhNyWje0gi%a!z^*Aj)ENCX*^wW>MkOw`W;dH!FfJRx^{C zj^B{zZY!!L{bCZ`Q1SWm=eOr`kQP3G1;Z|v;=pv3Jc}SzQ0h{Qeo>#RkPN2a%?Y~C zaHU0-_CZP(M%n6$087is)6-p7U594zP(jBeskFRA#O(pGAH3nF{ggWBu-*cq&SC^- zS@{+qwpiyp&;EC}MGxIIriCdMct^&#X>mBf z`CCW$Gg3}a=kv)rG?}D=@o{adY~7Br$)+687VKbK`?8F1ucJ2p!}5(@u$F|My-gy@ zWWi25*w|xdeo8UMCt?Jw_zozUpc}FYJ8(`-0cGY|MR=;L1Q<$f5}(=TJ}jAOWh7k= z`Z6yDb~F4*;#|hItBX7$0qgUQyMcX2^$W`<*&qX%n>EPO6|SZbOFwvKUj_QzM@Pvw zv$q#K%Vf9tw!E8!@pd5wJ=@EDXll~7cUt_qD%7$$^@h>;HXf0_6h))0nbWCazw|Mp zHuUzcr7e}m;Q3`p(>qmd;278H&#qRUA}bOm9pZfl)NoFpUY>+Eo#?~R`6^>J#4^23 zR37hWY{dY|%gIAfS*xS?aBe*?iO01m9_in5XgmMUJtTS>1GodDCg-#yg9~maAv`{?u>9TZgMEnE}PZ~&^es=$ZdZz*lAP1~0`jKdq( zuFwxLDpbE5-i{QRi+$pk^2kWkUB_)g`xs zl6`>?4Gu||u5-r;A6c_Wm925y)N+4$>ld#3%MKTBegK7zFaV{h;zMkA=^%YOV05jx zh&eg5=9b)V1g+7=6Ubo1eg+LPyB^-Wpo@=KiA%mR%*o`2 z8zD*SzchbqRC8j_up zL# zB{JJ*7qT49lsB36$2&MYbr%Db>p;Nv+k*KN@CH-pR(#2~c!&l0)Gb#?DRIITM;ot2 zJF3xLVJT(mel_S5`_8G=~0pf%ilcr2s?Fkqd(F z5}@C|MMx_og1Kp`V<;wyD^u;)i#(Es8{=iEA!>lg5-=JsH6LwZu^2iEiWeBMPx}5L zo4(amg{5+LQ2=p*7L2xJv``KO6}pcbt`XZz{@sCgn7KvBGXJP>d+67`Flwact$vnA zP~q#zy~7tar*)N+?yqYqs+lvO6cIV(Y z*aB8_iSCLhL``{7a5USW-CC}J!g>PYun~nf&X-> z38t2?Jyx>@!SE_wG&=2rzHg;TO!%fSQ|l>+v?x{Wa%g~O$r3Yy_efoZF%mLl4ZI6U z!P5ie_`L>0(KfY)u10BUD>38u>pu_?l-o-fK(iYbh&*b)lmVGEG`|7xNRrN?*l%r$ zX&&gi%xcAZ4W5?D<|(P*7;jTJ(^kR)7KEmKhK92v=yvVpfRmaiey&POrsvha&u-GlFSguevY-U;g^!lyKJrf!e1@%W-Sxkc&8M(cxhT!5p#&24{-Mbq>Nl5s^UeN+5+Drx6!0nRkn47#^_hjIs-CL8#@ z2Jv~TtI6rZ6~7vnO~nEzP37L(0WeeGR`U`7783Ymwku90WzKb{8s@QYZUr)|B+KYP z=tG`#j6*19$c=O;%*gqokL9aeaBx1YsIPl9aj{YttH4}4BbWiPa(i`(Ga2^HHUjXG zxiEnema<8voz*Xpt)F+^rkXf&&W2R7)^DS(b}^3QD&atXX=`-Q&JY&16TP#(bg3sl z(em#iC%Ea71P(DZ-qCR9seXeM*8C={{@Fpm@#Qesfkx5V85(FFqKee(BVZdPcvOkcP zcB10tMk*j%KwzwvpgM2RkOd@YxJwGstag!24yTTu3eMOFnDV39q;+u|G;>2sYwxD5 zX;Xj`4^B(a2+B;#FhK*xRbfpk=gmZgWo0%qPZ&=O6SPZL+xr(C`WTFazmUck-Ef>X zNJkg`?OIgu9ueHG3fr+Vptm*hZSl?yTX9o7+N~$+M!jGGX}zOqf1vvpIT+1@-VDkH zg<6<<{wF_EeSbA%XXNNCb9d1Qz(cY-q5hFyGL?iNnfPF34SV7>+ z)P=B0Kv1q2vRTzd2GZ5otADlFH37k7i4Xmy$;kfZoxw&;lT~)(Vq5@YYZU`#^n@j! zza?Gv-+zJL7d3iSnW2*a(`m`FZh$XtP?J*~yrD&4Bg=$w)#ohu#cO9;b2>j@#Rs=6 z|ME=tT!i0X9qp(pCI$Vy5j>KwLut}FH_CG&*+B7xNZ9^wiro3ZU)*BmKxxGJtzT$> z?+z88k2dR6c&oEZeajLm?PdOW>_dUE5l#4%@Y+H{QFiEvyy}SDyYzE+>|%`h%DPh% z*cp9yg!F?zp-bBJj8VOZALl^T=twAQe~|*wD^OJ`Q^vSLbdp_WC#z^+rM&S-6HPtf z`fFT_HkdTXKUPf5J0lZgLs7R4^-f;myq_7X$l=+Dj(jSi!ZK6 z^g|@$k`|vIKlhBA(0a6RCg9E|9(4HRoVoYYfP&njqvKUf>U?+>`ufvweGAU{o=TnrY-xLCefKxF-*q8^bNV> zp2W6zfOiR-PdlXN+9WUg?KRXD6Aolo=fUjkisdFDj$Dr61O}zU(Evqwl zUuSTvTyA9ffCc&Mq_L7j#$!!}?PWU$|MFqcIV4?(o(0|f(3-5g{TzM-236`bSZ8_+ zOrNqD!X)jede0f`PCc7-s!`YnvaEp~IPjG|oKxNZczoD$%e+%z!8q$0BcLR|u~Cx!I?hfLS$qA?J}srk}W$ae3amWq{55pe;}Cy!;Jt-Wk-SZ{1e7mz}q$vYP2@E1U--eLgb~5WaWG_;^j#V&^o_gw4WwXOiRyn928}#eeCcCt3zoZ%3(&j6SQxHS-v%pTKPJ5S+ygO19x7%elW?Tm9)jA zY2IF>-~#-WUQU=^f2SXwYVN{^wBJfxaIGln0#~yq@3nl9M2R?a)w2B^fM7RVy7N?% zDA9l1KAc>q3;n-~*D`mnrYL)VZbFx9toSCcuC;XI_bZAcX%~KyKcTdrn~ivwqd}P6 z|0Ht2yB@MXkFmsFh!(`O4V>Hbel7$wyCeeX+x?fj7+5W>OA_O!lO9ZC1I(fvv?x+ zc_{MlX?aam7wGxHTb3^d*eVhN9d`-aXC^Y>Bd+c#8o_i#JTQ3}2RslZ7@Y$=n}&_@ z3+=y`o?-?PsgsVI`-_K75-$Pe@@)>^p99PozKoMQ!W+da7IWl%Q?ia2L@N##AeMTz zmb1kM0373n9E~e8CY1$dEata}dc9RcN)>0?Y4#ngGe)=ip>Xi#^`|NfZ~{yu2(+0& zL$w3G04dktUI2x!4Ps z)^cL78>Nzt_%8bp%HweCp*vWBsrGDZKL_`V=U5tG3#Ssag`5HOl&{hTRyh{iX0GQP zg=E|bF!byHa>G&Z@%j-Cggc!CbaLTvx7>}iSAq-qlJ8vBp6cI{31l7oW|5h9-r^cy z*1AotYhBl~%Xs6TJnkUzdp^zNGXM-~l$do$R)ytU~x9lr|jIGA0Bh&2G&1||EGZ$wTFAkuMeOZ=pg z#ONnV9k*l1d^>EgB3}M%&s~5HRou4{VCM)&SMW#OD9pO!5|?qY1$OmR?{0t<(oo3C z>>`s^(P&KqT9qBR`<~xPdRe6FA@lclr@jJ--}2AN{+ZxA9=q`rEhjz$oW4AXNL-V> zl(yD|V`3-MMo`aPvXK)5$|Miicxf^&E${r_K*VUIGXIJ<4<=TKB&xdpO`tW*5Kw2h zyULgTRR5l%_UJj3vH5NCCkw#1B6g?({QOg37=B_}#QN718$qeTO5{fB1lvBF|BEAh z?U>kWarWc=1`;8qM(>MV5;MWx&h?3ojDx?!v98^{cY^we`21HJc5W_$i|{01 z&cA_i8)_FNJl!>*O1f$3rF%2E(M{O|bqw)1U#-@b@j&K=XE@%Kdf+r2;7ToYH#TC% zs~>iUWh)M5S&oz4ii*N{drU7SeVhA^7bIr|uvalW#CQ6;NAbW2foAZDuIj5?)_IG%%9FRNrFW(6*Qc3|LruqnZx4xK3U zoLRFN0YM7jfXAuZrKQ*qg_ytQX$3+4wDZRWZatX+hi8)--ZqG7TCt`RD)b>)3m>zg zqN^+Lkb`B**_~grW^CXs{jA+0bsROm7k${%)8oyyumzp-usmM4t6Y+ z#-ffDJGI`m`0$${_H$5VaJOW(c~m-)&2qwj`i*m^1J1_P20LHlK&MdZwqGmPk&+~H z&XjGc-s4`EK5Q4UZGoA|LN~OZj2I*r6;u3pDg6y|^_MdB>w*vtw(63skbyIH|j#NQxy2fig8UE%~5@QV1v#U>R`_H1|1_3135L<9v z|J^sO-f`Iu0ssy38U5C>Ab9ciE|BUiZU2<4=Z)jyZlsFPZD!7%;`xbcdHXPizYnmm z*^~z7VP<}>@;`U{a;o{l>hNm~)1wlBvmfdX`y5yv)MjSA;Nw3;t^Ql=c+936CHr5# za-3%(_Yi&ee>u%@zVh+?|LYfeZbZLUBYymU5?);r{dag4=YRX><1*y`eBnQ@1?Ths zN3Ta_`Pe(h8-6P20GC0d=wGdkC>80QCl zAdk6>>lJ3Z)%97u?TJyP5wCUGlct8O$A&o|>M?Nt8PzQ~2-m$GAN}g%Zf!wEq!4yP zYp`~C|NQ;OPUCgaB&d4LP-MaIJN=(UC83IrC}isgaqNkn*;~7oB-VF78?17N&p)|p(P-)uWX+30PHc%^|6UbXT5aJ!i^1ZRiZT8`@A16CvLOBef|36tgY@d zN%x7Ouf5ub7g=K%i}l!lounPNPZva*yLb0^l6Rrod6f&JtHMW55?aFHAuuzrH{f>Q zYExyZ7<&=C42ZQ{Lm{~9NoX>uB6`_SpsIT@5Z@9;yX3ewY= z=9eRs+o_voGprV)qrlqcAYJFqGC@(J=zvT{U73wUkcD|!Irbd>(_Tx)6d9SJ?a(1G zV0v`WwE4V{UzuayJ?R73r~pZ;!#FDx!~*Tvur|`YO$>W;b7s7H=3I<)w2blBbwQ1j zRQa{AFG&t($lJmOz5I79%|pvN&7mS0k9|{<6`sK|EJw9$YwZfy6Cz&=UMk$1#W<=R zPFc~uZ&kdV;~5UhOl?Edba#Mn_`$h&_k3@2mf%yH$`z&hfJF$U^G$;`8iME;@ZVfM zE@*9-Uei_l*t{pp?n%4>^LS|c^c1bkO zb}Qwms_eEEYs0UziK9yzDU!IET(moRt;^sOwXQPN^LlNCvjeTaF2&8zx2bMPVt!H8 zuZwF!?QM|a&e9jlUQYDy#>ad3OH`nUXOy&OLNw2Bx+q?M(s*h#&Kw$xXU zOA;2A8WKj_`C~u1eVu(NOTRSsuAGf&8nzsdctRyp(%b`thOeZAoKo7v&*g~O^ zyrUM~qgx*X!Vfc+xzjzY@CGpiabqfE?^jFeQD=j`cl7HY;T7SuzMWZYSQ@+B!9sXL z2yHKGdhw#gh5`Rx-140vgo&HiQN5{g;{(H?l zm**#X?VyuCS-mLVoWT<&o&D&?vh3fx5b$4+=E0k+oz~`gBu}Vs>t1kZAyPyqGC6Pq z8Q#olUaLuMkyp3K{=RjRj@~;L;{J5A<`c;o=C%e@Js%2`u>Ml1MWJC2G5um^ry_}RW`mSdQ!BmJgHi3jJ;`z2D+BO1I1 z#hM-3ZoVrz@?E+zL(UnUg-Ox<^Y)l(d#YC17rx%BjhooZ5ia`I27%)*S(70+xX zKRq<%>6khUZQci|vS;Q*UkfOna)b7N%R49gDNY${^lj0rg7<6U=jGjlSK-92z6(d? zti$s|U&3iSX(uHX5vPUqZpjR*y42 z(5XYtLt1Ta6;XXhyW&H+fPhU`K+1H6FMhh6G0_lI7E>`!(%Vc*klaj(KB?e$wi_q(+QtU-T{z6$%UsOR{i+30MjO!n=B6R!4Q z2{zZFHw<>I_WX=n)@!D_BxDA>89ZK=dzr-;DAG_vQ*wCNrM9g;VM$)UOX)i*XYrco zjf{nlU!ROx4Z?TnrZ)AsSKHSEw3 zkrkZATLLQ5Q@~XmGpDYv|0QkIgAA%_xm7kau=Zf4-s?d-mZ!fVCBfGD;Z^Me(kt`f zx;`2EuO$za?3+vXk5=zDWBluGT9xONl=hnXp>-ACe?CaGZ|LdscDA&YqKDOYGb`?A z=e3oZO5t7jQzg~#tk2%f$}3k(VKM~O0&PYx=5p)i-Srg-%UxG@qFq%)NX0Um3oa56 zldc)0`@6ufvbEw|$dUy30W&JgBTs4O+hM}a6SbY0u=bufFFbqBy%6PY@ z2G8lv_4&o`K}qcL!K$(K6{155BJQ-wahzFK@=cipCnbX*s&>hd<4U=Y(mP=<&3dYO zs(7VNz3M}OPupE8M)P~A+#8vG)|~dy!>TkC6DN`?Fyoc*Yj9hk5@LMPy#A4YbPLoA z#eImWeQ&62AA6#^)$&#FpZkxjOi^oHet@MJwpGWLoeI8^?!|tI6x4P|BTX$tI1t1i z$YjN=jWr{7t*mt2Lk|}BCUmrP-drfTMfi0K)sW=m54Z1wS`x(HH#TeY(yb{fSm!iH zJu@#>4GXG-H9g)CE|!bEgzkKrmgJB#y2=iHU`n@U;2If+)j`S^#blUVgVLjY_ZY$7 zWA7oRelT!!Hd(yG-D77DG5C}d;HlS@KW8=1EdENk(u0;O%^=4)QmXe9o564T;lNt> zG$}jN!qqYWcxC@ z=P+zgObV&+Exf!q`-r;?m0aYi4ym&4+8~ZPR7n1FJZ$1NpSq-vdpx#~yx?$A(+(uL5c_eS3O?YcOyInf5!$(3Wgy$~fiA$KF}s+4hFuAu7r&l5KLHPe-} zN}sjDlnVxA8A7CYbgxMKTZz4ATiku2gF?gq8dbJ{?y8PPdPa-ujNFc8ZTPF+V6(HP z2lgN)mtH!9n*VVHeJ|@~YSG%3Q^TQxuX7d3&ejP}Ht9NSkjgq&W$+G`qmRI%+cJ!-3X*-zhni0|U&1GF2g`57ib_jjYyT^qp;iV9{FQi!6jl3n9t zhbw7I64u&5nZX;RYqrm((@_aU_w#I1RYBwU=!^+EVSMd-Zt~KKmBrPSrk*y&OP8~8x1M_ zD_+#fu}=SLpWedh&aLH&KK!+nF37Qs_l8o|*Fa%#I*7|jcUT@G&Z}4Wk*+Hn8D)(H zN1Rgt$9z)R43vlrMA<65^DLP#bnT{8b*xrpt*Odb^(xKlks`$!&qXnt8JNU8fs!Tv z{PcZzaG?6P>kZzD59F4-?rDjedW9JrEb!L!<}T?#?URmixiv*fS}f#NlR6_sbo7!m z*SX@0R;^RwzPr>_9)0$&y4s@{XZoY>oTNI=xx^{h^j>sddsjo8*gf45In6p6NhD3- zt6o%`U36lRrdfML2=;EV;9pn^KgXMi=Q)m551_j+(`i@zc!j-c@>qgoxn*oRLK`1U zb06fIKxSOVc~$ntuHQ+%F)?Unz9g~zvAZL|XME<@Yj|!hLi4sa4t_t7zu)v_750Q+ zZ^=$9t!VhiqaYut;mu!`MZ#Wf2CnKH z7<`D}&Uy%b<9cE9iQLV|t+H}@)WO72o!Erq!&WJ4nIkQ$)5D_0AfM)wB9eX;)4l&vHxYjYN3Xd@sk@M?tyLkD;VKAP zxVEqLp^ma*l2~K@o2KU7v76ecrLpIORBh9~uXgp1y(9{gIn7dNi)sj}&s4d!W~?6R zTY|E(brJ}#8^LP&B(p><8cSp96P-GzVO{P(++cOIK`=0s7(mfxKY`e#eq3c+(G z399#$UOe$feJ%+7^MZVmX-f%f0cG;9B*W}0pwG2Q>hAg#N|_BY=-U6q+|hn1&GwpduX8sLJ!>xA&Ju61Z536u9_f7FP)_Wuwk6V~Tt#%_aO$07S7$nox zh<`EK8Y6`pE~b4FX!@{;@>3?94Ou7@u&mOwqS$L$Y7cn&Jq<>`)b4cNZiwVm4P5FG!glD zKv5n^1hc>&|@ZCZP(Ca zO zLinD~Yoi9C*Z%l9Q}HpScX85&uCKg{4xh$W79d@%_vt;k`E6r$idAGe@mDHCb|ocQ zm2S7KCYsSra0KF-=#AlXp(bj{gF8uN28WCFgv6T135rh=`ddv-PV5eO=gphmU+y8t zKAzy?>33qsD2FO)M+NL&5Z~yEirkZP+8};*^rnhBP56V>Hx3K|2F@k#dc&SfiZib5 zjUuJnNm$XlUb~Kj-gNaXEe~|Gw$-(uHrqhdC2!}IuNI4A3J>S{l;<2+_)4PG1?*1v zZ!OGy^hannRYK4H4$hHPzQ_}3_pbat;jPceDq z;zvf&E>O!h7ZVd305X{oP+v@<6vIz^ZH6q;v=3a39eeOB0;L~5{-cFFGEjtZ=a-1T z%^mC!X|<$6Qb?Ltuy75Nn?})rJnUsB*5&@WmBqzHRctqVzW-RUymz*GeH8a2^iv-O zv0D$GGJq48@lsJyi9BmO1-i1uBUXm{mvH$ke-&paIcWH+s?#J2@u6__%KWILo-fvp zLMs{N#?@7Yi_&2HoPhp@RNAv*6IB%pGu9PX%}(R;AmrGMmHf@=0ZR4HP+;8hf-&Wq z{`UH+9Yk&ZxBvb8M|w|sjbUlm@-8-VwYWBt$YIlc=MwCSTgw{-Z zVfOMyf_8NrdrVHN>9L*jaw(c7_X$%i<^7i^6B3l?2(QVbC)LTDo@U-}Z#krj70n)D zuljks?ac`3KZZ8%pSROxK((dZE$VT(KQK6d{zHL4p@86LwCxvC~%g9Q)}EpcJ7BDgBF4P5%SdH>LFWb7p3pVpogk~rtR_J z?+8;t&EQx8AD$x4v|N6pf&i*bdd-};JL-j>;KBeaX0 zbIcujhiytm+lm-*h0}ZG(YZ0#j50kmRdU|>qVGtnA?i~F@64?_AFJCNw;GD?b*9nR zSOP9EfEjui!^u_R2uKk}X;BUgweaCRm9>}LtLFoVu;;;97j8-jx_SC)ADG_r~y3gr$$|rgR<(U zjZep3;SDw1uT5n+I=zFQq7p0sBu^N!aUd10bgvO!(iDxVi{4R zQbcPgYl&I;fu-8KPb79I%TyW=01AXNx2Vm>yJ(7YbvAE~R6DWl1@MPSG4vPkxaFA& zunhii?unLaJ{`nzRMHqZI@+eRx;)K{IgiuA$Uzyw`cCTM5N)Akw?_K4LOJnv35J6W z@%Q8Fk$doLyCQ0EANdl}3ZUp7)7YD$RQ0$zSXum!vPkbCQJj9-y-s$dk~8f`LtAe* zTN42H1@mXZS|Q*XHO9hot{d&AWVG692?fFa3LQ~@F9kVFS$Ws6NMyR9+e3(_dwbvl zgF!xLo&NLq&;3RBT(q^2Cna*+z1J)X;Ts*b3_~EHPCNn=OyuOxuz{bnJR|F}LSQA@ zZcSB|>C7-h9#=PuthP#4JK?I_poGtE3LidqmtLl9@&g>@bJS9-%n!;U2>rJkm@h0L zlE(#-7{!*TTz1myzkAHQ@kF1N@id*J_B+lgOGQxE2;t>3s3j!z|X%ohDqR>6K$Xu}Ip8>m|Sm`Q%{Ppl#*eX@`WM;j^eq9$PBFf#|@ z!{?eG*01*|Uq%47*F<3BEcuGn4)&+mVjf_Et zF|dO(b6gF(I>9C#IV6%kZS6IF(}Lfoi0sLvzJ~;0ky2GZg?)=jnNcW{>>ZTWU7g(E zc&dj~sv&Ypux#W7Ko7vA`FfQ%TPVL(zi2qnGN^cZXeQUJ$EtXGi*fu;otNp;I@Iw@ zkhxqN*h_p|3(Pk1p7)p`mDY>(Ib|FLnp#>mi1c<%6AmGc%Qrt}mj(^=dovyT6nykp zje3WP`nX!1@%s=yWYD-7YrJygF(qiXB+1UJS@$VJ+Di&eCQ9z0+vArHZ6xXpGrJzG zUnl7hQax3!EsqS6jr27P(=L!SZj`Q!9f@_01^0SaPDgq*S&C}kQGH=Vos?N=W%P0*cB2I+EaiFX{= zsH`(4K+;f39_~jF{NI@m)PZq>WtOfh9SIufb|d@DmMYwEz3Fk>qtNKw=~-Vf(`z|0 zi~lCgStS;6LHKsBh-XQ@B>*WS&!S6#k>xSFwg7Htm;+BVF?vsTDngyK=y~5-*JkY2 zX4~t?#YFM;$Kr^q>Pf`YZ!uoDOMHgGQF_X_ih7S+Jcb%!u>^`(FLOJ3d(Ru8Ll210 zJ)dbO#&;){*-d=$N3eW$;A5?9FHi^~;?B0oALo9Qe6n>kCLh_HHa0v^nmu7O8Trn1 z^D#1zNQWvaRo)!7mzjz-#6u6WnJ0&XnCWUReY&IGEek?B!Bd#1z_nfHA8w>kW7Myc zi@ToEBCJ=#vJWdui^KS_Y-O~#_yh(aqhVtZFFnT766c%pFV}Eze>Mj5*JLxQfBoe` zv4Wv)ePl#JE26KE-u-_2TE+e; z#fC~c4jHNxKToRYa}P>`el;U~+(^(;cV+o_wD%<~pukOOPA*O0Q%`u7;0No3wF3!dD?o zii(Pn)rqN_pzF)a+!3O}i-XycKdP%-m^>YqY#3`ZT73d$xyjN-_D|TmBSJH*(6?>A z;!U-`w+7}TP9_x*>19$;(rZTJ$pM6jwV7QoPPWM=_1fmd*RH#!JHSE6-ffq>xceIU zGU#})i{>&vR;Uaow$bt_ue}vQ7a`M{5S%O#G3RAu&|f%EDYhCH#aRzxj<1pI)k85B z!Uoa(f!`*n;GO4K6_wT8X1l)?#Ts8U;we=N859h0ogSmWPJNEHdG-3Dki}UpyG@&6 zZ~1ap>=jX-E}T>#agHmgS>8q=4a>dLO}>Kv^(oUPy}Ef{hD#Q!<{pAY@jyX~B}-oB zc68Ljp+CF$>8Tnyv3%zV*UVpHmlP7J=O*pi`<}%r_=KxenS?#ly+6+m-e9sBDy{A-eYc(Ipx2EE)BMC_-$75mCKp7P_88^w*9I+$ zeHe3&(|Xw6=b1J3s9+mqQ|axwWHkM5t9EAQZFg$hTTce6%luL$YwLyV`m5HvCdL<} zbnfyWyW2>(zkY)8R%d6|P|_EovT|&lx*IP;!m?D!td9(#58=_gbjOPv+{1 zyYsBa57g&$HJcTCD{Evy3q{&kc7bontWxqxFlTjtc?{17yXEQI)%H>11NC-`uF)uX zS{IaCLcO~R^jhzbd?M3#5PLq!kgXf_(Gi_AIMLGAPTP|RJ07m9PfUvaZ8(jE=3xs< z*GaZ+=Qg%7T<2Q~3`C$xcQ~63jt-5GQRpqZ^RCB-*MOFmtcoOW{4 zYwgfjOTCa6cj0(_p0@0@$Vz_;Ya*nQGgPq#Y+!8h(V|QgFiD-@iEo31U(5I+zS8? z$rW<}d@(V*$cm6Qwp1B=Pu5ekD`dZO=bplH>+OlXekpt>F2%aKvJ{^3TULa|LNP;<4lVnY%sYjU zKj>6+!&Me6-mEdv<-@>Tp&Dl>8;p{rl?g9k$hFQ=rcuxRI-#DMnV40I?&?P7A1+6} zeOpd&=uto}@oMfhL4$n~Ja!XPOYN9+Y7%R}npl7*;L=LEqnYhMDJYXwM>qef@Jdh~ z>1POVAR^{A0ZRq;H$!p6aK~V~u}O`Oc_Ht^G~;qYnh*Q9KHIP{E$t@7@>kvXBKckP z^EtIAbX_NF9%JsKRw7)iq=e~up}ZURAGO@jw*i)za%t*Ny6Hge&-r&X&%y;`Gb*s( z$jh_lSgdcCl>hX6aLpBUk$1n{)L@Jf_H-i$Kv^aW#5B##@e;nuXPHE_`6 z1wR_5Bi!SixSGpXXf$DDF($2RQLe^YAn(Ila@?VN*+}9ZO^bwu{j2x~W@@gAnV1Rm zntjefiyI1!znn4&{nWM_`>^57qb7PdY*&R#k&#*9w-PBk(fFyzh>yF>{QGfqAE92! z_Y&B4-}yO@^$}aH=0wTM@dX(e`&9aS)XmizhjQGD5F?v|C(`Y-H;*opdLW+QdwV$2 zqdP^3(hIY|9Esd!h)Q?$vdpwQn0v}tT+zyZWRr@ZER*s%ju2y*lpDDuJOHYN4%G<& z%V8?8_w*^dQ>yTuO7bCzxIK$kjEWL1(+Nfh zclGWm=pc#oiqNB5@w7(wec~TSAJKt5l2GQl!e3TYk(sNH8}#8>zG?KCS%#>MZLtX7 z8#BC@!Hh?_gIxZ7wX_J%*p3InD51X5lF_W)0LVVk;R04d_{SSwMR-P_6n*DwCl7hz zACWH2-JT%ho1lanaxsmnnvc<7{iA!qHA&7l=A#BBz|W#=c|wQ|&iboEKv%dxcmHjR zF(1rQ)K|ykWIfE9Frlc@Ky=qxp7hb!k&@pU6bLn3kRnY>yX4CiGOq(BfF*!Cq(!cn z3GV0k*~#D)eAo&X2J-B;#)=NT*7b3mwCKA4lZIDA6))h|4)aq?v03JQx^JiY_2vz&-aQ^k@NU<{41?rc?7*Lja92MRJ=hJDb zaAf}Bux^XV4U2b0aun7&U$0jgc>#bO>;B4X{PI;uB@mot-dyrt!*w^QgT3L9(i*`a zNbkJMO4E~TgPa(F(wOu2kIDM152;)(Nx7;&x@Sk3X)SY0U-HP`k`dX;XgYM{1Vjuf zCv5REsDWuAl^i`3q_*@_lW$0_);tOu^Zr8YlYjDdlR+3(<9f`|?cSR%E?EZx3307t z8JRy~oPRfp`rOz%Pw5Oaxck3=HHxD=tmr?{n%~UNgHL|3Q8CuEm8gl=%U>LE%ZK}} z(AEEb4ZLvz`qpWtnbKs0my@$azs%Me^k7%tV*27iL{axz(^CSbPWe>PI|c@}ZZmJR zL~JxYWP7(A3^4o?mA15Qlv8BbVmt4Yq^GBg;*n7`3~pFvQm!=lXESHp$Nv^_$?y?+ zI=px+ibaFagAqZo`!EOs01Ozbe|ec;1YO$nMLY4M=I~_Y4*$4Okz8vCWj#gy3xTUG z=m=~}|M0TKTm8eSC~r7&d$(i$KcoYh_3Br7#4~O8sT{aAE5%lt<(5{%v!sq!iWaKP zt>eqw)eyef?KHB!rI+7z1k?>zEmR;5lj_G<(5qe8ITf5z)Pb)v?kczvkvwajz?B4< z6nhnpC8y2r4o|kfmGq~c7b!FWNo2%j{MlJ9EuI(4Kf&Y-=#%qyW6OjbGrTTlJgv0f zsxr)6G|%+=ro%mh`vO%@NlDSVw8xT~UU5r4%I1TiGs9+LCR&5n=i!j-ECw7l3tBOL8%_`0ew%O@f7Vj@X$u^ zz=r(9CYuZHVWY6vX`|$TB~!?m3D!~Fo-v24o08q7YXq6-4@;Lu)oKva_#gV(Mr%61 zf=J}Q!(_Ps8I!RiJqq|gA~K?SzkZo*F_s}$&kh4FQ{}wU$M9Q})C%*zQ+-ri6w#rh zCt0rUdb&k zLw%2lV*1fH9$$33s(FAAkRPd=Zc%F65vRq)xL`7)=_BH<7czD*l(ax+#;tV$y*x}i z*W%Fua_Q=AvT?f*gL0(oL9=bHiwm#lt}Iw-2A8#lj+aGUGc8$IKEsV!LM)SMv8A;P zxPrq8;W8)rxgkoFmaLB}k=0K*ax(nIEOzuWr)?t`bm}?S)wmmr<`6&m0vGM-G76f+3?+`d5Yt!SAIVv^xbGzl2Rh(xyDdmKsZK z!3sW3M-f8Q)K99TTA`v!)H758-02hc1v(Ft@C{XG1|aK$euUE)Cdu)~u1C-TuKKH0 zxV9zUR$Rh0{$u6Kk#;{I(uXn7Ej>Hsk>AiPlbOn85C{aSgRon zdi;cD`nuhAa@P3haR=4D5B-O?k15Qrr_c3YLhxQK}n%{m=^1Ha+Gzdi`TP`>tMY7|ZU8!ASS~ z%=aK^AJWG2yFq=j37aKB$MIwJEWF9+13U$r0+u1sb3}z@ftmSyH{V*v7%$0qD`Ww` zAO1`p%g2z{_zTPq;w3%>7ogPjxs!F5S7fo5<8d$W{Y8^|O54b@t2zX*Zgvb>0(0XK zzR}XyWfumvdgqE1ux6%lwSH!Fzv2p&)L`^o%dZ7}8dqDQLHem8$YOVhU=|I$YZ zx2|s5+{lNCo}7qgIUh|t|6zrsa8aBv9AqDV&*l8{M^Q)A^7O5!Q;$qZkSyC8>;jL@jp)sfOro4;vu`ttXd!_nTo>9VI|ZjsVzN zSRG_FRd%D!e~!ObENgMRw-O@AdsHeDMOQPvRc9}V-f73K)_!?BZ-k5VKrYjXaWEw> z342|Dszta1iWum$_R<@oZU@jrjWH>y+8=nXN&$hgYZh0ALH0bdO=F|Glejk^7@Gat zhuJ&6@t?f5CIC|Kc#RmEMrDtDAfg_g{_O+PYp*!ZIT&ixZR;WnMj2=^ zXvc06&Cf&%T$$Lwe_2_othdp{{{@I@$~s(Xh_eOpnPbJOVEk3N10HoWUH%~-tvdFAH)(ioOTGHZ;Hb_-z_Pm@c(bcwJO#N(6nP6qh%y)_Wsc7jTDgVH^{LGS0 zj8n4k>9z7x>{%|kvCD%^l>zM{0-^HXlMO{)EmiDvP5$RvGDptWH*oAxwV z?qb@c$_S|;&LN(q#_3C@^5KEEdzJ%+6;V|3W$;flE1mJeqQ=E+IWrrTs{#f87RVZ> z^1#xH-b^vmkYbvq+77rgsgsm!mkzPq_{MX*%15a1=tW*(x#@1F)k0SNPD}E3P4B6~ z%?kXOS&m--S+%bKU{2vW-O>%ODW*hcWScpTz$N6r@Qd8v+MDT zt+!Cvr(1l%Z_3rxcuKM*aD}JS^UAtE1TIG@lkZ*H9~&$qmCqU} ztFAa_!>%M#1W1*+>z9P;3rb$0nX^3kl;5?dGVj+Vf5b8#-s9O>U(1Arr=Kz=cqjBK ztb0IKdpSZkPvy(E&DL;YlH0=sK=5L_QWP6+tzG<9FIRzAyI>&aZfMD@nLM*9Z}lEk zcj;3CeZY4*Mb2?lRQjE~^DT4x*@*iQYUrei*)@r(RL{Hz5U09TO*6WD|IAA$hTetZ zz_!=*BRVaT>>(;^8!tAxvQs>R6KnS1j(xf7toqpZ zga2d0>iEczP(>K6iS$GVm?7iPoK-%USXpbbnOFr|^>&!zmP3Fv!NrP_L1+Izg3$cp z9{=Ka_k@z$9u=FMu(D^AuXH;f*rwiiDSKK&0nV z_bMiFUOI8N9x_rnse$SL@CQAV=gh#}YKFN7<4%EH336LKmcliqbWALtET3A2<{X~$ zBX4BedpXAO%a|3kXVy3Q>c?zVDeLSSo;G(L7j}MQtV4Pr=IqU*=ed+Jz%Ta0dEzxC zg9s?i2*VTUrO?aT6Bc>AWrZI;ELRyV=^mG*_C6EIixG!pE=xWk>{k>DZqk#lvwZw; zC4r+VnzSuI1Dd!&W)JucgGmY77L{YUb`RQ{u&v`7C3Z2LJ@dK8DYZG?+9qHGE7v;B44lO z?_Rjt&#tb>J|smK;2zA`kL1Hj`A^Q1L^Y9*lMDAW%X@CbsM6HYse0eY@0#c3$;G^A z$*X$0=jxp*i@>Lop!^VY$N-xjbJW5|(Lzrod*=A25{^9Zu6nouV;J7YwTh5BR%u}?3F$a6;fso3-8 ztdAaKPllL=sCzIyjPltOU>NzvPf%*jLq=CbW~*dLX`btWEycN!?mt6yGT%6g#PD2G zjAsI-d+&aaSi&!-PyY~NT-2DqFy`7#+X47?tjUw%3{#R{l}jXhb#2M1koa%amm(IC>XGuPKNp2tDgO%IDO+wO z5}T{(j%<^zOGi+!yN!Tyn`i?+0 zK;z$7d$_X4e^<*SwY%8MkN$!)o#v+;EcI&+nwad$z5A(bb}w%I7}zcubM^Ps5}fv| zSa3Nv2-!e2d;M5sIhTfjU|0+aV9Ym4AJ_xK;;O}u1{^P@fc!t4~ zz$5Qj3|+bFqJFn6){o$b9s>aXwi!*OB>)2hx*B zOu=9n&u15g+tV+2rDRKjnaN#W;bp33-EvI^;Un(K`lJOxsy?5j%sp3GsBDT$&O6($ z`l6&nrOUGl2}P#cgG6sopUs`KUDc`Va7}M09ZH`|mzU(W=2< z3?yM~-srQ$67tI;GQmLDHHFT^o1l}ZWdZ|)Lm^2oq=$&8nDiIJ7Ee|;*upYu+MpIk z3@Ob@+?e`$!-;!bn(^7A0YOG$5p}c;7t}oR4jw$ql8wJMu_%Z8K5Gn_X!=b#vL)4% zoEA$N3Y@&U@xf+-H{{1sEoy(OQZwVrnMU_Zx0f^Es^ z%d_WTg`I7Hgl-S$jSPPk^>G{N7GL`QN$tEh%|tfKHmP#kT@^u7_Ehsz=B=^Q@vwh` zCO*viJ({GyW?e7Nk1D|9AjBl=drf%7v>HTY#$nQ9*Y-x?yk~l#9}$qRsOIo`guClU zj<)W><6|#NaP()k-;7+YIY=>X$?zB;{KOtl2iO~CdHL*`OREB`S6Rd>K@rCI#;(N{Xd8c@OCc}Vl* z(TF|;m?IAL7K|L0Oc#O~rx99_H|J)vK(7d>F>C1~R^MVm?9pJKNFrxj)-cC}KM^9U ztV_<)e2&{n(-M5QsxdL9+vn!0`VBJ`8t=|zx~|__$kv|B{rP7^(P_cgQA&Hw$RvTc zzR!Zc<8TLtdPCpwWb20%)%OyBFtgu`&Hg2L`?5MfM1}{EN-vZis^iyDD7x>PZIL=! z=p?=8hgBYL*5s`{V@78bE%ew&P0y@}>K%PPJ0@!#TV5AL*I&sdvF)gqT4a5y@NPV< z@E76;%Wm_bAgefMwfyzSJHg6sWRCX4&=paw3#$@z?A6;(2&V{I^~N6o#lV_e4Q?ao zJit!r$8ufTtAe!H%el`jrLMwLa=yiE`{d4h=}I?~;%_cFCl@tlL}{+%K9tZD)Q%`Q zPELr&hdyGbbcM>0PRqYj#xxFN0CK-Sfz78IERDa6E&Rx!ja@p8T#*@zrC|PpCBQ+( z60{pFii-oyknTN%VOD#@AKQoo%gZz>2q zhkEhlQlG+8aF&Z@-mh&LM{9jXFc~h{L4Zi6msuMduUWv5xJRaSSwdKAdcZb3mnY6Bo zWksXS!+iN%duMIiZ@#+J4t{+CN~PMLVJ%(@=m=veJJ#Sg8pwZ#aZ=QTe}8?Q3;6#V z*NpPVeIfpPve?f*Tr2lKNE~7I*Y~qMcjo~%YOk#05bfG&STry^CftuccGGiJ#8UuP z!cVT4uD}p-NSAx&kZ@R5>ymX48yK|r?RS@?eDFmYuzv?<5^qpN0|grQrUK_epLoO- zHn@TGZXej4h~a>Vb>eGUA;2ZkNq@m5*$-5Zo8j#>ZI37rffF{=wJ zxW_>Mcaj;z^mR?T?96A8`Qae9eP-k;DQ%ijWKYhqAJu-PV}2{cswra#WU7J^)DDpX@i}U+UPlYt13EoK-5@R?w!r!OEaoFB4geqRV#lk&$!m zY!`oFOPZQE!$4P=I{)%T9_+_@*AhTVdCLqq11BB||L@qM8o(AQ7x$&;?`$uh#ZAOp z?WYB1WKU}i*#w{0mLmq1c8nMreu*!cwG!q}Tv55W%f@_#YMnMi(PG&mpod7C;Y79G za?RrJZ47WbrG_GOr4FkE{<~Oz84S$6PnDDkqHL7M_C{jmHt7;lWPjaoBpbBJJ~lFC zbT>m&0!fK1gsMc!lTP5V09nsr=BH4pbJ9`unn`c0zbd=fZN>cx_rlQQcqVq<);<GL{qL z=>?dN`9KcO&ZApnKt?U17@srU=}F4oDa z*~5Wk7p`o-O0OI~$8P|)BidAr)9H)YxIM~=3L4N^BNM4VR_XO->e(^wvx?e)?|r$n z^j~V>)<9sjvdU^uVJIteWK3TDHR`q1sX~hSZtnx}swQmH1<3hyFn|te?#`sSua_$W zI7imU?^)#joWsmT49pk3EwrEhEB7i9Ixj1Oy;vFxuTx;+JIp-%_tnOivJh`nH)bq_jo^tp)hlFikLdh_=z-{ zhep74uss{IxiGPz!oYES#so}z!uJ=r(9c5aK_H4CSF8&GzdJrrAoPdi*Dr1mCzOTojc zpJ~JfsD+%OteX!>Lh!u5pc+&f zmvgQ$jTFW+au_n_ogXs}4GramhZ(rMK7eu`6C0n4dgvg52>~l|W;qo;cE(lOx3BPK zmFdayde`lcF0thac2T#QtaMjQF7-2Uw~0I1>M4dkG8=4FU3C3O-F1cyT%m*O{Nmng zV_xSqs{9zPkbN7d=tzHN9uK&Y-zatb|5mb=bV6I|)Kd~&>y}(VD3y$Do<9s7WnB1G z^HGM!7&zI9477e+yS=}w$;l9q*k-_gz+{XA3Ild!3i+34uDgqEiU|%b9l&&n} zagZq^^tRr^NaqxiQui*nk6S>cg^}6*F>QuSh;){=S54TRplv(>x)M{v#nJOiOZQ``qlob`m6FCJx6(KV;#9V=*%nq3tZ)H zG&?`e;66X?TRR8}zEOUdk1uW&Uz~&QL=(e$j>`B>xOmue^)|22`b+$4>P8z+AbJsM5s8^ZSOB zCgsLLWyr(fA`HFBs~{yYlG+d z9GPrTUDfS=U;fWkNX|y2Jg1qQB+yYrydaw04}8~3*INxX-Y~}PH7hkx!vfyO#Aa>i z-=4Y@*MCtN^-9PFDrmEnd@22K>n&Je8NE5hgl|G*Q%z)fh0pZD!m*k z6$EJRJjn?`Plcu<2R3_6o8e!t1rI>P$X2#h!Knv&4c-U-hKtL|MO}%f2w!SYZPQ%p zp!H2lRi2Ptnm{_UxQxDfd}E)O3MsSMsXYPg;RUb=;XBpO4!H^BXLZ89b^)a8kq#dQ zA_w!<_>1jXc#91uI8Z{gZ#^r_%Pp&eX&Z5lox3T-grNY$OK2a)Cs}9zSloz?NsWUQb zjENErN&k6#!oO;$c0 zqNhdjHh+?WZqp11OL+COTJ15}EPOhb3QP^v}21tPVo z8!E47NSC8Lc$p^LanU3?ZZ{T zJh>REMR&=&?$uP&JA(vi@1*>m&2NA{>!@PU)EKl720tyrbL<*M8CIV(SJ~!sTj$w7KYHQ+4e8P%?{YwYmxx5AHy=ooAGuO? ze{d~4EqO&PzWOW9k!D4=gURJ>g*Xq9lBfH#moGx{IpO8i45l;qIdNVKg= zMsh4NPt6Hu!#QtGj<1u4ZH=kQ2eMZ8jFKk~DAYjOP{Abppqq;C|8;*qy2#7}%kWkCHb2tI+AqnnqrQH*iO?t9L^f z9p>Q-3^-lzR`QZkm!NC8PcvSiYG7cI%{j4%R&9i=2q98E1Fj`ZhseO0ha_L7I*LV9NCW0-s1E|>bPwg8X_cAsHh6J!K zd<$ejZ@FZ@J;ZCN8-BIt{8-;nMG>YL-!78#j`!Or8Y+qpPz%|zjN+Md9!e4)Rc?fQ zB{0<(c}tYJGy(ZU%hV35htH6~=9trh)CA8%QJ=_K!Y%iV1XYz0G*xBo%=rT z6T`gWeBo?e6ex$*$dC8{iz%8H)_E&?UxlJr?l^SA6Byqj;0B`GvV}gb^*{+Q>Y^Ba z->MQuxWt>#UN$0=Zdah5J5P|uhJmtg5O%C_4TLf$VsmqPsQLAjwGB2poU|o9Ya&z_ z?6eKVSh@BF4QW|Cc_OvdzU+?FryH_I=Py)V3+jK3RM5Svv+m@XHrYRNIR3$Qf+!tV)e6W zsV0@wNvEGsYZ(43NoBmZKcdoS z>uLsJ(OOoPt{EW6%ydQBnX{({A8;?3H0 zE|GlX+BJ6-V5cM7^|YH#CSg02mT*O(p<3ES zc_qKA{M1e%_Z}GCb6r1rHw#2-*u5vKQr{PB7D&V24hP|Q{=lYMlbk$H?y7P+FJt1sWwTY3SuNr zS?>KfhG{YoSy62JOyJso({F`5wD=cGAAZCnUCIfE_QpnC$CR&`kmBJ&*y(5IKDKn| z;r$>iKQcLMee)Q3r6>E({CW=N{V)sR^(k}y+;74?I-gizqSv7mA=HQ^hvKVrZ=RRS zqA%QH&}WASCLoqZ|x@O^kGggvI@iuU}oF@2klkQ zCu{WW_WN6`1z36h)p54%8f*~F^9^KCoUDi(dfH)k;oX9X`n)TVe#~}VEK-j82kp*L z%LbGV|Db&gT7M*Ej9s*+ka08e{>~WjGWr+Bh+sN3&(c;>%|rTnc)Lu3az;bAulh!* zc;;zi0(lY|(x6LTP@@@b?WnsHobD|-n6DLM`1_@VCM$y^|N9K_N(WHAr(pm;z5(Ox0x&*IbzHjcj9_F4Z=CC%WfF^ptSLuxhCTocGj^| zRcdUS(pULokCx&*_CFrSEj0&s#H&={Rd-;KT~qa}Bc6l~JEIv{I|D-Ip?J_XN`yD8 zKF_;}m)tKsJcqA{GnzMMjmT8tHZ3~vgRRGTy!Jm{YA5$8<|ZpYRo0Se5Cj_A)0muQ z1h;XK%jHAn129w&WVs)FPovtbeD_CzVGjQ`5akyj{%_D!dJ}Ic%jR4lJEflYN0TiS zc^?FF>Y3b7PhYrLj{ddcuug!z6e=zL1AMtTByj8sYKD}o;t6o=OA<)<=OXYh9 zuS|w>EYAJLEei-rOV(>UnX$5W226_9f%!I`yt=KD(kyipTi?#DgLu>Z! zW8hZWzcAF^8MIRDy{avD+8KYYU1qwQOj9p|Ki6h;PDO?x;^@M$bt+sTx%s{gTZ(x= z+BK+J+NENlb79PN4XB06$jsl>alT}F!kKU@UmLS)bvjVk;v8Q)LTET#;27|*zem2? zl#AdS&Ah`j<;6R6FDpn3S7+aIqhCpo&*1@f(<_;y^VgJSul6ShnwuM2ywwih99EGP zAyMi6F74%|Gzspf8Gp+v)LkEJB7Gr|y&GOofZ%-jF1X{Z53cOl2_`q*kt-UzhSEde z&^gR<`a;L-=(iDL!QnEwZU}41V-mOnWzzVACo(jmE85txk2i*^6IFHf&90$f*6D5; z=Gc{quN0F(n$gU%_(CHORBg@qZM$WA6G;(|fLK`bj+w$^QPrN>!i#F?a7incbLW~w zHN0f=*E{J}lppE8fbFO(RtRgIO7fNvGcYx#qo2k=yX zT1vd^gmunE_E#8hz17nmpRy<&erz0(Aa`jKva#PRik1`?gNbz44i^y67DtuQu4W{uZ?pOyy=q1p|Djy-; z@2HFlgj&ScLzDH95n3>rB+wVFU-*mv2M4eEQT#+e#HDeyF|D-;e9nlQ zwx2*)rvVmd`|I`X9=_2IoyG>wrTp-KmgTtYw+9cgc~uW+dA1V zsDwTj%M4v?OG5PfO<>Op{4~j7l!CS1?arET8R|A zoXR_9{9*SIzbD)$rf9F(O#0Jr%<@{8ky8|%`w0>MD9d~&q!PtNu*`wK^d2B{P3LRt zQ;2}R-_D7W@cpK}v44ESu&HZ$)-Xc-Ze4~3!LM_!0fWi8n&TFej9JM56Dd-WyAotU4w zHj~Qjz~QAvNawg>EQh){7c9mcAzPW%eyQUXqNB?GHO^+&kiZb&ZhUunc5HJL8V$@% zFNp>RbH?v?lgRri_`Hw$#`purVI|yGm5C{pF4ROqP>Zjz(D(Eu0p^G&z0>3Fu9yWN zWqbMbpBW&%r+EHJR+f+!yjW~X9z5J`%Xo(hy(;5c_^TJoL+VVO_h~UVcbl<=iO>7n zjrlgN*zWyqM!HDy2alNI^>Yz8$*q@o2r#e6(u@j~I5~Om;v8>1AjUYDjGGSK-FUiz~i$2h&MARpRw`?nRJzE z;Ck>gNE^#}Te&@zbbdJuA2rnU(U4O&JNXS_mTW9U`{ zyz(<9CWj&o(n}s;De*T_!N+XOELm1dZak@odQ%Q>PVpX!VAp-;p-!_cw4^WIXb$20 zeMP>+4)qm3!AK!tBxAYO$UE0Q8SPY2_nqmB>XZ@e#8DW5oY`!*_q|SnCK~0^-usV@Q|ALf-DfJg zgD&JxL0Z5`iXHEXjQ4+<1Vzb#kCcrOhK;LJL~AJt`w6K3zmufJtE!`tLJ_)@{0va` zfhP+5L#KUQLAxBElH@gajpMS?Wnw($!aItZ>_o&$<&C%7TU(6_*|Sx%{RN)e84jey z9SXc`!peQ;PQlsB9D`K|LJnx5t_?b>hD3@8{|SH@1plKD?Iqv&pYYhr+|xgQQqKLC zmzvv_z+eCU^QQ@q{A&u0@b9mekVObAPv6q*&=RxKLOHo^SrTTJ$|X zj3MTMh~{U5fgOkFk@=J} z>rVSz8;LLlZC1aYavkFh2+(po`T&c10EI4QS*Y1s>etct+`N7z(&s7Jd*4BgXzTk< zFYbOxEBzzIqQ^s&F$ND5wVVnq+x352wg=|Ym80nVk{T7+WkEqZxE%GgfP6AGHbA;# z_%urbAkRMW7T#j4#55oU{ditnM2Q6AUCqb7j*KoO;L4c~F$AyN0tisKXqWt-aBqt= zT~ZHS001JVWe7~+LhZG!0tdP8GdNn&;~WY-Kkh!YJ&wo;6&2Zt-nb%4T3hExwDmS7 z0fvJb>&QU#M_Twm&P#nLy+Yj6{`;Y|J5M$hyl5skF+_e-_8t0m?pwEQP8tvH49t#) zbU6m_8$+*$_KD6_=NEm4YBF{KGP2)d3jmR%|1wQPq*{1+$T8OLnh^J{pTkn`eEwqg z%Vj&rM2^m;wk=SNX7F348X(QhmhZKxp=4LAPz`G7P=`?A%cGh3m&U?}R#I}^0p*fc zP?4D#k?r2Mi_RHOfqA+IIu$`-j`q0PoerJEL%?)iT>S45at4V?SCKz;WQt&b$W|fX z5p7Q58_H)nkJ)2(B@A6$Ic^JkYnQiO_^n2im-?5GbvqxdzNlN}a%_PgANj|=8%S=4 z9sUW+i$did*##epinqL`^4YMt`aHJI@-gLDdVNjfoy)9EeGH`D4|h`-7PWm&C9T5_ef6ta z)Ys-dG~7v>Z5$tIob}qhI00yWNSZh?19CmldJ9C~nnv?rV8JhXzg&v>|Bg zupsumB|#}{duwz8(G$T-mCOvt;CMHdkjhfm(*|xKf-0_$h9X_bQn>4~al=p7pwB#! zh)KM|)#Rp0XjV{rcGt>wm(7X+(^~JS-k7ayBZNg;dh}?)vDp4%$L&$8ssg|@6P*5= z#dFneL>jUd!SyNWI;7YO{&3T*ps=3r#cFGHP9U09!H@Z6%Q*Jg8a+tY#jNTU(s%n?#2a@N!^}Vk=%Hin@sSx_Air*vPuu-0E%}lTO6x_FAYv6z zeK-0?_1$v7Y4sgfy$lV<#T}&m?(zi!$AI|N*n2~c+rPRz8=;$*u!aW;Age^7AGOG)7myhGsuHD;9WsZldeC-_g1>208zkC$bD5)Wh% z-@Nl%ekTEECqnwv#!!5!8DP`U`T% zfoBhlfl{W`EYqI#MSg&aD^5}1ifT`@u?;xr+t%KmELMHEHt>PWgIV7T1ZXHhMWtD5 zDGR9?j2j&RkuXBr6)faow{A(E#C)kaY)8BfTQN6_42kJs4x?Nl0wsX>!@D~sRTv=6 zX!fZ@cX9T;f%-@?rcx&JIhrRG+B311k40%?&U5}!cK6*JFJC>Ox_x14-vmKEQ)Yz! z&W984t=?!;{#xJftt@)MG%=ppyU>0g`XiOw-m!D^9AR(pvjFnQQ%y%l*^TF&Y~1Z? zrWYRLIYSqU37v5ofa+0@9%aGnI%IEd5boZINGGbo9Bxi#Izs+oyZe z1$45d*oO9$-Nv%=_>@I=!t*d%n#QVt(%2DrvO$u5jK_pGLS4F&E{kGo`*;ll>~{$0$Nj_9Jl_VHC5CT zDwF@zPKNaAX|bVy0p5M90N_V&&p3aSgn_bPb5A#tEjp%upi5(mf^Uz!Gsl6lhjn3P zZTSl_gw?_iCRQ#KO|zGd!OSvQPa0BNKE-Y6E4z)ejvXrC^(#TV{U%O0UJsIH8sz`kHpy0^Z_Ed|~mU zi9$!cNQ$ilEF}?0Lk+pY_OxCU8h=i1OXPVs-tm_84A+TK+ega9O%haq?S-i?P@(f> z^waazzDBx^2`sWwo2iss%jmmtJJwU%xiDQ?HS&zx!e3k#`3c834WDF%pjY1WMqQ3%+B#f;rMON2qexI@d>&dfPo_X|EHhWd2(w(4q(7n^+ zr#^cnbTZ-tpGKb78eZb{1E5ZUSluDe&;~e{3aO5JcN(MmE-xn`=t&|5HFl)hE+D4a4 zMXD~=0b+L&{18Cw1GNr*D0@k(6ON%t)rM#1blN_MpO2rO<&0c9j26|1aC4zVauI1@ zz=H0q+A-NmwF1hus{r~R+_w;w>?;6YDK&`L&0?YApm`b@o3zxL5o{^iz=G1TO^yUP zBK4H`wQIfan0QX-xFMoS%h34?Q-;qKV=6qwS3HbkM8!6c?Qy(7N|d|+Ok^;^l&16o zL7~On4*#Akj^ksZs!GY!Pj{|{F8g-*E$7DikTIeYZ`w53M0T(Th1L-`b!8RbHZ}VM z&!c@zmE|&D+Q!<>cq0tLD!2}%elaA@u>+_q0LTykH2<1#Z8E@?HLU7Sm?W3}+_s4{ z2c|_VaVwfQrs3>*O9h--P{6n8dv8*_2JgT2-cDpw_G{KXlOy*qnR$aP$%0c4&1Zz) z-U29E<1Uh;L8c`(YKQJjm^Lft2gOJA0naZWzKl~J2lKv!&ML85@l+4<@v$w7{2(O@~99ZKGs7cPS@auTE0oGl`=Gi!?4m(5j`W3!b| z{1C1iAvM~#;81DML7oF3vPcwMzzrCJQtq}DApkl2^BvLiHNa4`LO_^aKZJtPK-nS1 zQsGrXK@6mj691V4eZmd?H(lw!@R8sO|}}FO0N}gXZJX{{rBFxHP)Ld zlI8L|-VP_E?$bq3`_syX&&vV_>xR+~X+FpTl<7gl*ba>nYZUWFQ)5Md_OkpVBoqBR zE-5#s-4@$r)y8bcLv3J^7~Fiaw#pow)$~kUDAUPl%q{yX8BSrX-0Sl$r_|xSzF+XV zwLP+lXqBhZrki^&q<88*E^!~~OXEsFIW3>O1ajj(u}a8#Mi4XXTU2AGcyQG{N*3C= zwK&bH+I@aGEt23!3{d`I3FNp&KsoD1HR#`-SfMJgtzJ^vhAHF98@b4jIj!OvZansRQfxgQ zKx(wzyZ^V8J@Y$19v+)0aRpE1fMP_go+o8Sd^s!&Tx5x$08;d(znb0qGez%oRg~i7 zSB{0*&+U)OHfFWQ4}^Zj1Hy=PnfphzU)EhD_C76YWPH4!i0*hxAGMIQ=hfq>qFX|c z)IV-Kl`{T{_#YJNHJVG%MCU378tiA&w-26#ui|CnYGjXi9KwrOA+K4!;v`g9zaKm^ z%Q@m+@1|T_^t_(rEj_xM|K)T+DmES8d8-&#Co|06lQO@Ud#{%kdS!sDfDg;^e%hi_ zgo&<7)9dRPjoqvl0{gYV8px+pY5U!-$@sJv2bz2|Y-;t+37Fiu)te{!$%YzT10+gr zXg9ytUItqQcanq)O1Got4|gq;aa9`o%yi|0Z0^5ifkZB`$)LWX%d>T{{SVb=$=PR6 z%EBJ{Hbbzfd2d$Ebd7AhU+q4phV*<88JqvQ!-ul~OEB_ZrxOygb5w)EqWapjsD5}K zdp<*n2c{=XC9fCvR;4K^0Nq$72omoSmF9Ib#Sw znLr$;X`a-N2@o-ZJ!c%+r>Z&2dD1lwJM;9pJvoD{@_d~~rv81d%a<>m3po2LHzy}8 zK<}De+PUq3`(FYsAh?tiugNCRaK0aZS+LcydbLTN8u5yMh5BdQ}iG^_aV;*mM zu>#wJtglJI1z@xq6S;M-`>Q5XN>=MDwuYL_!?Y@xx@#I#5Jg1ufR9y=dt^o2(pDt3 zn+0=9?*y~}OUT?` zGWI0MYS?>==dSXtY$_T;!rmr&TNI5acuKXciqW43ThaGT_ovm*C@t+{UExWq%)ecd zXoB07`+e!=w5cCs`y!mN4A<@HizIK}OLZiV6Fnx60R+r7B=JX%7;Z{kHL;ayj{Q$p z?e%URzlz)Y5ll+vx&Qc!X$iR2DXNdEaO`iB-LwhCJ|Cf|kpwB8VOKd*Ao6YH8NB;6x!rh_q6atV&aoel!=a#O}3b}1!Y}3}@)=R$y<+Xp?&0?%(-I}}D;n^a=856n6IX>*YLUn+N(3#MR zwDsn!dt?@;%{=UW<#0`>FH4JaFC{V(YRtAJtq{g1Y_Fp++NGf~GG>59J5D4`GQ4mq zlTSrue7i9Lr8-EN@^Wy4k3WDcTg#91PJ4eGzqR4+J4%@KI!cKgEYIwyg=su@|C*Nl z@}s69<;~hd9)QRy;9he(tM611^`L%Gfg(lSvqo+tzG#^WW^Jf>@VLBgdf7xtGtxGy zrWaZ_Myb5uL94qz?Tr(0aSe2jguadqM*XEHA9!8dET-`VPh*X@$^ zr%Wr0_;ygUN(}rFaL8u8V5N`2^adrMI03v#{Vh}6B93R=7{+CTeu6r4*G1M~#Y=u$_1Tlp!W@Kdh&EEc&KnpGmKc%|8-qa72X{$Z?W$aScMU^<~+Fa#RD0dlL_Qv!nQ~|A z>txWXt&5^us_90)*rc-bt)i_}VvjrV{>d_vD|(2iWiVm$<_z%t{mT^pZn|&6G&f7w zj}_d?l=Peq3Gqt7S7iM>=`=0AeRQ4jbCrRk(0Lk0!sPT2et~C9ZvBu^QQ=PWR&xZ~ z!}-W^VDxgvfkwue0!!dNfByW3hK2^=QxS^an|~QCaYFF!bB<=bQI(RqY=qCdW{&xQ zX4+2PsYJuWJWMfmQ@vDBT5$dA;kun?uAW#;n_i4;HuAyXO)f>=C&~o+3o}7Ms>*<) z7t3D$tcP-dpBu6mi*V9+6*IalHZD5-E-}*?Q46l245Ns?6BZ}Zx4o}b*>ceqHkw)0 z_TCbSD^oF{D_cy`7pb=wCyx5|UMCjxEw6A{o8&iF^Z{-WKpr+^p`W3#+Ja6CQi%uK zcJ9WT5Pg;LRM+qN94e*yu=2ICL(`fKcJDY+W$B}Xm!A0JFTLK4Hm-+xNf|4EPgZ`9 zl;o>XS4i-52WFD;Mw9b*))Zr`n<~PyQcD|+t%OtqJ)ft^ATGj+ zgUQ*1a{Jh*E1e)bUs%6%R26Gl>E~EIs`<_NI8So1vxoz6VB@Q5;%UC`>`D$3+sTBl zqWB!~r}Ig15$V6Dl};bdB>hI4>4X;>Rh(#0^N)ARMxZkIcH6`^sqFWpQ8r&Y-|RTX zlq-H$>kcE75!T+Ci=J1Wh-I5DRhKq-I;87--LCQJtBPt_GuN5~xl<8Ol zMr#|ICN&V3?S*x*^^7qgF}O*um$hYivCYP5WVq=U7-n4b#)V#KuAWC@>(ubioo1~6 zV=LmEm|}cV5=Ybai-U@Zjf##Z5{+BGf481ZLLY)i0$cZ*(ZQ_4!w)toxbH>xo?()_ z-QT25R317v1UeJNP5u*JFReFj`>YuR@sFVJvvyQ0RT=7_f6;0l;A4~xt)>WzPg=I_ z4#(`gz&2Z-i6r&0F^lZAB7ap9SgR=?SiUqVjP`}{3+M!VH&;tD7?=`I-pXppaf5Gc z*JoN^OCb$iD9*c5xg86ZjBPlM9MJIn2TQdNyEHyZtcv;&E^{{8{!DnsQu?jsmgw!-LPT4f&WN+07>kUAlnT4{=CH8KMb(^Msy8Wpr&5VzqM=(gDHJ(~X-0d2=u#ImEM z^)xDxO`5|)-!v!wmi=~<{R{RbqCz6JDb@gTlKhXsA={!IA`K<{NhZ}yvSlR?xMGY8y9hvaQg z7kL&oi~1tK)!=#wT88CLy{wjmNRVlfo8C{LhxH1vCva)r)9IQ{um6Zva_rY$qx>I;jVRNaF5SJT5%+Zt{P|-3Ow9WR zric1ksdl{rHr)^uAA+N`UmYS0>`USWiYL*$MOWA!A ze!D0ld;Ib`{e`3^ds4+_*4E7}oxr;S*0cJYK-9F7ixW)|V zQs>w*@D7*@EzMRn=C=}!&oW< zk3H9Y@i6Vmj7CQT696$MN_<98bmY>lj4pW5E9I<~Rz@V<;TR+62lkfv+M#M~*ORj9 zW#E482?RJc1RDX_(=s?MbJu^PkrcSKfBEd$vs0_9j%t4a9+o=0{|vk>s0OCx#kSg< z^96vENom5%5VMB>0@!@?{%;@zO0ylv(?q%1aB60Lc#$7lEN^lScLi-*v8_}kloQ^P z0KiNCvOjEIjy+t`!y(tOvZxWhfTc%yja2ruR97Ewgzwk+(H!nlcfmO7T{u z+HpJHO2bXsdu-Eb%_q7a7>5#$fyVUjeE%mzyuaOlD`LL%uCMP@RDQTHu8|L0Y*!^5 zAx3VHCu-5)ss52v#KvFC1*--@b!|+nTu%+FNDQi1Uv&{Giq;MFam)9l`1pZ;EAy;X z1?O@{VoQ0}BYOi8o_oOUJMmoqTj1A;{Kvb3V882(JXEv{Clc(MQ{THxP25SkS&9Ic z+giz^qVgMf`HYkZ*mTTJ78R%j9)^;(T*TVTFugp*z5bAQf8Kdp3*YgA&)a6E(fh?g zBC4a?!gq^vyIvrMiclCa2LY36@VUOUqKoetqZzaBsyX2}h#K&{l_B)zkvlD)<4B3k z!xxPvlGJFiEMmQhn*psy(fw20gbwLq+I}?sYOcI!I-#x;dP_wz-(Z5xDygG;ltTXF;LnOhETn~?$I)>6#yyo+poED?oK%)%g=2$8T=^|J>vL$g8dR6dg%UQ2iE>_}4o4gUg9}RW-r3^Y%mW7; z0_GH6{%_{AN4v@rS(m9qAsexFKcdw-!md74@%lPXPn!YvEUKSx@hXKa%=@fh<`>dy zi1(HD|?$kvwwpE{H4Na7gb zai#9h=b_)yRM|gtAJKPDcN1SR1ODht+NHk-iB++OmxE1zyrI%fOWS?Y{6WJyy7@*Y zWDYJ@DwNi!OYa{|J6b6W_5SL5OM&sJD?V3=`r8a|uD{5Rf9d6SF7a~Q8jUvYEYUp0 zX64a12`RdRu|QorT=Xy{a!f}(ABKqs_p&ujqH8#v8K$%gqy;|XwuFbt#q;z zF_n8NL7NW_fADHiz$gZ9+hTD`ZYbttE6SbRr&8KaX_v_P2{quizp_*WGydVn@%L)|pN;7mvf$;l&Xi((X+q>{T+xyXBl;_=YW6>Qcrr*$tA}R?W5GKr zpGl*nr6isKh6h=c3rYj2zZZa|QY7weed)ub)ow?HDgohFFe!V3_5Z`(l2$lPsWg;Lk!ZNl4)hGnB!{D$($5wMO}LIZ1)H9(>5j3>&+|z(Pm!y! zDdn*ruIf3fFGhDw^IwVMKB(Jv3Zu^yc9#$LOr}CHlb7uSeV~*aF*^d4=oOF77Il9r zg3ik-IjqS$fpI(HEky98YfA!}krR;pWvJR?&L? zoW{-Y3s#bCQ=g1yCKsr%qh;AcO@NWxytnMXLm?cl6r|tZsh4m^HOR34fo@y+$l^#z zrqsiwG{Gh;5Gf2*se707J&NVJsN+f00b8zmPps#NK z+%%tqk^4!r7_V@@;!$he(lZW%l`R}g^mAD(KCK+^?R^eEdUc^Rtl3)H`diXbJZy{(7Orsa)xy)Uu&9|d_k|arP+!VQNeE=D{236 z?mK^9f70Ni3=e;hOk`Cz`IKS7=iL~Tg3lFvmx?XglgJZ$FBy#px zaY)beqezv6{}t`k9d&E?B+Xj!8Ow9&$i5oPz7XG?e?)^lxI`bym0V9HjBp3B0#~62y8)b7woZX z?p{ZSQ&Z1>1`n@ev^l0iq@sQgX@@8`Ek7RE4Rv82wBV%pUS?ewf#@VxJJNyG! z#C4?~nHb|kQ@7!$K8do@+64iedHK#uN7ae!P4VJsDAEJ>z&f}`z?x;qaO+dT0=ng1 zXDJ$!2X@5q=2z|&K_ilg1Oo@$v>GVe`${4{ZB383RERMe+Ompk(b^lsJx^&b*esWx z*gCCl&m{fRD#A66_p#g&Rkh-*yu6^PS6_gICXY$y#CZlAIox&F827uQ{)s&b^#6rD z_UK19er`?+05nynfUzP@jf^~@2c(|R)5aTA(vkH@kr^Y+d2zg9;K9M}o88I08*g4> zKqmBWg~70JvXUP2TN4#Yr-%aMXR`G%{cL$B0HtC8nu~vR01Ctu##`ID`B@VP;g$)L&vb3Jd?QFE3UCXM5ydd*TdUWoc*<$s1__HajM_&AC%LX;NAr2(z87vpoDiI@Y=;oNg^&%OXm0BIQ11}Tl z3p&-MB(3y1?e~DeX~bD>-Z?s?QBkC9fLXG+?TGU(S$%K^_Pf zHL2N3Bc5nN=YlIYYFv3r3FQTpF#A=a0i`}*i$#8a+M;~@56KS}e4LR@8mv+(tO5qC ziOA{aPkdC}O0X!e0o56yH@v|YD(;i3_k#3QNMe_EnknVu`>H{y(6Q+FI__qv2HgC{ z!6|hjUiRxWWS?oFnDPVw1<`=y$C4R8`S(1XyFsVOqm=Z=(CUDHZc(TJ!Pl-3LgU2i z2(V|>x9A`OYHXGDMmJg)Am^6dWDOj~c0#oxu)S~FXKK zjg=<|A%v=I_qWaP>-Wd9NWTv~G7V-#f(=TMF{C#(#6ox4&v0r8`GZK>+!DQvYSa}a zNP65FP<}NgZmC`&uM<~IZh9?8J4fFGXw?>?A;6jpVIr=qpG|H?#!LIWOi0kAs zy=Q0`>3f;RA9B*?e0jrLk;mp@fYj`g4$pg>&cJ?a?%A{G^8jT6L-mymH=VWJ!!c1* z#RGdFI zZhGL%eeaw$VDKUqD!RbJ0}CS!w_$i_JZ0`Nv2vLcSe7-@z)*z)-$a$$nE zM8p2EYzmKKN$$daN=e6%TdStAB6B0sY}&}a;L;u2k+6$!rh)q0LiH=(XoxK%M|tMAUbP3w?n+60?$J+q$JE^_mG)iWWV z%Nc}-N3)nIpTa%%9xoNHYZzao^k@clc98th98_fx*AEap5@Cjwx%kIHp`g!<&nz!W z*rw@e(zP$S3f9|KpFgWbFK2miq8j&!DbeI!Fxu3cRjLPM&QjK@^=%(?S{D3Ev48IDhd2sl|iH_GejV&FL>88nug-Sa`^DT#+}&e9tQCQzZf( zcmHcxU*FyU%LDItb!jlU69`j2#U%`#D?D5oJ^6WMd)Ox6+7_x3ZxcQh-lCdl51_8h z*#8-!1jn6nD0Zft1ynh_= z2W#|u$NvnM{{G0-KYG;f9e*N#-#h-Wx8MK&f09?fkNDr)_}vWu{Pq9W*66-S?|SCU z$)@s?M=wsl>i?CU#Hz@@zZ$zZkk_utSI=^j&!lV)TmVd#!^O?tUu638fxieX?CE*i68;q*>vyH=@dxg?KB*8*yts{YQ_qx7(`I4!)vyv4`b>*2P zY`;uuy?GieO>R9>YZK)|MB@Zrud%=%z6>bWnZqwj&73xu5ujgY@r z?E32hMHF=H0&kXvNiDGT-&>DsbB4aD5tF*s`V^&TOC*P z^4*3DbIfiU^zAep>EO=4`HVX#|7%(qxE23?H~Tti?ujZi#izt6bv)CP*P6 zDAsSOYF)r_+(*A=#S|{Ippk1-U2^`yg|@0(X`;ehYwX+?JiCzPX+Eh$T!1^_ARUIL>MH6u3tB&`p zUGXAFM^=wf&+Ibm>&$Mich~MzU!$=wIpwwf+FEbXF+CHp!c1rqR%$xUd%nNJ8bw5L zXs8f4Qo>J-Wb#oUFceYeHL7Bf52A=rWb)Kosj7RgzirmXF0h0%RmH*aq05NOB)+cI;0&}jBJRTT434z?rDP(i(>t`kg%|@QNNR;$a{(u zL*=g7bo;$A(xV8{6k+S`Z=I69hgD^E>*1Uk;JlLM!D9LG*GIyxhbRE7TQ?K&U5T@+ z4JRpZ=sYN+F!f2757<}b{&jsFYE)vu*%l|;;8}=8 zp5T_Wb_y-6$2(24K=23r{QOvYGGw5%_jYRwGi+XJA_eotm~y|M!!2=VV&dCXwp^hP zNL^%Ca!cXXuJ-Eq9I9+VnBS%O(w=DtErwW#wCYN+FTBntKI_2~mLh*3f!&$^8l6zB zHiTPDdqaZWEPxB550;3rNv>cZuZg!mK^T(hknD{{dGUDGR74+aAx3=bVcz=nKAr*l z(4$0ya$CgS?cN49SlF=|pV8NE27)G3f`&^2%Y>@H zxT0j2)w&&(n(bvZ|AEzpu(&rQq^& z9eyXv5e}=h=I8vVv`XiUHFI4o!yEjz&HV#k+zEDAlLWh=A~E``Gd z!D5SJ8uYT=dZ+VCu?w~8$lALE95T+(u}*Dqpr)(;IkHPO?q!p&+O_6PUZYE~T`~tR z&Ye4#`FedSQrg?y)qX)dUQ+a>Q*LesD-|MEtz9Aac5cuPrr-9quAzGyKA3 zww;Zd{g8L81}caPNePpI)kgvriRq6@S(Sh;CX`$tWh$#k+1PL#K@B9y^TyV zmOWkztUeZ+|LV3NFgN^SZ(~*v_ZHJ<*(PpPUtb@J;(WQNxKO+ho{vgS3dN1j7neEi zBvsc(7a>Qm{?(Nz_lRQimiWD*vd*LZZQ+)@gPxXS*a7HkN-~tM5NY_A7XV&ls-wf|ytve*naT^wbBMSu4qm_=Kk}? z?~gY=JuoSG@iT;(uks+}SiA{>vzD=p`w}5vW*7-W%V`gfO zgtTP9IkkOP_%zcoZVGp?rsYO|oKY#&NS1ch$x=H}Jtos*QH|q?6P;Lk6_7;BXA*6# zQ}iR$o|0Jv)E>i)zrVUF;L?A8&%Bqlv|(^ikB)yzRD9unhA920R)a5$Xb|YPBuDRE zrOFcs=IA@a=_o{!M9M7;TYCf-K5$%^IN{K81OkfS8%54p!t}i`sg0Zm2DMMXm;_5q z)7xObcw(jFgo&a!P7jimMCt^6U0)~FUkmRqf>ydM_x@lg#qJ1pNkOnf^{|@5!4pO5 zx0}Q+5)jO`?s$U$Ozy}wfRY|I7EG&eMaUQpI5kB+VwC2rZu@2`tVk z8M{aAdt$u3I^kG%&&1j~hlbavIVouGZv|i9LVPYxM-1ctJBiaH)viGdV%HjqfItEc&m#=#yxOc9Xe7C4u~TF`SB`CA^cc4}7q6LTk*f(< zJg??gvqz9nrFWNaWO{8a&Xt2dtMW*n7;ppuhPjn>7D{rFLg4HRFQ#Y;h1^H4L+FJ? z^uOB;bc*B-+!z9jI%m!F)p` zOS;FOkwJgh=`8J%==ky`)cweDxa|3%&k@L-m*=2?a115QvoT%}(Y9@$`1(@bb0$Ku z(^GJ0n8A<4>*~vwFLf>YiL7-PIP3v^!H!EyC}w{E541bn3+Gz>QvT2>SESIR(C=V% zHP+C9|E!%#Ae**1#6{v5Jt3^@5Bie2F1$K6{onb0=xF!_`q_=ZUNyD@J4`9ycC5liQeSGk=fC zH_9y$)@9Wguf?PvkJ`*-i{qSl96NXZ%EStJv| zkiG)@lyiflHr-u?mE*PnzCudMLruomTtnUVXioDvPvT~uJ!nr@^~FeqJGU9k(s@Vp`eJZC=D+k>uZ{?gq{JJw^OBMg+|rASDkZ)N;czxm~?#ptVfEq zQ~xS8yAsmGRB4t=+v21iw$aAH+(AIr#TG2-{EnT9%$|DtJ_Cl>0u!DeA8&}lE0(T0 z*gWcj;VQ=?FCHDK{VXzlPf_=!fZiIPE3@THM6bUAi7>Z_yCFHqzg~tWwM2Kb2%<&s zHmOhoRuG>_%tyA*v}pm)kXd*YE(1eJZCOB0M1eS?vK2V(Z_Vr@tC} z)-oZ+4tU^TB}v9Pm#xJC0q5`MA-S!C`n|{rkBw2+Whx6t z6$pK;%jW!b2-kR96vu39L=$^=r{P){slt$cQ64Vmjwx)QWqP`(W<`L&ng!@=uzv*w z)g_7grO>TtmWl%Xdc@$KGyPg$mc1cd7*g?>Nl>RfmWMlEr?B>JYa2$)vTxd*e7q-} zf#YPtLU0u=TGKkkrfS*T8nLm5uj~AZuu%>y1){&*dx%kudq~?n!hy>#$`fneedLwb zH-}D4gxYb0raq)=Hd-F3(d88jl`oB6sG!m+c+D?plo`7)fI)hVW>a*)xpjF<>%mLC z5Z52=+8axyU2w14;RAQsz@1LO;sagi2GHMPG01wbNf@&%#$sAC;`()Pl_X<|fZy>UIEA#>nkAv~4qxB* zcUNvQ%-(WLiCJ-Nc5Iqm`_-h0P`Q!oiBAR`G5P~^0=A{r4JZ9(9h*~CB?defERUhZ zr2kp$i>W+qByZ(}b5L8mh&T3u7G=T~C@?*;#HsO|)sQyO!U(s8-IoGQjL_wUNb1N*;@5DIHOs~D{i+(MW=k9gE{smxY zWw|!if8W2Q^?M5x0qp>DZ_+4tell9ByTi9YynE6&w;3^U)8(YYxdx?D{e zw4feHDjdE(SZprfHXnW-`UTend@Bp$92$ILK)LOS_0OqUtskikbxA7KYdO}`I*#sL zww8-iSr(UcnfXAL1OgrHZ>gnC=f!Ya&V0CzG4GL}lLUWW8ZB;G7j-G^&(*?pY6Q<1 z{kzxoTcCPId+XMHN)h|J1Nqu&Yp+j^c0g-w;f;YaGr`nADi$Afv7et3R@lV2C_w(T z=Yb-9ZHYZW$FpD{W20LhjnEhLqu$LN%IN(BMi^AO7YY&mx|jM+8nXoKhlQd-^2}Rw zL8Ls62FI&@y(N~at_;RCZV?yhMFmEzM|0B4>_?tbFpJw2!o|ozDC9V7Zfj+%Molh~ zl*rmL>gkGTBMF&p!xqkl;7kSOnQb3FhYMI{zHB-`OPmJt&}pCvH%3dl+U3!S%6;sV zO5J-boZ5>U;YnVd`!WOBUAkH7n>|R!2_eRf-mFFqjY=EyfXFhtjHjUwo02N*4?dGc z_ugT+Egt%aP-YXwzR_?}9$jcyskd4W>Np~H$->Qh%^|?JkUa+^=vKEorHWzUcHBgH zm#XR#rM$Q8v{F%wFrgg3)C{A0Z0r)l7A)Qeg++5x5MxO44j}tN##P(pTrcEQs6K|` zmrMY z`^U?bzvd*Cr>a&QQJgYS`YNpWe}_N&9cx!D6FhAfdJ*ht3)Sw+=(U*rZk$9H)4pb) zt`}?_@uEmm0h21r*LagxDF`nauc&$Uk*>TTVr%6nMr!lf6>->NG@Zorpv0wT=Kr=#M9giXGI2h8;Q2GY|&li{NDXQ2Q1&sOp`-FM{Ih- z;i8m-G%W%bW@2v8l^c;np#4`^J^j1T#esnuJrxDg9NAs=MfRU>+Jr!{Kk zyW11#abb7lNjpwQ=4)vrq!cR9w0}E6xV9yLb^ko&8M(PXQpkS4^Jk{v?;ZaqJ?S&W zP=M3Dbm`JHKR-XnZzb=)PU>{;p8S6(LHS=2`mfdjNc;b7jsJ_*z{OnQcNRE#{23&6 zn@6(AoDG|h8bNVEK{>;evUUAa50>E{CuN!L(FMwH!o^3emjzPAE)uqG0PIKe#Kc4b zFs)PN9`I#)CVTq2z_d|x{LfFvEsB{&6sCIxKD@b6e2EzJwbdh-=G;p4{fN-_zoyh< zGC^-XkBI)`)ZuB!&P9&C;}REf*esCTk*V&xe_Gcd@c7Ge31OEBK)paFP}a>^Yd7fz zZoOlP8+VF(`0s`)8i5XpzrNo0gzhNlyWeRykUU}}3ytJUhzZBr(nddRqG)~IBJ|H| zTwkg$S;)T2ib14;Qp4UVDC4C!V}L0oi?^&Jmbi84PM{2|#_3nU=FzsH=T{r*T$94Q zQD<**&jrNIS%81W(%TTGetg>K{lpg^R4)TiUqcf!Z6{WR&WNE>E7c%;YTQ_jhoNh4 z*ZVC3;uyAN(Hh=}W#|eB2*@0B?Mm2B5X3t|9Oe)$=D2DJpZW03`EldLQSUJE)%`<& z7E7?SF`j4%V~&gEVT#rK&r<4c5`Fnyi7MX- z)kZu%FJN)yS83R|>1wmnzyu#a#=;7w}IHK5OGpg^4d}RH7(Pwnv;i zmj`tF3PDA+Qdg~8sWFJ9?O*eFKMFLLW&LEG@ z(|Lw*6d%~bt2LTQXvy7;`#uwS^jitG)%I3hrf?7%8Cv0DqJl_xgxz`LXLBM zeOYR*CLC=*j>iP)8KW+T8F&5vhrG9bYr22?fU&?r6fc8T2}Qc4Rg^A8g;7(?D_zwgkB$4rW3}Op z))dNIEI<3j=f>Z@eJfHVWyqfgvlf4%h$-p?@}R)=-~|z}G!?)5qd`;`2x!wAdJD<} zhpI~|d}aR;zpI%tjV^6+8LD;zXjPy_SDLEGNd1NGDJn}ZP6rEK}9>sXLku|~Lp7lk;+iMD;&gJ{i?6gZqe&=ndXNtF2vy2Oo_u&(o$a zlm!k*my61bU0{B(?p|xxNlWazVgpe@oiXL4ZWZPfW^qSg8PC!#)& zCdz-{85(_dy;tSnW{B==0oL|jKAu&oa>DGjikV>MKW)=jCHDOKQc@KYn&*YENn1B} zY<_<~xi2^oxyg|V8LV5PT;Hm4-CP_n(CS)mwr3DX9Sspajnys$TnH-})FK%$w|1kU zH_89jHdFk1Vme!5!0IlpF2pX4_H>uqVIy&X=CGbDMWRJ!)K(`W`iIn$%nukFvm()m1;-$-lRfl@d)*)1n0QscBQf^$j+6rbe;) z(Vp=S_?$fOsGh|-Qghap`u0tanGRu#Y8N@YG#q{4lB$4nQsPFhcz9+L?~onrym1v6 zNFeq0kt!>9-~|>X8FE{?DWj_!Bx@O%vfPn^yu?a=6h#)z8Cf!K?VV0t=uecg(NuPO z<+M&WjS4}D6R=xjh@?wq9p1lqcyI+^9u<1C2wJf8mR~h&u?Q1o&hp;)z$i31>WiWzJxu~LHx{7eBylcYl23fCou(G3s zeV9OY3jP3CskDu}7Ck2o6D|*vJbigPA_9&8O0CJVvFzxrQOc8r+XDllUKYDQ?dnwB z)Qyw%bLHRJG3@hGZjYgvP(Eg38NpsEO zLyZ{}_?=A3>fDBm)0B3+nrYI=QH|IGH7l=wd{^Q$zsGK4ccb@IX-VOQcESw zduQjOuqD#Y8(Lt8670!h$R%N7Ky`x@SZyayNp4Wt`3QSEa_@RlWk~;Nt{`K72^G6u zY!u9dXdb872cT`g)%JYb-W>IYDuZ>;r!x^8t7e5-owE@^@-XVHp)=QWGx1f0w1|EW zF-X}j#ltUA@LoP-vYpamPL<$dRca8k)A_2tz!|}?=vZ>yn)qu@=L{~hl{9whJY z%x2o7QA3qtalKWp9)ne3=^Adcs;Wa(Rs34f$yF#!A+})Fa4XBDACx-95<3JDM)Jd~ z-#|$~#X&I+ueElqoqhy4{rS?@CW`+)b$Ou6C#Py>ae`^FIV^K`-!TNzZ$l*8{VHh| zsuB9zFhKMIp#y?pVejM#gA(?;xZ^XDYfpK`bSg9TX9=d~ji{OQ3{?x)W||L-)YQ1W zvjfp%uNzeRht`A{8`_}OH|ht!arPODan)+xQXkko=BW-NcA)K%gQUq(t-PVWCXta$ zOtu|)?V%eXG-q+6abpD5{KI!_!*df+yLGo#&oEQ->6TFANOuKU6Q8wKxr|+cO4}`x zNRZ`XUc~qHXrSTKiQ*n$nCE9Ic{QHW(w8i$LkZQBp6Uv9nT3t}C^NoK9uld%&4_N} z?($Ox3+6%r2)C_@5kYU709Fv&EH}8Hqz>Ifm~BaeYf^U@ffz&Xr=yp3_d}GL_R18o zO1g)cEG1mm!HIe#0c_~S?b$$!&E?=-iR*`Mav5>yQL!0 zd?m88z$72X!WVRH*^4Y>QSF)-%deGe_cE%r$K|10d_fdtf7=Ebe|&Q`b643dM(8fr zY4fOhcz+xK-<20W*NIv*bqu)wWZS`5)hA~KtI^hFv^3m`vaLTQx3;|<3j*Zj_H8Fp zla>%&N~g{Xfp5U7VfHr{r8f39NMp(C75?S-s)tJ4po$ZYHFWu>IRn=8gGcly3530z zkZYgJD^nV_d-cj(h91Et9FHP__+dsU>#DF~=&oLDiX1R)sf6fesMOlc{k$y1`dMKV zllooO@#oD9#HJ#8!qLo0!wo=2yj;#TA=JMrw((gOxG|tkRVmuRP>Io)|-H zHBN?yl|*o;;?mBhqAJZwf3F5l`uC8_XB{$AQgc&yH&?Kk?v??bb`!6T*pH}2wLZb` ztBQKgba@80Z-222@aL@*cLDTD0>-K?#rxfPF{jSReCVB~rM15p1X>Y}$~J_jc;>*o zlEkg9tMBi{tL)BYuL6Ft7tk|NAqZR)A5-t(hc9}oJ7vaL{_iTwN@vBSCRS{s!zVMF z9I<5O<1+~#nxc-myjP^F_Dw4_JJGp`k1&QsHU#yO8^Cjgcevjoj;M^|-u?5aHuu*w z1+G!F^EO!e^Fv`sZ*5#h;DivvzFjFB|7S(2*_qItHWtFRw#|{Bc^0ZPsM=phidktk zieaD?a)qXN(7U9(7mM%ho@SIBAG2xzOvDN5rF3sfG%t!Ndd$e$`B!WCo_)QxOLl9^ z+*g1s^cOoQiQQjACk=Oh<7zA}q;%Rv)%|pa4`%dKz4d7*NT~9TcN!A%In|iH72!DK z#7Tct%KxRRx ztC8~bOn0h-*k5vOcpy12j*# zlIFcDTnf&gN72R}yRr=u9P57aH!5l|FglHYL6h$KTd7>`cG1}hjV|>suR|;oU9P*6QLfv9UR!8 zro>SwLJ&afvLuX%swSvsjXJQgWgYAoA%X+h&KSvpPC|f607n0*LF~nQaUpisV*yTv zUc(^rmag#g8^jC%QGpcA22j}*D1g(%f3`aB(Nc}?6@4$ND4PONUtA9!8f!-H#4PUk zNtBCT8s}RpTB@VE`t3|dG2kG-)|CT=3V#l=F{e1Q0Bu2>kU^I_#d6aUYY&2f0vdYoSELlJ z@|#GywG`{M#&$0%#kUPen>s_w@^}!l>8>+}Fn95&`^$jyZ0VzW-+T&$@q}UkuHVnP zeZ<6mB-H-vPp*efK(qsRjC(s%@kVKOeMJ_7jwzFl-{qbAw41h9^$5nWS;q#a#)W6| zH8X?8KPj+UuMU^uW6y*Ljp09xqtUk|Rw?%t8WXQV>nC_;kKb`ZK>=AcET^-t;;SV-nlz@@TIa zi>bXztLdd;)1Ig1#- zf6+ksXhBJHncSxOS3DHiaa*EFz9R3D1_p{K8o1w@HM zMkO-;NlVBK0+gNn=PT?pyz%s8jMsc`9^a3|&2ya@a(aNJ7jlpTN&&In z-B(SDZV2B&XkQ`eLSDmewmPeIFOvWzdR3r6jg|HEs*hXm5Ut~9%xO<p9#fN1~eF6HHlneS_|&_i{y)TF4x6}Ii{^S?j3QJQsKk@;7{ zcrpts>h@7_Y7dGFfi5Hk{(xFip%0pijQ4E%f<8t=sR^4jr?Jt{D37hZMVYhQici05 z6WG#|7Y97sg4uRc>0+jX`J8{c)mMQ)3g5Uj3asicI)tCpi|&TFCFMeHLSDW)(#e8S zt%$n%GAiU2Q1?s;VOc&Hlnc*OEwj@$g8S*Y&FL8r(%og#UWr>u_AGMRVb&qpDJFU{ zI&*ZZ?DVx8d6l<54jf(l2jjOo6?^4PcrwYKVCbehuzsl0D6>R=p^tfES%x)vYOsDw z9nwsP#y`mdT(&`rmPxmhjUku1uFRvkNPYtm@&e$s@)vTK5~Q6m)tJj@eGb+hfyMx_Wz-#!DT|g?f)hc@Jf4@`~d-bL#f`1&Jj~{3lW- zCKbQ(=GOePS>M{8g6661@!+lL*wFo}fcJWeIp^z-c>aO(r_@HvKqz6ba!H=_GOwmz z;&@Nby}Z(bNIzQcEBTr+AmtLTp~W3wk~a6!FM17qhdPSY$n@66&wV~R;IUq$qV5?V zHnqIj?E|S;&gmFHSgM&B`K~U5FPDS`ySe_amr)a_w*^@i|_rOL4IFP(R_eUWLKfI4JfTUWJbJ zReHx0sy2L1omF1u=&AB{Aru7qt)VGcCEn^0pVZ+1Hy%i(f8sIDzAw_OCq*Z+vi0#h zfWJ)68uz|tBnD5-&x~W}PXPsUcF(D=ax~G9O!vA0O(l@VTtpy4!V4{Ca}Uie>e^cw(ea3Tu#EPBPY}B+N@I$xb^U1yb@on+P&xxR!Te803A=$F51wn6Xg0}s#St}Z%*uHAK3{7jHy-^%x zU`cCAats$0?R3?^kSL_=LEJ#Cmm?PNTsNy+2d+am>ALh3DHC45sWWg`@1qiP7fw&k z$l^#|grg=ikLG>1?=XblCxwTfY;}Yme15+;RNuXWKbjilf{8qCP+JJ|pkU{uYz(q* zy1j#qC!wkXcRYlCTM>Twr)IM6l9_0UuSZXNxpC)W74=01jX!}zi~{9O_7AKOC{!K0 z6Xs5IbG9rhALh7KZsHX%>vD|kghFInyGdS(v`~_L<294KqMZ%gu;1EQ%M-hJ4wsX@ zK^qSlqBNa}A`OQq4w+Ve1tv?bo~Tw++lt9E=WH@~_SaM95Y#g^st%reLzX=~kNs=S zh0z0bsDIkfdyjulU5_D{jux5TX@Uf5HkqB~JDo7nt#$oeyLi9ecb0=twhEJ5GPeqP zvNaXeNvqS{ZiC8N(cC&e59Ho58Jzgw5|T5gG}!c69a=$|7!A^$cPOg%5H@mANCao! zRM2_*{wfR+sXJKL4jb}U4h{R;doNU8Ji`Gq__5D3xAA1(`2F<0c?#5XK|<&d&+JFL za8y^6ys6UR*QbtT4YV#Q{R}l+9w^7|nSIHlo~#aW`ss;DkE%23yx~BoD;pr0+@Jj$ zM&~~HHY(C{Gybk7Hn~Z<9@(*>_yh`Z*~MATu`yM;IZ;yNR=38=RYzxQ8B_ilGf=q= zguJO()S%YyQEV)G#?qld8q1(>{s1;^75_8KzO4fgr@BIhY1g1gT4d#vZu>kzdvP?U znu=Ch&(Ao-y6r(B^@N^UEAXbyJ7l8Ye+JSl{Oe=Q__XHzO{K9s?AWJ%8(@#`TJou+ zr8CZ^^_u;e(a?p#t2wv?aTiQ+e7-o#sWfF|*QDfoj$4PWD|;`AvMx14nNMyHSgL2t zMW^Qj5v7p+Udu`3;69cweOB|(Y3TEnyYZL*VEK^RrzMXvq3^x&K~D~B@a6^77ky*> zDXv%kLYj7(_#gwch}X7^)MYemP2TaC&VNXcHU|lr4|9!Fl}sLTA$3`mJzsemf4na-?|Q#% zPV*`1!#qRu)802hG;cmdAh1wb|Ea<2#$H?Z4+rcOPPR^2D{8UKc|dwap0`ffMcWA# zoa)vD8B|+~fUVDIaCy@^_Y4G@QCLhh;GN~|`X-63P-`uXPu7i8eZ>00MlHk?%T9Xm z$)8}tOd#LS@G_O#`Q53CvnVnxl&KjDj+$eGl&cuW7uhtYRs-sq=G4@78Spt7w> zoW;9$9b+f`F9Hob+BC;8R-{+>(3i@et24u^jmXP8P3Xyq=NJq5>JG=D?<>#0s7N@D zJ&0;pi&Q=fJ%b*Vl#C0jN2AIgoN-M+NMOtp%$ zH;0T&*Eq=L7$Y@$TLp)l2(bc2NOMtOJqa4M1c<}WFE8!4fBXl!E3ES7=f4s+LNst4 zk}vg~qck|&8G3YxXX8T2Ac}bT1OR?SktaUcch>9YPXRH_)Qp8I3WR7)gxO0F z$R!(Ri_^W|v+;0R9U@qUs`ooP(5PDq8m|^UuK*cF{9xs>6i=u;Eis?|$~4;M&-+{U zLu_)$HuJw+c}-7cgJM#7X2+69Dr_Tu-t#6k&m*C!Oh9#Qu{;l%MVigT<0YDHm-6Qk zVvWtYTeX-fw!4QSD%d6f^d|{xEP7saRzNRxLP4O%;7=mobm z0U?9Sr9j9;D9NTN4@!KzWx;tZ4Kz6i>6Q>0|)u+3CqD3ob-$)((aXaT9 z5$oXy;bPWIc_VePeT)TpV-Wi$ZYojn7v zUsZ#~^cz9nPR91N++*S4;VZ+V#1kDdVQ|+nm?~iB40kuFU40wy5+8Yudj@GYZs{h9 z+o4#XN6+)bE%X2#C~JSW8dKq=dmlxxoZM1L5=gTnp^&xdmRZ@TtUkX1Ow~9dBO6%=_F+wgIjFg zlkT&ft?BN0>!ofwuTwIHHLr}z)kC!rj8p~ljnWO*{kQH!-^GTIz-R#yv&%lQ$p?pYLj(aSp zwg(dY$W_I8jp&r_hJ?WL_CKmHJ|6_Di&KZIis|fqLyGG@qcR^{Qq_?`u!$Pirn!yU zz|Hxq_p9_duw$AMvp^GQn;jCVul3%#B!jNDPD&iC{dCJ)iMyfD!nLvAR-e%I09bnm zkD2wCTIU;)-N?OE!txp(m;y-l>WGBCT&15ADAgQ-OPG2LZPMhn}kmRseL87mxr zHT5!&cTLAGE2o)WNe)fiNR?KxIM!@5idR zYPgT!GMLho%sWz_+Qd&G{1K={aON9ktoys&r#7pMboV{J-std==E}fE=R>J;E!zQa z>qLE*R8}Y1#_+)gscmg%_@@91r=W2iv~mfB^UD?FVZutSUO3fFXCtewS51sEB)t_H z;FSb?8rq>3tR)fV17%kA&FYQVLRuH+>-?{1Ohva>=HzZr*~ZyCw|n@d!LhvcQFm-q zNwWU)mQYq1bxAO4UN5W!dsW$wt+6sRMAfNLH_ZuLAthiD;MRz#(XK$8(*>p&xs#SW z0vedXJLf5?056`v)hdBDiNWa;ci$Y?W%(y>9yD4-^5>l>m`p)YL z?sM19W(rG0UY{8hF}Z}tOFR4L&(k|&EzxFhCZ@8oxnE{sKUc6k zY>24Ha6L(cuoBT+22rHSEzTCLCcvMe|Le4gFA67EUpID}g(Kz%P`9<7)KRp<*}{H( zj^()h_tAP0@g8C4)10h^ZEY1y&MP_D#_2U@#LAnh>=3m$R82ZrP|#8cxPQw1dLI|K z7}HIEoD)S_I^lAQL8`m~P^n)6>J5d-bh5F5o6r0eAo@3aEa#Ru8h;OUSWX)Q#O*YouM7udHN?C+=>F(D z(Ey0z9mEV&rT>ixjO=4Ro)}tfUmUsIH6I7GERfrG?z|49c9KA&iqzBA zemkGp%cs_~)}?%(o|jrw31n_M%TL6WPNVDw?fxshfN@`#PKGpqK%@Wq`tKB-zkmJz zZ@2RQ%^XgwVLax&g5d(9q8*I9!Wg;f_INE$IoB%;o2A^}m5l#hObi=f!sVZjcdt&F zxa2&T?_~(8UKGuLUzwD)Tg_axCsh|K{_k~nM`)K{mXMR-_-YIO^6B6mTbKXWQ`5eI zbGT)y!ZdEKQ~shX!K^|3fptdU1M`UE389+Iy48@YQ-9uEgA4!fcLRSKH*fp%qRft^ zWoq`E!!&h2F|JnPVT_-IX$;6>jdc*>jpaYg&_MyYRq5QEqaQelZHYw?BKP<%);ry! z@2}!;+*}d(DphEG@nt|72|vY@(|D5gT6k1s{8G75+j4h8{1v~wqS`Cf=kb@-)$ij( z|3;6M`B2O`B*z_&9oI$dE`f*A$l8D9NbU2L58wjzT0eM@pt8TWR%U}eH9t_Eub-~e zZ|-5kC2jkeVc?uE`W|_;(3)f#tn{x>^-H9<#vxo)dPG8N;;MGWqUq9RhDYsm;PVK% z#2ugp*Hhb>It$>72*%YPZ#@mtzk$~wuHI=>7_eJqGkL76w?6_=*IEzoWJJmLV?DNi zUWT*A?$fD8_T4FhSB)|%W^7eh?+{*8)Ojy4jBaM0lV`LK+=Mad087bq7%;*Dh`0S` zmWJKl_KLI}?jLw0o?(6*YeEno3=)vh>tlk{F`}|-$z@=Ewf0#abt#T*VsIdC&Hag& zM!9a<*I~|Py8xO}Q+v&x-UX-kn=0dX)@F<4da*ALu}uBApwtFX2B1DNO8JfwtI<}^-T2!L|X9HFoQ1qeu0Qcq@gYqS{$L|9flk(LPufPHS3rqrH;40mg_@Ue7 zJnGAF!J$$6HM5WReD7W0FR_R{rQPW29z!nG=y|wKFh8T@0T*lK4AV^& z8XZ{R0)WaU65SQcAF7`stCMGtD&#raCAa1ru(=ou4chsUqN~oM+;jzSOmUYrLQ;^` zL12nJ`#gSB_VkS#H-4pj+YptpCN0SZ&nquCP=0M0*ET=V*r{@Z?lhQ62tTU$X!$Op zf~dYLW@WWI1R38@Hzw5I!{AAbt z>4$7PAQYQnc{fmIS3P=+NeBP)MVYehbleZBMsdOGC}_laD3lM5lVKI2f{|AL<^UK? zI-H)G zb;XCmnI#)x!)xW;9YM0xwt(f$n741=3g9PngTMJBMhOX8$i$6po8pcO_O!dGCbzD% z=3=?YXrrV|HE*2$m^aC4hGs5r^wQgW6qtCmvqQF0UC0v6>lYsD9-3YlGc^j@n_ww7 z5JQ$&XQp0OrObmKOEGk_?|pRBSP&eS6J6rJC6Cr;vNZ(FOnHUt$Y9F5Bw%mlQ1!21 zxUPw55sAu1uEJJz6|#U=0^E-=tIiwBik1~?nnLJP2?zn`x5dD6Aic& zaK2GhnhXV2;iKqwhD{LBL}!@$?J!$FC+SP)v?x!8xhDlh1=OLehIo9cn!5uwWg+zS z<=e;~h^e+SYrZ|X_|zFs3-xBomL;1vP_KeuI?mfXV*%mkB!sF*{R_9Zx7$>=hWSgQ zmfLq5Kp}!uyB4eT?CKDfi^hua31T*lXPM$qSqJQncu5nqL zF<9+4MdW~N0C29^?tI!xT3xxCsmrEC^;r3Em*M0oN3wncYL$WrZn;5~M@44hEj*O_ zOlXs@uZ|R(rdUxuzQBN!K>*qmNPN(G9AK9R#CP4mVBU?QE|8Mgqn10G_tmU5qj?1x z4hUehVgLSB*rQrgA_e?Bidt%$L;~o z4zxX8IeOU7!Qhw@a&+(W=OEf{oPwKm{KNVuEt*8-1D9YNoW@mDuN+ae(@qE5IBEVj z)!1$b@^vZ;?{l5Iwk&(?dZfs7C2<`DdC6+Lu^0BtfB6_(;>4>N&%fD<6JC@7I~sai z5&!>u4p>~lGTb6%{+&+nf@Fz& zU%7KJ_TYbXSM!dpmsf)2(NicO@X-az%*4GYi67Ss zJbnRj$#u$LwZd0xf0-J9a70ZWQ~2t!HSAfkI9fhb!FK4-q3Q2oXM5Wydh1{y7WE~4 z5)5Wx^|C)(4y(-ssu&rSk5vX_Fvwi_)?)B8g)*N%luT0ti3Y*};V7|O!*r$J%VYZQ zE=Y)9HOz=HxoU(1Zr>?n6aw~07BT#6HXUejpDRMIV_Di-&m4)`9(Nutk`p^112p! z&(^ev%zn9k8a(1@UV*Mo?`y0*m)2!WN_;8Y$e96$P6s4om^<(rkCG@S>ZaIl6S^0u z%WjS#tJp%TtXXtc2%SfIt-q zD{6bCdOb)G0IdIA#emI-c3Wnq_QWR#?1l_Ab;&EC(_2;3IYw*jt6O^Ka&)E}R_zaA$>o-TtLH;OEI3PEtSL<+e$kDF12EaI-<)h<-DD_5&S&^BPAAM)GGjJrt=Tu#< zp@x+fWwddq!PM>3C*TQ6fm(~u&Mkm+PX}wVk`jU_RtSpemyO#p$Rm4aFV*`}fC7Ry z2H0j9K?m)dlp$N-wIiBGF=v;QtTBHYeXy~n_v>{ZES+zEu)8SpAD8TNqGsAaJ__p$ z+v>$j=rQc5T3fEY9b;pPX*rAv#iM&)W{uHtfY1K(&g0OvERS|PJ>0<|(;=CuR6+cCS))iW2^PX`nke#6z8mB1 z3Dgns!XPK)rTuepgrlO3jSY9SS@|g@fm}Tj2Gq*q1&}pyAQb#!Ykl(6DU=O13I|jr zXe4Q4>;kP?bDxF-c_0m2be0+H{pd>nzLP8Y8q@>mhf6Ac+?oA%1ttGHe${Q0ifF87 zP6N%9-tlvy$seBNAVvoN88m!y(dloMuzv``&v%;JO>!Pl28H7HK>mR(xr!ofzj$NK zMuZl%xAx*CNb^+oT@pohqv1i{S;1XiA8C^P42EzO`OO%8S5s?O@syShd{T=k@5eM# z+_{F;3wb&WA+tV8a#|@c*ZyPxca3Dwf}NqS$9oNP90 zFzT*VuTN@6bp~)51^1)Gteg&FW#8iy>6gaqmyt0)^ia5Tx#ffd>if1K(+_kKTk2ip=bqa}OdvF)tdeV;;sZb;+Y*MGsK|lp|-)rTGq6|gf%f`k~SZWLny!HaJAmxcX zwuQ2V-q0(q(9Yvd;hq(j7pvYehv(+QtsEG)7#s!W+FLKmHndu%V|zkv2iK-^&BI=ET*DAW zN*bO9`F(n6yAY+kB>B=F!`3OA_tiG#$+wLBmLLI55*YVtdWx+p2lte8LSOb>I)nf{ z=g3Jx;M*mqwW#tc`*a+32)bV~MiO zQbc{_oetxf-SFZgC(bKXdEQ(qHo*dB7t0$kd=gRn_|^+KY$>JOL6G=N1xV9TAcY5? z(rtd`w0^vIA869Tm)R z&c1t80>(<2G5w*Ftk=huw0MK=(0Ac=lVh!jnX#&!wVC#P#ikSFW(m&kg#+j0Zf*f8 zT}I<5NCp^MaeK~PU*Ff>q#`F zuF8Av&#PLsv7o}jy>%00Ji={tYCoRAX`Boj*nZh6q-`1eWuuN8cyrS{1Fhj)w@Uhf zWDxzL0%S$B0c(uy%7-6BR6J^E#rFdx3_w2ZjIpgY$&UD+`IHIss1C&I$Zvi=CRAVk z00f^d6q}WPQ*q|h_F0|MSu+nU?Sqk~Vd|%{`&m2 z0aVqRSjS5QvFhO~KvVH~=KI)s14vNnh%{ooZeoW^h<)336h`|#Im3)ORl0dIUdSE| zvXxVuN9ykKBBq`|nuCG^*L$${vo%@4L7iIPtwtcKJW?DTDh0-Y1>m%UrsirL@U}C=xdf@w#EXCQWVw{6u!unpMKF{6s$cg zV?mCovf)Nz8G$;W1wy}g#QHY_3|K+Fnu{RjnnxH8;1G6R8T$&GW(s4}mIMphf%~~J z00}z?_W-AD$X@^DH<>{T!eI7DXrQ;I+Sdd}fsh_hCSx21t74OXU925hS&ml#Z2ac| z2k>Utf}V$HX}K&tO_cBOWwL#8{Wn>^7H zitZ)=X{3@`b~B1$?6%C8@Ljz2BRnZa+^tENkY^On!sqPdq6mBVY1ny?lhKc6_*yRe z5Fc3B7ys=60rudu^L;>ZU-f@noY$X?ZO}AFspI_c>mUaG7x;YRVD*TMgCTGRhd(Gb z@7IU_A-xCjTGG!xnHW{cw={0- z?RmaxXUa(hy3MmUUvZrxdE@ReD(lUeTy-_o^X%8TjM7oHEQjnCqpVhGyOFD3%g*)g zWWHJLSgc)btAMPIPr*F)`QmfCzN_bMF30E0)P${$?OX~AI|nISifh=JJ~BUe)vOK? za7%4Z%1n*#q9{%CHE#S^mh@(cB>Md6%O@Ub;p$wHY?rexDsufp{#E@DES!^;`U}G5 z92(U8`x}6*8ZPN4PsBIgx-j+S&EtXP=X<{N2JX6xR~-1S2qa}@+OBQH>PeNdbDXtl zn{Mp~90s#PR6o1qS{WAmT{u zXD7wn!kOcLsB7KD>fXt*fu4EB{!B+-5-on}R9O7}!ED==x@+iC$=jOxr;?(Pb&h4} z2pN?-^fWHlvXpd1KDf(?KccPAXohHM2m@%C=|bCdHpb0x?0)ifW4I|9s2;a^&@ebm z5{gcYxBk~=0`St*l}#=xax{BZH`Ka^$tKI*&De%ltwYKUTbF+crW$6Vj77{uuU)x) zJNrYC?~gU5*QV^2So*t2gXu?>qj@itvnHOgb90I$eUSYl`e>8q9co8Jy!~UrlU~p9 zyM9#i32FDhw;W1qKUbz$nkQP%v$J18>Ze_cR@qbEStJ+vzKTPo7xW_MbCnWzV1I5u3eoW%_=R z{YF{&>s%?UJ>^DOUu(ReQJUpD_OrHm2OLs;v27i9V^=5VjQz;qGc9&YLaOL-X{=X* zA&9W!~@ESqHI|MbO+z2X0F$`u%<_hpqp6TSR zU<{iqAh5g7ecnS{GXC(?<~w$!+4Ia9VlTYV9h0_dQO=U<6#K0V=1_4m<@8grT2x?; z@qySm$1?^G9xivKdH8NDdaN0QITYWXS;IM)p0e1nSiVgZ>1H$^0QCBBn3)+Dt-hIb zUd+N=?>Em4_b;|Gc;MM$=t_YFF^M6c=1_F102#7_<|5XNUu2S@fBB!!$GD&i&1<)$ zw;sROAFGF6v9Y^le2?+@BePT>scBWlyvcPNFY5iM6X7pNiyLlF>TF zS6gC#s&*@C@qXUnuXd#1ic{B496ufhI7B=!$pDTkC_x)L_F!viM1?sl*Vc*&qLISt z$B3i-&(}>4%Xg89?E#xO8Dw|-rsoV^082jm~(6xGaMkmiz))rx#A8S zVgb#|xz0Mz*^b($7xCcrxdi{OwGT`$&YX=`Lx=C}?G>4}InjSLYH7L*T|Uzz#m>%S zmr-K6Q$8Cr(V2?l0YCd)WRh)PA6epk$HUR#rZ^FYvHM;gp_c&VDUlRC~{vl z-dj|dQxpsg)r^=tc$Dv9)By+^SaJ0~_Z94a(D!mKiWsia;M|jf1PwG8M7@5EL%)4X zR!Z*p6BchK0@ZUaA~lGSB7god1BcI5nG1KdtKEX_Mpw1N!fNT!B84JmpWg%jXr2f! z&^#*O<-Sxq50pjCv)>0X7`7#3vflG!F^Mt%yMK|1u?NeNm9?tZ*|vozI#96;zjC^B z+wQOxxV=Kf74+lbxL)Gj<} zH=1L6Q4g?%H;?`o(KP-kVyxDJ(;($a{N`d}c#?SgN{lgfm`h~n;RDMe84ZY6N8|-( z@1@&Cuis#Czbj)`U7N$p9zV>fJj@i+|9@6`XeXknY})0*$o4rN<*C3sIozzrN>Rhl zEkkP?&V)3q&*&Q$9S&{9HJpoGonZS~=D#KgKh_KMx}Hd;FO}b7lK%HX15)#jN3rU& z`$1;S_Y7aZ!J{R423K2?TDna&Ww(;d1>fNtrq8S**RB)^DpVcZ3G8%Fb}^rdvk%ZU1YD2@{h5e*Ta9j`I(v`8vn2MMb^@yI1WAc}}IF4H1!YMv&X?+C|(doMMNt zp}0BN6OW0f=arr_wSD+MXNUl7uWMxW=hS=|Kq8LS{v(*wE1Yd*KdrQG+7YSzJJ)m~ zwzQ1W?6~uJ|1RY7_1=^dOf_fzYta%D(;p{L;2CX>vK~{bFD- z^`mybjsE_GhqP>;6!vP+t@HoPdd!tVBsI{5V9Z zivU_-UC^8Ypxy2Cga3R#+h>gKY~LXDGID8@KUPYLos-8!to_^5$+Q-0`_7Yg$Bu-4 zZx_Vcm4bV>^HlroqUv|KgG>s?|K?$jdm&pwR==H)$kQ_(0D-d8jPVtudzu5`CM%hw zN24yFLz}vQ=}cW*%tA!~yxFBQmKOeqhWQ%0G}X@!z^)x~F3pTJUf>I2aOW^2%=H1I zoJn+^i1{)e?jin)FH>n}`v$mkr5R_gG74wy`-?kI9=z=^?`S>&T>Ae;i5wG9_}Fpk z&gyw>8y1&=m%45ZD|r!|s+y~_-EMg$x#~i+%M5wLBaFFNr4z~UH1|}Pcp>O?{N|*{ zrS-iw>lMQrh+S>b_lEe#B}uU_UBN7g0ttFL0Ick+;MKD~wzt;WR264Z!jT1SUhd$R z(T=XuSy<-JUFYX zTY)=>S=X?4f=80-fu9Z?5_iT3W$gGo?atkBQFAWgv6J=Ju6DPYf!%l{{=Zk*{mm3} zB1kSa+FTx*mD<(`t^z?7MFk!C9=SMT;dhv16z?nu{Ogzm=XC;|hO9ufvS9T+xXCG% zKb4RZI}{<>;|O4TEK0s zNE#z^V}uTf3`644ITpqo!5AOWRrsQ>k-N`N>y%hy=SJi&~kV{1~KONu*ThzZ( z7j??_BP4OrZ)qUhvO3FBCZN{-o=3Wyn_e))YpC45D*YedhrBUV1~Qntqjvk zhAt}mM96res8p-y2@(`pI%BPauW_8Xjh6OKDd11#d66?L<25jCTsJ1sG&e1pZ&(i; z)0SYXQ_Cm{o?h4MZ5gdlxiLQPcDt4sO$~4sF6JUp$bt3Fn?YWg7^K7!l5Z53Q$kUy zD$z3K96mp@T|I%aaFZi&N)k&aMULT|3r(vt6ompZ8TaT#$HaJpUm0GNcS=Eex>YL3-kQohFJW( z-XWqIeNH33psmX~XYmpbb-+5W#p!xFa<@;|f%qBtm9WlQFw|!)Uc`f-z0&3guKoH5 z9)(eTxRBJ=;?oRACN$69##n}`ko!_$iT~B3-=F0kFjpFryNFG9T?PVC$(O22meKd3 zwa9~~oO|t*T=??gOwgy6*O!*{nqxSW&_D6u`ZjR4kVkl_^Z*vnO8Y$%z#_5 zWLBHJ1@I_ThN}9O8PsXx(?gJK>*%0p9W?*rFabk$x|Eo~MNQt_?;D#`^zfEr+{tf^ zK?zj3yf_nJa$l>I2|&{np0EV+sQNzuh#>0yus>o5DS<)q=_IyeY>YT|)|Y2TmApFw zss4jih}5-ZtlUw9;4a++QDJN}j|}1OeT7RrC8?l&@5(|N-dgF|h9%jxHGux4%@Z`C zwJ%ww8|(#bxUt_s^(=h*ye!A+WMra&a`sex>}8J`6^)MvzibE?9Kx*&y+ZJRX?l{! zrabx5!0l$u=(V2?>6>0>Z;>iz$r|~IuBKa0x_uj8P84v5b%IL$B@rcIA!O4Ufw~nO zsts~iifc`Knc@Necq25AAdh19R0Sy#GL$gpM8})qJbSCa9;ye81eP zvNy*4(^7OgRbODwl9UW1$n*p&q>qoVDF*%7Yo}9T%-LFmRks{pFbgRk1S^7D-Yk5M z@TuLf90S3eeiTMOT5M|C3pcKINz$k;7$TB8^JZ`1A1AdS2Gt(rzI?D*RnY`^IKR8{ zYQ6;pEYskXCHa={HPU6*(y!|DM>3}k%r?$g`Jx?IJxmxzUe}SjRFe6Ubd<;32BnLj z=qV9zl|T9mLiHL`vc)W6>B>DwJur2^QRGdzYyBqw>WxS@e+r?i1xiJ2&y>O2RR;dC zHMl~s@L5k*k%LEZH=GvDzukT%QS{j}c9CaFzjJE@L^Q4#W=1EL-zr`0m$+a@Mgnw= z>85=Wm`42xdTu@g%^#Q7HWY|)-{)DwK#w7%@M$sisE_@T#%Hs;A_!V;!>I93E_jO0 z7y5KFIa1keTH9p@JalCrrkLXgEQ1?l-R}mh8f;E~qPj@_?y6nu?^{j{&OVCPlj*L_U`rLRMhbkG zZLvT}O>=JNc*hOHZ~2|bE30LBIA68lU*1jnf5>|4xTfB}e|(C~n@~h0q(fR-T1DxS z9w|}|1f&Ioi2(xAIXZ{LK#9Rf5tR-H3~7;aG>jUx-!=W*pZk6PzWW1x@WzPApf)BfrQvLgPxpt&&95Dl-O+GZaRoq6>sqQ_Ky=0*$ctj{Tkg$XjxNn%cE5ZWr zVcC~>jH+{J82BmC6O=TFCf{Wc1|c;mAt>kBc#Ydv-1TsRBeSMVh>5+7`Z?5n&ACUj z+?Y?a$$Yd|vvRsO*bwHMFds2gnf39x#M31lGma-AV$~8odRLxr=2^8MaZa7$K?3!_`(P_ZQ(XOSGRXKe$DHZ>ePD3uOVTyD zi1=0InnHVZYD>~!M?5aU*DP7qE-%AKbF6VEnqxWCLD68f4Z%_+@1G9RRwRP$86VE; zESZ3l3oWU7E_?aWBj`5^j5TH0Q2gq_r{kkA2Sy*7Vyw$jHJK&yw8=4c}BGsSD)ffu+s8mfg;Z~V&izKf6KI^fBW3+yA)KqAL0)?ddE zj17sL)pJ0((XOFSr{yrveV3em3>)LVQd_>FNOg?Ws`6RyO5lrEIP>}Uhvy)T{wZ~E z;c?1VXqzB(XFZuQKNtG>3^nu5f9?&iia!1nRhYvVpNnu!2ArDqSDNeZy_D({Cdw=o zEqwth%Tucwy%4(AEKNvk>I;e%5Sjs!x&^_KidP*~EY*q!yQJ@0^;rAWHW{DgYarLv zdStBMboC@Zx^g%aFr)rYNooBq`07>vs77_236O?i z-8-W$B;@STH5;kWU3h?ACKPz*ba~05PTu)5y_&E;ju(V_-i*x=p19xMBB^<8UyLq1 zDl*YEB3br=TAaw>qxu!#38|r_pCCr^QoNun1RA&9Fb0Y@I@^)9$%~?9x~6%4yN56Pj?y zQncn}1culDOb}bsAYoJAdtfEQ^?ZnKAlN;X`ttN1t#NYOdla?=mO(){Z2=7x&w!r> z#ioS0r9aKmAKXUGqQB)+erTQ7Rd>CUG?yMEA<_X7PE9yz2R5i4f?R{C5rc0lIXceW z&}^){BkJ)}t!j%Xd9U{@oso~wWB4SwbjEqOEU`C3w&VC{L+RvcNLus^McZholS+_aeE0v zo^6yVl)kt<|8DZufc5(+V6vZAkYz?5^su|leZchj!j-_v`{H#K6=_42HT5Uv%gJI_ zF2>UL!MZ*VS+OBOR}a=(Y4T^fu4e=%PyUwC+u6NGUaN0^tL4zt?&l#oW8)G|C(ae$ zh#XVo@udgZ41Zyx#{s=(JIpDQ+ehB2osWpBnCGYta>A;y2%1=_=+eX|GKoMvV;PB? zduqMRirDHvD?XDrIHx?7J5;zVberD=W^rF%>C2gzYTyq?oC$!bgn(XQYbG!J=+MZ< zT3sm+Ht{Hb2048hq+26*96;f!Ltu}h!&L3}v~#lQ1^kBZV>)hSOS6pcI*J%%cE*~L zAF7aN$@CNf;N&ZfLJJs9udq`4#rSdCtXI;53;|*bjgEW>7fS z^Cn{ME?2NFtbjy8HP^B!-2s4%3Maa4|LV>8oy1#Vi8Z4O@o8?I4m~}oaZGy14SHa} zHQ+ZXBQ8jc-f(+vws=zjCY1jy6`!usCkJww;wtY}fTUVDL}$4cLkSy4rRnQg?D&)?=Y) zrQ_Ov801Zlk9;jFPIdxn7ASuSQRGgOuy=1`SPw{cDrtG7%e5bgW_{!%h*P%GhwtRvT<*a_`{1x^TLDXJ~q0k1=tfA25jt11e z_O5*wONhO86bS3+03qG{V6=<}Nevq0%;}%2+Vrk*poyS8jE*;dctHVdwOC^(0(><4 z->`Z1;D9df`Sa&w9R@Bb&KUGRbR-HS14Q3))u+MwAY8ztSP;0EDsTV|`9B@JuCx)+ z%#y7Z-_FWk+)hZUlG1*cITPD{`=Q#K-@k8p_E2BD%Ae*-XXqmd-d?+Z7)bLtz|%`Q znhXZKefxCegUu_9&+f{YBkFqJaG&nyR!%^C>K`AtMKfS8-NyX|mj0Xs@C`#G#G%P= zG|%~HNGo1)JdFp)bG|6bkd@(GH5 zIp2E9t$g((Ce^YhoI+H-(p@MFd#XqqC;suM^WRsJgE(^-={+TG6*p&c=C{a$k zJ|6v#Po(_T=AQowpeXE?`9*lOy;$Mlu25R+ojar3Tr&P#IQU&at+KR8dplg$@~?T@(;N5 zpD#A9%8%fHxaFP;Q26`gh$E0kKMyTjA*xw-MS+MDCaDg@`Z;H6vDA#5cP}cOXP)Sl zY8~<3MIR@7hcYSrr?bki+*tB^8_=4hFYV$%`qq!CFa*49MKV9Ie!&h@{`4*}K*s+K z2D3c?=7n-Wi(0+hJcYCFzn}LQqTOdyoT;&+u`#rM@R19c%XGFqE!7W0r@o99b;e9{ z|Dp&1Zmo2W_%xJ>ys6d=(+-iA0=% z_~IG$eDGLqy6sVnCofEor0B?1+O#^^m{w|8FEwXGS&y~LM?SBYN2t=H$oD)D5 zeF5^ByJS?7FTY?nxr|ncl{JhzufN*fNU3mobaVS6!wx(LXNc1WYC43tZ|3q3j6jPm zAqlnlg-$oc`|#+f0O;%Hry@XuRR_69XQFwD`(evnXoX$TV2N+my?giCLH_qR8yq zsU1u6tID=>-I!~Ln`zV5E@X-Q{fH|FNQGmTGcU*@PR_j_(V5+%oUcBBBy-3(fnO=Z zNNpyi;nWMWu*gl3jp?kmpCFwcdY^ zhfP2ZT-w|Ge)@Ham!v(XP9UbArBmC!F6jOg#mSkuJW5GT53Lr}H+ItrI+@0lc!mJP z10!FgB|t$_(Sy7YL>5q&btH>q`K^R~Gu_+YGc|xbh1OB~6_IXwlcOup&)*0_>$E_~ zk4TqEX+ki#hu@nP1ls@}ZtT>Hf_nf@wV!?efJbPifkY% zi>gxWqAP5>WcfF~OSpdA5E!y_PhYuF@}Lsg?MJfSTyIrJzRT5acDIBF%HhXqvLsdQ zz;SJY6e`?}fa#0VVxWD+4kx#k+SIga)N$$3rCBgN#Dntz^}L5enLA@^oy_+Y6%U>u z5XK<;C2JfwPs&_=H%56kt;~Fl@VxE=w#7HXtE%^Y-l3S=f(6O^wXwbM^f)-+2x?A% zXPO>+qg!Y#9^!T1T<6lHTs_oh|CP|bPK%Hty_Td_G&5azMRUx3mYO+czNb7^U}>l_ z$*y2YCu1LZxZ6w;ovvI3Iw@QV8|EauEbPD+#U=FfB66lp%@|MUH)R=A858zo6UlwBPx zicb)+o_tq*e|{b`gpje(V69f7@A!AiGt|HPM2`Mm%%!1~{?-5E zOq?v8sIi{>@!^E8BZs-R&&=$XSQ&)vZEfeUm(J@q8>+(|G^KkLo89-f z@Ikx|d7Gg5Ppp9RYxT%t8~u-3DHi(j_a5b5zr-?s7;bd1p5<9&i!>fvt0z-E^l zgWrpX6%IX4f7+KeyUJrisFxdD*@0U2yzN?FQ!Ek6c%k!!*l*~>p$UWx6#qA86{xsqs9vhNy=V9E-ryC>x``WRWAKO;G8 zVT&~S`1+Jd?Q-9it?BVxGE((JAy_BxfXmb=@?NjL3NT2YLX5xel=x9ObzzazU>|{L zHeJ3QH+t9_T{f2CJHZV+0Ahq#cAlfajZ)}Z%2MU#n9;mUceLIQ;+_-HgD)fH#?b-I z%^C0*=`7St#$>idWyq?xszh?(r@0Ucj%es#x|Xe9%cAB^RJsBu9}I?Lp4I-g@QIOm zfI}+>PcmtI_HwH<5YYhlR2}(oAWX*?P@*j7m;c?!!?NJQCHgB4Eb*)y9QPP4ScGf5 z-zM?0zD*8;iwKjXbAflY<{4%>^&BSuS&EEsyqG7uosVKv*3(YBxDIiB;3q7w2ou5@ z^y7&Kt&mw&)qG}Nvp6g9GhuTkT1kyCKitkl+C^IUjM(G!A?qtI&vsUctkou4$ANJ< z%^f&d$46##!lI(2W(XfWzFt7wvUyp8vIo9XvA_W^A)$c_sf#g83#?t_{EV_~Nei^c zoCc7{VD1`Nf|c^;qYY_8^rN{8u<`sb48BVHmBX-vTT;>IgpkG{;@nlwH7ijq0SnkR zU%)9>%uaPPZ`A-De9XqSmpyzJlk?$k@Fv(%mDQ*Lpucwh0-#*@TO+WE6G zu?Sx;Hcop-`LU?V%KPpg{7L0J&K+Zd_EfT{BLc3zbcFe!^MDlt|csQ^bPKcMQ zL^5vv=x-B0J+zf(+h^6N^;R23RMno5a>ET)^lnMZTK}|iA7}e07!ou(VV+gztY@h zQ8k4K?3mM!c-?ko8igllNf_1+crOi;ViKYx?eg1VuT$NFNeZJn3&sXk7IzXuz9$Kr zJ0TO#%x={h`LulyKRU7nvSLf4s=)?~XAg0)0X#V4K@S3g*cliY2p_Fnm~d!P$h_tL z5`*^df;BTqyGnFbjs5_Fw8zC?@ZR+x6rTa4F$-E$nSwFg5w{!adQemt(y>0>m$I_x zZMMBqgP0sEv#k7q#-<2Fn6Rq}$ej)$V9`g2JKFVSPIzc0_m&C1I*7EOfVc^pW@~i`?ko+PBnc9~ypz;I zqC!_2cbm3Ym;Fev_fv;k6g4@~3OwX8M*_c5nILB-{0@L}oW8Bf`YhWi9#$yZYbe$3 zAJt6Rk&ch%YwNu5975)qB~PxbI>HQ&R7!>z5`vyOz*B%?Sno0{U>#VsJMudW$olTo zGz9vFd~CX)r1OxNG>WG>XhPN*FT;p*8bG@s`E5q<>Bm9c)OYZThLlT3h*jQ?S`6hv zg5IRL&g2>uXzMYf6ShCCiFL5pLZhZ6@q}I#3HL9+FU1|d9VQpPgo+G*Yu}NttP3b^egYgm48%o@APD+kRw7Nif^$@1sO%P_#h+3dH>(jp>rVMI_8`UONJ^V8`J)eyv=>*a?GePuEfOJ3VxJ@ z{e-FrmOHvLCVgb8m?EcJ2YkOp|Kv!h;mDPlc#slmUrEQ?%bg@(So&C-=m0-gSap}e z253O_5{Ps>28?3ZVk<`3%`5WyKIh)UNhjtNMXH1_mPHzCl9%U&ZWXW#?q(yo?y3FP5@ z%H77k8Q!U!YV|+131MlzUPTCPl17&h7ttV~$yR7XyH7p3gNf?u;)Y+-U+xfc^6N3E zDV$rwwZ{%r)ompQtunD(;;?c~@n9tPA9)cJT3!@5Tvk z&D%-xAXlMm(Z;?rDRBe%Ep{h-o6oz?4Y7ixDVpQ$^39Dl)--n&`;X?cAda2vA$G9x z0hyx0oT^cAea(B==kbR@Gdzgx-g<0~tt!E01ms@#_}5JUu}3O?`SDQXbvYlkM1CU+ zBMxvug>%4L?HC#NgIdpk=TGi=YP?H(3>RS!s5wmRH?KrN^E2HgAKXJ*d!vIkdrvL zjEy0CeHfFioRERvX_!`wlg(sWT>AjksW-UC#AD#&d`~XMZmQ~f?)61%f1|OGCme3q zY+Y$?TUSH1t76XM^t7jOB1c34yGxeh0>fH`B(J!f7gA_o#mRitMJ^GYZUGi@9y{cL zF-9ij&`WfuWTCvAA|T5@L*nvpma?v>>$u92Pk6$z?i;ackg7ztXCUsN)puEIFe!Pp zEt|vxvNY;|YLEQ7QD?j|!J9?;Xb?xvgZPw28>;;I^WA*il`eaia=E!!6%(lD%Qlzm zk7l#_=#!&_IJvp*jXk_{r@QyNU18}F`~9HNq(?m`AbTa?#AOMY^OQFSmC?^>OHXi> z>!h$H@|#G_G{^!H;oWrt4G~;$-L;0Gi8or*b`ID|6wAXM(c}cwP}bwI@sj;*rrBrR zJ7=@aGP;lZFG3*M?`8bA-k+!bb2ry*UJ=9kF&_J^P5Aa4aG}f`Ol~fX71lsil^u4T zQ!Uijk;@k>M$Z_SE04NxZKv~UrOy^O z*`MvI;z+*!x~oTYwvaGVe!Xk}7th$fnQYan9?w(1Q#7oeRlZ!Di&@irW#=-AmP83} zZ}|6~OXt!lwPozRApEk@y63ej7@HagcmY7rzD7sOTVRc?kE-&7GWzJpqc^ z}y1dvKlC&QWVnJkRM62REMxKmx6>PnhR zZbQ&~k;jLcg2r%B7vY16fN~jO1-GM{hD!Nl&OJuXj9!}}M5Zxo$5-LcM~(^b`FPHE zrY*V#d6=A#V5e>09{rg%_;Cx)Wi#5yc{XNfxYlIxrb8lS z`$t}Md!qMJO7SW9;YKK;oV{FEk@#g>1r0{N5o3+@c`_~n8<*=vovKowbOUxbxPnXzVYE6)8p zuUz(?F)8QNnom^ztlVnn)iuAlCM#I_Vsee@HRG)~>sHZj-nXN2it0I}Eu z%oMpjXYQu!S*`ZJTJ!Le{0Ww~Duedat;|V{%!=CmUk&0b!Zv+EnMyBu%wW{pW_KHl zaz!Bn!k1MZb7PHbpwl?SECG0x^hL%OAT&&7~XdiAq@~0 zvB&)n=^hTmjO=a904n9buctc21AOtrE^J!!zb>op!)@5v#ftBHezsefMg;p*i+#3R zrDoQNCk6SKVX>tQkQYzrJ8wf5ge_;0X|7_^!YIL=nq!Jm?uBxkeKO)ox{0NCA_z?R zoGO4!{oztGA?!IxNTM?OH+B*C^X#aL zXjui80w(xs2H(5(s9H(7(F(iCn^^psDb-^b5mVO$dCwm0ZPs+ZPC?+8)w+O4_J3aY zX@o>5GtYFS_8lju-wKclyu7T=>bOs0_Rx%U5-XmQ#L3SVx(`Hk&08CkUIb8x*zv~e ztu=MrKadwDcP9SLPYCD3(t>W%W6s5gy}osK7C*0jE}lM{J@D7;YFggcmad++QC{tF z^oD#CFVbmm{Od?4XHnW|+#`m(l&-NkIbsJ$YV1r!DvtSbf|NGrT+!JXt}ljjnFYuXr z*t>J9Z(jr*y$QKBS83!}3It+q=l;fx{dt#9r`PAdX?yGq@;P5l=f4sWKR4kv^J+1I zjq4~^H%RtQZr)3|!Do9Z28zVubtAqK@uLhuX-KUpbFUZ9>&k!EBk*3APlLV$G#RV` zuNR=qJ3Cm?yBAzPC_WN5H#gLP;jXfFd1LlYN7U3D!p#_rI4$N3MP_$JiG9|x=A0H< z(T6kdnH4gxR8ig3yi6G@=N6t6Qr(J@xtdi289`3^nj6T-`7EbkqNAgwcOg#||9u=c z^$iSAMV{vp=A!G5YfN!#N)IDn>dx)mf<9Xk!kv55LMOr+PZ3%f)N}ULo@uC|ART}7 zR%GS8#q;AcogmIh2&7RY@Mbad0C82te7L;ivbwt34Pj+g_;{*kRCycZg^1y$zd+}o z<2$+4niV>`(5hPcAjUmBAu5bR%lKU5o?1f!|Hbs!VA~EIqKj|w@{hzvJ$(DXuelT=V$jv@6OO@m`y~V}BbuVeRc7ieQgFi9s z)OkwErh6mDN&~Z9LylYp=dSR{xpP2;>kmDMUU;!0LrjIBbo8gk>E-6;l2eED^?QxX#u^=Ks-BGKb8v9vlZ!C~6(_s< zRz)E{!?LFSo=Nggz1t3?+WS$N!v4XDgqfITX=e^^jie9XZY+~ghI-dZ!ucfP@_DC3j8JU?oe%K z>hN%IX9CxZTE`8;c?lBhZ=DQ{c!dK4`{AZfF!g{wg+_ajt%-dV0VZ?; zLXt_xm*NFM7#9a{^H!?-?`J*<1yBF~=OzKERX@etC(ih-g=WpRBYwWuL*B{1u;E^@ zhcg#*$W~+A-@Hg9Jbikq)9`MCvYBLfOtS^tU7%_RaU2ES?9Yt?AjgHQ4$$S!Q{J#y zoWN&}1AY^kyu1It5MIDZo6h~OI}9JIowKQc+?>zk zZGakhG7&#hVr!-vUw1%e8H2$F3UUpEbHuj1I@1Yu!2eCT+jLrKI`Zh${91EcD%a1z z`NDn6wKC)CvUkVHCwgL!r$#Op9yV}(O*N>hZanrUI(*geJlKop#)5z`=kt)g=s(x# zyVtKzVP>LM#h%`V-~A82{>jg*)}=l_9|_I-gk+VK))M3fOMa#(#eJ)YGqL)W8t>1W zpMDiX8(KQSe9H(h?awcg7upw^UB;+<-!(-d3qL5jsTgef<$(tiA+wy1;J{wVTvq`A zgDV`iot#&4K~+;*H*q%UU}npzE%@6}gV$)#@!#R#WlQc#bH_$y3$32JhUw$?-OGb5 zjGTJ%LDtXrJ)Nmej(?wlRXA~i^YY=(pS{h4p-L1otL=Z?x@=w;b=?kF0de}G1LSmD zXys&VO`&!&n57&UYaWm2UlBPrWt4KVQ{dQ@sIps|GJmYzsx_HZucYJFbl0-3NwL?e zkHAbBZe`v_`2I7)5uzJCw=-5}pSs}ZS|^k^ftlTw4_xW8Bpp+96Rxwey7hD@9PBl? zOgWU>hHf_~v}G>+z2IhRwhw695mgUizW5l&G|7+1i;w*$FWGCK4l1aqg1D zTcs7{jsiW8MPlRDwTV_Q|EL|zUh#|hh)nb9#Ubst-Ds~7eGGu`JguatlD{HZ^D;@` z;YyzF5ue>3yU;N9Tu_(4dy-n>_M>vRkz!>!7J zO;2G|TJZ?)BPZ}3s63>6uuX8Jp&2yD&5CdV=4Vb${qUZjKFm3S6~Rf%0$oGmW!@mq~H|A`4@o7D=rtMJ|dOPzzx zC`GCI1t7_~l0x`y&j|Xp++Ut=Z6uY`bUUjGMEN;q6(x>W<)#_?RNC({FDZ_{^80&J z5p7I7DwgHk0YWLPs`j?3#PC5bxnlO5;l+y_!xr?h$LVK-5ET@m*x8@cxki>xw-?uD z-DnhVP?bA945As$-x%6l7H^#cY6To42bn9Z0U3Ea(p8=)LVFB5lIaZOnev~Z!Agj< zsfkbwOw~%2zYn^uP#6U42Y`>_V2~R%5)dEzMt@`{0=sBx#;sYR27A_1mSlf6L_$7) zng8MS(J8jwo%-SGNt}zh{Yt82*@xsagGimgfm5jx@A7lFGRmb<#@mMk&h8m`*t)i| zu9;C!V`>uk&yJ#GzFlZzm6`GGs)9vJVZ*7E<)@jhy5-R5OXBHoAvJ)Yf>(@* z_1dV=SBYS{_H>R^A^(D&YTQ4k>Vj&%y=|S=f-h3kYeBsdl%+^!62%Fyp<3x?twa%vOSX zQGOCQNq(ZVf6lsz*xaV+nW*n5nE-s|@<-^IxpVW7Af(2a0@RK-fMo7ZexC^M2Q*_P1 z1!ruW(Zm%v=+k_xi5|N(YCVS5m(`YQ)T+W1f)`EDAeCzYf!@#J&t9EajNxe_n z1*>4e@#z>M|U=X`6_mB&=5af5J9x8#41@d75ch~AAL=>Za)T9Y!Z+k;ab^G z$Q5f~?N$`HlTPCjYiIJYf5rEAzhd8k`xGEaZ$FrE1I~&)Rf_unHR-s_Kd`Gzskq;6 z_^MNgN*yoyJ3y&mt)uDi7o|7}1l(=yvuG#R_hkY4Q=l7(y4*bVp{2U9JV^v3ZtkQI z_fr_ek!eH?*20CnJAA(Wt{~DNPVy3+p*eu=aP87ZOCm>Y7-KEDsibhmcLC0eh6aI} z0!e(0!yAD6v1At?$_t<&M4Sp_c~S=#ax8HS>Xp>v7@1RMl@3Cfd^>eIp0UI>oy(AuCOH=p@Mjfk zrf@=U0i&1P_eiPMM<#q>&;MW1_!gDpA1{XH($67Z3A8MajGDj(Ka3|B4) z)N|*tw6@3QS&Rj251Ej;HB8hB$UY+M-}0?<_0pz$M(=^%nM%>091O zv{VzQUl5n8>mjEp;c|ffp!brQryGq^*QyMz*saN|^e-ke`*pGL;LF9I3b}XFb;vt% zgM#jhKa4u{^{;OdqCQXTc!07!q=70xb3ihoQZiWM#hWQyuzOCRHp!;KQCDUDF5JW) zq?@X%sl`+PW0arN${sE2RbJrWiwBXd17Lz@_`lokyqAT+72oqzJ6?yyiv>c82!&0O zLx#6gZcYygcJ(D28}{QgCKYdYqYlTxB@8y@-#=xZ`Rd`XR0jVdw%oyMH~9N1VVit; zgV$y6(JMUz|K6{Un}0lAp{i&t9D!c@pc1TVdoM!-C7fq2)t3^SEwPbd2PN4~yHWZn zE?Qn;2eglA9%WwdmTzg1r_^@SSZe2Tk&SLAkRlcU9U2m457J2Qsi*))z(M!!hDu~v zl8IHIkV@&E2k0qE-#1`DF1Mq`{ zi=P)_GK2>HEx~;7MH14|vB$sdR2!JSyNw>)W-Vj~O71ko73uw)Xk+H}txZjl4!|$> z_;||!Br}We@=n%i%I-#CYvM{Vvyxo}UUn3%&YBlJl%xYT8{%COT1c1pt!Lf{w1F8& zc=;0%@bmKkT)aWS#UG85J^CM=hRE?+2wJR}5V>g=uYyJD-{+$TCV#&DbUbN@|G_vT z`;Wvrt`7nA$b8wkPdO6KhR?t}X0qC_By2+8&ZC{yDLGtqb70EtaB{q)s!F1q{)Q2# zpuViB_CW;_!#>sAr3AJSWzCzzR}#rIat#>#MR(QJmAl0XhA29dgwl$Br4*8vO1h2? z^58FydpLqdnTs2pH(=Cp{_#E*fja=L7HORh=rlQBpTLLttZd%8N>Wteu!lWYEs;yV z>-Mh=RWG4<-XRZ$AEuq@UM373?JN&<{R>7sCoCC$734%{sPzd5C%X?<$LZEhaCFuC z#uu%WCo6iF#q1Yos=v*9Z0wEA3;JDrhJoT#BTI&aAaswy#E+g~I>tq=@$82SuR0U? z(++deobEXd_Y&I-0vmCkXNh>Z+ywT&?6EFCHfDEbz&U!^6^3 zK0^5*LSrp~k)Y>Xjb$bKgstI>&%8W4m!Rf#kiy!D%j$%v53&8@{ois3g?D zj9<9KGi+4+F!JIuS$AV&6Fjyl#%*NR*86#EXLA#rwzqH3jR42l`G}EpokG6;JdI>w zm(6Q{@QVWsVf!vquaTgE5~<<-F~~FoVWT`Cc)eo&nup$(E?@_;S4@;}ZjJ zKBJ%Y%{4}AK;-R$spS)p@CLkxfZywM9QnR(zO5tR<22QNuDyPMcb(_Fml7NWc9ZxT6pnOs#Pe#W08ueF2uHR?{8Ai7*GbJBkK*P<&8k4}Zjk7}ek}uN zFf~R1X2{$72?b>AG-U#;OM~ihB&$+yDrW_-_!9vcS~T@30A}d&rYQR3nB}NfV0|Rg zr8j+~>;y@c-v28>`rXHWoOj?kY8C+{<=)pPstXc#=&9;Yth&OO zQ03Ilm!J78^Ec3UY9tBrH3sa8`h}B&?U$U*JG@cliJ@m`#706C0}nLfk=i|VmTrwk zsnX5gUU#g5?I;YcEQhIHvhJ?EACZLcpocuHe;6!A<*1!Fh|7FdN?hkY23Kb)e_%-e5P{ZB4=hiC=17+OUj&n z^q*>7Mki*}d&L4#8dNiIX$tf3kUd8`R_*K< zd4X4Zm>TfohD-!{S~4WYH*$+CF8fm?`S;4vEh>VVH-JlYGIcZSO7zo0m!Xp*cwL|N zmPtx(7hga(`)*N;(Q3~CRKAW*YhH()aw*d+7IU(^Pcaxi$AYPR}1MmIz-r`XfZh+_ZfUG1)Qm$_AagQcKJ?aRjULS z+!GDm!ZUJuJH0mdgs?rc_y8b=|GsG7_8vdgV`ldw{g%uNf$qa$_?j6k66l?IMA=oLHeW z&B9`%{6`iR->7?E8DMA2Mw6kOY?Zi3&YmSn+5(yD6$_u~Gyn~L=7EVYJljxJXgVh3>PFX!H>HD`+E{F3)qxm&`eb}vut(n#?y zjD~}#4bN=egA{STqKdh78=}*&E413N{5kw*cDj~&$B!7+Dv#0K#J-HWmu6+@q-exyEX-JU$N20noq@zEeuNlhNpT{II^ug64+rkVos!z*-ED2_8Vv9LvOyQ zQddh@D1-46>c_drY#vFc8D6n5gsppY8pFkp9W7RixG-1B_o-e$n5x-SgmkiI_aQDu z2y%*o|6fej&G&jqXLSk>FUkTSq9kTO!#--AR$b0V<*r7X+N@F7rSEmQutXR?!t#=R zFaDlJc7fFtc1m(muk}w*NkQM52Zam9Kh{Nh{N`}`zt>q3EVE@X0STGH#ZqP z3^C8&-a0AaPJewaMkzWU$_Y8gV)!pE@S$Fg;BN2pYR#P~3Egy69dplcsmRm#v+e8; zY%b{w8+W=k_H~PNQ?tn50MgUAf~+8Zux+md6<1T;!^4(%Y?#MfqIZEoAyWa^25Ex2 zAn1G#u&3K&zl7m_A5t+(sO|5vK8&pJo$qGwJfysOtP8aM3$ka)fz?GILAA;?FvDwk zP#rivp9t~EpNWKQ zi5xkJGpGmCTL*5<9bga4HC)|ftkSgJ0K%V#5id;{W5$6%{5hzm6SGr`^IGn|b4AGF z#>k)r<|o-$;Hqb|7T%%A+Ir(A=pdjhHBnoVzwapTPnZveQ0%f&aa!>D<>nwwP$~Ce5Sj7 z>ILPSe-mi44;Fi8aE96LYWGSmfc>(^;hsD35VU#(y2AFBfnPqpFG;9!{_;Cb5fnQR zKvk(gf%nIfrIr+AU?fC4`2G@)j!9tsr`WhfHoY@!H~xQzF%kbn`}7r*B)wl?;=4QS zSFc{>t?^mnS?kHTb!wv`bRi$|imkcXx z;<5IarlakavnZkT0boPW$9UK~Cyam)+&LnsD+9yH$9cPc;GCIH1I=C}?kTr%yIy5C z>*p8?u>DXew)QWoc9=G(_um=%5ngOiI52DK@w2MxGz9*aR&fWrR0jFS+3AXbqvVbx z@{5fZc2+Dj?qo{)_DL#t;t`Ge)w)_~RPt^h-0kx6;eJNTRt z;Eu`>3$7sTpo=C=+C1+cpghnov%pwP+`W4j?2;90&@nm2C^Nu0xZ-YzyHv}-eti*4 z>>z8hmgKE?hA z_`6BAyF|&=b$vQHmMdUFvhmBcY>3VorSS%4*;K{9!v^ZHK+w0`$b50KJ5~M$BNl^ndNok%77~8UXG zF=S)Q{If!KaqBUmf9@(@*mdS{OZSjRfNb2K@oT{q6ZO8DfF8=kNwvCmQf5q)FuL%xi%ThAd z@6vdLGxuAp23{uGb7p8KZZL+)tm%!U4waC(qPfMRi8m5nzisD@ul<(9Iu{IU(IagM z684?5&*h|chu`V|pli~b>gAgQzknucd3^QSUy`i5lx}(W&uH-CGuL)IY=A}V!>z9u z4W5}_bE2=X(LJ)1^{#us9F<<)WW47zUi(o})^Up5m^8UOQEzgrK$@Btf1GB_Tfgy* z3H87MNL>;!o=P`uq|(kz?gKpfb!T|pQ$pPNs`W(WsI2Tc?iW7|xC9blBKZ2XI?c?$ z9R}ibXb-Zj8q4+rczF_<74}U09QK})yPyzju8V_3*m5^(==yinO)&S=2GuS}d6@%u zNUZCGD^L&N5JYfcw(v;jRNSY$>afpwf~wKt24m^>7m)|YM^ti=4C1(Pk4J0Ded2PN z!|XM1!Rg*9TSBrGUEji2g><_C&-L_VR*BzU02VBBo^fF%PoQ5Tl%#eSIO{z>WNGd$ z@D&oOS>p!?Stb~nwd13+?PCMTG&JR^e9iOt{MYx3(656aZYi(#MY_7lV8d@CnGthu=TNR7My~cwn9r#^b;8}P5(*5na=$Ry4;>mR4u+tS~E=TZ#vqM^AJ=mp8f#LBR ze^IaS8WAIy5F@a=W2I2fN-g-)X5i7S0BET=8n!79Yo{gt>YA(Ao6+r_QG{+536d6_ z|8xgc-viw@9Dw|-CR6_{ZCQFFiQ9{q&%BJ?!0<8YFuK#h%UWN22V+7rkR7Wq)i@d( zVp5ej1xh)blSUGAwm$CcH=VStgHs8>Of~$Bzj?sZ1L%1hhd(yb1in)=j>bogxy6I} z)6N)nb*mC6-hV%H1MHgYFHArFjdU!x5)0^kB988J1|ATZ%+Q06_$^J5NN*$DX6Zk3 zK~YV`D!|L}X?)CO!uvYaq$O~|lv!Kh{b0XK{i_!p(g%E2oC~C_hw7J|#eF9awdiZN zMt}EY1O_f2{cc<}sc}C}^BxQc%-kY6jpl#so7wyp^#8H-mH|<%UH>o^CN_FR z1VOqbq&uWRQig7ZZly5*lkOCOL4je2p-V;S9zt4_P9>$^wbAq3_w#?B{lRm-0JHa8 z*R|JLzuJp3I9)YjTDMa>w~`WLs$M>{5o6Uq9V85~$_WyS86w z^hhzDuXFxK)q~MiJW0l&qbOTK;Epm4y+SLhD2M-ApUJGQ`b4k&F#LZ!kDW!b?#2&d zWIe!^YO{L7@N-}%fJO>Mcr*q}thby0`Sa(!8jC)A{g#lUBLh1L5(@sj2IGn=b`~o% zdl@8wJe&S#ZM#D3{PnpLrR>LqlQaYj4xf;?O3Q?!RJ3xis-T@{Pf7ihH0!XP&& zB2cy`OB2ig{ZuX-0XLaRn0#uCpY%Dt0J(MMX26TR+mEyYP&K|)Cu^p?K3<|%j(uTL zt|*CynOz}8)UQ%7iB2#l6DladnfkmUPH{eU8r?DRSGDnbjgMr^ik4kp`-u_!B*)U# z(fz*TT>!>k1Ju3GT8mjLHxycCOPIEEyB6BbX=zW_t$2DvfY7ApxY=LmbcJujCSwr1 zBQlztS~O3Su`ei=!aN+TFTCL3He_%4ZUf3pyCSpU3@MM}lUock({ec?j_MbM4CCUnJOpM2kY z!G2F&Wux)xdWcMW+3#w>f@h|>Bt+rP5NLi%~N5=dzx>aP_BMXdeXeSONC z=kjOf#2ol;cJLXl2)gK^(5{f8;8o)u+o2n)RJMOuvo>a{Xc)@W-b9zx-`pQ2 zm)s5nf;T(()r!Q;jA)ftBXsZTeLLE;dTw8+Ru6Vh#4PaTUpre)G?C`ESJ<`U%Ia(h zS9eW6Bd`dWIfG7C`lj$pVuDuA?>dbp2Om4;z9k$=kD#|$J*TXmGcgWcW@)Ez&rV=f zqgST(q@VkmXNEBxIscUH;TuKK9cP?!Z@wvgS$8{Sw@qJ8K1K>W`e-MZHS%Ppo(2Uq z_h|DL%TNOmxq@84wSmlBrTJB|kVg~Qa|9ymy$s->VpHw(~GJ=QqPYea8;P+EUHtxrcE1`m*kk0W{oa6b|3lP^~H%r%R2&p1rpD zRk9T~J7<#;Z1?V5Rp6)Ag(Y~0PAXu1`?f|>!25R|Pt%(k zT|^oz1YV6uy|&_&2J~ZHg)iQ1*pEe-`+E<{e$^>YKDgH=L2mENxBB%kvp4D6c190Q zBJpX^V-96Upf{CwKeVUJnr(gTOBVLRhWVDNDML4rbI+n&-{;bs)!Hy0VBfI`qMX3S zFQo-&@-{uPk*H9-xYtYc{6jbg!2i#=r=AY)v>Pu)do<#oKn# zEvG(XjFIHpjF+A8)r6WsP0ysNBI1U{fpMwqH)TtP4vXz};(6I2Gwc(UML+QqYhUq9 zvBjy~eaqeN9V{x&>AI&%`Stg7Lny0hwaCH?$QLX6M$tlGawAJ5aHJA{<6eFLL(sm4 zRi&N&;7ohO_VcaTHS(})DJ56TLC_yjv%ky8@A%E1hhDPKqE&G$qOwD@TCZqU*CtZj zZ%Pg4>ti#X*7r)P6`p?{Je9Ufr#kX!einl{F$k{r$wAI zigZitSr1-!{QOSepYC`}>z(X42$j-_V$$ha`H*#upq3GQp<1I?>jzR1fpG#qD>7LuQG)xlM_ymh{}(ZSQ3 zY`M!l0w(cM{WCaHhvgq%xydoS4w|iavXm+ZpH`s!P!U$5u5R7mRp{$49Oc5Q_!L!W zxHIcuhbAdv2_2RYGOF}a*Qb&qL4W4YxYW$`_i21|3=`{S4v!``Rxe*7Je(qW)Ni{L z-bbfj3MF#WwAZ+7j{gYZI@XQvkgGp?gH}LbApXa2{tq2NdMmzpDB1I5_zCR=fO$q_ z3|knFoyl{LVM-gOrG=g~$6l*BT%5sR`+P-SVZ?};ZNTSpsH#N6*gWox_ePz|%j$15tc;(Gtm)$^n z(ulXdmx?-M&y)?~R7j3_itLjeZEns-8!2sM z%)zT?ZQY&3b(^fKppU?j;iaqWw<;?-0yTX6ZojyQPg@_(FlDA}BOQ0nPd9Q8r0(wz zV{w!RJ1dlpo8}wJz}lN`VY)0jSo(SK)19BSe$8*hk0@!fKS1H7{4AsTK2euffp>8W znRzKlQ8R#b)64K+UV;T!NYVN1RV*-=aoi0XEig}!+n^BEODeM^vmlJ_Tg|n8nw;-n z#XTWvj+~i!C~}%rC9 z^H}>lNHFE)6OZ)$z~}glNc)_1yPI&#AcDH|>G#!nPxq8M{jjaI-#SD{e}1Xe za8?CC6z{L&)%qJq8%*SwKV74aspio%@cu<9vhVXYwG^Tz^%fTZ!0R=?yU&{Ld>yg& z044wlD(B<>VgelI56#d1EhQ(Y#$Bu3|J>@H_{ErwJQ?XH#CQ;5@@#?}u3;I~%hCTe zpIwe%QN2ISMvq$9kFyN49B@a*GGnzV`7+i0DePWZ;Qq3yr<2{{)fKW_l=iuqy($u& zvUT@4u4=Db&nduf_yb$y$wK9Zz?8#FHdF#lRF_iZ0XaTT&UQcGpf%RQ?X@Xx>#lPN zqVidA2rFE#Y?*EbTY{9zo5#;lM8c3E)N6Zs zG_9gmm8aY0)OCkM?O4Ur@2uQ7H|!u-UcSPe_kP+CVYE?b?{kDft(pAkH&(}XC&7cE zwK30ORHPqxjXX?3%84!8mcIjZ{y7FaJQa{o-CwPzR-Py&sr0K1I@DM$x-GoiJI@{+ z%Fn8|(Zp=N2wvO|f7MT}Z(cQQifOJ17xCGO&r7I2*>O(3u4<=XG(*C&Es+Xju?ThSgLK9|rgJ^6Da9RE-Ucy*g?2r&?E(jPcl7$*SHw+SoWzGDbRS}_q>A+? z3s;zn?bkH=?Qa{}wDBW)MhE32&yk)=ynhow?J&~<@u%Fvz@8m13(HWvz+FmRoPjXB zTdttdJq1xP_Gw>iSr9t?1hl8D_v5HoxH;NS6BW3KA2vr-&Ant7DUqQj$t{<^*c_QJ zv-kYftH`HMzxOiivg%|l@tWU-m|>*xnQ3^(aEYn;d2xleEyU>j{8*#o@|nD_`gQ~2 zBd(NU-BYNIBiH?m+=ZAp;b$NCw?y7HtwXsS+?SZR<7esVeakb4pQ=05zmS>xB)a!o zlEQb|Sf|K3iiiHmm5XH+mMU@F9tDxCUVDDz8^c*kddDk}Fi@7KGT_pWN zqZuQtUP~c^!S-2Wzn#5`nGh^K$sFvxT3wY_W8--p7PnGy4kv)}VhrNXuJ@PdDrc?T z`jJxj;=vsp{PTz{M=J89(XlH*d@seeC9pu-VB@uI(Bo$TZA7xKXX%;i>yht&x>YMD z3D6q)?G{0SC9UL4kSNrcQ49apsncwj0f)lH8wG8#AxlSayEYo*$82^0y{bF5*;WEU zuj(0!==~|?IRiAt<(80;9$SS_n*PgyeAA#EkDqUN1VAqd#Rd4X^ki#p2$CjW9Y`2h zR2c@^HcJ0L0yOc@_c)opQFCKt`r|Zg${o87-(s)+Z4%vNmLVS%?)T~%^8?qV~v}2`Shj7ZyaFkUpJQO8CSSpcK!jdd2FO ze2|p&1qq@PoX02_2$cTW)w{ia3hpxd2WXq_yfEgxHK05;T{ZMI#thqmJ6ms#zA2_? z-Vy*3#eZ5Ul{3|=Hz%+6o%^BC<@YA0Ikh}ai`Irv482=%jExrV&VeiXpXYwqP}bxX zpTyz3$6@L;3sPfPH3&lTTAm4~?PYip*l0k(YXG!l*vOP9qtAuI6VTvAWvj;c${6&e z{e0m&i4D+jE^r&vvYAapY>Lzap4>U_LaZ07$e;1h`7T^BL4iS%jHI>W& zMn-SqPHKvwU&*YXjjM8PHW^BNud}^D*RXHkvUENqFNy65`&IV`u_GrhdrgC$6)gzj zy%!B)ZAUz{*rRz)(NL*neJ-0iL-bhsQB5Jl$yaPrW#Z{qNsDkCgzBB&Kh7<$>pC<7 zXy5XKu5#-I^G(byc6)WfGJHbb@59K0(JE)jiaA890khEKI{DwP7b^B$TW&~;YYN0< zWHcV9+))s~;0C|PPfp&R?A;?SE7nwq6Y>b3@xwMnvNE6BSrf1Ew2oocZhP9)4fK6; z0KqKC{(SZDub9zkxmQ>2J~Se3QuZ<6J7R9=vljJ!aU!=FqJCfyp_{gomLj*0pP+}b z`iOo^Z)rE#CQdE_gJF14;juE=1ZB7bE|t@6j^B5O50VQ;+&c_zCIqiYku)wes1&KjcddKz5hwZ5pz7jc%3;o z^uy`I>1#=wJ0XA}z5ST&P_uhS-HlTdn491u7cvhKz)ORm)-SZJCj{RZ1i-R<5uiV6 zQYH<&%pRe=d1-n?5?-x2{3arq6nm?n*c+==nqn6gB?-ss6v|LQN{JHfod;Vw524bb z5dv>Vb-tZa)?EQ&qec1CO{6bx0k-vr`?Uv3glQ&pj5dsAA-nJ`4o z`znFAMurZu+FAQu2QE6#SED$ zL@KW+FB*eUO2DKLXr6@kzXpmfyT}1kg{%`LDMTY;1keG8P;6}lrS zqSTpfM-7^rOaBQvQz@uyt$|qpbVTjVf%xk0%9Rc(u~s_TR1j0}$G#bi|M1?t#NY*P-)*_simHY0N7o+>+o%*$@BakO^h)#=d+2yR8b1-u|NKA^Ony2z?gLdh=iUgKWBy~!uF@4Y6w5i$L>jl*?#9b(%=+bc1kV0N`*vopkr-a2bJCRDug-BlhWbTyw3-JI_DFG;Vzcyn`Q|EOnh;@wCn5fXu@ArBc^7y(Eo!3`H zb1sDTs|c!nx%O;R{&2Ek`DUizrPpK$Tru_p41$?%un{u6eJ z=;QMxU-$uzU~+zHL{AIDPN4AoxqdTO+B4cP5%H5dkN4xSheC}EmpPveAns}~Gbi%;Vk2%mqMO2>FRuYtI6+IIiRr88D%_W%fv;OKnaJh0C)5vh zB+p~sEnzNxejTJ`SS!AZPbr+ul9KwRSzW1 z><0u1q-&h~ewpa;)zL%n#e9pZNi85{)|UN2r_`d9X-5{{A%8!)C+V+o+UvWLFeac+ z@?9*mREoM)(G;S;CR-Aw?#8OGeZ*eaa|pfYlC?#Eh^9+Sh(VVj>Eoexg^(q1OYIFm zv)J=ti23{h7{(LQY3?afE-Ji~EW8wrL_n|E4aU~bc>^f9-SrD_wE{48Lj$%|dB?*! zdRD7Ec)QxxUAB$uXhu}~{H&!sr441FkKVes*LC@+3eg9PA%%T~A^Pn-$qtk$Rn=22 z)73Y&`L+3ll{d_5*j6oS0*6v=ZLBn^R0k_x6~Zf_>>&APWR@Y1h6S_FB!G zG|R(N+sitPbw1?BC^)!SS5_1n+3BRRGj zVg&Q`O)FWslFSv)^;ud3TN~`LLDA*EvJtd~;&IZze52IYXS>wkswc@>(ZnWsS&EA9 zio5OBP$eQ7T*+upDB&=4Z!e*+bjNK#O(&07w{3Sj#yg7=4+n}4_Ln-P>0s(t#)2s0 zPd)Lh@YXFjo)~W+Dv;HcZm}?aTqdL&{=uiZH=OsD87 z$WHRTR9mCV@ns+pPlqXGp@F4OqJ4?)6Jm(2`5dX0-u0uH(lY3)P>7u2@#I6iB#ixI zWF&;?J8PKs6$lKmo*W!>nwoRk5+D$TS1ICbvTbm!%j6!(PXsrZv;`JkS6B16j{6SV zRtGP5kFR>-{&iXF^|9t?^|7UVB04Dduc_J;6|bEtPi5wIueGkcVg1PC*ZjgY)zx&~ z!fh)>nX5whC@j;dK9w4grYLrY*HX!TzEAnjZvUCOyeMwaBK;BO^j@}8@nl~FP-^Ip2Jf`rCo}mYGGwbAAA&}>6({6mP(hT8B_Tr26}Q^Wsb38tJC`$ z&VHSCb3cbdzm(eesppOWya`?%N+myDZvWt}oSZA`Xfj@3$79DK3}T$eAE6Pu2(MxY zBhxPFr0?d}ysLtR+h@FgZ+o^suNmx|8cGq%peHfuw=?JQ&%j-GNM-O#F>J@3Gz?ks zZuMkp=~FQb+A1<_4p}--tNDMT-N{<@yM?jtpmWUTMXR*`xYUa}ax_6jD^c0+BSi?oobn>GT_Px>G{wDFUd+Rnq~*31a2O2eiGl!Qwr!~ zj8*Q{1N^fqZx^VBL;AVEam_GWwd{D`e3SXsPBJ?QNqOXkt_o8rk4-Dc?`>_3w zCel^-uJr2~+(zPfpS$zhJ};mjh#ZOY@bUE#Zu4y|50Y{lI2%bCFlTxE`>IzUvGQ<@ z;X!S7SaO_1lZN}YL)6U6GnQL5{f3P3HGbkFK09kO9~NEX*jQSqNamjELJeqeaEKX^ z3ww5JH2C>hu6 z=D4lQOBx9YqK_^Q=LVXsmf|@h=qp;&?fXWOi4BT@QE)PP^KG9!u#7AQL@26eTo8_? zMYR^Gi>O5v#U(mr=YYBSpRtxk(}24qyosx7MG8svXA0SUGjq}?`# zZ_WgaOLL=NF1Ck_cpsbHNu64##wy57JNsqaX&fgPZziz{7^FClAB)zvDX057TnUK^g~UMD`Qbom@HEh)D$B|KHc-)M=8fGhWLluOR@l+M&l$#MeNR zcmO#VNZJJ`-4irG{=`Rm9?k83^E==r$>BVL}?uCF5#rFWz36vg3 z>0u2eU1^;(qG;b>OJ2&z@tK62YbUr3v4X6}&mI40!>=#%<8u_@qsQ=1~=CJaJ z^K*~!QBvDT&XYOBMyOn{!<_p_J*08}z4UBBby|qoi5Ofv zqPdzBqab@8U&Y;)-Y{aZbpOcF7h(H~XX80^@=MR7ooV6jKWM!Jm%|TTH=~IQhF)Li zH8^npKuSC`$nQXu`R^qr&ICO+&qT^lF6BED`wB(!RL}!WlRLXlP@oKn&)d0`Erb+q zbrT=Yl&u{w?uEtmj`_bh`=zC`eYm9u&GPyxeL=EPFPEurf7JNZKozvK{WV_Z9T9kw(LM`kH#@{wx^6gim7n_TA!3_36Gt73z!J5O_ zmUpIo&oyDadKF{GGEAEy+vY0NU-ZFsR7-hkt?v3hKKkD~AR?011(oJ_yiIPtOutP} z7TEeS9$-L9vEQ65Pf4CWsa-@ zLFY1HsES@q(K8PJKo*?QVQtUrFawHIR&*`Gk&EnHLo~jaFXr{iNoKt{57MFXMo8M6 zi1g+qHKOJFgd!X2vg`L=P(kx4m1H#I?Ir>GZt7NEnTRn6hX|8|iSi{NT(w`mT!@aH z2g#X}okGaqN+lUD+9Z006?!fA#UZrtf2NuY1G&{()@6HJbF?fiUdJetMvLuq%Vx8( zbNE#|huI_Ww=#h&Pgs1077S_rSh1G?ZaQt(L56d0#mVa@O_OqpazveWARMdyO&enU zlIMh3U=?u@gv&QV0lQBaY}YN0-A+%ZvWT}zdyHtCeVtA zjG(@I`OSvirF3J>9)0r&IH`?5(Q3Jm=EyNlld(W8740m(h+=N}I^1QhkO5vMxpp&7 z^`GnFT?*Q>ZTfUuIWwm2r%D{N`OliW?6Wr86Ct=%Nf?S@RF?q)ZEKZqidKwHKp!Kc zagoA{TWrrhF)3#zdN0w-C5P`?eqiv9#tN~H`ug43W$fmNt2^>UGEOa3O{BA?xSHrZ z3m~y)yk%bg4-(s7$n55}G*YW^T^+Sx16cx`#@}f!ktJ|h7RR}tdy2Mc1}&pJ`0a3F zabv6wgZK%&s83}u#2MT~jD?#a(V7h$O`_wAtUZQvhcBv!NN1KfjIybS3J>K}Kp$Dy zl0-ZlIpu*S<@RZbP&w;z3^oQ4TV#&`Q|@1UWzPz+Pm8LNkbJ_M6SgzC;p{qoN^aP< zJN^=R;@L3HY)^U66TvvcqGmxpY|2oSLIcaDDUm3-=j;=SFBj+nTE6O47FA5t$Dvv< zjEO9Q{zr&T^oV)#w#zw>%~O$OL4)&Ram6F9qB1JU^|tL^&M+nP?6x}K$^Y3M44en1 zYCEJYk2t4hH2O77!ueEyWuA-=t{ppXsqs!jXixRfYO92=yh6?HLY!oH{1qY1MovB& zp%%u7Jp-X#uSlNLL`Hgfl*44-yP_iwC?C&QP^GHX;D>-uYjFUjC)YM1q3aYHoCvuI zcd#s&kKE>zFTLjE699MdStGq9zoG#~Lxg1{z^0cxtiOCX?c>_j1McUak6GX>6(~Pn zr7dq&_K%ISV@Ek%u=@LgYz>(hhRX&=?vjUTurgjX!wd8mY2Up_cZ7%?v56iOwB*15IK*|C$F(5jSG+g(>DZMg$7mATuVgrC~VD7-CtG2sr{mLhE| z{}d@xtVgi`pfKQ+9y@VMMu;9b%S{@>t(d4rfd?}t!ObFp)jpmH9Pzohsl0D#A$rZT z7>7QW|I)2KR=2Gw|1K0}^7?U5U{lxGq)2^IgObTNc^<2jcPCnOEICNqUHDz@D51Dt z0s2k!V6*qX29#o*GR@783voTR{Dnd;cQcGGY6*)s?Rlo~NErWIeQH|ZWw_Pn{gaeF z;@ycL4eWWQkoD&2hr~n;uk3sNbMmQv_#QzfCmZ+8+G~c*eC|TOSHEuWiK~O7hQf4S z>&Go)6{V$L;O%7GIEjA#FA2=$ylGt` zGm(1uj5|jO=8oR~+pkb;Crw-7{+EYfHmK&uPg5bU5(WpX%~`heAekGW>`4;WjZ*|W zIN9xJ@EW@*_}`{%-wr?X$*bm5$-JLtG!cqFLT|3JbCkc(6UTGz*g}au<8sN=S%u~I zM!5>nR6IRYeLTT5~Fa1%D{9iN8@siRYGWmi0!d`~b0KOZ}Rv$8#r-b(lCvVnN z@hm;9TuF%tmkGLei&isT-vxfnzrXAM8gU-`e1U@cm&%>64(I&d#BUSa69tLR&b=W8 zQ(gPbvCq9%K9`yl=QjM2$e_dW<%9& z2a1^YE)ldmQJ3Q?zD}RtRH$G$Nkw&t$aidz7JdujLUsitP`ZA*Jx^70w7kop|qRnOHoM`;u-w{!ZC-{Y|xbOY>Kw|FSiFq$S z?+CFuxtAE>#M+iS#OfziEm2gU_uHaY$Kz+&E%53n#7rmDil-<%xG+ZD$NLf%(O=(A zf9*X8%7DE2Y#2%2cj5f{DCdsdV0j(*p0sNAE1-MW4ST9wtB_MAgyKQG*G7H+U_2Bm z+19b!?yg&)Fp~$yR4XUed6MF{Gw#l$%|4k$Hc*&9*ViWu3U90yM?b^cMK~$T$IN(^ zi~RY_p}HscOSNd&K9P-)2Q|cLsAFwau59}XkYON8o@ObLvnLT*yyQC0bg*s7(ev?HW zt4X;hIxdqf?g7QC29idLkFaoz%c^yq=fVy`+Sy%<8#3twg%2lz6;&JwX(sWZD3dKG z3YZ6i6nm`1d7@eO)@^a_imW&a6)5C#XlJHUsz;uWkCT`DEwvx2?-aRze|D0~>89D_ zi@W@U@$nkJu%xjc6Ac~gIdLE7o_wL7z_pV{YhG_hxm-3bVCkxP_emnjSvSZE*~*3x zizjEpN+^JNLH1XT|_1A}kh({s=TOd9`1bH3886b(tvMvV4Ec25= zXn#fK_!%XTY6&WB_#d=Eh?iFwmRWxFbxVw&@BaEU-XyI|<)mI+e=;8{q`9@9k&)imxGCDa6dYsju*N$v z{@Ac}Su77wx8;`fH0M!5kXcXNW%aO@%d%98lQAYvXUniYc$&{w@6#M6I*fYcvvDTm zL`-s(XQO3`-+|N=vD3WbxAWY4ZH?D?)MumOlOB>YcI@mqIw_M|W4-RWL+l4=rNlS{0BdfE;}TRc=FGq{4&v=> z1`M~}+OZU&u*A)kIyLr5CoMbzYg}_y7C2(|ocy&CdQMrO8grnP!7RsObyg;U@=jT( zS8JXoQ)87CGqWw1lvx7CRt-@2H(&H6I3eziJzQLDh6a#EGvk@4Wt70-6rN2Mucfh~ zdE;+9-B0bIZ-Ez4j0WV!M~$2nuA3weyGxyQ-z=Gbn2yUmqwx>bu*5EQIA4EfT_=2(q8cnqOGxQMYZO zy`t-$u)B_Ad%@hgb+wwK#FbKgG@c2_WFfXsOtz}mpVL#scx?~Q6@CBH-HP2ay=vXy z;GTcdY^kMbxS(c@+$otYc8cmBtJ0P|2+|~_3%ije@2z(0xvhR@yl&|Z{+8wyA73@! zukqB3LJON8sK$(`Lx!)@_b@N}fGyMP+s}h*lKgf7k-8A&=)5_h-2j<54PE9bjfVSM zZ=~*eEqNqDjUl@CGmYmW2xEMsVd(0C#Z|PCJ@gPgK;wa2V!qF;P|Dwf?trDcha(Py$mTOecBI$!dGERhzK*F{vup^X zN@ z9X3Yedf%(w5ii$i zuqr4;6kcC%&e!g3sLr-*q@-eRZZo-LZn%5R`S)1+c=y|dYs^y-T#VFnzCz5DEFz5T zRc?C3RgO}Nl)m@DYe6I0+ebc_LLq|Nj&8CeP2JN$6?ksZjfc&8K6n`*9K6v^cpGL<7)W+f5oA!#A6b9nBsb!8yiPDtZ(i6~MEIDpAg5lU4 zpCf#CgceqhhVv8E?R(Un_s%k2xj}t9|Ln=4#hAHfh4-S!5NLoN0j@w zbhC1{H*>tJ)^oheCSR4!tUgF+Z`#mRn}}JRs94Wv0;i+!EJ~h)omj$A0%w7lyX$KX z9dX8cEmXWk!8G7szL_p|#2gtg!oXP;8s`}1x!$m|HwK!4rZ^5^bU@7_y~bmW7yA8e zwB=ma&J_v@Hmt7U)Rs*UR<{Hc^=Eif?+gN$%DhE%k1B;t2T2C`_ws+qKDK$~qE_M4 zr(bFFRgG2!1PO@+`=QZS3ULqWs@}69yYxyEur^}Ci+ZN0xqqG zmS`M#!Y%rGdWqe+`gei4M#IY58lSLlZ#8NV&tqfpniFL=^3aqXJ&1Yj3O0XwgIO7n z*d_?QSh#82Fk}ZN80jH`20^7Fa9b+Fcoed%{O8ks^VVNpeEt2*X{vV`A0T2(TJ?Pg|P=7WM>UNUol#EEiW`o&kYG7-`HYInnBlyu@ZB z>xZ_$-*g7v7J2~xUJ=Os^Z!NCS$;yCBwyKYKu&ArqZ9hc`brEJqcXowUHl{JTOxNp zKW%J^tYj#1CAw)uI{l!B6Qq)_;<(IzeGh51n<+3~ZhaAj&^?u+I5RY>lfBmC4recF z=9@^noI%vs%(?FtP6Y#pRDN->Uwy=9Lzv(T?2i7H5Eaqf&!43rZ6l7$vH_Tth}9or z$NSec@8G*#)>mvFxHy;Xz++zI%BdZ4X zt3sG;@q+5zt;UGjWKLH0sN%Pv)?I3G74O(}tyXU{+ajG4A1cmQ?k^LPmuHL)^Emg#3!3@be0*l}JSG;xuQrQqg zp~`?Ys2Yg>JMDAMgaI#z|4)&S6k$TO83%*mJhgbS(t!T8d5C>EU1Hg2(>qOll0^V~ zZc$wK-bvpLXyDrY0bCh1eBg@2!#t zNI#5~+!}>`xA#opB)sAVrC-kF-p~K^v?;RsQO>FlTJdhT`Ru0N>B3G`G220m@JBEWLk&+4AHuXqK@a&5jmNyBLND-exI9B96H7^ zdv8NtIyKlWq@9R3BzA~7RIDEgUGr(vkS2%%CiqQT?7jB_0>)-v%}7kX>7Fr0vo*db zy;?U^;fX0UXYFghvk$oW{KA}^!Q?p3b4X$xNxvg zyDC%+p9i;<)h{E%ZOtr=+x4J&JF0#2KbgQpr__+bYZ!}>^?u58d`j|&dGL9l$;*oN z(cROErTr{`g!PnFd%y`yq^f#~Ms-qAAp(xh8)elSSj>_>%rU9TR!2`enBPMbIU?1F>i4atqg z2Mu+vueS;SDVy`*Pf1|3nsT)vrf7=q6wwu}u=isBYjrbNec8uVNpZ{KW%wwKV`4a> zaKYq+!?fK#%sDT<1j@cm8>%sBCg&VIP=xzw7L(x_i!vZ^!S+n|jdFv{}Ue7Xg`wEnO{Tgl#NF z-{f_u_83W1!+Wl?a&os6weG_-F|wLQilS7w4)!{O)v=2V6ISA zjlJQk4yzdoh;zSUsO?DQrp18zzxgpCi2LIX7RWwwi!h-dwr$_#!&B=#Ato6wyKu`4 z5LPq+kJBzW&bwK3dSNVYeN#KXh94reD(T zp8veVZQZWmBst2>o$0G08ho3fIir)2yi>`c>X~J}0WT#@OvyR%hB+DxwHxP&N<&Xo zP9USLztp1}JgZbj8vf6%i&v<(&t=G2zu>tPAag%fop@LY;C?pZgVD#| zA5(oQjb~ub*!RkQ_C!_3{%H@3@r&{W;aECLbwW-V0}JuSs|d2FlM#nLd=WdKf7SuL z-VEILowrue|JuFzzolLdWKvsB(}lbo?DgFX28E@35;qE59J2Vj_9e$|mue?=S97;O z(h(c?!C(JB*_qO+tF1Bejea)oUWGi`z2Lq{JJTl*e&^iO4+9!LRG4NMu)_Pm@%Are z+}Nq?s;F$Yc5H_bcDr%ynnj6w7{Iw9=@Ner~hSvyt9SCg|7Fe$5X^91@T3I zk8&-7?;rS_mLrq4UthR^06Ej29pn8M(d0i)!a5<<*Xh#h!ftid*|01lRgC0#FQi5E zEtn8jukuVTpk{9OQ^^?q%~Ck}b~+(j;k|Upi>Gt-ACESBpRCDwN-jE~YBI*;xt8I=bv zv-xhhTkp_gC#sDo?c4eJoHo6J1z;765HZbw!s#2ZyqpmD<;srbqgUko^6}m@hT{1izdzNbl;Jt&ChDNPcZ0Pif!%T zvm%9690V4!FGdG1m@ht}+t^$$o^L|!>*R?Ao{d3+3=VJ#V-|Zg!kfZ=ADF-lIgyq=UsQ5$$nTvRryT-kDbQ|3T zX}c8S1_j4bbim6i2_FU^*nlG{!&SJ7QE=RBbg&tZ#dK|=ZYwZb&g=wHcz(6LiymwR zFWYEP+cdZ6EJ1Bn*z)k(8*z)2Ma|qHbY8YyLa|zn_>ul%w`^t(iv->Wx%~FSqezpg zu0rCXk05IaHwh5hdb^p2WgYkqEu0PogE2Upm|<@p-+7zV)vf9L*A&9?z=gM+9GqH& z2dPk^3xr0GoJIB4ME=?#=8d^@y+ZntTVE<34Mmc0&ZAX z4zAJnF|X!FikkmjV!uD(SZJR&d&%C9DER&c6{m2&_2SI_Qsiz>qVpYEQwp}kr={l^ zwFML@YS@*TBB`K}2p~Dws}D044ri*Q&_&Rxgf%qCg3~yeM3;Z$u)OLMak9zTfi*3z zbs0%9vVRI{b%)D`C*ymYtPUo$C?EMX=upeF5ilC)x^Zv9im}~3WkJEN`(z_s9pN`P z5lkB0`Fkar)gn=sY`V)RhPZN-FIy9roWZ0Exo~>**liaF?e`z~Hhy%vbS%u|dp4mB zt8qIyxi)?jf6 z7m@3*q+lrOnY+#@?3ZC&nOIuFUUbBD5qB+tA|#Mpxc$#i@McGV*0YGu6A$FONi=Ek z-^)Z>PFooBynK0!TWXy`F#@k)Lw71!GX1{ZGX%0z8M?|$`{IHQk^iS>OKq@l8$JQm zt5tYBhKiFk+c99WbT zI8rCc`g!fP-#=m|!J@Mj>>~KxW)pII<41De)3+~_2Q}gk#|s46)_Gbk?Pl%z1}{Tbp^^hUjQ%Dt?!Nv zA8#pNuyhQXV~hOB5j50wM}D!K5%J7p_>++iBJ6($8O-Ns16D{X`yh zt@-R`OVakEz7HYA!eE;i(gIsF{ubio1T~p*^eGMZY#9CG= z;lRlWCsz`m{?jENmV-)JZT3mq#qjft!Fk_y8u;eBzEAFbJ^9J(7%TM<)xEH@*BrHT z^hSjq)I1<2(j)&5Sr31@MIlxZJZ97eV8V*xo|Jkb3Z}hIn&Dk9^pbnZBLn?MJiX#i z+VqoFaOb3lXfI+(c@)h{1ju1Pb+Q;eD5H;=;xYc7&T@z?fnp^mjw=Ja;&mR|k&Sod zMNgUX5Ec3EdTJA8{X35p6*kx?e(7mXX3}Nuspx6D&R@D>3A>a%M8l zN3q-x%Q*>WB{Ni%bDOgrdx46qtc7V&4dE2Z&PAOEF2Z0dOt_gA_;u$O95w|GOCyR4 zs(&8IW6kc@JsB+n1{dAU8Ba1^F>WQHNHsT|_?ge0I%o3HDScm?MLAu<00Z={gl6gCyD=#B_>xDqb2~csF4_06BNYkuOe)!#~ z41&4%4Gc+|86DaW2z*2hq4Dw7N)tE$4{S~abf$V;ZEh^n{p>NG!$;UZ?P|=UARD*j z)!bX9d`;DIQoe|!qqS7#yj?62{*q2sa~UDa z7R8SRV$Q#rUwKin1L7}K$_*03sHmOBdWSxcY8947w}G6AqeoFxLtkT|p4(QbGp-5kn}_ zJ6J(Mic+OY2_+%)UIL1d4g!WiC{Yk1y@nFnw>GHnd4KobzrOoCH-Gr>sAOmFtTor1 zV~#mS26g1uSUSxI-b@>Nt_?rOSK0bT@~ybc&O?J{5k{$PpfP@s9@)}=3UPT+5zK3~ zTnTI{-Z!cacnRPQ|Ly8{fKMPbthPWt?6nE!u^@%SEBgeT^hVl`ofyc^tC3iJo@)^B zIX+|wsn_ga$HtYEA5sKr+FLBM);^{le$ zPJoeFa(>^#peU|0=M|`*Amo+izfAoi?f@2>w!03;tJ+nSH%(ej&ktzOwH2TaWu}uq zG#I@Rcx3FuR8p`^xMdL61PCcjO+g`d+PNq8(cHMPnpXik(0&57`Q~%~l(8wx^@LhR@@V--M z6K}J>NJWXczsd}J@h_KLQK094nc=(cl~xRJLVO-1@#AyvU7?zQ8r}R`dO|d`xBlym zB!XE7wOSmi&C?w7_`{yl9^ztv^KnUvXkAV{CgFL#J$_%n^|R-@-W=)QRlV~Ncm2&zEd=~KGgvRzKPrsXe;2u< zjvPbEjaZ)5Mw(=Uu}9eK3=_|x1zq=jk8hA4Wfo@^8x-AtRe~UNurT^T9RrYO*0a0< zBOkh8jPxQ<5A98yo*Aw+1_sPmHDx8#ppnjYipFZ`W~+cT&>ei&+uknb3{7kmW4d3x z+U4IlY|l$;$Z$l*Zv7xj>;t|2|2;CpC;8;UkB(P{31dHtNxOUs3J@8culg~Ra51xS zZ1H=MPSLmG$caYv>n&1Qw-f`F?>|>?m^*%{ee$*e01`i(`}Vi>@JChmd6mk8O_^%% zcmX=qc7nQisr*S1rf!=XFHkF@L(5bC9W~u+Uh*gvbe#s&!dbS`qQKm;8aZh5$dfU0 z+3)8`qxEQyoTd1lcb+Y!Kq(AcAb-}0;cXRW{y=MsUB&H>Q!z0C+f&bTsoSqbnP=0^ zvt2&tsWWwT!qq-Xl$qwZ+S9bLF>sN#S{uP&MkJUT8+hzx3`sa^i1kP8ZShB69)$) z#uZ}`9q0+#A0;sFxdkzJ*Z*5W@ zIC_A_rD4bI{G9HY8B)3Cr1-;g_5&rNS#V)#tsxqO%Z7=Cb{d|R|nkHv@u*ycb3dikw*2#j57PikMRJ9_$@3%NZONDjm` z{uI0_69yr+GdU*fi{t*Qd8XrL1iaN(moHn>LOpg$ zy?mE@jl@nA!j(H@$AJvY8<4QXAyUQd9s404K=;VVNNaLOQg8Zyu=f2zw>@8elJhQ& zA`#3-lI^%t@gb_pIL|{|jP@8OCxCTuI*X~76eAX2iJau6d$3S=jLY==t*VmH82uo~ zggpJC$W`w|V0Qd=PVU$s&lC91JNpa)t3$-QRG z&we7Ck4w~G%)ZhVpzDZ@bxxqR0pwKdR;=eVpBb!d+pWmf8DR$prz$6{5TL~TJPSO) z;tJmRL}*NiQA|W0Wf7Dn{2-mu%8j&eh%9=jl*>;Iba#bK^`nPM^}J`GVaRtdmcU|k zsrBt}_3$p)2enL~$iMt0Q~YST+l)8bFmrj6M>qT4zu_i2`zMAgS^nCV^2Uc8Bd&&x zFn~VrY}%=V!cU5>1p#N^%M1)3-d(1n_W%*62^lSq)Q>%VMkXW9gmB#tKo1UwMa*kJ z`lj<28XoyMZzU-5vPKk`y)s7JM@D}VNd)$9N1gTZVM9i5Z^lju)vhZjn0XJxV)-1W zTkg9fg#zF=RMC(6KM2%%(DzgpKXY|w6iD!6PsaBwC)U2`vtuCwm(Y~^O%WFfZg|`K zM*Y0i*W&!_{kjnE3EWapaz&LUZuFA%(Nz$3Sm^ex?{^_aTr$Xx2_vlZItTPc`w1PzPPVy_vg+^ZCco_>h10!i@?!(^8T^2o! z)GM0q4O+2pi!1D9F@&F+xaC}Q=pvj>=_t}mg;(eET>V>{`PN7nrF+uMy%aO}u(!le zX{=Bbq1L2gtV!(#6B*;%wX4ITt1ZXOyy&VYDt+j(xMap-Fh~T33C3i2FUjss& z@^J4OqKeBxnqrX)S%V<$mzZ2^YS@N7;4Y=A>3y`s9!YlgF`oTUIh}{;o^*0=)c~WD zmr4^qx>Y%@TDfQGb%=lwgl%a=Sktsb@mOD1`fl>NcVyfsaDiC5e)=l!=DbxV7(MQo z>`+f=%fjSUZUtY!-s84;VG5J~G!X?^CE5jx3fD&|)4l=uNfbBxWekgAQ{-x6GiZ6V zyPlR1qIsNh81&#iWB^RF84NI05-*qm+>qx-#;)bZJJ)_tuR_9SYDgaBYD19R1z;XI zV~fd7%>f5p+}Lp6%q5B-u<{bS$#qn#7KB(s2M#c07e@hAO%u?`NC-r`&k(Iq(POvv zJp>J;BBe9SCd-MG!5PFnkW;D7dqQ64UH@?s($XN)>$Iam36i;SA4^0Y5@y4#wWiP$Ko-@`rKfb|BI|o({U(YNBhL*vKVJ6jwo%q zDwV-~luH?Qxz9~b@Nr&B%Ps9lffr6ZYD(UUzs&Q~`ysQ&!rJjyAq-r1c|VnuOb6KH zZjQe3TyLe^)lOB*hL*{;%YP%-fSo`)0GxKq_^#1OVX$I09d_>^qRFDZMMO_2Uv4Al zdhjPh)Uuv{0F}?!4ND z@F2}s{`E-%*A0M_4y2TDJ?-QDwG68wgyV;rUV-N?9|hgI9h@l5=X~d>LS7y#KgITi zDn%vg+&-Eg;eTVan10rjz5y)%tEhjmW5)o+ulIM-QE~lzd`zU}1taBm?S2{4^nRBt zrb|z_Eg?^^aBzmjJ$iF(M{f2QXeV8~l-}EtdI3I;&3+l|s@yzs2E%KWrT_rh?~AeS zU5lIFJiWfBS}w*;r2~MRW|8qpku;0svS7abMR2#lMPSq4nH%*y33E5knIXM<#>BQ-5-F^*DIz1q!>t1hgm-PBVFkbp2#O354s-Nsq#_I=+5Ss%S8xt)a&iKQRl^| z&hTcsn3c&AcQyw86K7I|&tCq?bmF{rj$Pc>?6cg_twGAAhb^>G`%?vJ>R&W!LK=Pd zzdIs@j*7$S<~3vaAsd8;4lMDL?g;&pFSYA7H;Vxr-ol#za-a42271%hX|3q8@8sO-!9YMhWRp}=Db4GT7b5)1^T1>K3i|oWh1zjhF_^~Wn}<$;`{h;4~ScrCcbB= z-4yi84Q#fnQX_P^?cL|&dysZPnq&T@Ljq-QyHiM@RZ1UKBuC;wj+4&g%Dk+Ya+46SUik1@$A231oWG7@TG(*`MaVB{99m15C=!5 zavy!_MHdV|$9q`}HZn4jD}kNxZjTo$RwA$D{KabzhX++e!A|y|Y*qF-tyF;A+8Pjp zGclDN`qYZwj1MrH=W znnO+_&ym32BiiNWICRUU()LY%LbAdc+wpu@qwUa|yU7n3te;aag zUTyE{u2j!3A@OP(nJ{uu_(LLW85NLrIme-p_q_gm1Mp4aJ`v+jchpTq`CDup= z;g~x(B=LE=TqE>Ru>e3|=={0CmwrwYq=}q(l>RD_UAw`Q#o3wOIcL|aj)hkTh-d6d z))mAAmWkAiZO4@&dX;-Fhqenz{TKtuCJ>-`laUBa$ypiR&8wWSQmJWTdo&UH5v6@osxob_0rS=nmp1zA?4|r~V8!LvtRaAat z++R4}W26mo+H5qU`s&0M$n^$=m6EB5nwohn!802VYicBUZ)P45;Ln%QF)<4e@~H_Uek;L#O4il9s+0Fc z8wf?u_hyXIW9I%`|52{a5EU;5BTz;jS}!!F#C?H5M=>Km(gF>cxQ!#4RE=ebsoa_@G(F#9Va!WMkYmw9Z;KRLW5&%C z9swQiM13ChqXF;;JD~8ULdYvOa;bHxD>L!~tYi4Oc2-jli0!fGAPg<3CaK;2%&x63 z5y*>)M!)l^Ryi6Do$QAK;USHnkKT0Z$kcFc5PBv(zvThTr|$YVn8=bM`t^jYYpp}M zdwVQX1b}v3^^|*jF#PVa(e=x5uB_IrF>e2mYnzCVZ91)X-{gq)J?3& zz+YVJd^7}lE@L2H&FRe)Ii1N!gece0{H)82?+aj|7zsy;98IMF82(V%#1^P}7x_f~ zqmEPobhf}}VFr%9Dh(E3wZ?*D;r`)hFp<$;l2tMw+z}@@^gJgjFRK-@>irDr+GyY+ zhoh|ZgC2*y?InJ{M7Fphj;tx4ZtGna+7?;|40Xj=*uH$o1k`qwgqDX8%%Vol0HO7DQwemZIvjmLxvZq?R&6Nx^VyC*Xb6-iv6!~ zMe_8ECud|Wf!=0L;56FHzuyU<_Ps3uG-G2@U~6J z{#}kl z%&{!fQuSxnlR(=z&c}mAOI1T-<&2n1))PsLdrVx2t>d4Ycr0+tMiLYq$Kl4jj4m zk6_R79xb&y3iB~fE_$C}wS6UC^B8~U#*1Jf0VLAB=JDY^JZpB&rNmnbr*7i3FABsd z8=k+t6wJ>3#kHqXoPwibS@;q`E)dIoUIKn?pUnW>LkA z^e{bC8vsPz7C~&u-pfDV7?nJHLqI6%1twh4ySXeJHXi* z9=v>YyIc_s!)OC9ryfposx~!zXHA~?sNrac=H3IWKbQg;N{OhxD5A9+aw8;7e0xT( zazW{c=4xA_;i1SEr*9*YKRgRlB}t9GJ}Zr8Z1h|*-{F3M=;+auiPktP#(VVoa_a=4 zZd;E!K-z|_TWkXEc193~|Met)B7CChLYOig6K~V6zCF0;)YAutqWBDpE}DAb7~$I| zHBa$yxdC>Iec@P4rKBO(Qxh<|*|yOeY*hm^esOl~?|hejxHhu&aB~)k*%NZ`c5HvA?*>JeQSP7h;9DT7`abuR1t#Br1_2+JsZ;eBk`Y!<@;0s_d(>%K zeGXGkuq(PVeC4Srn3?38ctK9-T%wi$fml;Nis(e4R{&}iALSm)`P2%y_-NE&oh;+s zcBXwzdu-YaoY-`n={mZn`-^*W4Obb3e_!=6ec1!LC_l>t`)-Q(CU=tW;(Q74++jv@ zl|Jk`KU1tpavgMf791Uw>^1&w`P1e)ZkjJ2U`R~-CI)T2iGZe^wbUUe7s}=VC;D&9 zEK#D;wEN4I{Hss6hrkj+R;b1PhePK31-d~%@t*jqqp50aU#eGFRFvdSC((Nf6Jlr^qxEZk z1gO?-+$}DvvCDmUvvN3Czm#C^!?(4RvcvmeE{T4tZb$$1@B5{Z?Hew>(Z6|xoCQRf z$DB$&4O)hTk2!Ib)vgc`UW0k28zmnOu>NpzF6AdKzJUy}*NB`|kDi?!KORh6~-)seJQXtjxmc?Txw}sjY9h!ab~xHE#%E z*GHOMC*fI0CO)Gd5_`An8-ba0beVe&POEz2sHwfzdL6h|tc>&hOKMDVXX_U6`I()R z*(5T4c#}}44Gh0~n2a3^z1${C43jt#7M`t4qObf2wnR7KFtD>%!tSzN28^wto-Y;+ zEJq?`RtH_+J6lxbO!-v2Ly{2EKpp<0$#JZd_wUmX_bIeJD&L|=@K;Xw8GK-O-naG4mg zdg=Y$`I$B@w$dGbd81XARucx+78*dM0dq^B4P>lLKUB z*6R0p4W0_v7$9{oJUf_`;6PPJ`Z|)ZDVnin-f(JPqihU0l##KOAG?+&E&Dzoz+$&) z23_zTrYHAF(L)6<+*oXuj>bBeAbxn)Y@kFZON5#h(!J0aFvdnvfjoYCV5U{4ildTE z=I;yICPIJ;=A_J zl5y__!6j$9?4A_SMs97|$f>3)nHs<^RSq~*XD#T5YWmD=RZ0h3Noz6OaGwe8H^%U= zPCYre9T7+`Cn2--RmY2+vs{(`Ol06uslsN)o{!6CdU!DWnvxSgO2Aql6a0ORdSXWZ z-_{--ac}$=BRTYq?)ZPFGgoFdcfLckY~@?pO!Bs$=w5E&$p?2-Hkjtr==c2vb9cX- zv{ZTX5z{KyWD5=V$)9Uy8KQ2`--rtf|J0{@2up}AXtRXYA z{1xOp(g9g%)PCqlI;koBhJ05qci@=RkA+DSpLWp+C=xe9L6thZ+NlQCrC)NL>9Yg$ z8UW?&`6SEEfwua(ayp)Fnd%44q(P+%=MFtBD1C77i6k{v&#hc50opEvvuFycW~TEm#5mTCF);`F+oK2J>WJra^EaKs>WuH9;8

fg_LiOjlrL}KL7J8&|j6t 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 literal 0 HcmV?d00001 diff --git a/Workbooks/Images/Preview/DoDZeroTrustWorkbook3Black.png b/Workbooks/Images/Preview/DoDZeroTrustWorkbook3Black.png new file mode 100644 index 0000000000000000000000000000000000000000..7bad65c2fdfea0f426a3359716892391c61c3136 GIT binary patch literal 196525 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≠P7+j*AsHu&cN&WaDtFh*HPTB1h`gTFHoG~X3+n(!xk z(fjdbpP?jIE}Rr4MnUI^wON=ZW8UmPCC4BfC@+RJ+gsXue)KE>j0ocW-dwN4wf6De zH);mQc1vj%u9|p8RH*w#V%JLK;814vY7Wt%lbf1QuN+-%hGd^67Clhxe;C8llXb9u-Ws!?Z(2AEOB~_E~z|EY;{@K+W?N z>0m#*VwJmn>q>5guk_}Z;8Vp93N^rmNzS&E?TJ1)AWkIrxr}g!L3q;T%d;nT92f>8 z+|k%EkO1x8n1SG=eMQNmvBZ?vdm;(!wE?Dup@e$S<)J=<3Xj&}>vWB$dAja);$wX% z(M^d;-{ezSIc{R2Z^vMmD|dju&Ek zmZXmQWPsUb35K}Ov7>j+vJ7k`8qOAVP*be6^G8b(Jus@)#5a$x!y2mN4PCmXLxqh{ zb$NDEEv|@26lmDY=y0{>&$aV~!h0qB2gk6!t7O3F@4dC&wR6^--DrOHmZ*!$s)WOd z=kIyCxlV58-2zhF*RT;xvN`h z=sqc=j2Du_yv&%rKLMo39b$h-z^wT7+o~>99mh(&#Z&5IrsI7hN=m}eaqJ1U|Myqj ztde|3p;_cO?K@_o( zo*#R?I5I)Wka~-4rh*k*?iQEK-ak=JaVcY$Oz?0D7*9W}Xa0fFyCCD!y0F`rv7W03 zSkU(h73Ua$2o#8`-&7sotTrS)#PZC5*Y*r&hsYK65> zVibU>rKUdz%;rPB9p9E$!OTKhmeGgrPJ89ofV4E)L=JtileC#u!wm7PJ9ldQzHCZe zN=$mMR(Gblo`h_MCaZ-p-c|;>;r)5JQ6UoYNrO68SJD@XnI_cE0>)whcUYm}t3(B2 zCBY`IdB#g{s|)mB#_v=7e(uF_nZ8qL?`^t3t(o3!A9> zp3vv%m1N_NOx@4lf6w)3b?>^u<^JAJv{P#HPxl)y-hPAU0@V;}=rnu@v~s1ysUY%Z z-1Rb*;n*ARfvmIPkKD%y_VX0LI_0u+Ka`Dkvqew z<3pL0d((Xr3KT=C324l(H{N%3pP6JT(^O^kRibbzzG?di(FTP;Ei3GXPjl01>g%?h z*HR@pcSrXrQd~9#2Bq$P2bI=AwNJnM2gH(`f6r&l%k~FQ$ zjMB6B92543A?cfwq(pqVq#I#tMh9mwdYxkGCqL?40+_HE4=c&gm!->xJn7k{Q8R+j69n@T;(tSM59GR-j|I<6m5VRwAHWuXTB+ zd%Z;kMMNo|(9%fHuKCEUN@iFV)B zV^wvcoPk)n?|F(n)rQ`)*U$dqO0T&}s=5{4^FL-2y!oq`);CSQG@k+Lr z+A{ulU}dpg=52+d!zV9Q7gzZ%*WeM;Nc)ABy~@FEfX7lf!n$nDxp_`;X4waaFHKn7 z7UxSrvDO7hTQcGQVedVon%dfMQN$e!h`6^PO4V(nV?lb|h)D0f3jqRzA_PpRf`Ezw zN(TwOcMPG1sv@CxNGJk^03nowUeAi(_nqr^$N6!`xMz%ef1Lb5)G=1pnsd!L-{*Zw zWq2H$)WwD%r;z}CoRspObsqGATDhEEkWPX!%v$kpPn&1#)phI)Rx_$BNj6wyP_A`Q zuupe7&;07iQlB%yBcrTK&)a?S`;iYj2ycHh5Iz2guQAAwn=eKQX3cUn>#%44Vt&R| zQ18N&IseI~pc1)h@x_Qa%n0*z=qZO)USL9I)%6Yxv9_LMB1leQ4dUt6&lM&N+&AjP zSM{Y1i9WX)6h)AozXp^oQa84oGs=VbV~hOYTg3xDPWM(TyN1gfy)yf1=Jt*AR&vP2 ztYh+N;?jP5tu3WLwx%F^8zSIF;r-b zt^J{#=aU5`u^wY?oEYo5;zYgW8zW9!m`Ou9N2Z1`;GNYob2}Lz2TF)QjhEIT!dJud zT=)9ngKRL_q;p-yg5;}&%(Fb3Cu%q;wH-^}srVAzCbXclLRWoDT5b^ z@W?%@q873InxaAYvM}Y*&J@Tsk}3$ntH#3QHsOqMpAm(H08J<8Nf2vsq9cU4>Q<>- z(L0>n=HDs@D5&}iH{VYZl|I6#C~k_$wQg*7(N;6RUvNH~i*4Ot&bAUkSN7PHOXtYQ z^6irChY;%{A|hI|3JV^9SFqW^VTJFiAmwUs_g41=A52{1-a=~ZqkV3ZVnKXlrw4L5 zCu(S%=g%+TZ0!1DT*UEnYl1cmFlFhH!M4|ug}n}y2hkfgYxiHZzhx!oYxt$yAtw!@ zN8XaOaX$0gGNa$O)R?2m+_%{l$o;T9c*R7O98rvyWw}f|607mLs z{h@GuwDUqEDCUE_dZ+a?2=g&Vu1=X1#*ck?@(3ZP zq-O3fD^le5Oe7g4<3C_Oxa?TGcAh==h;7RK8_eoNI0)swyVVGOKN^pEkmWt~V*Y&~ zGEUX^0{{^WJTD6V%aU;gj2Uli^bspvc~rClyFI+P!Coz?yaR=h^>i^KG0_R!T+uk? z;)jN~I*)^tTinm;)npC(RcdA9Ikt3CU;w(|SfdJ6$tEgx+`qK*&wY;Y$>p?F9&h#6jlYxa^H>pVNg5>}Peb)*0)`MpYS~_w zcvOH|C4ld$W1s9!38R{j)T#r^6i0q8W-(CuJ$>>V0uo!D4}?WYl^pU%8xUdd_*EE8 zs>CEdtu*N>*2nrF4G#PzCO%7p>KCOgt*+aCc!Klb)0dAlxuzRzZx!=ybf}K84-a&; z`FG$tyrtdXk=(!GP%RCj+0I2UQoMs*R^&dx{N~Q0@>rK3xXc(E`m+A`4QMQPL`1Vl z{ykdBaB%wFgDsbZfqx_?biR6nVi9;a8GupiuYOiZ+wk!TCpS9G3x?}9CkmJK&jl}Bt_PWN02d6{9wR; zR9VT)YsGrfI-CE{wTD{$EZCX5x648oT&ju-h^F^iQ4Y|(^w*ANdxwWaBBD%><*B4j z0i%LnC*sUA#SIy@Kg=R`?16J~%P8dg7NDFt4UKpsJ-THdBBa#L8y2*8!N$pN&9kG< zP+PuT-3aKwpIMBa8CKGNA(A`5cdJ}Q(GFwZlLGU9aF+Zuh$R~dB&<6%OdFG~vK&sh zmV*ItjXGU;8PJg1d4KrlyDvHN!8*}Nw9AT={z5~q9s^{Zije`vhsXP{E`4T?Qch>a zmKMEo&dqM1K@_9i>bX23$mwH@x$S&)%AyU4x}v942Q7T+s?@M>!H!}!DL#CwnZ{fIy(3MO92Y1CP10p}f=M*OSnzB# zoer%^0OCqOE8qiyvBj!UiOK9;5Y!6b99GLeHn@ZbmeXIVf|Gk?f&qaz6y)%RCC3nt z0T-YFf?kWuROmifYo6(mgQLwWY+8eNT1@kRtD9N62Z+%|o%JGdN{=dj$oY}hEPsoeT)R4zBbXvk*N zSbz#y>POu^?HM2Ki3m6MWBP3d(p`u{ubx6RG~nNJNsn@Q_bURLGX`gz7dGx^&2z!m zC9c}xa6l1v!DJRbQ=!_mlPWY8?A+5h@>vNHbN zX})S}vh~u{x3u?`rgJ*rE1t|~{7sJWQSyk%$2~pqs0&-)Q!y4;<~c_X=v#}0L^>sj^BkN1cT05#cNoxZ_v zhDJl0K?5tgc(S=hD?WlNu$Fn+4c2n|_bUgN_GO$6=D$Rmjo{gi4Rjlg4&1$2)AiHx zVCzdh_o7wvOyFu$`eb4^Tv?{%Gbn6nrmMVma_1r(*P&f3G{myweQk%OC}`^dC{hmk zAV>4l2h(OEFBp#NXTv#uF;k}D!@7ZK?g6CKLd?&v_^3kTp%UcTcI3|BcHtgct1&=m z$X{A3K#ubpE@6ULtqJwpnEP4{#^P)9m7!zkOg<~O^z&npe#YHu>Z~{<7CQ*;ngk>- zg=LdY2h1|-!6#$9L36VO@lVu)tWpG{uLzm_JQ;c3wI(6oM$JekPe$M`j(uo^jyD0y zw+m(>hZg?A&)`I@uHnzLHZSqyeP6Ouz{u?pzLC-wX*A7%-zQIQwp{T@M4Z776n(Jf zCvC_!n2{X8E5+vPbXM$PaTen+P2z zRJ)UM-IiV&olb1BB0LfqKyj6~erd`+ZK@=Szc=VvVZ;rpBLltbV=wmSd&beS34%+E z3I{*V$}dJpkKXGyBP#LiR~!Ijhg}6j#)7{J{d}etmc_paj z)Umbs-Bru`0z!rb@4S6s4F{_YecJmISU^_;H)bw=(i*aC3$&3iQpSMT2X%tcNXgp? zG$JaJ3IzGStK<9kQ}QY06t*+CLQbHssS&h_ilXcRG@W7kmbd6k(Z=02#=zt}bN9ND zK4bV^|9Kt?$)%~clZqjM`J{aL)o}^E@yD7RYKP-HjU8jR38m=EW%}Nq)Ycl|)X6Y5 zE0da_+~Pl_-1i#?%K|I{wnkuk_IpWJUMD_jpLW^xV+ytY8SAyMt1$6m(O3G4dT4mD zJivt@Eu)veO{uSKbj1_R^7flumj>(m_|Az7su&i0;@KPxJ*?}O)C=JKXoyUK`abjI zl3GZzn+yRlI(HoZ#Kx~SilmK|%T~(h@9AGJq90*Jxlo5WiV2^w?T6*PJDATnA49P# z+vpmR#@%NGbf#JZ8xkKgI^?;ud*)eE;O}z;)vU-w7cg@$op`wU76mut3%+wP%OE%^ zB*3UyNB*#Z{!QC9?V7cbG85(HM@13+*2k2@YB-INFK@i8Xn@U8m6cn5p^TSV z?{TLzy95mMdG^KetISIA-^^{Q40lSy}>q&>Rwx0TJogHdWZsKsc=!lUdwDs zl)mWW=5W%ORMu9}X8kquO3Is``As%9pt9p0w&tYnr7o3`;##53EI?+usutLlm!Sc= z{tYlDjyC+(meFtS*7Q{t7(ZBRco9d6dz^^WjBQH>{Y@UkdTaf2gLukluktlRtUfnM zc^rX#7kaB*>Xs4mJuV0|Rusri2m`GNti?raG~P=$o0O+tF^L}y&2y@wzsu@suhdi%La!=xwMYGfcP^a};{z6g=hc{8Iz>idgYu|iYYVd5@pR9zzY~)Fa_L!J{kXh)m-O+IH1XSB zRi9JUw6>;|BtI@3q{=U}Q87?-mjPjrEW$7HuV*|&Zwlj_^>mildje1*(w}RwWc3I9927lKv5f`*(*#wYje#LMui)U@lPubA@@u*ySX|UK~GENdSk@m-i_; z@$LO2S=jYo(uixrbp1dG6~0ru{AsFjJiR^3rUPb%FNt!Teq2&kBbyy8%T(#wuIBRE z3Pf;KwPns@xTUAyG~RB>4GM9VuwxSEJah1=r ze;C%YTIBZ?HS#i_;rFODG(gYKyLwBklw|Zh0fY9#7J5?g<@p0ToQF>O50&zm6NGe; z22qB{5i7H%!gr_;CSxA0p*&40)H5EPY04mFsNgnP%=cf@hGUpc2Q+C3tV(V@DUSjN z`%=ajmfyPpP29j*Fz9TUtSmc-xsa`<_==^WRLkI(R*9ya=E^zBM=~LjqYf57yGO z9>VbG!X_ynGpz|UKm6Te7#8*Z^+ftg-sh-dEPbMuHc#2TFREe!{mCz(-L?h$#E>;y z>B!_eUF0>!OK3o-xH>$g#^69{jxKD&9QL?MQX_xCTHTCnVz+8OB?~Fb`U1(inIF*P zHWLtF9*fp8;wE->vGoWH#k#S=p|AM#k!D}98$fvb*x-COKXaZMzTb69cb%AYLNk^>*`R;frwmesSe^Grlcffi2-=#nbNJVBkuBQyk%S%Un zh-Z;}ysE9@43sL{79PJ9W0+El3l}IDL({iC2TAZbtpN58r9BP6q3}@Z{RJ-fR`U&y zPBkjW%nJpF^`hi^wvEi6syAK!0^IJiKrBJLU6q=rPh)`cV{ zDDM>^)u9~f34*FjQmE^9@VzwD@xIYDN~4BZ6|d&Q8QGyAIU#GI3_X&QCFsp^Bmet^ zbTN_1C)tplTPjgKSKL^P)?E$g7cQA$e}@b`0p)R#}Xg`BK>&NpwB z%Ydt4J^dR(7$VY)qu|GPd{A7PF*uj7M5|&}>q%wy?~QRUv(SowOnJDyA}zGU#{BoS z!4>nL3LbqObgB2>2#yfb+<#SXbad@~70ahkX+24DQ#-d3#ohr1E5CmfUeop8P*8fN zoqoTaSs?upr}*#x3Sbtt=XQl$H+-8(+wwo?cG7F676AMHO?%=0{%;Cm{|k-U|5hcN z)9EWgI}L7~A8)$>6|45b=1yH-Q129Ai?RCsW|YPPN}P*Ivy<@*nq{>1pou*@Bn;vu zRg`-8@;~V%l}mARje)IC5D(7YAk6-9Uims|D=~83<@E6AMZ$LVIWo&{x76~(2~XF5 zPv_g6qozloK)zZ7#XMW?3y=E?LtfBi)U<+bwO@%DMpLL){c(qE;p9xD<7M1u%AaK! zo-9EfLTWPROO?%zhW9ws;=Tb5sCr#pFe2ZelHMF^IAr%8ov6 z)0}Wot1@!Y01jRl;7nXSkD*`%rT}4*8GFX?1%fi?3-Ki4(*v3h&s6o8rMa)LftYVn ztzDH-WoAM-r9YH;lxqkm{}Z-(H-$zgc^UdyOr>o+MP zO)}FfP5#vVH6f4GD#9IrDhuR)4gXaVn~M7t}GnK8EgzAuGj>rlN*& z>^lWeLFOv@S3RRkx2Ai42r_8zz| zEDAP(=~|{}w0S3Vj`am@fA0KfY$E57D=EXRX8SIuo3h-ZLpGe;5XEM3Lf0~|I)Q_r+>S zb!sNvYt`Pbi&xBGz>eF_J>JS_isM&hG#^erXkm6G>Vl8&F-7fG{SHm)3c(V=5Xysjn?d zNCYz-OuJg;6h0Sb*S%wH=(7+63!GXXWe7prem7igt17&aVLt2Lw5v?B9T`DL7)lz& zOaVtBBK0K6E^1?|WpMM~Rits^*pMG7DWnf&LDV_*q9}D+vPar>^gK)vj9r6M7wSIu z%5;@yBWNyLJB*wUu}Y;uvtexeTja)KnWq9&l_dj2X&SGTxEek}Yd1#zjF3M3vu$T2 zu8@Cl*}#IQEuf~T^zBj-pf)l-_DYEx!<8*?WBVKhjFv(-VTckL3lvf8o8p&?4SkI3qPm!o^|o z0C~=@6)!M(R1)xQc^IluU*9l^y=!!*Irp(Fp$w(Tc>5ka+CX?~Skf!g^sweQ?A0PGgV_|2n^g z%AR9KZVNBS-PCjtFmaI*xlK3r%OQFkw2!B)4vP3-q$j14abP(Pa& ze*QdkcGH9|A%uRUxBwLS^y*}8@TJmh8&uMQsg5n@>nw#2@!B%8p@z>Gtn}#KA};o1 zDP)jq@J+&{DJ5g~p~m>J=ZqCy57AyFGY-fSZ&T)c+kV4wJ7+^U9Cr@%Di>4(7);ER z5bLVWJP?`l%B;$tJ{XP#EYDmFCj1TQ>^Ol}HmCju!z5y==^%jtp`LwRge2Lw6Saff zxuw2O{}(H-&uSfUoAK)9ty>U?-Wn48>ZKE85E~))*^Av%({E#P4M`<>FUK{>GdSHTFG88m!piyx=sAdu@7ZPU~nNmcY4ls*Iu)f zJ>}7b$GZI=5SLxVT0FPZi(Qmv!ec?hOV%8Jjh!vD|KkFmgc{~dc&mJSGU(kKg6YGT z@ui{$yvImM+f1aONSuF2O}jW8>Hdm|%%vsv z#iy8}g4bIMUnbl;^q;QNHP01OCx;;P3^9F-YMg?l&c)Bnw3XcP9*4Mykdrg1^ojtv zl?a!WDKdU4&^*hsjWEp_Xk>R~*f;3I`W$r&)SOlwGbLg4W#24IO|Hn9dvgDdD1;XQ zz?ot22%zF3kCvFu-vum7LX}&EmX`#e=fFLTey2Vw#NE6o-?nq6X!h-AjTF&Bw{f%c zev0}THpHaf;Y?4ZE0^+q9~qv{ zrYIA$SL$@@S!0Saq)SD>_`)a421WrfMrgwuLSqO96jUsuyg(~1Q>K4?#Z;D$NYLeW z(QmU7C|-!aR^TI$hbZ=*@HhZ>K?TXpS#>3TP+-=72ucoQhMvfh5w z_e?PrFeu9u-gP`yrXJM;VnNd@7YgZc5=l=LWpGGPc2Amg4LWKtADl8%gq&oV^d{}N zZz-KIr^|5Sbp=gdWz0weJh@KFb8mASNnBxGEA4v)7cf-{PJP)ONjqYmr1}W|V|1p? zW&n_f54rO`(-*U5bjc5^^FW zpS@Hcveh~`qG6u9l{nSVU4B`egIh+pOBp-*CMj2TlcwWlQbi_+aimzJf3CXY35OGP zRYnG%?YZN7x{4p1$!0P>N(bQk8NX7?`M228PU&rv3A+JFtBu|HRT?b89MyNw9{B)^ z?D$)G?CNi05iA4-j=D9XpcJQb&p>}VKef_i@R6Fo>^KY>Ho1;P`mHA8vXci8ULO^b zzechhkom@ce&cZ8q`nKMH?kQ48qrqxHCmC3Cw6B$j^+}9Iv0CEYD8`%`%}nj8yUhb zj{c19d6BM`9==zd`N>=vbGOL%msOw;7xQ+WuF@JiR~JxLkV3;zhv6J<>#Y_Hy`9<6 zh>na#%PVQjpjrN4brP?W$c4@Oz_j-f_IBN<)44WO*Dv*~^`(*4&tG(&Jigd+2x0G| zx`?Om6fDuYY5vQbqbO4)9)alLE^A$8KL+$?GR}M8Fw*~09%Yi=W~)4K%pYV46w%x~ zKT5ZVL9nKVBb6m^9Y2rFcI<&Oyr5B+o3DH@hmaZ4@7A>E&@3YmG;C+1+t&;+=rt4( zdMdd#`7}v5jk)?ZzX*i*$c;9Nz@m24a5z9H>=KQK6c4*N`5OB=(`9h!zmSQR-7eOH zFvS;Mt~`JF+ZZ-WGYfcQAbL%va{L9l)HxqZeP3f^%Z8HeCyG;Md0St4GYuePL#X;G z2C8Q47o~>$cuei2+5oT%az~ccxckqa3N(#xRMX#p`rA{mQnqq;hoaD0FFgF*!Yg$*=9pGi? z%?zMuREn+5)WKN6-=-Vg@}G2X^9pMola9298*;)YtN=sU%^zZqmm0ePat4Lt+496a z7ZZ4nK0FJshpqR~prH$$>5t-mug@wBF;)YDk_KBaTDB7GW4SH#->ks8~Y|2&v^7s{bqK3B07y2oQjM?$x=HnBHn|d(GSJ z?W*J)^>=^JA_$&NhmqZ+@|p6K0ZYYs8=Jz5-?sGhvroZHVHjSW?vT~Fz6sIsQ@#uy zYU&Z1=0#*ZZeEeOO;JP>`UwQw#C7_@P*kXkv)||KSn9d|Yb;yVheu_DeSCczsD1J? znrTwiVrf46OPzzI=92;`{)DxrIobwZ)=0tHUqs(x)VXll>-Xk6(q79Cv0Rux36!+v z#fkgyh&PuR{X)Aw8jU3iSuP7V&r!Nt?sRnl>TVPlbd6^B3Ycm7Rc*KEA2ANC)5;sJ zAqA8rgshOzbxf!-GZU@$yT<8in>^NB>B0gnot;U)V{L=x5FCMi%%^iYrs z4?cVEhalZ5TeRHrX@%l5f9LA9RC<-&| zSNn6MJb_JtdTPWoxG2gNXx7Kh^t-Wm)B%0-shVag6ex!AbpQid%JlccYj`98nHokv z10(6=uAf%UH`!=dp^V2+(vju>6AkT@LwH2Vm*?-?DjFUi>}<(~B80Vy0ZWZw}0 zwA-nzD$6$p20x8**vJUN8krB?9WxF6wf)18kVK(aqz^d4G;F!^pduD!Pz@YJuj*DB zR|n9QAA>&B(ylGPC#ww3;N>AVn$!oaAFVZTxYf4O(1+DD6)pl1!ZRzU3_qYv%RzU1 z4dIU5S(=+HUMpd}R+KN`hPqd+6`)qyN=tQHW@9mq^M%u#E_VPS^e@i?FG|4kUQV8K zu#K;bfEnoAAtSZ5_a!!J^n7$P?@3Wb<7f^Pf~UDAlyo~MnsDE-ab30(}^ELZdW1Jmuu8`2i16=9{%|Qp22Nh7$>7+(4jw;cx4ikIAWdTcV z?PxrB%yNH(^tWgIytk>9QE)&~4*gOmYuz9@d9aAn!CTFE(j zSQsLolISBhe|T}{&-@x!Nt$%%-yfS=c3MBjAL%`)>IP&;1O1%S*Z!!d`HBQVpIR}6 zO1V#4$ZJPQE?lj#X$`@7)X>as{QhA)EzLrAV^#{#_RBwd`czP-b+p-ez;G29hwW1g z``tj>;YdbEKZT_whEUOd(F=gn-r?#gG}`>h+wDhyGq^8c7_>!NoB_NIT6gC1kbfGN zTak%0|DHl6O92JD?at3fk`fbJ}nhA9N56?GVh z^#LwJ(bi>~0urh({hoA`&VH#DDa|JL$RHf5L{p>e0Jw5HUDrMCSIak%ondk?d%ngt zRa5sGZ)!Auw2#FaVy7V>(0Sa6kiP(CIyF5pu|z$f0qdl%7^`LL`1{gl{{^Q^c3w{8 zA>;!slmHD~*`mKMyp64bCo0PdIR`LVT0Y*(@dwn`V}~@91Mm;85awyixS19jI*o{t zcQi`JE?BeLUgML#)rk9p@RBeCcoHoW6QO6ZuZMEIh5-LvXu4Do7Jtt}sQaOSI0K!& zdDhGj_9HelylC_Rz6=|IEh{hfd>9?6n+Rjx)IAMT0iD5(Nx%z>15S)?>R&lfeW`xb^>Fdf}8 zj6+wX4al~B2pUX{#t;B+(6{IVstWf;M4JV$B#089!wnL7B~Avg#7oEyjn&p`2yDbtp8o|(VYWP?YI8OZ3+8z zjxK2lGj9%Zv8-q_O_%Iq_H<$C&S(LF&ZIZ)6F zRPGSHG)im4jz5)nq3m=Rr?NNa^28HHT(6RJyMNt?4r`3LwWE} z6U&!)vCRgG`x2n-9*lv#OK}93sT~{YR=+FID$qPfyun ze!d)s`6#(X4ktixGF^_EXPfpks|i`@uwIs&7i)ulmOJ}yGYhY=&D+;{hmM7k29}jg zd||7G>GQ}-?Oq(fUTi)0!0ZbakG+d5*p$@IOS{mg`k9cS!8M3RX=YOgMn()77p|nu zRA?Kae*Apb-JSh>6*5eOw8(0A{=?r zu0+aD;4IG!2yp`}b(-&xUK(v_wVRsLrS>*N1po#-yKt#QhQACfzZbIs&O=u;k_?+! zeiQ?tQX*jbIoAT$T+=Z+P+2kC=o8lJ*jY&knlr9YDT_{qBLyE$y_lOe!zz$oz-T4J zFAhczr~#w%!NsEBgUmxysQtB~%eHh?*w@FeZ(Yb4f!A>V!;y)W;xw}&8U_7v`8ZRV zRhe8#DKsQ={WcoyUo*}G2Oi*Ov;q;zxW-l+MP7#R3R`Q|#Ua5htOK6$E-6gwl%iNp zAw5SGy_%rYV^SrlpT_BUVo$~FSUcavTTe)$m;2-Hi1haruyxS5fR^PUl@hzU zzlaBSKzI2u3}5tuCv5(B!Y847px5^bSF`*X*W^$dSm<86zb>;&-a+5DrNjHp>{tZ> z>R0d8M{BR!qdkDei@6b6V?yC)Et%PmyEJRSr)uDN2AwY<7X)(9Z3qPP1!Lh0=-I~N zs|C-8N*bTv1($mQaD?ei@97aQr^B-s89o`blmZ0{>(;%Z3~jQ$>`VTq4IkwD&k?FS z%(F1R9p(X;57-~KGGJRH#tn~LMt4=^U8WOkloF7>tMGV4^V*=-Y>vifwlW6s=+nJ=;=#s zhAMsr|F>b_jFG+Zf)`Io75P1)ri6|tp;DDE4t(jXahKRxU?Nqyv6 zkA}6CTt2)s2vNlFM=Yz}?`{4&G&#t#FM=V9OWMa3aK>QqD4=`zhKh>!<~DR^k+IBk z?5?W9Dm{g1DI$Xox8=8qnuPE4ayvK|kr|GH1wxu}k2+~UG;jJcYppK;%pbITZ5?!# zHm&C5)gH-P0D;WXN~Bntc$-JE%Ml(>)a1C>nZK_$Xw+R!i_8M1Te1veq3@ssblFy7 zwNT2Q)S*~<#lvMQYrw_kX)BUpe^{=1$^pUBQ(RNo>b&;bWV^b2Cg9u)kbl!Gll%Hm z0>d#2$O-1{y=%i?sZg1O=+v=R3szls;#V9O?XrCgT=CK3r46e zR~sRi)&#CBGooijr~(J%E*1N7p|I=~K|06IASNq(A}U&UFA%WpJCHGwWjIY9!d*T3 zg%IT`9T-dv*75&ZtY2r%&PQU?@=DMOB#{PR(^CI%VE5)uOSP8Sce2E7y6eKfGbB}$ z!ax5g(681$Q$TOedws=+>*QiNp`YS zr=b!;m+Sy>34So=dKAzUDz=UZFNhEYc{sh+FD<5f4c0BsW={~aQ28b88Gpf*PCwx7 zZ>p5Te@R>RW;mR8nIK5st%{S)tAZo%3Ps0@i%-AEPB#u4v}?6YIHsM5Xs(99{k;7( zz>3cM8ri2D_yv~ZwN6=}PtN-7n2VyGTLgN$E@OJaW!=I<>f5Aj+OK!ug;RY!Eo)E< zOhaxj?L5s~s}LU&f*4kQ38sW{Ildo0loA7YrPuArN{T23G(*G(qrN~Nf3?Wb8tyAy zsMGIjcjrI>7}TA;M?RCa2^R=l#KOFQ?Fl?jM1clxH0AkyO zu2qxcGhwXP3%zu<_XjVK%Rl%$07S3GxU9^LY9vD6K%trte`f^GbNJ&xE;_#Kp2#nL z3qi-<=1_aJIJf<5{Pw7jKr|SuIUrV~cfBs;V*FiGVtK(N*m8cDYCjr71XD|%eiDm6 zn`R!rBU;bBobr+N9>Ko2`Ml|3)Mug%=#mBggcV*n4DPcXd9D10Pl5) zrs965X`r8QHLQu%-QByUpwKD|#J+5{f=6Az4NgSVX(ukwM4`%eqceB%2LdU_bT$%I z838zx|4bX;XGJaw#+*SnSU4un^oVo&^*I|-_AHu%OO9*LC#m)(^mkxqJPVLG;65Ry z86%>{?#-}2Fjfk}U;0Le)>=;cc%$lUc(`u<```IM=6{{aP)If3>gK1dV-2*tk|m0O zurE-!Nd8cg`)zRtz6ttM)Rb@PWbEOE-@YF3$6zr9;0ylu=l|Fl|Lb}D|JY^uW$E|w zAS(Xn-RoT7KgdxJF3^!*ZnOW-VRYjD-{?{8%6cl}=8ohrlo}Q>xme>bkvt>=bxG|L z_PXgaDUke7;;_Rde@?klUo{NkaEEPV`J~GVzXAcykrJln@#q7oPIc zDHd&X`a@!=tK(61mUuwugoA#^nXv?kj`wdFeL|fPRHXC*?$K8f^}10!#(OupXy;D|EWo8c z&{5STy=Z~#@kN&BKcm*(2b@NiZ+92)ojv#wD(??y$)F|(!z$FHm9X$F;lES4&F8F+ z@kdkPCr1ts9Bn3!z5QK|m$WVWQf3;;Qu_+IsP)Asf17%(n>4)xk}s;goy-7>`l;7Y zAJtLzK$ag_3T$0oex10tY!)0m%?-jlDm=R{>z|8TxcdJ*TShbg|FU}amX}o~oa?fW z50E+Zq`7f=&^zj`|8fK^MhONEqyo0_mwOLAl}^!@J{X4%+KijweC;4_qD_bL?w*Xn zR%-LDwU_kvdWj_#%4x(Q+@h?pMRxTHe!7R;%18=IOhf%!c*H z#Ydl8`i!iYBdSn7*>78W^LzT_%*OH-9YL#N?Bhm0e%af8iOti-xh_pm{GEoKDIokH z)J$XraVgI>W34$AI+QAuo|zdKaP8de-pFtOex`2YuGN4?h5JMNkkowC!P#H=GzX2# zsW{8(n~+1v1Jc3dxA>h=vTys%nti|Vtmn3be6FS$)~WKs!0@0?Ki1}Be@r;Mni&(t z97YdKEfCY6Cb&sLwqO-&chUQPa{n2!@DGZNbR%8w|Gd28VR-_xwJg`4s<9UR8F~ko zX7%ZPYIT3J#yjgkfweKqpeGa#_FVtT&EdXDAV4d%`O}1$nq6wa$W2wwbQZG zwdowqvD4=ff(eCxzOr`Ig{x|-D&=uWGXBXQTJ>`-&{@o3qZaCd4^6Dfev zn>(PX{4S6g5z~F@OvLIQ%XhKo(c;y&3eYRtETZ{RD2G{HSZi33d;OXQql5v51SGAP zpTrhh?vz@qEo=|0)klm_?kU{+vLlTe97Xi~2WV^Y82EQf;B1_g)%%l0*zs+{!;b|i@%2+_h*W)k~ARJ+DZ+lKdWZ@gPS5vyCn%S0={)S{C zP1ci$yXjQQb4PJ6EyxgGgYd7is}3l3 zOncv4o4xA)meOP89d>YDJ~5#jZGE887>FZ6kzCCzX}onUH)VF-i$?HW5*A7{+w3_l5_9&NSa>QVb< z)mp{_PSTD`GwVa7$pUfC`O%{TJ{YmaD1rwwB~s({(TIDF;=Cv7+?*U}*$|HNA3#&f zm^Z}QWg`33Uo_2wt2Wqb8b0XHjIJS)jDqIt|KjeVrP8DYz3I|TelUQ2ZbvXQ7!#AN z?0!G#f_RW0O>lWJ^+BTfww#Zy9ACu%&TB*kuVun>tGp>^VB_nUncW_XHRB*QIRL%9 z{STOO_kB6@z?Lc&#Z}}7q++c0{H(6tH}HOEI#(e&fogI2&3x{`wNF>#ExT0Wn;VJjnI#W6h{gj=w|ld*4#*V&1Be8X(P;?g zp1d>ofwT2Nu8^5qhaSP|Kb`1cA2BD{;APuJs|Smqm$EU@BUbM$KhXL*c=k@r7n5x(U#ct&z5(XGK zFfD(Q{SKFAsI3NOtI;<()g(!=oFJD8Q?xv=M1f}MJ1ajU zM1~{FJdjp_VYI}trU-@7?8DKnt7P{n%^<^6He_hk3Md7gDPvf!&wzTn1di^lvFe3b zn^}t>H=jKfp=&?F^)DbcEW^26jNFZJ+pmByDBJ7R)|x)khTN`PnC}c!>zAdojBP^7 zdl`r4B9w)(*;O5OFzl#q@=)YI0)1w3i00%b3rO9_*Am+sK(J7Cxgesj_<0t$`A}~& zeX2pYxS*wh^u=oH>iI?4Xv8e%s=VM#Q8^s{j!-SWY-xxo374%X(jtKhd-SD-^L}zs z71*80e!3i{{6dmgbm4uBjzQHkH4U-t1-^*ZFH$s(2jzD=*>MS)b4Xf(w(v( zSxb@I>Q!KZ%7mC~@$rJym>$J$^W|Fk)I*m+*i%^re&)}EdfpgnmtQ%PQO6^g>t}VL zU12i!V|L8Ni&v(Ymn7oFl>w}7cKaEFUTl%<;<8^X*30PL=LMI#QFVR7!PLTxjE=NV z{N)jW9&zQJ3t)6+eQuS*jurn}{f^#I;XfUv^@U=_&~j`^;LQ4Z&(UgWaiBFLU%$Z& zXvJ)84UVX3UagmuV^Z^--r1@R7({@}qYZIURWm(Qq)Xgvw0td5;Ilil*{=H)?zuD( zZGr#pV(r|vT_(;0v$_MEbB>cX8+sUNilBD1b*Em>hMT zSS>Tz0jGyyD|Qm0Yu~SYX{Sm>B!+yu^P7qr49HwdmXd*SZ_#Bcoc3FCP&D2CtK8MB zXwXrG?Dc}yE@1jv$i|WtK-#(Y{W`Z=oilgb`3vg!^4?_nCxXzdM8m0?P0XPY`{pxV zz+NyVOvJV=n2t~*ce(Gf^jYv;%e(2rm?yolea(-Wi}B@@=R-vV7@T`Z{dT;aCIkII zAof2u^bpQR~D1l%ogq9;2U zeg{LhHtvvbpGz4Q4ky1~woPs{uxTQjgSQFIQ_Tt5U{Z+HCf?EeqPMW1duriOsH$SX z#v_fr%;$6UMt8mThwk$~z2AL0$bV)};H3Nnvvb@|FPPK4l_~PH{O)-iscWn(^%!?z zv5lKLx21(Y2%5Q>2^f_dStZ{qG5I`tN&%|om^L|S3A0;65m8Uj|8$OC?Ac3sIT^JZ1|q4)@P8q zh%Yo5*y_baufG_+Qpo+Llm{KL|7lgJXkp%lVeORpz>|e3{kPbF7iC!f{lL+c=L2=d z6Zem~VMn<7A8T2D;SccZ7=bfTl-y;jj+BwNYc44($HQ1OF8Ra3VI^}C%1RbrhVFKgY zpR9%br~U4v0+74;5xN;x!h$+ZK>bE#rfgMM$rkg*2>YwrDfx_)SQ|4wcEavgSF=@C z4niQoA$%;|m(T7m65_0pE9N5iA3TaVdxbaQwtI6*;t1(IWcRCME91z6wnWPNen(at zN0HCopAe?Weiso-prkF{ETrnNx+>?UL)-~Y<&zdqg*d|B`q;7LAoOMEQ%Z{hnV$ zq78#sE7%yU+t{EF?IE2m?grW`x%s$DBQ;E2SN5RJ$e`8+TWGUCyQ@-uK;N|15{l(D z-T-sm*gV6|*uxKufuOB&+B)6W2%FbSWjq@S(jSRv`F0~Rhno3;2zr;o`k0S90nNU< zRd|gwZjCDnPMAQm3WP4RdsE={wDr$2wy7Zd>iF5MR(k7Uqi{^2Dco%nXZhu9V~N>n zpV#PCsg7dux|xX^cJgw8kdd|{-hcK+klX)Y?>(cM&fd0B90ze!WUL4XjKhdZF&2t| z5ETU#0g)yxQIHw~QUZiPVg;3EqnAkUL~3XuDhL8f=mA2AfYcB|NrBY!WBxPG`@Czt zAI@6mtaa8|>&cgVN!|P2_rCVE@B6wG5@f?|IipsI-8qk)1SGlX8}JXmXs(rGRL3Bt zuLV}50>yoRKF*~xvDJz|u-WKw#SW>OAP2Ut{q>Aj%kk1L%bkXd?g4GXZN5n(=%)g` zIe4_j?U2H;z@HVXy{CiuiPf*KOqU)1UDvEvyMAQaWZG`pewHS_+wrs+b;o)pGs{cC z8)3%9#m<=D@Lr`|NnLNw?}*ful~gS@l*3FWh@d-dZ1`{a5r#PtK1WN4d7Zvn8L9WE zYqlf!r8NW*C-{xnG7Zmpx3}G9KuISI^e>xq!9boRaWhA@4t7v!8v4B0^A9)BpPx^_ zZdX6jx#?|nD*kcUBs>a~>v(O;4g}~$Py8=%jbsZ@9s3rpP^#h;K_2jEl7i^2^q7bcgWa=Y9{`ZiTe1w`Ib2EPLzxu4Sf9H!Im1 zw_0njjj6uTB5ETbB1h{PUbRit*&@eR3BQalW?my#oH>IF0lnLK$hvWJm-ive6uGbr zS<(OXPtzjd`RILV6k&;{CmPdTjZ!Nc zHc{8&M`)VciFR|iY|Rt&Ox*L)(~?_DW^JZpNAuAH)b58KqsIU4Pmv{>2Z6Qy!sC%6 zr%KZ4{B4&ZXI2~x(7R<9aZt-H&PHwFMq<%<|3~kARDEbFHDv;RCNPZ z6~Z%yW~Od{P;uj zEe9u*^;-=aHzW$jr$BoXUuZnB^4-tM{_*pK9jSoao8Gf8!dI zfRLX?yg#ENP4GuL-KfNwnzOdmJbr5PF|R^y4LN->zBlZnhM*ZT=}7xZa4bCFj^Cjk z->?Z<#DRVW`5cWBMpCGPH^a;}wmNEWBJ95cAZ?S0*vhSF7e=f)DHDQvU%lk~4iQJT z#J?Dt2b>=}{JyaEUU=jpEhC-cb;S`t@yU><2&L2H*%!URnzz44rUIhVJCf}4lH9|* z3$l7Am7=NvlWpiE#)5*w%#RpYc5QPKxLR-Ig~K8VJ=f`qw`Riu@K+`|Y@3zju%LaE zezbsKqriWJI~vGag&2A`fUbACDdHrZUZ88USdqU#K^(m%<}>KUl;eTtIepHbR3^-B z)f~{L9SqW6s>2ix%9hPOF%O&dBs?DyNXL&&q84`0KNQNUOry@-C?ko-*WL#f%GOSF z1*=C*_~+JmRy4ueI;(Y?!=o_(OaZFz zb@PRq1;b}4m5l5-+>(4i5UnTK_HppyIa??o`@Qfv*&o5S#rDr?N;LH96OOL4jD#N) z*5cy%tfb%W^y(`p)ei!24vATujAs(WH_1S4h_kYd9kBfZih@JIRpn8tILK{>N(h>9 zJ~$@s7v~+FPjw$on_%N9(v5BJtW>d^(u2=WfK<~r+_2l|at3ATFBXvN?b6}Yk6~u#w}v!PablYZPze zC!mLPfXlwxBm^jnwrMHKDGA2S@m(A@t{V`M0OrPL(b~T|-Znr_SJc9|k8Itgm2nJh zUW8_DU^eXKFB7_koT+Ax34$2Xyn3F=Z%CYVp?8gyBzPO7o@lgnKvtugvm;8JTgh!7 z7^Qv9Hn#bO@0tSsl^Oc@;B2Ac!?@AeQ{crcbDekTZ22tAVB9CFQY5zPJSh zYJup)AnDgcYZE)8)Er+YYRKzbfD*LsrNU9IOMa!2r{lyD8-N))7Q4Z z(1#{SCrfr}95=>-`cD>T&gV7dnZe^n-xp6`zG%0=uy_<)y!H%{rK_lb4kKWhNnE9Z zK80*nJu!D%sCHT`BZ-K+*(`nmj3wS|o%8*F{A=uMJ z#(2|Xl;(RYPOE6qA;RWnmdx$gD9Mvns@p2Za%&U-uhCII1H}A`cO3<{bI7|TNyp7O za_T!*{M)8)ye%vk`cRrc-8?-Wzk0R3;Es|LIQ@Ph%VaHk@wATFr;-LcC!=ejxHn14 z`n6}^VRk}ub*y)_GQZ_uSwSrnq53W{F`Mo(x@sOT4k6x6Pq2_|jSmwxhDRJy`y2#& zv#tax6S&vBcCSq`VPq-W5xHnksUOe5@P~&BDnaZ`BiWb)#lJ>??p7M%!pfN;fTYZm zg5_ad@ysJMBWT>vcm%$V8Zh<4DH2z2xtGixs$A#CYZKQHpk1Yd1iu^_`M&(wDL13r zwiGB1RS4nP6Plcl)rHtL0k{v6WO z(MV@XGSXE+iLx63gc+;T2!R>;IfKZlmH!e-F}(3#J@eoPpwCO z=4$`DLp{uTE^+fdn>C3_BQ}%Z=nXEy*kyNZ<}5Y{Frtm70JlGaT&-*BQKOqb^BzC} zH}*=Q-v=}GCal3hX?BK=3OWv3vMAxfDfIITYrX)TbfrhJHaTnczy0px3;&Gvzu)@L zv)5J@pm_MdJ^pWchyH&dDfi!Rd4b>jKL)V>nYjN)O$7h0j(=icbl3ljH>AJ+Piz6h z`tW}|kN*=~{}WsP8HfKL<*k%|s$<4(DY~^aT4A*M;k@Y#U*NjiZ047i_UDX{z#JNH zkFL)`kgh9PI5tBod!T^5Jp*`+*Z8hg#jC=OXu0Br)Tcy&#j2AwX1&j-!?Lj0EiD7p zweZ51WrSJOucZzmVrac^2!52^BuJ+S()d&!s{BD3hWMw0f<$Ddl{Ia~#1cGG*2rPq z+bwaHle`nCw@7~_81iJew>OxR&QH#UDDkf0i@5qk?=RvyX&Kr=7$o$J!_JR4D;V|h zN5R_hO!I#-oWy+>M`el8`Z9X@X-aIS5d|pE7_X0|`U*+qA#^eS40)~ZY{&HrCNmBzKj&2`=NkzZm)oEz5&*3J6`X`af=ytI%ci zLx$ye4ccOZuVFz50sNQpwuf1F2bwVpZHi(`->ICCIs_T}`kUk(lO~^H`mnFP?#u_v zMl0*_h1oK~B8i&siCzK*@=NR({f@3{V}~zm3)5dEI4ssl45mGxnu$g*mRnD09hV3a z#uJxxL<{X5=?f-{bx{g{hQj*zCbHOke6-7V-|`-)atLzsNMAr*9_VV725*EYuj?%! zFq3Ufj2z$A-Hr9qGAD!SNrEbh;Inl{!9&j3uu*J%Mb$|JRm?ts7cKey6$m}OS`$^j zqRfk=H&3}fzMwL+)hjRQjfzPFTud}YzIJ&1i%}bP89}ZPE|v4UC4GM`N!7i63z;2q z-pCr)Y3Rb8d5hZ7#?H&tC0n5I)F&5h`XTDL2Pyr!(LF&hzL|NOu--J`Irh4Tb-JWBk5 z;6mdo=!ymud<-8B&BI$v7?@J}`Nu^iz?#w36u~0sZ9*8rmtLEKZ$${(Q+)fU#0>p--eZLtS|f^V(8ey^ zh^X8vA*t#s5>ELpVuc9`!ZvQBHZ7E>d z_=0s+XWES*F6y^2e&~p3n!Z##>Cg3jS9?#pzEcSK>|S2L9i<_Ja^(g1@#C*F zv?a6v0`9Rw$mDdnTRUN_p)1Zm4JvY}{PknvEmeu?HBxu5+wKiBpty+mg-3-wJ5oxT^mSb?q6IHyDL8uCoN{)3ZtI5FyJI{rz(YFr@r4-VaMarBMNcPIE$S zNKr@C!9Vr)rw6skgj>G6U|{8-T+wesj-Vqu(u3%jRc1M0R_i-}W?rAU5GGnKb;8hy zjj!K|zsg*B`6z4ryn#tPg6_MXOCR~r9lN9%wF$YE1t+MO2MWqU5cseAq?y=qx|HlX zyG^u_^!9+n)!8i1I`|BA8VIO#CltHGcddAuAp7*S@4&nHgkuB1n2pDRR{}6DxB2WG z>gbhY4ccNJ8b34H0whpjC$2w&AO0BpXqVe=aW#|eN7V(-JOSE7_H_k_C9ZXC)*h74 zPR}~eV#V+?vLA2i1}q%uAo{I||EtCCs`ZxlzN}ChJtm0tj(N4ZASVQGm==Mv7;X>( zl9Y33_WF*Hh4xN%b}+q+#_dl$6EI6|_)f(10f`W>%uK_&ESW6cV5(>JN{OFQW^m}q zHjJRr_j3xEWBksia5XsS;})s9My5l~_5Lx0Y8!QiHYwYkNQ029-yhUHj4=ge}v{N!4DwvH`aU7lP)E%*IK5%(d)bJ-2x zkJe6A8yg87e)BA;KY?73t-x+j5h|ZMqDU6oSEHPAQNh$>bLcEZL=3e%b_@X)uN4~7 z7Q~7g?v%xKK2W$}%}OaF?5>>@*&*AtW&a7yNc_w%7p@RcqE!nT>f2LGQIayx(HJ?@ z`};B`s9Hf>p+H?H-u@W|5g=#-ReBCthYdf7*na3VJ?YCmrUy~KV-t6qi@9G(RIH!_ zs|u4jIc=P-1aYo4AA(j;ml~y5y@fEQI~sR&s3zzXv&QN^D=j`G4U16=`8sz#4a0v(VGZxqoq6B(xW6oB z9$IZ8Ff4!F6iaVbUGU{A=piC8<(2-xZrb{8X6uEuCFw8aIW6^z)!EIz(IWoM6Hbo6 zT2Q?9#~4o;Itj_dJa@uyb;suBk2S)(1@MhTXH)V`^tW(sqtE;ZU)!2GOI!vQ%@G(l_JgK8SVl&eWfGqe#te*EzX57rFnj<>s0WgbP1!EI4C z>U9a5Kia%ltf9Qh!6)tDIfapKkp~B-gMsq;dlpzc(0E62PjVT1N8l`Q1Hyo&<3M$6 zX!bO@bmHD(BWdO0z&_C`r5oCR|c53y< zC0E1d+l_*KDy#MWHr|6PcK4MZE7MxgWW-}v( z2*OwRV}T`dK5QQ|sMr>4Ygsm4Bq~-)(gYvuDIlc_WHDAHc-{s)>hNTecScrm0{aS= zzp}EB>B3!Vh*GZ9uf&DOb6f~+e(NJ_-=8OOA)6T+YqHoBQfY$QK}&ll6EC2N^Trik zQrj_fCz=}7Lw8kJICs`x@xCq4$JLyo$)+ANa}?dzBs>2TvBRm_2P8(P^us~>$MdCq zTf`9hkVbd`ym$MEw>Ax8sieRDXWRg@2|MHIoLAJ8Tp)<6b8 zGlmo!&Q6PPas{0^aJ~eh(cUDSA`nUDL%wm3?O3kN=PL1~`z88)O%~4$!ktA>-~LW_ z^s4d4;({40%?^mFGyQl$8&idAC(M zvY3#+G!1k=gr6!9{2WIC<`T`rpu)4UkIx)c#_{{y8#e`EIV=lPhd%whi0X24fp>aBa!*!lXz8 zUm^jD(^!z}id@|hWmc1ERbD@n2I$@ug5Z{fqqz~~Y7rJKL7>~q+C)XT{aQ8Y-1Z|& zS(m#srBj16QVYg+vTrf>0g~w?Kds~=aK7p{UGoW})yS*;Bz+U1!frVqx>w_Md>?M= z1LVYF;E?f^@ZF!?y;(>nd+Sh*t$FkrP(ydiY<)MFKc>E==TWcU#w!I~SQecps&6jn zdXyh}ODj0z)>KL;R3)z8(&kyWpw#Qu~>o_%&V0@V<-;Fdx z=@lf{XxZJ2Ft_~&wLp~?4-%!nKHkb8R?q$^J>=WbD6Wf(_Qpm zBBpBF7ot}+>7pa_vs;VSNW?{xC2i{Lbi);8;7pgg(ALa!RsOYMW5kqNw+{$vs8E%B zIxKw?Y7^l7hw!3tjG2)ORRxS`r5#J0A5=eSt@h+iVw5cCb`Mkj&a{4d0bIoL1eY+J zD3uJ@OL{WL`)y)D#y(1XeyN*Jt>TGn5=_j~EsLmf+wKib^z2MpmWNSxQVyD>4dEHE z9e4%b{#6Z8Q`x?8KCI736V!st3Z+d1m{p0scRpDU>+?~}*f%y)1Nw`o?Xk%fpo>ko zw@BxOF*4Wfm#stnjs{x*uG{uT?ltDY-5QoH?tOE5u}SluCC1*fW?ig}2Zp`pDUqsq zpE}cqJz0K^BVSj)oh8*N1`lTiGg(zwCzcvGuu2j)VY@~`nVJH>VI=iIw%jJk35Qb?mA zcdVbv6DkiRdMo=oPU>eS+L=#;CDv}~eTycQ|H0T}Kxl)936#iHzBNvbbC<#J@b!bb z3xj?)h8Aoekd)0DvA-)q*QGAqr5@<=?AoWUq60p;kK$Ver}FL^c}BF|mb;nCs;^6T z4xOOQqCLCx?Y|G`=2RyMm)_b(R(1wz7|FE7vD?K$a1r}BBQO;=T}%3qsZP*=zODT? zBODq9Xbb)4TDh|egC%@vp|8vWG-DU4VB!{W`5CbY^}}!q?zcvW^r?q9`-~6;bRzF= zb_>ZndC){TG$fcqkO*b^Ggpj1Q@Wm>zux}h7&=#He@f&c3b5*kkY`uLkt5gc-`kEW zWkf@+Z<-~*=Rz6nUMUdY;WH7U9A(3rlYXr1iv-AAXic|Fvsmc(@mXY0Kj$5qaTfMm z;1+K<^c{#vH#;?L40uMSo0`U@PiA&tHMiy;V+!_ga)(g13^DK4|$0;$6} z#Gegfx-zv*O72K%kB=HQV^P{Ybqa4vlq3>Fes`t?3% zKu)=Pyi7`k0V8)bHc*&#R2g*e5|0`(aSNBhlG7 z*k~v%=?L8P;?_=LHQgqqsms8$*4e#n)X01vieCQMaNDK!VTLnTEGSW^Cn-0s6gbnj z?x#NQZD!!~YhL~mF$kG=UJw*Yfx32P!Oyt++BVXW?LdBBuqb6f1NFxGeTh#EFTNWPzSy1{Z_WmZ}ecP0U0 zc(tnq892)+vD{H>BiueaFQ5JJjT%Cu>14ZcIjpe()F-sEl2ijo)?5;pe{O z?UEh2FDM6Hs;2108A<2PnS6pIdOF%uUZV7OF@*_sk{yMbmHh6yh@lN1Ho>oiT^jKz zcJ44%FqCXkzM*fFAv;|^2i>Wmp^k&!%D74GX*$J3SX{Ctd5?2rD#>Csa%V9aBRS;~ z_?^h7XDyU1*>~-BD2Fwd3wQW*WxG!ZAHCbK2w&qiCzVpULc8|6T+hy`4lj@_5nzh~ls4-C)X#Wzu$Jidu`)uO_`>o0rrmU}+a|7RXR$n10c`rlMw!qd zrSQ+P^uq2|+DLApRKLeUTG1-iw6gQ29WpL20(`(=2#jv0nANx;+2>2*{yq3d*49c( z3_h8!&Z4nTIXyZl>k?#j<`{ttW(Vy7bmFDhsj|&pWU~)a%AxO}@rP^+3lh{odj@i@ z0}?jO`fIF@A{Ax5Ua|8tc4&5zTn{b4(Mmp@PF za~{(me_nDQaPacp%nbMZs6F2m^xV zVEt)7!wxul;u?Nq<3LC1R(149NfUUbRfdo08j>U&9uz#Pp6FHH$fT-RN8#$L$r`stf!74H`$5LR7M!m$$td`GP%|!Y)A{+A;r46sCywVx6}FX zSk6OV_Wm4+#^hBeM;QZ!H}9q;!0DFvyNMSX^(kp*2NUW^5lf3d@y(lSeIWBGvM4YYkW31{*DGROf_{25 zQ4g3iA$?#mkkMcSVnZjdw2~ZSGI~W)cHX@@&VI`-A5zN&RXEhWzg8|9x*G;v`0XY< zud|#ToEvU~_Hj~U`e(jK7&%4I&lj(AFn(+*%}*vx2&(V~gPXnU;iBl%6{1j|YzMVL1HvRdzF8X+~NS8)Eo% z$MAxJKE5hAK6{lP4HabjW-gT#4^@=XE5mN`dG6v#%x+4L7O--&-z)Bn>D|xSt%_u% zNlHI!&x@FmoN9%ejUooS-G^amg~AV<3v{)@qs@@xAPpw4g1@$|UG`S`hN5|}N=0P~ zD+{{Eh}tIPaI!E8aMM~`Up!xs!89q7HOff)5TnlQU)oZfZe6r$sA4`Ue0I-8y(CfE z#rQyL@k8|lZ^>APGFP$Tgx#YaY?Ozq9WHNXDWOrN-mb^89mxp%1lG{ zEg1v}cTgm2Ja;&%H<)VKjsk0xBUP}nQtfO?Q-;Tm`sHulwmZ*SL6?c~V|2JLaE4;h zD?<8lOB`Ah-f&hHEd*G|bd3|B5`vw94|3lvC3Rd2)5c%!#WREn#YWD@R%ul4H;NS8 zo<^u#vd7EhX4s~PquE3mj`L2@L*a545VE)HMaw5>Kc{fMm?Xo1+>cQ9C zYmMtiaEs4semOD)`Se-#AZM=%V+(P{7MZfYudBETa=UNtXetDvCJZ~#dz^6Z14Kc~ z!S5iFLN?nfY1#@}KX9*3$T1j@+~QT4sS)!ya22ATm=`o+#JZ(wR`6B@%-B=X3kDGm~ z_T*Dg=(Zaq4|2`AUpVRAlxWgN{5U`$2Y#Re(H=xl1>*Y5J6~5a0TQ#Ukq1(fQhAq` z~*i~y#9Ao;ydcf#o zV_Vghhcl(;`#o7Br;eYZCy%ct;@4qSVZ!SrDz}a@E4!`6b+%n6bDMuqN|uxbU_5&M z06KHD3}{5fc3PLTK1x+n(0S)M!pVD0(#moB7CNglAf?aV~-vd-~Cv}1wEjb z8&b=J`1m?=Vm;U)2dVb9!S4qB5vkK=oc%}a!XxRba(IlQZnq|&DTtz9#bafM$iPlX zZxF2XTdavQ(WC8wI7*q9>1A%kT~HK?=;7l+?S|2UoOdWy-nmBcggm_7L@1^E49BG` zH#fgL^-5oBnA;pXx?XbBmsLIUOQ8vY^L3nI1GAj^aZ0^CxH;|a#eRRe_^stt_cE-l zIVh7zT&fTPBv;3+J#NkWTeiF7F&mCSMF$`4l&|@n z*PL=p9mJ-#bFw1rtnwn{-Z8JgIL$oQ!hLACB$TZ;w-gSEiRwKn2(HmX0ac=&`kO#j+D2IxbIICdS;# z3jMsv+D^o|M$6R7>H39=wwDV?6~w<%iXWzHTqFvWZezn1+Ij5TzrTE<4DWQr9Pf?Z zA_*If4kJi-xj%3NHnLk#5O>fx3KAM6Bech%SHzx7qaUS(-9{417bJJyF_!$Yw{hE- zy-u!v75G+pw`iA~-tgK(JLS#xqQ3Yp$}7|kqjX5|( zN*Hd4XZN=ZgFug&rAjUnwF+C{c!xXmIZm3rTi<))l9{<&KxrAj*r;C+fY)N5aVlVz z4KWP4YF%0b|tjUbpnkS<LBm;-()q{S&j8Sksy^kupvLj!NHEe{^i#p%|r4I@^q3XHf* zN!UU6ZnYK{XW+tjHLlgYGl?zC5Q{op)*dXYWD@I#UHdP8Dc@e-=4t92wQ}4Tb^2Ey z7VYPsORoGBW=2hLK(&=-y%S-CZ^E*udTbe{-GvA2hxsarP`ZyTxj^*UwA^ zo^5^_2ii~>yXkPHK2JY*;T=}pc;7x)fPrZaF;q7qaHhd~{j7a{983hwIe<8p(D}+n zuow+fQS-Ti`Qm9FKBMK~3hBS))-3v~retH}Htkivl_6?CA--UDASi8=bly^4D0=96 zjh@nTb2(OczR=R$D}R^kSO|@<(RA4<&{!_^g-?1*UK9}zsTmwhQ&)RvS@X@#d)+$efabn~Vx8v?Zc<-CpStBl1W51F z=F;TeI)-};l+_*LdI=84+;kM6*^3w~e0l9SIwiIbyh;_nA1(Jx>52;yw8iQ|4*H6lj; z7`?u}ebl+kKmKp9cxt}p`kAsRd8wg&k%tVzM`TEDHECg^&K=p*8;1SKr*oo*@}noz zr{Wh9j8E9V^x2Duf~UReyl}&%cWBfWykN&DE)BDP30`cMbzf;0cOGeWG;^bnY)=jG z5sU}um7{kZCWo!F{L94^`qN2m{7##}k1)BHe_*p!xx%F+ySp0eD?6fX(B_kC!zysE;3 zVojP?Zp&|c{_Z{e#50%K4biQ^26kvM>}F%ilJ$K;S2~C6cViR=-4q&`>R)8D{avoS zDzCVHDwfU7Juho@&9BuApI0OcIU5@`TO@E_{%XH;jWK&0U<#wul^7nG2C?C5y`vku zPhSpvnj%GWy6^wF^TGYGC)2V?(<f8`N7r=+7{VnRMp8X zHVB6WR(icJLFkp}72r*?b5GU-8Wu^BywXM7Z?-l& zPyd9mU^YCpsGic26A`i#wfX5e4V35P1lvnalmRg9xVd)wpWdTz&<$(uxJC`V=X4Ey zK+k^OXDLVfve-oVO2T9(A6H}?WbqB=*z#P~_Zuk#jq)hp?ou*Sg&8gDwy@T$_2n(C zW&{jY)&5R~?qVt&srhoyMZbfojhOfjNS_@ zdF3o|szDoDZ(gVm{_cbMmPNW%z>c@b0Uu7rh;(fQO7dcpLO!_W@@*Y8Z9CDDBUe90 z!u4s2!oCA1rq+s<*b0XOnA&gwBFO8 zh)#ZE)(?m3FO>~h`0JV*8oRzDBd8cZ9aE&VQoz-<5|>2uH&RktjC`m)kR|86*WI*< z;uxibNN}I7G-jzm0EWdDZ$uEv-l@Q}xN8lirxa7ykaDvhns=0H?nzL`=!ga0(KLZ7 zhNERiI9vS_9nCK~D&`bvohAnc#@F1kX7(qJ<@^ooZiH#>co--8@kNW3YG@sWM8EbJ z7Ed^T!BKBaFK02@kZ}*a+O>CI?N?s*Dt~`&v3#oU`4;?7ck=@YQm&yRg?58Ivi2)S zFNLT4ZhJ|cC}=&2n+`7&S3bV?t44NNz-?UOb8u~Y(g~}GqOqjV_|A#H+?um~ z+z6kLgMJ&3ex+mTM)50*&&H`dxEV4$&~ITta2Wh!GP*iAb{E?&1leTY@(Q{htz7T9?^1c*=o*v{4KB*A@$LlqPle$Yr&g7YmxQ;5r$_N_ zEE0NBv(*N*h+`@dAscaS>Ul#d#Stb~dN_uOR~7AtE4<(?{(^Wz(dA~Y8gV`Ths78s zfow%JiUnO(>G`mtnx^IWn`-l^n3piA!w>Gj#chEsZmyAR%aXupiErVQ?ik1j{%HZG8J}QpZ>h z2Syh>O;~rsy`3Wy%&hjDEvF50JJH@(H|hz)uFCY{i5!s0o~+W3d<;d@3gC1G<)W}SMPX$W5%)-mt zv~SrNpTxyqN05u??SgRc^1H&_=1}EEFZr`US9|-CSN%?X-^aBbBb#qD#i3u)il*vM z{K;||Ax&@iEQ$Bu^qJE?(UP0ySBn%W9$O+uRiVq*c$X0PAn0M|gsEHThtT-Krr#4()NGZY;VohzyN|MYuAb4GpX$HRittjVG#S>v((% zf#&XshbHT5)L!iEJF}u^HR3nTb`CjC>-^wY?;Cz`1UI=;FxOtVphG&pHo!j$&1>LZ zJ1=us>%kjr^l4i7n`WX1No!D0k~`0B(%b~ag&~>OtYT|!wNGQ9RrkFBuGG!Dfgw)F zcR-S~s%g+vL)PlSG{4?E2e9WjbNtR9{GB8)_KBxE`0`-sYJ=vN*?aeKi@0;9{^e>o zVOy(k-x1uZ{&Pk+po%^pNym{6NT`G9P{7bqfX@3Z!tUAa0!_3>E6h!y7djn0wdX+Z zBro+)EYnHp}^e9IrCs&d}j}wY7}kyoLd?$eA=q_5)1S1{_}wy z`6=(@IPB7FVKa)mA)Dz}b>th7=u6XDjWz8LN%BoH!RYAp$Q}_p=ar?3z4C#sv(QH@$fu-gLP z&BB$W}r?SPr8#^>}s3-{-^S)Dzehf&VVX~P3V za=W-ycJRI#n`-Z$(aQWa0c*(?iYU$%;C;Lh6QF;VM(B0q`n&kwH&sGj-kp>PZ1#pc z&-uK>>jq07jCapmK^b%JHenV`pW3M7fYi|J*J)&;JRp=)yo=|d+e=7)=LfEbH4og1 zvKdcX(S3YONtv4(^E+fiZ{#LMn2ZIz%~=(}J7?M9V7|i=ZVtc7^O+OHpp2Gk*1Ex9 zobs&hQr2pduDvn&nloj^uXbJej4BK4R`Y*K4oElde_V9m;(`M?bK|Tte&#*pU5C9> z4}@H^2GzLxko|e@OyaMqK$}#gQPqC(!WH!|jyGNOg)`OfBGEv07=18Td&D1nqh>v9 zzHukoy84D*K8-uBwK$H+eGL*9czNIEr_5gKX9imGW}Y7HPoAJ1D678AFE{KPC|OF& zhlD>7Y*6l&=k+a{lFV9^^^Tbn=5W^Sv7$ti2(9Bd-Bm_G|8ptQ)f}Vn`cMSr_|`|U z5%o%2UUi;2dy|^a8v*rKQ!=q8gq2X)eKwRPNyd76x>S+9lj#OBA0wfH1XB0W>(${ee%X+)}vcYisk> z7ZUdT&zJolhcWq=Z`x$%`N}SkC62&xM8_dF$E!H$KZE!2*TVsGN9F;O*!!zF%=+1b zxb&v73Z8rsMl5108ArsUb!pB`mHLe8ehcrO_ZMs0*S?(o9FXc zX~5wKXNI`#M_~73#QgisA;H3y@++IGzDNF_iFWM$`dX#`{U_Z1!0KlVJk2P|N;!hn zd-zcL?X#rw){cSSwWI5KWwksX@8*pe^%+Of7Ad7yqBX2RpGyceA&k9XTU}fB3Aft< z`0ruz+CDb&=hp|%LmeM{lI-^`$V>%H0V{&qIJ3f8GZ4V+_n21|8@)Bw7scX3hv^~R-UCr9_` zgy^H2@o4tje`5N^M+6y?6g+}V+NNxk@PIYfi==M%$RKl@&KuUFCZ5gqD|4wK>2Ap7 zPf}}@6D?5%XG!{j>F%anIj6jpc1{UYbcXHd`r@FZM3l5b;%E&lDbc|r#d*5w2nLlXW z#gR@~htSte7Vr7@cTb;27Ev}o6G(CI&Nk#ikL@teEh{9X5 z-5LE{8U}lk@UxFK7Dzf^hIti5Heyr{5HVsFU^Dge!o0O5I3w=d7#0#VSgoV^pqEzmPA0$hFg^J#v~-4{O>t~y{3DWPjeJj}2d(Uq{Z zSl#HMl`k8HoME@M<@xDmQ|x8!;Rw#SXL{h_mXP+TzeEkZ ziTt*&A$S1=cUJdzF#(%kBIjtgk14f_7{ljnB5n{_eP;CmUM{@{yIeDP-AEUJ)4rdI z5pDE8-=oq;(4KA7do+J6GrY1^9!BjfqnB1$Gyv||J~-kzS${)##g~I$Oov?UhokPMiY#Rcx-m!qy3)=6rXCskh!b{? zvE|!uF$iRcH*jL=IPj-(=nqlQr)RSJ%`m@Ddy2g!4z};m9b36r;kO^N4~nDs0|3SD$;3G zrk^=BeD#{Vme+&KI5n&lqw3aE{-3!+S;kSU&ktw&lb~oT4LKTC=KQHmbDs_E%@_cZ zkO~7YM$dmtoqp?ROtuJ&So^MvoMYFu6>R1@fIix9hW;I1p>e54<~-|8@92l=B&bnT zK3FVRV=V@XH65K)mtOQ+f(^0lg&Ojc&aLdAZ>QUH!HcU=V|Mm#WPdmA$fcc{?>x%t zqs;d4Mg4=${5>4!4SQne-Jidc{Fio%yP)!d`(9TAabLElWKy_IEIv(a^!-fNw++V^ z>>S}-PP~QTjNr&q#}gcSwY8;ryAmJozx4ME1HQU?W%zMkecAqrb$cjE(-PFY?m8vu z1%QKxGyDDq0`I-sVv3M48TWNt?t3>V;%;ON8J&yeJ-8zuJi9W_r*q76#*t^t2`oEr zo>1wAwdR1%f$et#Di}JH{6RaYp;Ugh>p0-M?WnPF(PqkE?){TKz^o>-#osd%;lbM= zVKUVvO|B3^;k%T@jSRGX)1=g%8%{wLU;3yavM9m7+Z{y< zz>s~a3K>TlFqZkW*{qSNIu#p!ZxY=BkMm$07 z5jh2P99;`aZSs^WXywsN9~7am_$Gvqjr6$?ChG?ZAqwx^OCFQN~4 zj|TnRV>$!JQt*DF(&wbe19r}*%RYP_{s_0m31^(6kEng)ED`RZiG|&AS)}23qF@@d zVfg2MM=Uj%rddY(v<;cI87iaqtG=(IGD1K9h7O_8FSvyAVY#?Q(s1Ph3(Yl}plEou>4E{luOAV-D|GnqboOz&bTJ zZS7VRG7$uk1Z%2m5HIciznFW^uqM+k3=lgr0?H_g)Imm(4oYuP5m0H;kt#3>NRwUz zI5?nG8%3&$^b+Zvs5GTZr1ug+r~-iiA+YB~XTI;-UwiGfyVvpqMMKK_KF>MlF6TUM zN@H_#7_0^?8-0%a>U{Ok_vX5q)ys{nxEs52yde@+!*HImILvw{RJe?=*oAY(MPBZK z)E<*_L^)I7+I!d4w$jfXj5lQ$zTs9n+ZZ=|wx2ZN{3%N*jy3q6ZGX|+RU>*jhY=Rb zT{s?a+6|8L5woLR+PX&T6mQ!Yymk1PzqmZn?FV*dXe`9WNkDR$O(i*%Ua9*4oyr zHR(rhZ_RNLcff-~NPg_QoWhgz63)8HuhvM6f@1RG5e6$x15=0YA+xO7IjQ_0=2Hso z0Ylc#qdTzG+R28GYC5tjM!D%&$fl~JC^Ofg<)(}P({)Vs0_`mYQxi#uMW#kx4+1I!UKJ7<0baLMQ^da5UQAZUd?G>=6!co$Cdi>M~YXPLHbN1kNOIeZAlBr8Rl=9U?IdA{wNv5Zc~U=X||r_auGWl(WGG| zH^$E0=01p*;m>;|v)16;#Omt|Ix`2WL5aHr_bz_X`s&wSjUp*;{6S z`-5RG_1I8K$U@{DV~kl%Xity9sHl1_ga#gZb{R3v-IZ9ZS^#CR&mwKm=%BNe;cRCS z!Nm5}-Iy;pMu~8X@kzF88%4DboYFk))={4vwHDS^`17yBPQ9ETYN*c?5tGJqYwZ&v_`?1 zY+MHI5g**#>lJrlxm`b>i7z}WZp5~-(dIY3wBGHqOMXgohAI9lw-o{k zI2pGO!%Z~$0XhTEC)|G$fs51P?t084d}E=C+{~mf*mf%*(5f#fKy?AYxDM4X_3a^l z7NlXNc#NdfJaMb_TZx_jqR}cGd~y0)aQ}pJ2OPo_%r;nJmy$!&V^Q$) z+WH=J3_gWSN9Q^BSuqJYa(_k&{wCVJhT1M$qUh~uGwKnrKXS~3?#wWY<>O^$OWD6H z7+D5A1|4t#fLz=bN_x}8^*OOJ_w7RYo@=QWx)OwJ7fO1X9T;Q6LL;=OBI|jgTAOg9 zYGenK85zn|QcJY{P1g>2O@^^X>21+(o=~`2MWJGH%w-?KioRbjTydYRG^;~-1&^sl`Yho1VhEtD?)$F#|-sO4& zJCg6u7$#fu9B*tR-%u%u8gh(P;bV4|diRi>=+#8Vdb()E0nO|9xt`me!_JYC92BZE zmdz`I>@fOfr{i^F41(I#3Ff`<2aT9|mB(h5V%edt;=x^h^|DE(P0{ZCIaBM)*KUy- zjJtHhsFgN>vt=Vba~bLq{bC{FRvYWg5|zAqr?|^can;c#bdw)jytYc3W|r|Y6kWp| ze^`5fLF#w;UBBI-(_fol%@z_{i`vx!`tZjZjPiu{zYaP~-;To?I#v`<{L0_M5Jv54 z5mtYnjgK*Qd=+vus`;f=-ID-yDB)dv%)SbF7^On@ z3(95cG3mnrvLwsPL}qx>n^p7Gs{Zqkn0pfwn7WMY@}i-yV!$%OSt+e;YZ0@u449S4 zPGT6qg}Iu#p>cJ9Yw?s(IM*0YBV<^ErGl8K!a`xVD4i1j)TT>L8#-HCGlv>|!)F4} z1&tfZ0c%(8_uh@PWXLwwJ+wW^NmfU&FT({hXFQ&`C{rijD}J9ev(2VhxKy>oiF>Xp zbbHAvh+g9Qfg=p9a}xLZ-oLTkc+BYSv)*5c|25pb?GkyYV!~!)hw??(Pkb``5|hqk z7*~ztuv<}lQ#vufYB4*HwsKWSmSE98coqMBdbqMJULwnTDOuikdb5ecyVx+tfR^UOvc6WdbD4bbAZrF1dy}8_3cPv8_MaeZ>3DQbc!E-Gs4k@k;o8u<~4;=eEr+$41 z`iFgchBPB=!^kOyf)%Gu8$S4GIeTPz^P+lFL9_zD-n!<&fH~Qo73W#rjOn%6(B3Ex z@%2?kxVCX#KZ1AhtMw$A3{l09ldiXh8D!@>i@$$5N+3c(BD{ykhvPEinXhEfe#xs< zZV9=#1jQ~fh&NF5yzcUnZEb+V8VPm(5zTI^9y^qx+# zPJBB1YYXP-baKY>Wm7L=TC9tBC#0Tp9ZkmvE_I(^i?|t5@Wk^6JMT_}39pc}YkUc}9w-h>P!rzP+F>htC&uC_{Ou}+ zZeNvfeEgWi4Aq?c()+;uB{vKmY~Mk#+U`H%5jb>rr$U6o-WBHd>1$kJ&8Sx(JC@ z%9$%QvP;!PUifz>>O53v#adCj`%5TgfIZU{nn*WXTSfi##_~!BE+%r6cvy5(iye8%FX;Z?5SGIsP;^WDYE_in%5}$-r$|MM>JU*R$Q|^Y zSA}XAXU?#zTGM3It9Ge9&c9~F$F}FTKkaHm=PJH)Qj6UK>WTJ2DsErE&8me`V}{O> zw9LbsKzgOeQLeDr(Y@jvpZNQf(eG`SI;y=mM}kDi8c4()$~ko?{V{L6LkbAE={-9gx-zY@f+Js zBW9#12xCrCSL-J=rzn4nOxB;!Y~|{A87_~~l*hk>6F+(In>XdB6EBTgG2TK`^2+v5 z^&QI}Ojqam0kYvm_c*&OF_+8Ow}-NI9#xl8hCQSoFx`U#H4$XPeWa4bXWOG?blTmj zZ+5kP!I-sg$R{BW2Ykwl5x>Pk~( zNNtdCDjyFn21mfugFCuU!_ndIhu@ug^QCI3LiWf+di?$D;?3y<0#z0QTbDpltC3UM zXJUGS0zirZBE-fo=o3-2PuqGNO8pW&hn$KMa3@>%zI^%TazD4AP{h zL;5~IJ|bW}TE=tnxs3bl%MowFLN&GxaDvkmA@ex6ss$1aFgCqYD@eC)41h*e2lA9U^87<9sFV6ZzrX8OHfG7=NF$V(|1lkUz~<-46y)8$dz z$7K}d$Dsx?`{T$2_a8eR%e4?%Kh*z3+ubE87CmAMP8#ZUoKo_Dv+W=MlC4LlBac&C zJN9JwfNnZ@~};6owlffqLxb=$iN~drKxgRG+5RtGzU{z zd2e@XifhseHNl8MEtX@ueRI?D9>;DTjA*4bxJ`K=e`bL@cuY<#at+g5QkcH z3b6a?Eb+(4rK>5BXLE=BO^l-zpM)IY^b@HOxii1ULRinrNOtu2eGQV{XM*SSD{Bo^ zVQ~-U&6vlo0b?nCNb<6AlQ z*U>!;nCv(4rMQLD;|rJad10;oA_VyXAZ>ZrQA6(M2`S{!*X17ps=2H4&1gm)14XrR zt;cweEdNliy?4@ipgzvOQ5xQWd4h6)mzHB&?@+_ zms@^DD!zd>F;B)FwwJZL07|!hyv3ecp8uy_#T2Xs5y zw$40j_>Cspbkwy&9U*%~W4jOu1lr|ewn#)!e-qPUjQEm#W_hzzqNI)Q`ihNmg>XFg z7(bU4IvNUTh6t@u{PKtRBiQ9%dI&DJ z$tz_n>UXr~+9GcRiMIs{ zj6-?%-uG*1qmwjiM|_YU&c|Sd_deQ(`b!7p_Wm3B_W!ZQX)9?RwP+Peyw`uHE~3k! zY(%@Y+v&?W-wdlr;)^|Ht++LC-+?akU7u?{JDWR7N0B$#oy{9y{zJ{3?M>g;=}+BC zQx&cdGYzO)Q&MfQFW5X~3u9TYBVx`T$9A~{CJ7YfZ#rTJG~SC zr5@`$u>5!w@<^K3Yd_Vsy`Mla?!5PSoWSWb^9B)YiouV1GVevy);b0h&2-68zf0^O za(Z+0nE5V{5cv`gvVUN7KPxS?Cs=*4SDwbfs^_+~x`BzeUc6K7X6UKCr=_8}&Z`1G-JC$46IeU_*5on`OWMylWIToe02w~3(7F@%)jVqltXj{7R^G%AJd-awt zkOLyJEtX1F1!17&V+SGGSBTzk6aOtAO%WS*!!g;Z8zI_*&n%P~ACGW?^CH)myoiuP zHxLajNyfc7n$5Tlsr5lU8Wejl_Q7pulaN8)CHpTXG&cpFHoHC=u#0A(8v&xh_Cw&l zhMYk&{7$uu*8@aW-2wn;H)!Uw+(3d5$YfWRd^hH{47_p#f+z25KV40YQpg_8C>_E~ zXD%@>0u5X|4e?q$gC0Fb|DYLk4DIn#*8yejda7@da`U3%pL?d&* zWhI$y;gGa2;fg;5-;e#(@XtYgAExev{t~E+&(_nweJ+Ao^enqONz0bH)~gBe$a}!+ zg?g7VtAp5$0};{w5=+%tgSkcN9t(p^g7n4?Yj6NpE|r2xQP|m-EdKl{Ow5*c>6d;t zTw50j7?Av$#Q_pruXhO7I3yVzWlbS#;?ypwFJ^=ZRb~R#(5gTgn4;Yo-qccn-f{3< zEHUtbmkuj2*6bC!l$#Adt#A2~~qoFg6YODDL7z}+TJv>0$MzloE38bS5$ zeybA2;oV2R)Gj4I?9(Dxu>c=m{RnmR3UMNgmEqwIb!qo{lB}oD^v@d~c*6qu*ykFb zajU$`N{{Djlf$(t&25}AdGOJ#z2BO^)nmoHblS{I0j|eadi_g@?lHH!kSeP;Y;DqA z>yR_VbH1MIwn^?iHxLz{Mb7Ji8PC<1qAz{v7;D=r=ce6}v{Ee)e8TDT{hZu*#kgar zm0Lb(_l%MHGk>D*H^%UY_hz~nziFa%Xpgf)ODZ)z~S$9sY?MB=&R^% zsPkMYQ063phKBWiyqV-Nz>8f3Q$fx`QD!5Ho>Ez+chr*t#7VwGrDQa5_zHl4kF^U~ z6CTADYEDwEP?p|?2swils>)qwo{)~@GINEUke+W^l@7#2Is_VZ($mG9yi%h*y|E*J zjhr9QCoVh)3l;~fFFxq)aybAa*Y5UC!`(*z`ki{`UFT8Mv;)G%6XDIN9btF7<&Rcu zI*vY$$&pJwz##Y917#_z740#KUTRe*y8ZI~6mnpQnLAa6SH0o+smtxg8 zl>v20REDCRe}1Ctx^$Le2!jmyuC50+2t|ln6Ohm${AMTfBZ@{^vp{*z?CPK^qOhL znz-BmFGFPuZz)7;zHS){n3O!n_8Bus;59j`!9-3wd>;^uVE zP~E!hF7CaV^DyF}4j%`qvK}u8yOilC58PPy2Bol8@XxdY%w%VD_q`HzUR0 zsJha2qIwrE9Pov@{hj+5!5>(T-LzNMN#~B(A=p-IO$_&~x|e>Fv5unB-JZVg#8%f{ zH4msIKnRhYvY-Qv=!qQ^asaGI&r#Q_SSw^k4T{#^zRR%B+`j=&MD12^yAy|`7b*ui zS3G9#+hgkx(WQ1{VpVK+|Iw*HQJQWm^00?$uc@ztsARs%eg7kU_C@NeOCmq_--jqC z*nhz~n$qIbHB3lGhXO@_>XH`S#bjXiEa)|3*HPA7?3F#Ka1oj;_rhAF+{9;-tc&~I za`Fpr#zTl)^#MxBTs{vd+%C|aVuO-_BXQdr9NmdQXq948SIay1fEvdEsODTREJ2j* zsQZf(gm39Y=DB45Mk0|44AmgWil<$Tb+vOfb+^J_PbXlo&p6QY1#&|hrvX!fn*64k z^MqZgV-cR}OO03#;fs1;aq!A?e2%rx*bW63ZD4v^;MD_jCFY`&`x;#->uosv97vea zL)Kq8jU8(AM%rPZ#!Cr@kMGCL1E}sC$+fk=+o8|84b(KT*#e*=Zp~p@sMv0OfH#D@CQ&pXj=BglazElamJvRla}9PV}!>La)8uQVsbARM$E_ zn`yE4OQq39cRn6skqhoX?aE$X$!?<29qFYY#-y&wY656HdBq!CZ_}OCKW>3;xa??PF=!)moxd8~H zkK{7<*>AjpQoH-J2JMURABgOpLuS?4n`a-NiB_n?b%f^~XW{Ck4f0qVItQX=d9+$W z>frn^3tOQ(*hSRrax3on0H@S-+d3tw7J`T6jrcp}N;3tJt6Lhr9m9l;5460QQrsn^ zbX;j|9RUTV#dm5ol7zJq@9?iZYQXog!`Nr z?6R^CVAPcdbBMP9@VZ6iW_m&wth-o+yo&Q2KHuN4T`;w6h(-$g*mikBqL@KPaz#pl zkDx!m9^0{&1FLS;i*?6Pt%|FSYrSlU_zKL8d9-4pa1BWtu|}~DX;@KAL-Dw8^8rnf zZG-;|E1{u@zZZHmFqn1}#*LMfA-4*YpfBOg%>KCN_OM z!fs-mSM;q`k@5}VKWQxJSY+7_7^x(WuyG%hw5)$DX20=xLa*&KlR|2j^}!X(nT3nT z%ZFB4@OXr{c3{Hw{H9p2Wa7%EC11GYjmAMC8+y)4JrgtHH5pOu=i)hI5t5F+->!Gi z&KC?a1WmAX@Z2|~W;V0viM2G1?(UG;LWdymb-e-fb(o$l?o>`iPb6w*!>yiCpB)P2cZpJ%ax1#(z zIR3*s(T0PUeb?aNabVuQRe3JGJ(mW;^;tA^O%l+SN0wDar0p1gP*b1?fZT;$8n;1^5V#Qu}RW7|lRQh;zGhfcs z*kWhA-Rz@D&Fgk~CHj>MrGqOX8}QeAMVN*dLr5k#C?XOZ%g49m5`A^|C)qYS=M3wI zD%jg#Rkgl|2WN1K`{;h%|3UM{wu0V{9R2bub6eo$h0_12qDn6+>Cu?_yt>;3wde~+ zxLF|BoFO}_TE z4fnha*P>9H<KMza(w|vm`v(^%4IwL_h}7P zK~Pg1D~VmHQSveCgHF39T9<;QQ5#Q#a7Z?uPIPTA9`+bagM@_i48xf<5vZwk;P{?~ ztVd>tLpiR24Eb8=>@%%&yRlTes$s?xj6*Uv4l1$dG1P`a=|HI#@U0yi+5KHO>cb?= zu8X?|6?gG;ydD0%4Jf_l+(*>7*}Ng4oytR%!@6_*?EJ(`RYSJ~Vz&=J62eggGz_EW~o;kDU*0-zW7lA3noyA9F|%+ccP55^u6pQ&)RMQcsEs|wcWE(XE8 zNht#j2SKXiB7$Zr*)&YhCEd8QM}?mUy<)Vd*Q!~2(V@`NEroF5#h+GM2zF!TlTjVx z!%&Bv$Dr){-jfgyY8xo(o8t6OCbQ-<&bb)6spSV(f?z=+jQfbTT z&l`MsaF3~&jO_2f#%f=#Rf&))6R`)g21jc!v?EZ;zREk{h)5z01k3&bImc z$)wNzxQo}muL47;nyMUi6RZ}7NXCOB7^!o}O;6v;ko#!F^8dqVNGj3q)1U(~<0&A>M1G`jhVh zeurz{t(Et4k|SPZ%%wO0or?vIaX?5CFGXY(ZWNJx8;xt3*rM-SN94 z1K#T{2JEQWf1c@$1brX_v&iobz^gQvv^11jCKT6BM#(A&7JfdPrJ16jbX2SZLD!`t z_vVUQFREsMXSv4a&{&2eLfGYA>QF-px;-X_M#Q#NW-gZ)3T|5P1DYfMs1t+qtth0& zImXa~X$E47V1o%Y#-z|wW;#wG%K&2rq|UXCRZM{VSww(;i(s9=``s`17_4s@#%29o zfY=1u#CsEwwp{h99gA2JgrU=_`)KYocc%X^``bLm3X7hb0YCWw6y3OA`Sar{-H6W- zw{tMKp20%?vDjDLx5OCnZ7WdbU+9~@OLlH^$sPJ>f|QYmYPx8_j7jqM`YYLwKeG$m&tc^2bt_aA~n-@jXz(;~@XM zI84v-5>QM93G~(sa9Wob+O3?V?DSbhr2#ZgwK+3t;@TFifuJ>jjTv84o8BQ9n{yPZ z(HH3{7F&Dor8`w6N^aiw5z49N?)>hpb?^?R2kk7qc3WS<~%NFj4CQ`d>wK2&{Vp_j3esU|Wxgazem807LVFQ#6<7wwh3yH_?=2W7Zuuop8_1 zJ;Vy4M$-QYv8K4t(2QkV`_ZHEI@+O-n7+rFAW4xOP0}LbIu!V0!gEI3Bni#0!P~9# z^?4UULn}t3JLDxhnp|6fu4w?{*iJ$(YW{s)7h-PIL$D0P#I8&07P z{y8VRGlOZ2JVCQT96*;1ce(eP8Mj8vJqzK~0QZ~i9%xTL_|qt!XaDB!Q#VJ^WYbDO zpIxw@jEhTK0gR=9;8tDy`E1xbi>v$K*E}K3|b*uu!!P;X_=^=ei zjhbFN%k1;zTY~ijHir`($7Q5)cmfrda=iAz^4? z4+V1z*&S)&mk__2K~ltxgDr%s%|v>LbFW* z9k#dOo8iJ>378SKz~+uH)EmSfLLUrAF|G1Y=T;8Cp5m_^fbV$1c%=ydqu_KSREyUt zA*!=l7<06q}7yNxnXC@f^7(Rd)d9~pH+OC1}jX8zUkd)G02M3Yd}1_K&sSY z@(AS}>{8yE?JiZ@N@BX^QGxQyGP{4R;-Fz9uGbgNr|p9Ekd$AuUMXkJ`&S;g14r40 z!pC)?#9qQ7-5v}IQ%?u@5(n+8)Z^WIZsUf<7qFXcPF>?6oXJS|BV`=e(XGO0)wsci z=x8YgP+7f%SZM~_UPP=)+>CBQy_pOjpF^nku?&rWRzCt`kuC;xl;Rw{ioy@H1pur{ z%x3JhrBK?rnEB}RWS`kRNjfxPS&B-+=|D$;>j&4ySNB@yl-#=>3Lk65F;0Qs@R&{r z1G{#HMv{xMPDAH9V!XvUfoace*d1nc1@zsGbsKwlBpva3v<%G-Aw}Sy+vK)QD=RQ-A9p^u4W+N?7I%nk8Y{X<`Lgrs#qP}rFURh zsj+z_h9D^aT7*{?l3lvkJ~(tvWn^J;nTMle zytStgYW#G>=HCXYnv&{GbN^)}@YP+*Z{J*$b;>{rsWz}-6hn|>vfCc(1`tB2oWI!e zt^)WB8+9ZIenJ1HC(nBE&19~z!%3RB75g$!=fTV!pOY9u8yLgY3G}1%n)Gy^96+va z=&D1m-s@NgUxK_xq-hHYTIep!+Ei%ELy|l#XUPG%0OWk06a6LE(se!SQJu z95L!Sc?!#Vic2+w5z=DSQo5O{z%!w$`9in(f~IurE|qhSYH|Qv(O`5!Vk(ErcIq>u z?cYoWYT!IpMnwFE=bYEByUyj6X?PB!H5KxuYN4#=Zv$^n)~;(u8sZ~xtln&7dla#T zG-{A}BB?K5XaZ&HW9&mM>22)q1vqgYYVUhQ=upz=HAj_3&Ekw;GwWgzmU@~TqXo7d z26@ucZ9nMQBOJE@GtSC3RQ<-Ql*VaW%BVvuVIR%w_>zPo6|%G4u;f<|sa~2vw;wTdeCbB!+h}5`u@mp~ScWYSt!h<^mBvUcab+Hu+_Ti}eE7MVYAOzx?<`RH;;V`NbwiYAcPV0+PdHY+1d zD>c<+!;(0i;HZJ!f!YD8-h=?2eNg=LzNMK_6=t}wN7Qfd0)tW(n$@$nHH%AVA0}@A zWTcnq`<H#w>IYu`=f~pOFETVT z5ZV6a>EQofo*$%{fqeH;h}w${m3}=SP~7>6n4Oca)`V#0|NeHT(ZCP8L*;FWz6YtK zuCN1u6a>pZY$IHT@N~Q*u#l>IK^Ycr%walaviy0E1Pj0h*AWv}{JnVF(3pbSovk^y zZRe)6CYV}pV;di1zXUE^r2p;#FvUm@A7URd4WNSJIXHlh8pib)JD9dcEFslJfc(T` z%f%+G^)<+oo2g5xCGp<~()(Wn@B63ELU(T>T-QLp^&VpUVm9K#u!G8349Jjv~T{j-T4YvKkO z_!x7ABa=q=Ez8R4B4yLT^l{$QW0OhgDA!*FMILi8iCSci(`UVc5ZZHtutVXv4sC6>XKSXOE4B2ESz!ICT|m#I zaDoTk`o)2yH3y8S7NaYePE>)PTbtB%3MYq=1<71|7BQCnV4``>AWM2*tub#m@A`Nl z8uO$HjAgI*FKUGM>D$YWWDM!++T>NW6=E%^+Vf6$|N26kus5G&Jr@%rWp_55*Q*p% zNoE%#m=y%bwz?{&+2oDhTf>ur6y9~=^&)$WFGK46d-yp%a*gAt0f&>~(&>e0wBBYV zjCUIJd{c;-U9=VmQ^89#`}0SMX1BMCs*t~xEmf>J23&0>Um$aj@PAuKEv(V44ZzDp zQw_6*JSwUe<@GB@BTPsCUBWt*aEWR*)BU}@$aiCJm)e}kfyh|_{Zf%PfycA|Dr2iO zvw}oo$D+0v0=J*Xx34OM597eWCv!>;c_|J6X~{xYrk7n+(|9dYFjz4FT=z|9B4yXP zf{6;?4PBu?M*;`p>yW-?fUJ0J%sKz$^XRYZ9jVn^)pW{ZrXloZGS-RP6V2;0ggzbBV-~3&a+{TBX3iHwWtp$6gf%E5*l zQC_16F_Ab4L$wP&em3NQ9xTh$`}QQ|^SjiNWkk9gm1H8}hvfp288Vy6R7etfg^ z>oJ_$ykV8ObE{T=>BSFcdiCyd#u6&>XO=kReWoUtd>u!(2aqi_>_KrT!9*<7zhAyf zTU3wEB>RNb9i(w8RA(>lC)pj9A! z*sWaU+K+k=@x_P#R!@eDFa49(gPdfFRgEIHNr8kRzPNajC&RX$2gM_ncXtq_Uw1&hqW%FZ+9oYveo!d<&g4;ZJQ1e z;b5=KIrHVT4>6Z@)f7J{Vs@;%cGDwwg_f8z; zaBY8ufO7@v6s}sJM|$IR(2A?#l0oPlyZ%vV8?0X|QQ8n&7rmM+T92-f`(|)O;!_e{ z{5Oi$Xi2B`GRN{rT4mEIDknwUAWC`_T7xhtm|>s?&UJ)rwYxq-aZ7=s6+7(^?6p8y z!lK$Mog*4HBUjC`t84d+G04?rwtIf~vf`u5VAy<0imf}QIk@XcVcU^gET04jBCnUb zJjt8m9`o^I<|9J`81z+m)xs)Xn|dkxa=YBBz$87@Y*CSJ&XggFJ&IYTM*HBUmZz4F z$0oi*opF@fbojg~V`bQT(=$VM`4)A--G@06_&)iG=AwtkTNAkVKV9mscDhR|k^L}c z{LAr&4YXX14^|k(1fsdV%+yuZg{Yw1lP!WxzLpdQwD2V?`!ClPR2NR%x0#``oS1`# z=hF>CO@eXn7o>xz4aG3AXdv$^!Q?Ux%|H!kt@ z>jyudEcrT$7j5F+lFjyynKk=QR0tRUa^Us&Cc*rA2%F1;0mM_g+?4W^BVfD0@=H`k zK_>ymDXpJ9dFEqzWw#7}!-E0*_da~8QShfoDm?S2kS(wG7ky_ zy^g3Et>+7I#8e4KGuZ^tIh%ZS!iy{vL=|A#v<}N~&lnld8Jm;iCgW{q{Qub@G4-WZ2l9 zVXiiwcXGj%Tx}O08J0PnJ;^%WN6VzIPfO4EE_~rppQ9pG*Wk>0`0tLx<2|gt*y+c= z#=3{dr?Ay8*E=^XcY8(zGn)lmZ5r9FAh^&NZ0RenH1;+?KG11BR}Cu zmeROWsQrio`jBE3Q|X@sTEm4d8?YtW(k+-BzL*-oN68d}c7b;%AT#4CCd1Klid>BCYx{q*VKDFuqC1ACd1Zzgllw> zmYJ}aMy0g&{;G~=3OiGiZ||C{IS8*?*QQVfhP`m=-aCN)G@P(&`tj(<{#Cz&$`lmE z#BuK;X9xX2EtmOOVZwva-DtfofV5i0-!OEchMGAph(&=Ng#0>zVDnn@o=VulH^#>Myt<3HK7Ai5!xlun~(vuq?}Hw?0g%|GaX)$-*t{TH()q z8Y#1qd0uZM@m6^e?;w9jS_;t1E0d|mP&aF0&G=0Hi03K_XS#b$k_LsdUPXbqiEYp9 zbl&{uyLxf!AU~q$LDyvOp4OP1usl-&Es0uX`w1*Lm}hlK^1kb8)UCCaxklGkOwnQ` z@ozAdo=R{SnOgX}FT^H{@AV~*BvGWr6;U+3`*k$sqEo8c1_V)i9R3TQpXAexOviKW zE23k6pI)&7bJ7j)ygL_o+(fvg+2Ja()SM&uyolgVRQDYAwl;cefFXt9V_2=d<={H^ z!5UkAu)@O@aP@~4qMPu)8xiE#1~%kEqm+Wo&*-X^)NW9Im|{O_8t4uTL2m;N{Qfd# z$BVSF2~O=DtWJeDUWbIcnoFKG{f20=Ra-@2Q)ml=do`>i_UyWSk( zjIT@6vH+e*qa94Jzl#MYn8PrES+qIwns-*dzNN`Tbs`^Fq+lEUgtuYpBuyUcxh zQmXCQoq*rId1RXy$j0zLw_y9iHX50F0jRWm<0CpSYQW&>CS+Sf+ew*Wkv6&FIaou z%an^umwDKk_NG3?X(PdG6Yu|Q1WgVgQjaNIFfvM4AuncGcT^zeAk#gde=G0c-G3{SFcV)szvN%pd=gmDjHJzsR-_G{F{ z7@n;Gxx^N3zQ%#WbQfa2>vRHAbNk;V;OETVDuq+qWTB15^h2oa0G5aZpxz5WHU04#BDS!zFV{f&@bOMR@eyF#-?IV=HX@Jl&MnZ!ar(`!@zR&>=KWQfG0h|3pTJ^ll8R?JG>vUEIF(XzD+lgRnx2MvE)H8A0gG{e^fuQg;(n<~ zub#%#PS5IR(XtR6A{U2oFgmI!=c@5Y(A`6wDe*BwuJAT=&N5xjI)7BK`nu@e+E%kY zjJ=o{7hkRRY+vX1bz`S)R)O%Rqi;q%_Q@gw%poF6$Ue$bCN;=8C`Jr+g7+22 zmnUQo^?)F0RMqxELxESbclcg)Kyj1Z)p9X$*GSoDC8^5L8K1Cp6VWwr`J8 zUQ%u?22`uaHM`H68AmvzYFiCn=ukpiQos-A=O5``1>J%=z4@lN#j1tmGWP~1gKt8Z zlXE@jl*$-miwek7?-8B}zheZ7ZhXaGg z(Bjl*%6S?QeJ@94np(c`{B4Ov0Vg7(ju5=my=xJg@ci1>!WN-~4&n(-h1b?sV1`Cu&Sax4~e<39)k$RbBFTz5Z>!J3G2m4tDZL(=M8%x%K*nr|`t!+?d{LzV( z?O(;ICcK{#mlf#$zQcX+%$5F3|1)*9DgkYmmZ~RBxKI4n+kj+ZGVl7iEsF^8-s|kL z9s)hg(4Jdukcc%DZa3Fu%ahw_o)e7}+{!h_`V-e>9Wf4JT+|k7SZ_@9Eh}%iiGhgF z7ke1Fyu76y6fl|vm{mL_W&*+EDz1gfJ!!uQ1LQ)G*yNutw=x}Mk$f*vV^oa8bC2X8WJB;^g-dyh6-U{ar3(z%=R zW}nmNu+oY2wS;tkq(K*V?bdfF;hLFrT5hJdb%P(!Z!zJmi`Vx;ZR@m3%I=qplqpx# zsNCu)!Mvh~n8$On?OJF21VTKbZdogyy?%yj66`uz-L&a+U#gIote>?g-=iC0D(hUM z+}&9?I?33pHawf!Rb>T zD$0141ALyzLKL3h{Z5f^&+Hyk#!`{by)|FExGKIF?H7^&wmPJ&mi{Yz9~($yo1&|&TVp9 zk15s1iuW(i8eekzm0~aT$IbC;^lKar?m3Pc;Zi$)gNZSbtAxLyljt7u(J^$I%~Q2I z&+kk(+Z>-_DY|10{O#7sY)1B>Qaqw!8(VM~w#~T~seESb>Nm$76!}6loFW{GW0-gR z5FFu9x_M7pYS8d*`-=Z#8rQpC7q6Bva^x><!dwc3z921J|sF6^(51_taDc((!XQ(>=QMxqhn;Qf}Utrx=5w>#j3GFM5iVW zz+ri$^4a@2-THdr$M4C_p14v?Yoo7!P*5?UAeXCPnD%kc>0p6qMJ#IL!vT7I>2M1y z7Ao56j_4*YFcyfhytQw3F4MK=Za39U5g?!2I?tySGa-+pH%mtobzMsgy#+S#X8u&^l94)vrb*vC^c3n<+ClNq1q zRcVl%66ewnI!Brp z@S5wBuhsn>I}Ln2^Sa#r7b@lr>dF>~8JH%T|vj7&dVGqz@V}M4(}BWSr2H z6HS8oR1HSrgToHw0le0e2T+Bz4~E|{$z{Fr!NvR0#QK0M<`)Ka(_ocJ@ils0PDQK= z{xj{#n8AF%`dh?;V+F!oktHS)_A{NziVxN07h_}qytxD}e+m<7U1GGTudD;%?c-Jn zCoP5*NdtTH{Y=>R=Erl4P%|eY}hEwRC3>msMCUze6Y|qd6z&>>$IXUFbPpdNSftv2Ddby75cjPm1hmTQ3p7sI!$9tRTtDK>vOoD8WUQ%HT2 z^4s1s-@@|N?!RygOPi~_acO@JN`K>0?)&YP6Y|ya|Ge@CO{AK(GF;>st~%{1cpBjn z9GrsaC9fmiNF=zzV9JS_w-eU9!KqPih*pocI4?cg8yt%~g-C@hj%(~6RKRxDjvhL6 zVXWQO{m%wUM|Gp_pV{vp(cOEUC&k4DnQ|$!Tz`Ux_1Ga|n>FKytnl9ds**F~8f{g1?3 zEy2EDfiIvGR!)7XQBM4S&F(F^kNf#3gu~r=)he4&+W`~)KQ}$!KB0+FrJ4+*#35~*xXTN)8zCb3tzY`F6Q3BMAPtCM9CV0j?!D-R$h zZu#Y@7sSQ{$7WnKnw47A`RQl|oKPxH&n$w>{(5vd#c$$C@r-4dxQyR_dYeV^dHHBq zt~7Wo45Yyz9iEQZeT_#rynaWTSe^fR%y>AWIXcB}>juNcWORGKbgm(Th5whd*mvBK zQkIFoThj&Ae%QZCz~|%^-b6ex(95CJd2xTH==SC>po0v`c+AJG5BOr_a($%5d~$Wp zjD-Im?7eqXlX?5@i=#6*qk@bD>6X`ufb>pu6j5oTC`ec7A|Mb5EeVR9Cepi#fJjrS z)aamqv;a{$L#VcSS!b`8e`a(hA$iL8xxe>)U7w5A zvg@P6sUmEY-ZvkKe3k?X5oIGhgFYDSZDXH+FSH%RFV? zXL;VMIHP>Nqt40l*7dPH<$!LYex)KK2D{Hne?*JiEZE9$%I@yV>?`ggoQX$1$QhBX z!`^qL5H(Ma`7Vz(#3qq{|Kx?Pk`gzj1M_T?i4+Ok71jls6@OgC-XJx;tB({@&Kbe| zbK_2_>;HK4xY#*Fo!<1b|H1b`{D?ENu(WI zbV7XFX@`sK`y$6l1}Ob)T_sActk=^W+U|FYqp#*FqH#E@eM4m=;I*)6K|Be^?*Zczx_Fwp3~8qFB=5yV_*% z+#yySRlCD3w=het;zRVF7okY+Q**uelfkt-^wGK}=inVa=jMGc z*Ebh%TG)KylqjsoD&!Ex_@O6=lMb|y1@-TSZ0IL!m6O}@g$TX4+~Pa1aYkPDdtu7L^4@Q6@EG?Oz##O_ z%3mdw5%NU*XYmOAQz7=}ulpbSvH$I|Bxg8Hw>tV@PO1|WUS|-B)wjve8`G}O7C(J2 zDEjt$j{24z__GNt_wQ!#78fYF|N0Q{53a_5DDj^^p8xsJX8X6l`M<3)`!7fRKS==p z$vF6bnQZc(sEGe0Zu}1eumAP}`=90NKg-pBmaG3|W)Bw?yu4<=!3C56cW>OSgv~*! z%zehR$LD{fJ>GrqoZNwX$9`X&~X2H~(;I+iySI zx>d$sweydvY9ARM8K3h>4I!|MJTcDx10A)2HS|h?;J>SqqhTW74YE5gtwY9nfBmTJ zSo8Sb|1Kb~>Ew59hX1?_IWYh2LsDm-S?~5lMlXHB>S|%jy^K%z#MlLP>+wPl8e!VB z+a^psPiI>1hwrB81M@sxf+0nLeI)9N;$GS});t(;oR-W*HJuHPVU z4m#BD&v;q3DOrU~#U*#&dPN&%pb~THnb)0u^DxVhNN(gWDIaXt^-7_CmNg@lDy z|1sOl$%q4XoK7Z~k8^+?fO4Dcd=mfaqdSORO;GHv=xzisfqt__@O)!MS%=p2GjQ!@ zO=zCosHi*f_vZ`!==DT}IAMR9PWE>`W0ot3zcVk2-DQkrRJD|v8)ZD)$7NaP(MzUt zs?1pdPL92kXn{#EIAutOe13}ts9)ud3_zEt0G5OaOr7k@4Mq8F!=){QOPyiDIY?aQMTAK_zaAd`xj}X{Qy%s zsrfjDEmzTZ1@Q=-0SA)n)L`XOo-U5N!fYn+heMb;6P@x+v=S9%O;rL1^UI`co&a5NlqE=}WUx23TEY6>+(F~oB z8uT*7*Um)8R|T5~4n}d_3WHlnO{(@oY-$CyWWqxi608pSE(<}viJO&2`2`5A_R8kh z&7Wj<-u)@Ju(H2eDZXd{C^yfFWrAE8fnO2X*!+Cu4pEZBKi#t=m+a`=)6r4Sb*9rk zM6d2`FYj(TM65oUyY{F%i``4eKmh0}LCi@2E>g$ZQg@YDg9dk=X3wuiVP36{#hOBf z3XAAAU6?DV;aSsOLAxO+-Q18U#5*_lhqjX9NwucY@?{=HM)QC|wE=-%kDu^XEG$JX z&|0}J<5diBW|cEhy@Rg^7UnkA=suP97<*HrhJh`ybZeySpKblq5EKjm^ zCv?a1?~buX1GY}P8O}^2yuP)`46J$S}U06BvLTPbrFnzTO4SGy9neek&C$k|f zL)UZ=q@E<;R%BN0?GYPXidVqzHQg}J1E-5F%TJL=<}Fn+lZhcYO69Y?#nn?UXcoqF zH_6i4o7+EHP-u{vz4(5o`kF31sfFURRs2hkxUSH%3;U$$b6ts z23~_rkP$3GYN3X(LL`0OJyZc+47Yv;nk=kun#FGq40L*Zc;UmG`jy|uEvZIT+meS7<_&hnVjbv2m8*aE zD=plf`WoVS}w)-_pEHu2I2yMDOK;53A*E z81P>ladw92MQPi5)1)K2z}1d#KaPGP^EONW=%ssD-WOrhX4^Cb4yp;(_*=^mKy~=h zS~>heZ0xt#8QvlhKThF-<1c3(Xr z*q{BHXF6Wg%?Ms8=A>3QysDk~<7$3kg8#5nFEi66<20o)vb9wPh#^`b&FZ97FRp^1 zQlod&(f3HU221r7o|@+C4+dQ0?zP5L{lmdPC2;En>=v10*Sd@WioH?h%DesDBvVv; z>9fW_A5b8SfBu+g7vgqjjwb^P8FRqB*urku`xBL7gQcDsRF}$KvsN(28sMx1`m4fJ z&k{GSsX>DacJbY34W#1NDkr*XRqhs08R4s^EJ17)wYY8m2CNjRvnfjll?WL=EpCA$ zfMz-fSSK;#Cf~&nyZ0Pbzk!b-Lsxhurt~Toz(kiXRCK^7BL3Ci#YJQxsH?MCOB`&9 zdvdv~!`121&%e6y*76_n{S)<|E0jlRI-lX!QT8+CP;|9P;=0h2n_V1hBLpfD%c<>B zQ|lqKbMT0eB5jx9Tm(wWT?As48U+hK8m4^XJ3E_uUJviD$Zt#TMv|5GnP$WZ_2Kzt z;6p&zPV-f=Y#`wMUYVUxUgAK-st|mS0T&LL-5@SFU<;H_a@QeLl6= z{u-ny{c3nP17TsKr`&SK-MZfMx(q7Y##k_@q`v9Xh|10IzbbUa7FeF$gt?kxH!1B2 zfkp^RD{<4^kaNM@b}wOqkx5nuxNiwy6csvJBb;RLTw%BnqfSeBmU)LSW4fO$lP()K z`GddOh|F55^bNgQimY54uN}4ZY-{?ro13FS$o#)wY~oKwp(rvWw9Kn z7cx!CL@i}HwFQ{CV0LW}Nkeh^iDL}likP%pUZAW-6JA9-iA=Kki8Jxk$e9=FL)Wp= z1TxRwXv5(ncs9)xKfuMUa;Yw3tcpSZnzCzqm9IK#!S7gO+}nuh7I!b`D)SH>oB!uZ z^BgF1%Ol$OX0w(F8jH3e<1Kv&?87flrSKo4p4G2SxEj=*t5hLjl##?yBQ$>79M zcZ*b-KxcEe*s(w)QO-61@K1ynM#=I&Pq>oh?cT-?@= zj@V~<22PKDHKjwF!5A$U*5zIgKU%;3T`-KdNTC2l$SWu=Mjj@FrKmOLu}7^OXF(L@ZQnN@=vZm` zv5op~+#M}ErWg5;t<#N2`L|oS9%V0`H5m8&lC^=`*HMya$M&kme0lnsp<3*!F4p{mFpK77efVgzX;lk=UGW?#0z2ms!JLjkbO>jW^O+k^LhFl= zRP|v~_GexjDC%9%M6wkpylo5FAsgW>>36XdiK^hG$pnDbnY10N!m^EsZ^XomDH;&^ z6FpY+#abCpQbbK8(R0?U-F_y~*58snOUI=)HTk{jejuxgaj=(+&E&4^57Y(ws8_iA zzMChJ=W5G0qb+j!L;K&2{p`klFPQy-k3G-Dc=h9Tokbx{wE0_LMHpfjlS-)(+NH7$K%OvK?RSq0-p#h?en6c}j&;0uw z%ogcmnIe4_x?IW#evI~I7}ErZ(%{;KnXq1y9Vk7%+=G&Dm%btt_lq#?wy6E{w&4YxdyDVb)n<#V9m$@E z4VYTAlEvYGFvUw~A%rt4e2yVsIa9)-C#jQNm3IVyj?$=Af&WA@)W(swaf6)3PQiea z=3P*mnkq}i0%+(^o$5rPj+f-%)J~g!-@u{$jd9DQ;6$9Jap2;sG+HU~4^ptH38N!( z0`*x~eHgmgICBP`1%O@-F6+HMKOc7P3Y8{mKRn}jBFV>x%Z`6Y)G*aKi6IMP2IZc+mEg(nLrtbwLJ^ z%GY{95}ly@bZPq__DW5f{^FOr(k;Ui2I^nCobYF4o(bV{e`WTMuo!@9$VH~bu*@sb z`Wy&}%FTBw$zqA6IVZo))GbG)d`aSt@^M{gJG9s3zr|La?ndcxVMq59RxYLB`DE(Z zRTTCliBIZY*|1DoC`c(c!ZFz&G0A@2L$aRcupz+;9!{TFoz!#dKHhN1;akxYx$Ly$q(v=NogFNR{jI=vwQZXuU_uyNYT6RS&gx zUWBpRphrdfG!nk(yV=&_!RMNTW;xHsQxjy8RU6I#iW&51U$`14ddIsiVD8C(*t2DV z0-Um%$*7{Q)7zSkR0l-Qqd8No;&TLxy!f_e)??N_*-zjqEFoaa(QKn{3 zfZz-@j|L{QT%9+rKm%OYDL&Nlq?;S$A1dGUH}BdTf~M3rENQC<9=k)tdKRbsSgwA* zE$vm|7INl!vDk%Ime=13S3f4uGnZ8}OM_=vZ&`L8En^>O1}OGfP;hj8!!$z#35OLD z!0c)Qu6FIC2{3tsFjKp-`GABiU37Tq?;UTOVvfm~EyX%I##mMt7d;T{K!S7Cjt~Ch zqk4vMth87Rd-l4`8Q*p@F>3-YlWmu>FfpmZ`p~n**&o@X5rUd6NZSEW9JW`~=F$x& z)Y!XMAz;o^@x=8nNb$p@<57>`@$m$`V2XPrUk^2k4HDy%W2`>%tfXw`o(bu$rJNVUFE^+ zevgtt=|RIFEdG_u4nQ7}l*k=}3sA-#mO^*lps{nXdJHPcG&g;T#Dt1spUVTNj0NEs z&L$PrF0_PPb4V4^`5HQ;&m$3ahRb9Kh8Xhda$2^^O@B(=2YT-(gsj=WH`;4@k(6U% zNYGlYj>N*WUd8+Eh~?_T z+n_|=mu{URRgsMdDsTK!7m$olg>`TyIGg`1$a?zq&AoO|3 zSmkp?B`qO>&W`&4xICB|)0eyXw;?#l-IQ`WeU*0gxWyDfKfzBJ@w!ce1Z5x24D zXIU!+UI(9+HA@!TZ%Q>3=c0SN@UOkF(>u37-vNJ3}Cb20|v~7v@ zF~AYzm$BHdC?jWz)jbSmns}U9GLyaN+tW+O(u0+yLOHzzUb&lQQx1aW-ULyLWz$79 z6PG&AE{_bNJGj|O7T8gn@W*ZI4@4GyqSQ^F5g7_>|I|AcN{mz+IUrXGB+Xi1VmtNt zlaLORG>u&@7PjDE^bzn*Gy5c8J^2*f@02*+1Ozuz_CjKPTGKX5^F$9V!9BinCC1Ya z9Q=@~G4O9i+=PZ%?z3etUFGciUKS^rX>Rn|j1dmSf;1GSeug1)-8;oSul$hN)#;kA zC2sX~xR{Ay=3^D_K1H_{LsG1vf3{w$d?~v3PTW7O;a*(2N;6xDVfuq5C?3n0hz+q5XU6`@I(1^CltqF~8%e)DYo`3&n?Hg5asSsQ;5&Uk{aKxQ? zO~93KySvs}`1FPlj{vL5*9N2??5nieYiMr|wySzM{q*lQ5D*w3Ijnh%{Rygg0{^|+ zz+myS^2IK82ls|(8ylLXHuCirlf5oEnSA%EZe@5C`x#3Q8 zpTBm-Y=3rMF)DUnWbF}ScJDT060xA|pJQ;;I_O^l=(+gHGj0nUx0cCZSqG~WW~XW% zaa1-}Z`Endch`<-^t#ZF^060g3tQAJGCm#gxSF!iXMC_-{jt*1SCFa3b!%29#6U7; zV#|)dKUwG;Y0sL+q#R>+E3?7;lpah`OBP!)V&0Ve%uJl-s!~jgKMc@g2||&zyQ#aE@=Gyve158_<$xn z;xHUi(-cmFwnbx^3Vpl%X*0XvL&m90J13**1Y6I3aJ#Q|m-h4`%R@Meq zogSw@g{0meKtaC&fhHmm#nKD~bIW_}WOcb;2_zjxTddG3dzTxC`P}ELd+mbdJic~C zKU4Ioi`QFvC6|(DUF+HX>~vt&--kh9*XYLSsD=WNJ{{#S?GMPkfCvF)RDz1t1qg5`icpt1o)h|4#sADyzg3@gJ8R)C|yYYUUFa->eqf?9E z?iJtcZ5F3oG8V&`i4tB$M8e8%?6zD~`iKPIPH4dfOz4Ny8E`UX zzx90A3hN~SgRHdd&CLxThfeZiKUnqorpS#Ez`CXV6w-sJSZRt1YrqzQcYEq#s3X0 zUi@Tk+RGnrRKanXkGpd-LJmdZcr50Za?}u)n?vBKqJ&IQ45Jhc?<-c0Uyj8q9(0+l zWfavMBAy!n9wKO*>tg}xw$PFkcXBw`OZt~rX`_LT2e2!U=6mBg1d`#U|DHz*bZ)Db zgAE#rike(d8Lx_Q8;wL2!F)*M9jjrB$u*&MQVZ=~V@F%{x7+>;NxGvwUMtl6_R0H~ zK>oC_)3kM5qdR{~X2Q)tid9$!>00JFMxtw;#B3^i2?o<#z7EI6_jflrq&YH<#9RLP zb99-OAkeAD5N>&!8O!&zs9c9n(BCHJVb(infJfA($W?d6eR1q`wN z9i-wGq(h^ExKRwXp-Z284mNm@9ct?@uQ1SbY*c8U|l(mJ&cQg>i{F zdboadKgu#t&DN1;;~1k)qCf@(a)UBk@{4nT|EDGxynR%4e!%CY>t!(Or#{)Rauo(r zrX5Pv5Y=tb_^j+hqXhMzkNJ4NpP_&&X7EaQJINFma*nb2ZARCokeDvz>Y(VIomo*_ zbA}EAl*`bADHM9u-qT3J^W`x{nW%lht6}-idtNeY?fLs$gyrl+r?Kp0mqUo{^sgUg z1X3+9%V4FrFVIZK@?U?qjtEStmU<^`O8$&sczagtDQS6Yqw0bqwr4yCLCa`WZPLf6NM)P_ky?P5V)-4`?!$Z-ija z*v$rdk1B?p2O*bO7#S1qDMX;`I)Xu!{ZDMB4lX8mArqEw`I0~HPkWe|iGhR#NTV=r zk_hB*#J0K!XFcB*b}Yu2rTR8WF~H?$yJR#sw&Xn%-H8BIy63`)bs1mZ*Pkt zo%nL4rUFbSFyoQ@->Q)CFEFVza!L0yw<<472RHd?I?%FHbOL>xHg?_6OK+bez1!nS^Gl@@CL=&BnJK&2oF@c0DX3_TU=)AR zsc3`(^GZ_~AO~rUkC`2EuzHapy~*htZyXxv8Kn^&1z=z(ui6-WY4zg72jgigU~$R% zG9#9vj_;YATK*~NY}TjPJh{0~up(nfoE3b$;^KXQqG0}fG#XBTMI&=&mGT^TbjPE1 zJlYN*XvsIfE)$!iu_}wSL3Mmn>D!-VjFF}YV184zKGqy_iEf(dSkwzn+D669OX)+R z%C&Wt*x852yT>hTVuJVOSrjVe=Btddbm3Lm!-GxPLpOST*&xiTZYq%$O9q1*C;8v>Ql)uJ%$QfX#hTmS1TWOFOGY)MD*HV|Ii zm{8*0f<78B_B??d6HiKUFR)Aw3-VhGUfcG(YwE+tiZ-9tF&XhTZK4hwSW9Rk!BQXx z>5sD@itydtjECjk2x$^6w?4(a8l0=i1^BTlzDfD|n?I0_lMynzsePfBt}9)t-OHJ| zY@SAbkJ+mD4pWlJ8KQOrla_8{Dxu_fYS^!Q?y#@;JU5E?v-eCrJ6-|Ejn+j<6%1#m zGI@nTe*V3(nQp@fP^IwS5vl#Ns^MsyPx8P!wS{fkp;)csq==*lM4r`k3}v* z$U?vEf|FF|q7ZA!0>X%F&Ia~$+Zy-I1BX4PMsp_eWR!Ta9mMExoyH*SB%$@`fv^W9 zh0=&2ABjrp8PYu;7t_^#QAMTfg69vzxo}Q~m;3gp?;i1KmHV@884T5bT!Pw&BW385 z)yLuoMZ5R`{W7W3mip>pa#JTONJ`*wjs>7;>C<&86RAn&C5d8{2Y%BqZ_RwLMstR3%OaY>oH zA)QsEVdU4dpr?;johp2_dV8v9cYgG7Mcp3)!?mtOgd1@Xsn7zhi5Vc=x;St}6UCZ0 zU8s1c_MRh3q+lWWN+P9cl^c;+xn7_zm`)t`d(Q;d4nl0zGL@~MA~8F5_OTHBSnK2?ERX-4qM>e;0x-JNqkg1xo1HQK`~zrJ%|{&~6mC-U0&nm)h; zpw32(H!9Xly+8pPYN~p~g*>f`@^XMjTvNoZA{tI=W0Cwje;yKF0>pS{tNc94i}c)9(zd6s+;Nuz00H@alcoRi}0tt}?5^~Cp@BE2)P2rsteqYii} zK$^0S{d`qv9Wk=hY7dzLOVK5B8r(9fJr|WXNgmm$%X$~<_U_)7_*Wj*u20s$o%&Pm z>JrRNl>C7vLA3P(viSgwhab+AhgA#MxlI*)yYb##T?&VGOLSS(2b}^}<$luFFAXG! zl1|iH%#$L;khMyb1Upk}86AW12BgJVl9I$9NGev~N6uKA^y);r{W(}?s1?2t8`m!O zgFJz|Fx0$-aFe{u$TYR*{vj&s+jh~j<;BL~e7I-8?Ix$LG91Dn``k(C2?;0^&V370 z0pMRtkmw3LEMmEYSb=LPQ7~PN*UTAo&5HE76PeEs@$=ka4>Ne5wHU|kn^L_h^oz1= zeQ0}W3izsBn;;=1N2@oHBwrKKDL48wTt21#H5o^ntKpB7*{bK(V>vkrGc{i9sa^Jk zZD$D(YWy!qeH^cv*P8OhL)W=`Z=y}g9RBlL6tY0EL{5d=g{>%tohR@lW!A# z2>ok|WP&*1(m+9(l(IXZ;|$fwK8BtLcm#W{y%y4>r>4&RY>HYnn)6(RBUTypwn?p9s%wa5&GFfP?#WK=@cg=hwL1oxFCmU+rD%QxtxB^yl z_3PdJV?VVZx!<&6eBD8p`)ouS)N2dDa_!xRWQ!k7fAp$lITsbn@Y);P>(%iq4Km#u z6zYEu+}pWLyeh+H(v`JUi=A9ww@|ZrcsG7wOXev+svfV;gut+00s3Hbi=}4~juE%>^*`9zh#GCp>0?Zb444%^oxSwU)kXuJCLEIi$7SjWwR& zb;zvuG{mm7P^1IL$ZnCUJ*UX54ou2ix^Ffz%_PcHwy^S~Lk3V{@z4eOq)0ybyeRDs03*YnLftIn?8T+K1ayI(8;k#%ms10Uo z>(?KeArtKN?41RRmiw23yuA89`L#h+vTu{P$^nlqv=pWXR0)YSVbRlG<)18w6ssDw zUTd#a^VYPW>4;gkW=0JyBvPPSy(z-2RCZ-_hrVdlHXOHq*Nx{qj|)$vJ`Kc_hDh91xPsNR$c>-yT#8ILq7h_Is1uT*B>AXv`Hx#= zb3xM`YRS7oEfvJWqqL@;=lD3qL%oBPo%qK}*$y~nR%|y6aFSZVyILR8iQvq6}Da;{N6!5c(N*)R`Cg#q4;vX&S5W3*l3 z98(me$W z3d2n!~)47yK7U*vaZfbX9I28o@1qT3Gi;Zdkm12Q6y<;FWsTmqLS=y&8XWe zF1^fUW*9du)}h-Jo5nb%^Emm+p%NM;K9s!q?H_`8njz~VcPh=d``!I5j6g;sf8;r9 zCMYG5ge13@47c-7wlbU13o&$=Pc{pe0DODZGbBt9RexBTA!UV zbz#$WORV9Ml5j0&N7U>KE$5GWbB)ujpwZ*rJ8=ar=h8Mfg>e6t=4(SxKxXEARxva~ zKW{&__~f~TK|gv4a%+jGc^)E1YtOV$8@^U588VbisUbyaXJ;o`9?C=>3Gpn|7&(;= zm!RB=xzx**wwPAbO7NH4RNs?r2MnGL4VLEVy*y!Nxixcj_o?7!^}Az?=PNo=9tr^A zG7KM)`@EYqa)471Ba;mDCj%5VvnRIZ?yQj@ST4D=6se4ME@IY)~g%5aZmy zkfk!E@iX(>00=TNk}WPf$J;guo3VtZ+pan|0BAE3-~XwK!H$Y%b?KXa0ijX5eeF91 zw|v6$wUf{NdTiAND@AQ9^zXzfcdP{FhS~MlIJ5(vYE=zmD=D^X3BZIpxVPP+HRC>8 z9&bJ-+T~jR=B7-XX!%Afpa~#h5+GeZi1``Q2q^})w_6=h|5tpev;J`Yf!3#8DJ3fNHpmZV20Qi#jpRum9|Vf%&{!MK``U!c zL8Jh6tNxr#cR_J?ohMPO{W)}PH(&sLdngbiy9e39^nUsj3jSx;}QFX$!u_nq0-6n91`_%de!SLQ+sz;NXHu_A9~wsEJ!zBWFIv_~iuk zTl6H~-!!QkWT;zZR~Th! z1~Z6GS>(22-AKX*)d-pXEwbke?`(XLt07PKnrd z;OE2b+m6Y34=u5{dPo+kal8DCi%ZdRBW!yvNcmEX)xOO*g^VKL!t(X#c%bFrr9;^B zT(kOSvv5GAD?Sn&TK)L7m26knl^T+mm-D7pbRf7Y?h3 ze_lR7uI_HbdCnM%&wiU?4Cldh0>k+p=H#B}Y>)^YlESuiwcDnAoCblqVR0?@>YR^j zcr>;^$v>#KMYibm6`}1rY(MD0vwREbSC|9f+r<+s{rgi0FQX$)xEC!RyOXzwT8Jt8 z`sRja*c<2v&^-lRb?jIE5G4`uIOmSvMMe$ZjE27n6VlSywAyu=<&6n{v$Xy?e*i2M zaK02$mC@)%$fS8#syhV8i>krg$?ex-^nbdL^F!Tmfqdfbl@RXAJk3lScSve+HtVX| zx|0cCAc0HM#SUtCnQSu?y}icCT6^2Iy$CImGAo^*-?k?wjCwi#dVfyYK7e<-jOCm< z-lpHR8iY0w?GM`>T4J>>vgrI&kuMwvVsUVu+p7LjZqer91_K8-$Nj^IQ2VvFSMQ8? zWrFKN?eRFX?sh!K8V<2=HXYA@omRyhPqgds>yA%N2y88^EZecWfusxps5m@|9kVGV z+V3OQ!ge;y)2JaIVyBfC<7(t=y}$kvZ?G6Xb8ep3=+juMn)80?1Sam4Ou8bQ)fI@} zQ`+-uxZKEkfymxj7;Q2^ugjn{{Y%F^*^Ody7RH4H8;8)$M3y^3O z&%e_b?X$Ug0rq}#1H2@MD3d|hYS1$ITnj7z{_$>eYka5fa@w24k&C^-x`Q@eQl)mF zyTyLf+`7*f<2mlU8|Ph$+AYtz6i~TQ8z1NvPX2;>6MDP5V$joCOk3B?JuM$(;{gMX zS&_01W&_tq?cI+I<>H|qH_Xh;S*}c2it=K5ZXUPet^|;Y^i&v+KB=;1MSH%!Yz6!J zLxxX|Df??w7d zUXn|ZXreAg{Zneux8~~Hz&tYc-e;2ba3oXZApas2*|_*UKQ5&Ctm;_ywfLOsUc{#p zb|Oo@0tB1XJHsNq(apozchmjB{Gh>n$AtY;asGwylha#FHFotjJhcQ8Dy8mkL*l3%^r-H4 zrX>=%1ZK7Z_Mid=nUdRUj>%SCi*_=&Zr(p_JbtauH(J+ssS0>*Dkz0~DkrXk4T?*Z z;RbnPlWsi)S~=F;cVMByhkBcmbmwO=jpIb+7!R&Cg!)0suYFFH>uC{oxDs+;GAED`+|g z8)dF{-T=Ad8d@Pt5Q=NrSM7Szo~tKD&JL>^Y?O(qaf#kZY`!W*J#%(D+ zh`6>Ie?SG7CocB*>Dkqr8x)LsH@Vk!?W(3fh!90kws5RvjFIPt&&k>^y|#(<9B{lS zsE_te&Hv~e!m5Gz!3l*AqZ`Ure#jnp?M?A{_!gk?G4QQwVDukMgLvfAqG}$3ogCZi z$3lMApop?#_nVp+NGkpd6T8iRU8BMzWy2fjJ5=Tk^{Mkq>bq?G#-Tj=(!6`V3I<=u zrq>qr)OYy9+TmRFM8mFligyzhrLMO`N7*BRW+VtuO`S*%9$})*R%vt$Ih}X?L$;>I z7%2N40ft*h0$93P>HH)-B!Yv2hX!fNAlviQVK>$BPl2@VTF135n^ewH!*@nEA7#v~ zU>MQZ7y848t6ieoG$cG~&vx9~axAx3t*})2>D=;NLw-`}@Cmgpzg}wv;{x=sm>4Q6 zn7zIt;#x+b>b>%PO7i-vN5o^6q1VcF$oi(u2EUM71Gqd8`x)ZeS}Rr&DG4&9Da@|>T;_|_C5mdp7HL1?;8Yx%=wf;Um;0hF~d}ME9Rc$+%SCOy-1?`&?zwkX?I2646<8v7w z$DulGM;+0G;b}LdL|sUBSQ-t=)Gb=pAPidjpKUr^&$w0?)t|D$Q!VP+0mQd1B!zxl zi~Dd-l&k#Osl3+SL%!8dJ1!dT$sl_l-gCWl{n+6&7DE{-9v-9C19UIO>}w>KJV-6n zCeTG*TTV{SM-sh?)zkM_dsaE=xu^|0#&TKX`}b#prKmkGXu8Ubh*cg?k8-V+r`Jvw zO%O5jJV-WCs{_F&t6s|E00eiUOv7b*-&3bw6Ps4+RfkzsuWH&3ejAJ>iD46LooTey zE9lOSnwgZ78wo`V1@rHUC-$6DsUOl=;q#fbFo2=epnv_%6Fj)nkEWzx*n^^ronjGjU(lMinS@ERrmL6{vpSq?fSW=K9-~ zQuYjpw(kb4i=F<1VPT~)%u)5w_!w>?D1-(FA9>;Dgy7( zb}cOf5|K#yTXGYs*?RbAfmyQG2om4?QEDAKJB$zqttz^T$3R(2lJM3wkC5Hvl)BgS znx~OFZ)&MS-|8FcAMp#)2X6>UCfyN|N-?+be$U0^7glyqkbx0GvC9GWZEjQ8`G0^+&5(TvB!`e@I0ar$vQKvp}(>o0811Jga!7{J6NZ8QeZ3)TzA5eo+Q{7 zW@QG;3u1~u0OFP_g#nYWzco&J)JrFNUJ?85tBBjsYi~D1zmW?A-M@Z(@4#UbH$hRD zlIz%a4HZ08*E6A3F&Ti`(Dy5~@0EkB18TFS5{wyE(Jdcx&o`nopSCVOm0d!#CW4pm ztUnRyIp}U2PMGJyXr~455LD3R6)FOP zpkYOFh}KK7w!>6IkYJn zB>MvC%^-cvvHrHvBFR;KeB|~y^oHBlU&0uS^_wFF2G+0tM+rNzu~bDsB@Mc-q_Cs> zuXiVQcKUp!A{{5_l!#pGhaei}lx*nzu4>#5dPCV}T zBNmM9L-E0KB7K_Pf4pO|`F2EN_)LbiN1b1Xp7;ZKdh3%L4#h6T`s-X=uc(nm|M3!)*}0%{n(^zk+@ z$-_361cCIeu%Xl*bGJ7{t_3^0!1ON6v{U z*I6%t`Clo0d79CE_a|_vmKZn_k?ROiG{sj{n-)00Ro!CS&{T12l3j-<@L2yy#g4d4 zURd+^GF;*D1^~_nPrR_s*P}uo3-&6Z^&sfnEwgUfO%Z}JrDM&lv5ROpMPpP!DfI7J z6sGb5TnPu&A+x=Kklbs#GJksi zIDw$Unc=D*MlK>S=pLty3H}s zrhmM`hUu-6i(q6RlI~IVsmEH~6h*b5K7(^yx6r~qA>cv?WAy*IpW8Ii-%IxzzW>vayZ^hXJvqdZ z*2B7m3$Ks+j{uAS#9kM^Q&G0rWrU2*w`3KGdME9LKgkjGrzjHK_)*PIn+=cl~u<+dANrqDx(`OZ(BEqd}l|p|PyE@Q!t4^_#XS z*Q)b$E^-wKmzSv)YQL*Mz`;_7g4ayqyiM8-db|9n^&%CTfCfnKk zV`S@~Wqy&QlT%=ZPrqe|`tKQbyo{aFiMjE2GYS%k9ah@Zpw{_FhF%9>!*nzxZ#(sr zJ1J>#A4+#`q_#&$3VY%sJUVjf)aB|{!{=#{Ya7RRNjJSNS*E9c)X}{YfaHy|)gvE0 zb~Jnmxy4kjzj@PgG1M|QYy6QkB_%63p%?Xhz^*W$*Kv9+MzFN@m44`a;J)9 zdo0#jB&sJeM3R$*A(hR`t<~Ps$w(*HCbETQQn%N+9<>@9y1lS6Z(-DiKVFODj&C8o zkvaU3YB~9pwZK?^09jI!O1o_e%1w!Yp!!vq} zJq~l;k=_mJZNVT7yP~?{IKEsl_{qSE{?K^ zm9KbDMO1S{EuXe9wie4l7;%G;=2{};!C4)yWCz6M-oEIp_>M^!x_-P}e$IMOICSL2 z0T~6bq;V?`2xjTz*UP+n{oC0QsesQnR9hE&PE?7FV-)dm`M0km>kn((d8#Ado0s1@ z`MW%)b@}e^apZBQtxkTg_=UqVEyeerglzn6krx6^&LX25BZXQQ6+339-185tZJ}bV zd#_tx{n5bO-d>+2GW{An+6+~(Ugtn7*XbboAqi-8ifdfIB(8b&yi*%mfxz{#3g~<+ z*77*$oxhOXPYXaxRU;9+QU8Aq2I$cb$oi?odv&kLAHFi`X-&rHzdm}Tb~)^Jgc%ulO*JZ1DYWSMW1h8s}jwd=hH{}*%b9o2NU zu=`^f!3tPFy27X+y(k@2nlqw+^gsyGF%%)xP}LFX$VinAN+*#PY5+%?p@c|@bOl36 zfJh0Ub9b0I=gc|pyWaI%zjfEWH-ETR5-{Xj_kQ;0d7fk0pj}to_XYvA13`(m3Xy=x^LxR^nRdK1T0pYLV#+DXn%`rrK}GJWO;qBiS6!+S*hs!4FLvq zt165E#U781#m!-_{;_I@gcvO$hjJ((V~(IBkO6~*UwYc0Gx55hBbZ@J@vSjCI=~pg z0N=k=C&|-bM%x^^G$9-IWfrK?wOSfWN)*&+;{r91-rx*s2%W*;x=1%e;u&|QfNK4c z?cqKPm(NC-TA?Nh9tI}bp`R3+m98<6iJs})Q1RiSkr=CX)=tZ5-1$===~OBwR-2JS9dVB~HQSZUg-#hP+a~ zW2RS%Hlt_1;OxB(?_*Ko?l!~U7)x5&$`u1?8zHOJh6w^5L0abLY2CF~r$?ga+v0LZ z8YW7f&*C&JZX?U@dtlYq=khkUV4g)+`m3D#KhMo-o6e*x4HNJr8K>no4s`V9EivW# z__!?_@rsaMZg51opgbP5DH=9qX_+oBr~XW)d4!0ljkZ>y_H?}f4%zc$zj$b3_V*!7 z4Hhn&#DkC8Hs1^oC3AjAV{hg9kZvFUliagg1&u>;yJbcGmh9&tDewq2MJb~Lk7Re| zpNC9ztmOB+c;WNoEp5rGl#n%{I*)=B6H&@9Ud&gIu=Kqy=BdgfNXgW`z|!|D&sdB3 zI&#??$)#&weS3#JVc38W4v~wEy{IM#pgFi=xJ-K+vWsNPev11;4xzB_`{#S4u>L!n zv==W0kcIxEwy7kP3Ou4h>6xyOU-sBVSZM+8EAHDY<-Kg%{2kei3uY!Rc`|%Xnk2Va zaH2)>T0T^jNa$)S?9dK%GC*}SF25PVjk5%E1C6?;OAPm!B_&cut`!+2Q!Cs7j}aX* zpzdDA{eWc#`2<_Sv4cSU>DX&sT~S@#21U=rpTLxmOF1_aUMo(bwN+aVsDEUjP3X}J z%xHZs**qkQUdtcVQb*1yyMz_U@_KltR}@zt8@VzENa4;8B(0!wUDfh{wm1&lhbEH1 zcssV(GKpB9WlV|1YkDlTIpz$3r9Z^m3H+78k%pTV+Y^jSYbfe6)A{TVT0$-0W}v1) zL_9aWn11Zc#gtg}y$z1j>{{zNfBbg*oI~gJ!+jaK21?uod7~|4F;{}ZMUqk7SfroBc!dKd=#D6d#(~{z?XNvZNjY+n$$@$Cr^1|4R&C5+ILrazF%=LxSD}VW9YWH=L+{X9m(FpCcY%%ewY@iR_A@jq z!lnU2IngAPbq`0b`_C;E_5#3~LXOVi$DXcml5IQgQ3d!lh*z~ae{Q;{WA6MJ!X^IG)9iP-VwTxYDR~YQ;s)l2MT zgDS1ycZ$b$FElZBF-KhHB6NP;Es&dm&0kU$3n(UwexG{)=PL3&I`WQkkh;{j@Jr{2wq)> zSEfmXqRtOX!o5Fm;cWxGlPa7}MQeX>8WY1cm}$eIbe|gGfV@X4heb*%owbDmy_2J$ zIn@>Q3J#0*%~38&q9_mov)Ugp)2%$n6~HtjXAq{7UqQBhpBoJI%9=1nZtdxpAwvXL zosX{Ha_4*+Wk3}1^|#8v%0Cm>rc<*7@C!FAtzhhIT;6@LUK&t5jlZkp%rnt2&+NxX zoB4v)2#S|bChz?c4gptcm$^Dq|uUReEZf6e4#%hB1691!GUYZ>K((Ty7eOYo{_a zpSCsG2kIL6KUp86CEQyS;r_w6?C)8G&&C%C*9Wr_%=k3K2~tq#dK*T|oOsSgK=73( znEpPFzb||EHY4q;3-77n0=ItxFK)ORTcK2;rZpW@=YmpmC=)qsME?>LH}(U<_v5IP za#U#kxd$pab(XOK_q>%^UA&x>P+gUrbTe{9)nM zHV*mfV4x$Ge5ibqls(K++pvon9qD1=qC_rAkYm;)sw=QQbjMr;>eNnDcjb$zbT}39 zOWC3;b!4IY#vRw)n;FW?fe&iE9|rS3&89-trF$yZ$BL+eL90^K_SLuaux60#xpt`! zOaT(Esw-bR6Fv#VMk zJ)~8`021Jz-*D@U}XQJiW z*5Q z34Q|OmpQsl4|bF$rR*()?7hA@48;78he8#9Ipeg|5!6HS9J9zhIWly(*d|a{a`HK& z{xpnLz$!Iwnz2KypiM)2Dg#xjG%wrJszrgZ?QF#j6|s~n6=&VR_|-oXxKL!66+67G z3hCS^#~{LKpWer2sn=vKo4}L}Y8aU!t7{waMy62e<-_-ctWjp#{=(1Za$_$Z^4H>G z`;e^@OzCVy2@B=+LV3|E`r}xiQc-fv;-Kh!BN>6JZ`jAQ`g5tT#NZFNQIJ!z29`%i z6w!gzy0=5?7++Tm4SRv_+@Z{qL5QZcJ?!hxJj~Je+=CYv(}xjF88cyqYJau7xudc}ksUx+RqIWThcd zXYJ~495nmDD2SZsZhy2je2s}ouCR0O{D-V~EuA0W8ROBCuEiKy$Q1(ATG7`u1n{*+ z?SH<-Bvru1@I0P&07*LsijWc@75l+~{chX#&mRd@)c>b;((N+2`sb^N$m7?VE&Mgz zKkt9}>3SS^F?*Jw2K;0G&-khT&)K>EVW#|dVM5Mk!#mOO&rfCiI{*ik$A4cU4Uo-p8h?BZJT!NOKSs*)_8EGV@C?2oSeQ~s(p zo9w@t2fHc?zh0*eZQm+ix;Q1>(k*;=ZRR`DbW$5L5$7@I>HY!v z0+V)K`9-Yr{30w`&z)CFf^}J;JrNr+`F3Vrx|LxzwqCyihHGi(VO9Hp1$g)L$T5@l z!`(`JBFQ!r1zEvY%RqLP|HeNwit$SsDZ#zy-d`9F%2l{62>rU&|MkK#(;2d2!(vmw z2rxeNe`Hlp&munlUYhxGXtA-YmyufJ{{T2y-v#NM_u!~%lZFr1w6YBY z=sB4WGd$j)`crK!jy_6!J}m)ODXJKzeE?9slL<2?HNvupx!_g?7A_c)p7$6eP|@c+&qRm}~?ZpfhW;#DF(t9)yXR_}@ez zZ31S!w0_Kd5x}P9$GCHS;d+`$-I>7-_*zd^&1oI^EI2EX&=J>cW3$IIMVpq)N;$S? z{Zs{i=OsQlOXrpd*ql-UXPHj)oz5*6=C*fhUc`*G$aqXK!&(n_pWp+>fYVfGUTmq# zz4;^y_h0g~V_jtLUgJI@4j-{#sj|Zh2nN#cuJT$_f2@I=fR;~;LFfzdks{E(8G9IPmwa~#>2C!s~ znk6yK0&PVns0^6f3p zY25VB+618=KICM^Z4X4uh0e7$TzeNh+MPCIWsg$9H}dqpo-q$tl3S)$Fht0fg^}8Z(qedy^3oBl_d}fqd7eXsewL!EdSaE0O(243&kQDAHg*M0TP_aPgN$}$ zs`TC>4*T`T^tT>A*B|~(Xa$>B7W%HX7le!AEQ56v`H9E`*B73f`VyvhbVb9aytRfo zL%K*h2B`B8QD2*#%P`fS9W`Q0N6JfcRb0?waJ}*}l6S{VojMMZg}-Iam#ibKD(|(p zEHVp{Fqj+p2N#Jw{cghr$5J$?@SQwaK4F7AMVf{zSomkI$k;&O9hg8}0DLwpHu(3$ zr>fhkYy@z#8e%1Z(Z%>=Kd5e8vug%VcO%)lO`&~|{$pzQy1+iBcN8;lBDPe`6vQ?raybcV&1uvLSlZ~L)Fo+)~L_7C}pO1(dj$B_Y?kZWKu~Y5qq9vM9 zN&n9XH1)TRLC(bl8)T{g$>2s;#1MB8Jfgk1^E@{cIwNs54Ob}KQOvWO_hEM_p8nn6 zW}=hLbg5n{$xvcHcXTtuXQBu|tb$DI`5-(*vhfEP7{TqWOkF2UEL;;Sb2z$K)YazS z?$n6V27)eC)M~#!@b|p*`uu33uQXQN3cGK`Lrrty#9y#FB{el!b%T%f^ zyyYA}1FJ=jF&JFJ5Uw%BryY;Kn+y#$U#(jo zN|Bxin!Q_-70%vkxgL}5KVvQ%XjNnaO_m&DWV_bXVHcrkWrL*o6qbqTOT8>JVo_q* z>_?SI)%o-8_j{%zv-|$Aytnr0Y0g2`l=b@046#8RSQj@>ZVFl#%pH?xN{8*|34DrC zZmWU-a8Ox_>sIKx=2siJi@-5<0cgu_q&)sO6*DlH>ml_lP|&Q>>20*kbzFfHZ_KUF ze|%(B9pG(YUrlOg6H79LwrdIPbk7wpo{WzuYm9d4quza`fkjTK>GLJ%FX;J)*aopH z@KA4;UTY0x=6!N&kLNaX`I0Bc$lR9POpG(3I&jmQeeV42Q{`hr>tOl!xgnTCGtvg% zbR-j**Q^HBxx>Lo^Xf22qFz}=YNhfGhYJ0-fy0TTEAkTRB8~gvN~lq!ph7kIIVJY)FYK}bF^NP@ z;;#dPCk)QCc~?(;y>Q*u!ALLl+^iA1f~hJv5KQ&JG{++&>&et{#q9d}#*-d_Hlso7 zRDP}XZ#KfriN5)|5d!9_>PRm{oxl{fWKZSnY)JXodTSl$p?788KMBm<^@ggQpAE1W z9UZPeU|OIW;MVaxN;?$X&Vs^Fvx347V2xZc?|$9o+|F9V@UZ^%!e**nY71v$KLvO2%0DC}|set-J|_;DssP;>7sk6cev<$SJ}rD<@Zhym&kQU{RgWI{YW4`M;j0r~!s2>fhbX1~dM`)X8edoj^; z0AZ_Gjf;IuOH$+`#Mk@4r$)jhDAOa4#nS>5Un@h=oobe+7?M(g2)h)Qy`x8F8=F1c zZdXjx+Id;15ZUIVbty1iRx8!isZ2s(*6wH?#s@ouaK)G;GnQ<#;UM3`=?URU6Bt>^ z`NGWh?gTB=&X0R0@(9|5yEQP4oU{LhVEotu`uwHSK(yQSu0y{gDinMS_+REO#4PbQ zFt(sziJo_hMycrGC>w}rp_@WnPG`d4kXn1w`ElKLpW{bgOq6v>necr%`&5WsvwBrR z*>t8<&+fHYeS$bENh~gd-ToIZilvvMg_rb1CI(kAk*|!YZcq#HTHnp~jk;7L*x(2B zs77(LWc}M%o=Jra%bVQe#YvZE5QCwA!66X89vZEDOC)rR}H;aeC(! z3RU}LXoXsV4Ha`)P1z{R(Lg{VScPCt^ZIF$E2FH-uz757y9F#GQ2HDEB|$FoWO`DA zKege<+DxXO6$c>fYkrh7_$BLg5OJ5y8L6GxIbk4r@}YNf>Wj|rY^M#h=m_@cLHCK^ z`s+uPu5f=B>=WdkCm+v^2*Y-sssv849(}h&En6RN;)@*NQKjG88~~u5@<@^I)6d5D zOkH6K9}V~cqd$G!Rw-Y8oLNx+a=m-$U?I=xel23GYZ>}WmM3S!3rxOo$wbE;F`>iP zYuU3hL(DT~{6NBeNe{k)vQG5Z;?JYpu>_l~7~#E}{V(FK%{tQ~~O zK_4oi_1w~n^-H|=vf!6xkW`bIV;R}LE*y}%5GmsV5^;N02dr~ysKV%auQk{G)O6O94)3LZQmlWSeC%)f=)s+5j3r1B`li4Ndlt*z`{vt)*{A{ z0$}Chgk3kgBhk0Q?nKAU=TrxY;g86Lv9LLd3omc+pzyb^R-@>GEk8fYIzdSEuzMO^ zkzLFA+Yl}qspWv}d~dpE@PS?D)Tcv6FIbM2^nzS*^Pvoz(FY34zs*dujk1kCEa_V9 z;~O0@re~0CE%4h0@XW{6OB&_-(h~UugkTTU@P+Ex=aNvsplupx{br^vHA|BL1rYjcmZ7peUbflW z>2T=f-UfyJDP|*}fQb@G8VNN9P3^PjzSQl>?uq2hTg~@pdk26q7na6&k%J;~tvaIcHUw!up|KJn)pG(8YBBxfxHOk8w37IH~X)sDp zstihK@UgJ#%bt<&kDAvy7M~)?{iqAN4gyJW-po>m5GbdGSnbB#1z}cF7`DPmI8M9O zNkJ@GS-P9p3_}bXLT?U&9eIwTRQmZ6H#&}_DKrgm*u;+NtK1TKhh&F>I{196oEjy) z+Sax59{Y2ZyXGmSco)f!F;8u1nh?#j*|QBerfnecn>U7dp0W_CZOc{9fe5i?Sb6VU zz5L-vQLe*a*o2U}!;9{m@b5HbbOPB zR&ykn@iCc{v3!l9s6N|xJbuz9Md8sOx`{`$QjI0hpwlLm0~*`0#?l_Qf|?tu1Gi>n z(pOZ-7%`C71}qUmPD)Tvt{KDI4+_;V%eIm06LEfc!B9WO+@>EsXl%nZNYANtZ^dGS zMs+$8@s$_vc$*G+^k|#>F{KLTC!(tXkl-wesyoFT=JhUY;i zMbU5kJx(W}(fZKjxXZ1MjZ-^C)mT}>-&|A~r zn5g(LnD=(JZ4>Q5=Cxp3;yf%<sdn{;5e=k^B{#-2Lj}u>$Y>@|J1?U^`gAh0OB$a z&>zs51o3##T1S{rJi2xU*fai8*2<#ivE0rU2j4h!IF3m_)QuzNL*5eKU{2^8L46W{ z=gPpUuth%;*+8$(DB%WPZQEtF&+3U)!aZr21<9~f`LMl%eYQh+2I=xMR!6O`wvKH9 z?4#q*L$8^}-_^1jC4a=prtDVvV0}%oB?UzJ%Bhzkq{UL2Mq+NS=_yi0g-H^1A!%NwEGLphQPD1Q@p8(SzRfFFTVNj@PTlbHvw28{{5y-1z(xr=@=Ch@#e!C%(+mZEDo2=?C)w za@0$6uQ#`M=~x@U3_XO8dn`<=DjbAqDM`larSp)O!WFJfjfEqQ&hbq(eI^8)>Px{9 z15W)1fK;MJNX)g`TkFTmxlbSDI{;sz_z{|mF z=qSP*2>|>dl`<8*0bo|1d85J#&D%<++|7`kKo|1p@YOZ^ho1J!JWlpl{wG!mg33Z2 zv{^;%uqx}`huW%v+@RGB`MoAT{(Y?M$NW*if2F;^-XNn*h2U0QBVA zY{`E5F;Iw&U}L(K7x|T1EAMr)kk3iXqemym3xs=6<6EeiRxs764#@*fX?U%kUKlR~ zva!k%DcxFFMeGvxX*rzbF-Og^8#uFg};=v_xRJ; z$y(q1{QV}S>J=C5nrNiDp88DJ>g?x(6{4` zisn(hER&khz#}UE7~Cs|@-L+F^eXH|tCT6F@k?#b6?q=eAOnR4H+V9mTG~2&jKXEE z;WEkX8xSrv4e9-L<%L(W!>4#|mijjdpLD$W+9*DwLRc1VUlZXfp3iANJMWmTrdmk` zKG-N|wB&lxmzfnfZreh)c`i5V&1{Jpzda}{`UOcNnR-4Ck^9=QTH)vFp?jh&xUK3U zWOV5L_lNf|3daUh(YfCgWIl29cXg;7Xj}gN)k%br`Y2)|&%042w?R6_W^;Lqu}YN1 z;}LtlKhi#t{%(SP#mcY=Zz5ok4Q~W&u=BUu&mUXC78854HenJxxK*$3NC`dkpsSZZ zvefoK_B*7M3z(&)4}(Ozy1j?t@QP~WT?Vw2)D?X(5_tzsi?|a&(liZ6A_kJRZw{7p zja(NUJvYjw&j0&vKd`F*S%p5t`^KRPOLqEFW8;Jgx(g zpDUXJXgGB&!c}z096N!*$R~{tRhu`t*$BgkRdP>q)STzr9?OsJEN0UCkHLE~l38NdnGguE@ zL$R~&JqHCygw!SIfg(}XFf#%NMpVfg8n%9RyvVOGdI52d4zbtmxbU=8e%#L%A-@DQ z_gSpyl9(^8?0vk{w7f~k>jx!gePeT6q{nrly=EbD)>eKWUer-~Swh9@L!+5`oY=4+ zxwYTIwp~uLQaGyX>Cs28@8A6N;dmPy9zk-gn9rYQC~C9I@|iV*UoFIwpl}O~=HT7W zY5~;Ou{%TY{$P#J@nmGP4zGu%66khYUHh_M%bdvLHww|Vph%Q>gK8=p2tzFD=vWp5 z0c+DW40}03s5d^vN_4JHhmm> zyunQ^&JKnbE>5({SC!M=ygYO6CeY2|+$4_JBI_pjMyvXJl}XOGI=tml$}_={fTK`c zf^xB*xk`ShKZU9DS>pl$YXr+P?W~^p_tTQJ)#dADI=t|)!4k>PD9M}H(b)kf%{@)TDNdTfEs;L zWZrf=?iU1_4&g^N`6H=(gxzgXcisD<67<_Y9524No&@HH?vo%4@!)z811^8ZOvlam zpUO$M{)O8m0&DEnZCmTh9ATb_c&h<=-WG`Jh^y0CQ=^bN_7 z4Jfr2=rv|bpiIz=EA2A_E=q1bkc&o$@$@V8?1K)}5}V{kKf zjy?t<=as9|L%4hlYL>++LO@b8R5!;mxNWU7opaOxWznH}XfB<_VIdqzxm+fKM$6J7 z)^QPR_PPfGlyUMN1BLf2tMn!bcL++Uk>$(p4^C~gVzw71RU^CC+w}Jcu7R@;n|#kx zJuGPS!jkqlzQ_QRaJs~^UxbuhF8A)+)GbCJB*}9?je=1s9|-r-F$}P*vYJ|!Ldd7| zyw1GXskNWmFTC=XrYdq%ugA^)B(Xi@upjHDW<-v@_sKqFw7kDpbN&Gz-C~l zb6qz@>QPv!AXCm*DBp*h24O~yIxhDU?z8`9CD*Pa%+H(5MTey-$M{zCd+eeod8J2l65MJ z0%MYfVNoa=f(%;w#Wh6e$5VOPo6G*-#Y%UpnD4NqOplTh>cL(|?&UPNY;Q$w+~Tz0Zf6MCbm zL8Q0x;#5OM=a%`LZiX_Zq#E_rV!PBZaKdR3SvEW3vKSybQZwtb`&ncXA_bKRyu(fJ zt-_fx&IDjYV&I*^FfbJIObT;i6AsBy^BG%ntHYgUm)5L-GV!s;ydXdyVN+T2Tq4D? z<3+B{z&ze1BITy_<&3nG-T{Hcv!bjeS6{BBLv6i%>3E(?Tv$K3eb9+Fc3E{W1v1{k zr-2=Q)NtqMQ?0LBgewk>rtEzu<&r$jKbvrUer=DS#T|*vncL!;gDmcT%}YuxdYM2Z z4sU6K+m23sXk7g$gT36ZEl_$Qdw6?mZT|K16`UZ8WJO@pUNdoZ)eIKM$~MVdwXUd6 zo-zpYSu>M`w>hH8tEHKExy7Oa(T!dw%7_aE0F3h1AJm+Sw6^mdVJ^di+h7PWgPJzA zYO*IXW)3as3}ICAe2h#yHqRv6*o%H)JXkBKqJpJ2GORFnyRK7;03<2sh`7`(9nBU; zIY!FKg!3N()aqd~^9+Nl+;agC1FOs*AJ09$8S9&G8RLSe#;ph!2%R(}_`%}*?k6k{ z-ezW>6G(j#iPF)KBPUgwY5%yjzqiY1@T!&fHpUPzRX$^pOkhVyI+~CRQGu|~r9rFV zF=N3m#r5#<$ACL(J=L%L`v3t*#{Ah7=w~OlA#-`q(Yh;mYKx9Hf{Dql| zwSSB<(AXnWkAF(l!6JZ#MUmoUt{8q}eg3ayTvvoTWc$q1iIVF2$EM+k_j4zj_5)Xq z+cA6Q*VOQB)vI8|0mR3WJFCriu@`6&p?H=Z-dgLdswq#zJJX4jH|->;3HoC#F;IVYnnM zFAeqYq|_kkp|?4ETweTpq15M*5?4VB=C(;?NPC4%Dq+{%zyxT1cGWKT)tC@H3;L#wTwA+pU`K;nJ#sCZHM*(n?4kigHsfP^;QE{c0?(~_^F7ZThMub*-ge^OaEnW&EM2u^#$7udIQ=RX6AD?6$RwCg%1eAD(a~tL;g6T|g5M zmFklg?#kB^p75WJ00ZH&W3voI*3C!^SM1as8?EaaajbLd24f-{rM=M`S>f?rl`co6 zbE&Hfje8=xmNadF4v7W%q2rxy+}qq5M_DJaxs3e@@Ay>58blp4S4{tDE|`|k1HFvP|9JiBO#=+4{m0h) z0J8+H>U^CiT?cyDp)ye-j}6Np)SPG-QdGnL5Wl5lnB{~{p9^OZiwUi>;R4zrj}}(; z@Jb|LL|^3Youx$9Q~!8=?1sQU0IX-`w%hakgR_?2zWc5bt1`jgdFXXh-qI4}cgsT0 zZBl1Jikue+y*0JEu{y;q41?utRX#X%`LI^hYQaCbEZGrCXSwqd&8q98w0g+3aoYB6 zXZ&J5^GBUmvx$zU?wXFvN$bJ9qKN$t;O5#C^mWHy30&T!9LbD$_K-fn zYGB~}chIUb`C67=<4Pf=$K{wlwB=uH)tc1bpLIX7`^(xr=dd5>zK0V+zCJy}1M@!$ zK2BBd*uRXMp^E>vn|4CY$qdU^ocf+0!}1I+&YY{Q0A6Pc5diL$s>Pe5GqaVS-^0;8 zN0?&DYKe@&bPt{9V7rA*++{E$QQ2<|=&{A3?~C65)jKYf0WAIC3h4yrzNM;UD4_+^ z?pF@o=RU}gF5^msYn((5YX#i<`dH_}Q-eipO?e#c*!p2aX6^%vCdaifPw63byUte! zR%eitDV^cDB9bT~Zale~;476^n>kf40TUhf$F3c?#u9O(=9HJ3V2B0?s|2eOUhxn; z{Sr5;Q^8dOH~zGYxuPckU4@5Z^_mxJeu>(j&2s)EpVj+OP#y+NWsD2;(-`W-!$87b z!)iz}nBAFios^<@VJsuVdKlrcE2XXsI)Ra;?%AiibDCj{OpA$Rx2$A5l-q@m39#?f}`SRt8h9o30>DqfV;3f_&vfY4JA2)tnE{Me&6??5zf8 z#zKdUk4l{eahj?O+eNU!DZmzW(+guA#>EalsTZ`E1&r40$|i%Uk4`l>x?Wm01nHqS zTtopIhy8W^MFw9r1&L##{Ee;(g2irq?blQ9Z;XK{ZQQF{GO~gtIR67>&b+oRn%M#W z_+KR=zrQ3RJP1Ph3}Q!K&*s35vJebB%>LKysa^7tz^(sKiDvECcND*lWxe~wH|AHg zM8&U2cozC?oym?qWP?6yG{ZPjQsVzp9b!p1l#=L>Z>cmDet8}wh)|xGuQNKaLwkS; z8pAEDaP6Sr83;A^gs64b7J-Q7daPsJVRwsmFJP%$hh%>5U^Zka1+2-qi=p#^)^@t9@mU~ZmB1&p02um3>2_wK7hDSOjdg>fj5U<5r|JD$l< zk#ZZuJ@cM`(5>&6HdrL$>K~ml(2K4QFu=4118DMG4-M^SwP#?|&Dk#x?8mqit~Pic ze{tg*M5|*hi$m~&;?@UzFcDqy9`s8Iq}=~NX6%AZGF8eK}pPA-ph{sz&N z#1y1^h+wW@ic$*d14}cl+_j6$wB^8jYbDc*5iJ|MyFGX+HpW#V35wk#dnY&CaCL7e zNw#qD^@xsICfQ?VW}3&-pJ&@-*te;H9+>UxwrYJtyTyLgE-K8!>U=RBjYJBgh4MR8 zQOKs)F&sYWv7<0q&XU9s;f08X(5HDHuoeswPvK8y8YI%nvi4y7+2;=(_D4 z;C3ci?_pXgQ?xeZh?ke*R5eB^q|D!0SE05oT7t|5WMehf15ai~chM2bJ%K_yM z;j>a_^7-RGuSLf=Pa6=JjJ$4hnZG^(FgR6vJJkq@X&kJogOgrTTH%?=|KSlySGy%$ zoO@Y~;f;H~IZADWa*aw?*M9~nF!xtv^2S6Q#ZRzbBhBh0I8>@;w4B|2?A2uFy~W?U6h!>+td*T=hE)?e~i;p62V(w zyD=&|)R(L4oVOt_zH~g9ouqb$oGjn-G%Xk$PYIj4*uM6K%5pgBRMiVcrR0GtuFDUE zf_nWCajnWJL1OZp?F4|uMD#?x)+R1?h)h(@p+Lh#vYRw&EYX3`$=7ciju7juUfI)P z`z3vPuq&MM2qd!p%D8CvMqca>AnW|x*FU8cxsqS4e>weR|@%!3%XlQ1I6 zQy5oJVWuNI6D1>w+nnMz*Q+~%HP?C0H9e*V+ba2uhKZ`mTXmKpW`X5x zqPA*mU9m{7fg6wGcM(J3NP9a(4B~okszO1eE)fV|V+~XM9Q6FDrgQxx#l)AL?akk` zd1gpM^)O@Q)$U4%!e*0_J>G|<@=F$f$zAf9oHXhR-6SxZdN!&+?Fc96Cv^26*W1Le z2^g%1lp5?xtyfMTI$r$&F{@BzxaQiYWdZ z$xd!U`({35m?9_)jJ^EDDsU*R$%whJeUjxtr1i6@i)~H3Pg)Lbx|i>gzP99!ep|;h zD80Ib`34$nx??&Cmw0Zozd$y~#4g5JzwrF3y)X?Z;;i;q=i%J|G4$A=b0ZPtY<7+s zhXZN~Ro+~lzOr02fieqWKgxa@A3u0KKY4OrA?XFOH=ZqKgm9OCNW1qM#E=FF@%Ifa` zaa5Fi`voXOm4vAutdTfq(=2@r)XqOe3^LrA%eLuODvZk6`Ix)Wd!=_ccgei5gM?Qe94R4kPVGp7a8U)iV0IPIa^OK{j*|lP z;Qxd1FW%c7C}VZoI8O~t@34B7rlQ{Khr5R(k9}u(KymtLY4#?4a>!OGGEV?3%!jItqIm=bv-C1F%D_J4ytyvaSbjB|xCQ%x^y{Fh^Nw~$6Ix|91tAMau>jO6Gu+U@Iknnje;w!D>9(z*Qx1m-H z=Qd}|;tQ6aV=ncue092yrME+-zF>iFBZ`NBplcw9fhGz2c5nS&F`jy%!qeOa38t>j z?nuWf6YbX3i?B1=Xq_>%U`h$gQE?m|i6cYkujXbB(6Wjx<76&_W561F2yk4=eQDJf zT+GXAF_99(Q8|{JPI|PhsW&n3nh8pQG76A-Hj|8S6_X>Hqi1O)z(PniD5H_t54|{d zP1gmezOxq&b_Z86P}QnT(X8xdkR|&Z{&MK@krzO^esdkZh`5{n8l;7c&>;Bg;SstC zV~pT+8UQw@C1k`(%iFmX?`g=fBsA*_D7ztREJuq?_kMP5FJ=v1c3~^0Zpq?3x*?8pKmp z;j35c?~2!lMK6YDmmn`3Ivao4-Jw2i0Tp0NtAm}&s5@ru!*M%?UHCI3)%57^a=*5C zCHS&eU3i*m&`bZBbS4H>9Xf|GVjgMJ*P|128k-7_Xk`@4*(jsld1`MARr!v4zdgCJ zF~)Eye4?SrEj=s?l>P#}GdR(xON}dW4{d@BYNDw}ASGRzb=2mo8XX(Gg{G3dziduqCq=NwAHjW`V`0@1$0qt{t^-P}~Iw zb06-oUoz(SpiE#h_EP8My1Lafitcf%XL>C1>`>Q7MzpXkVrOyb(hAFZbT(eNS@8Y) ziFPuw3+rh*dAXuYOUUW+v)BTUhWy6poW!q^6$W85 zC~lTTg5qM%N2Ax$tCO4+&X00u9Z67@t1pz-9M29c>!^nHKKln+Hrjw0F|>l!S()?> ze91(j8X&YeK!XCw&tgaFDp|Yw878k+21HkJRh&zHZf2WxM&)aZrMf#@9cRxRlQV$~ za%@#J^ZH4^djqWSeb43J|2L&i{66yQq%%3q_Ti+xg~J_c!`ko8WQ*y~Z{uY)7=xZ_ zV7*ECDN@XVB;i*A3Y*zGANJzdV0$_m1TY1FpUJKRfpr#k>>{nnTZH>Wu*lVKvjzMJ zm-`P(Jx7A*wzDze@y0S0Hrjo9WubpSMnvh6ByHbFg0&TBw76Vn(8v}uJxFpFlf;ec zmjuRkxO(pon}Cx+pCcx_oHhQZ>)fkR6-u~0(03)gFJ7-F)~wgIS6wq+jwkI(ls4k7 z_jFOC6;OCkD>mOB5Uj-f^ZBQz?MZG?CkH#Qs_b3{y}w=9=Ae3mUF9Jb85Ge$sD;jf z^Mdfg%YQtlI>1X@Yuf*)Ps@TB>LZIv1nN-S>p}5tJZ3|UYuAqdJZj)8w5-tZYFn>j=_-uF5hu2!zgv-w)q8mq43EQ@evKe zHBqkO_2tw^PiBY2&J+CJ86f|tWD_D;pCKVL&oLXQ_(d62PDWaGpCg)D0L_q+X#q_x zxuIuj$AcJJGA+8 z&cf_6#m~=LZX)i6D+P?%=Arl=GuF@Y0}OYsTKc=b2`C%<{OlTkMizZEI8AOcIP2cI zu<=(%G#T*7W1!^r-P024&4H;`)ul~bWB_N+;kaQsBPP=qYMNxzkiF>szW|&*qlP%D8EV8c6TvycBRFkQ}>t#uId;9!TqX;r)Tu zRimV;veT!r=`PNgDVCh3vRkv+`zFu{Qrz}_axa$wKdRk#klmewn?rt1goa(d5t zj@R?Yx1qnxTojCgB{aAB5Un!UfTxjZgwYE7JsX;L9ZG0Df41`sKraGHSUG_(t{Ug=(|K4cqSb(vz1p zek+{jK$mz66rqUt(%NIil&Qfi4I37AVMw}q^}#}28MVyGd8dvu-}k|e^PByW?SdvC+MsPw-n^!#kxBd zG096gmwm8z){MInkM=nVNr_(#7pkhtxa)fXIhrG63wtyn`+L*rXND}NYOJ2?R-ZkR z1if)$famxr*(2YpPuuw3H8f=T;*@*m%q9Oo({<|mUfjg?LeSpNj#+_f#wEQI@G|Vs z2pmnbfM-qm?gwXdXqcC;tdV2yPm%##7D`Asu?8AwAX?v564|t5r4C6E>m&}f?9e7N z_p5t_W_}Ox?n7kgfUokNeqa7&(N948TZiw~J36kt3mB-{xVCeg@jU^9Ab&WUiD^Op zGq+tOe9_B1W$Ac-%%e&ReQiBR_o(0Y;<@_KZpRFiMgI%YgI{232^0cEZcFfVk$}1} zc00kaxXhwv=pzl*(B#Iq5-p2g=>AYRQel5@S3b*mGjP?MQPc1T_OD-VtokbMZdG5h z>L=X47{GtK9RAaI%J}(~@KlqN*`SQTZ1!(--prX+F?K{-RuFWS5&yXm^p7_gpYsLJ^0y4G z=!=K`CeHr<{icjP`HzQ?_TP$Kty}-=hpoQ>7I0MkY-T_)1%<`PI`|~eTpD-RdsFJ1 z-52BB)K-V_MsX@DcfCQCmT$Y1DM?|1r^9n7ep4%ypotWKTYIZLSz26*Zkyzj2bs8dZ9y%|ZyU;l8A z5WGu7p_6zU-^y}WPp1A_w^lQ``M`U?KqrO~(q-U?8zYEcY_{)8B7c9ahw4>W?cVaQ z@y{pMqpjp0WhHob+aEvq)>A2QpzQ*zF;@wsro7{@m!H-;RHi%BrSjxB&oz z3<#gJ>Q`gBrS4a$d<~zlt#QF?tka`@A37uoC+b~>f1{E1TxrFF=a#ZoRM0UOL`{u+ zgSUH^?d_U;vpjKrcjf4d_7FrSpR$k9(bg@6$~?Z*@5peq8SE0;IDIqk z<0rmM>_U&byY2fnm-?v6OMgkto|WADxH|a9m6IhQ9{nE%dC);Ys(W?lxWN!1bjZ?B z`QuN`K~PmZMcrF}SLNwLuxYJ>&oV|`MPk3c>mK(VH#U7A9fRG9GYbuR^u<$TwfWmC z4JEua@=Qqox54$r(Gn2jUuOm^C75BT558Avk|IF*EBZTAXy=|}L zn7XgjSD@Yzvq`y zCt4Py);#}0sVX&Rv8_2^KGEODm^mZZdN=UH?UTjNA6OV+t7xX)EwYCQ<~aU}lf z;31vn{LI;wb5<7Eb$Qmp_Pr<*#^uYp>0nE|Bh_Iq9RB6r)t;sHH;EAE+i!_gpFKZr zNtU4toV{6Q&_zl2ENWCI{N-*G+3DVkcz0^6UwyZ~H^KCZK5;>*+?<0%V+F;He*VTY zB4tAMTVTDwq~`Hzlc648RuVDUB(1(@l^C+SKR;4zIGj`zc4UMK+F1v@=sNx|`Ed~c zE#F^Rwn+T$(XNI0_J^LOnYekyTesb6UD55TZcZ-Kr1+e=C1LcZ$(ilW)!@vnWkcGQ zp2D}^wl;?yLu$E46>svh^vp^bmW5VNY9Q)%*IgBdJnwf0z^Q41qnSySOJBTn9Cdxo z-MK1Io~5+WFeg1~H4Nt|YZp+tt7Yy!WIiK8E#TEqVeq;eHxzg5(e6~+? ztH0da${G9s+IviYB>r0O&_=)X@VFlkFo(piBrUPA`hVmh8Uoo4@xb5A+-MCUUquObr<_cQn>hS#I_7r7gaK*Z6~i7?^3u z{&RuonhK-z+MU)dcSs?x3C3}8qv*4>uJJw}l>nhLf!zdn6NVH2NVS@+lfKih>X{GZ~RK`Km z;w%CY<0=)xW~w;1TVl@jA?N|C7{?V?xc0S)&Cz82!XgcKSe}NvMa|UGgQ+YhW_d=( zSYLHWQ{yLTKjKV)H-Y(OK!lE-X$36|&zXEN0y^-`i*{;Tc_P|!tKv|L7O%L7LthguSjZEX-*QKdM&BlS9uf7iPWvZ z8h41UVYIeR@Ya*?4Zdcf8P^^~yutG4-O}{EYp*Z#@8_Ll5YUqJr@12Gq;JI6t(_rU z|Cckwj(4~$I862-`a>($(NUH^L>}CbWOXBo#J_9)2hYpE`pPsO`mzQ@kawlMDH!j zZMw@lFY(hA`x@>!!XlS;L2qp@*#2fAVrh=MR7OS=I?;!sN_0k5os@ST@zI@fdj{5B z(pK({eCohYv1rHdmybtaOZ2)PRN*pSUy8^}IbF2Rpv?Y+F37PU&>IprKU!GA1J0Hp zY%$O_F{b+Rx93WN)6$Gdzxp3P2JSPnQ~ENz2(Ob2esh>fp(++H@@`w$l+y%o-Mmm( z!{gaZ_itQ1jSlA;qocKVwq?;z+h0q$5IRhLjG|TVl^w_uSMlDoq8(wPG(bCl+Z9%y z+F(a`{m!`W;%{+D!8?rC4G^Vmv{(VGBkh`)ZRYc1Zs>Lg!E+39raQNYpb@^+&qGwX zd-HgrQGC~2(53;#Z>1Fd!gzgET^T+{+3Uoy{f%po^E>o-86kNbY4&RSOC+0V6=NwfbCWC$6>V0MRg#Dz5WKa7QeQufQv<8nKRo&j^IecC7UR!yl zz{Hs6R+-~K>JD9LoQfMg7Kba?I9;TJv4&iP>Nauw!fN*Z(OcT)!h@me3$i;*UYZt3fJM9rHmU^2u`#aUR<|Mt4eX=MHp0F!{3V*q(wrVOPJ~i!jR#|VsMysR! zMOEa!v>df$*=81a$0@i``&QI?)l6Ux1y_>U3b0&0nG*b`?Ck}niw$#y~q-#xEDo3#M zSzQ?n3*RbMdTf2?`zWHgCagmozYVs1YLEdmEX!N@0X>De5$T0R;J_t=N`FfdYLwi@ zx7EVAYWIs4n6R377|+^UuLRpD!?Z4=XBQ|pc$3V`bxK5 z9Se!`vpXmh-WAW|0jK8HUBK`23o%Pf329FY3Us_>TCkZ|b>-=iuaP|*{6hPqp1g#j zP^~CT%BLfP&A#KFd{y3| zy?0nD1wrwobeep1OzH*_vpxRHYgtx&2=JK{*fSSgpF_cu?jJ<`ZDv6n$|Cpv+ipLq zk=J?ZLfZs<@BukwE-1Qtpw=j^abhgbI^01rIl9G`4vfwfd@bOEvv{?}iHwA1rge4- z!IZmX^0{hL#x@b!(7;LG^6FVGKuHrm;IC>PAH~(2dJtN4RloBIj938=KmFiwaHmw?=xy4z^r~$#M7YwvwG^MOZd<2hRld@Gar%j z+_i6C-p>q;<~6p@@cOa@VH2CO3=W+Md?dD^ha`TYb*L2cZNGFn8kMcSHt_Dt{?$>! zzH`v6*;%`KY6}-Kv<*rmv0Bun#D@Mu+1$qnl{EaPty+<;LE|6m)l?$jHS+NHlUp>& zuVYX$I`V7fsosdU1cO(qbLoU4yS$k!YQtJzgBM>6 z*o3*0TP(+4H)>bW9$}UWpI_z-B_|W-uL9j^Cw{*7+k!hNl{=CX&$u%xsIP)JDmQ5M z@!V*?rEIm&D|~XbBki^cGnZRe2}EwBcD)By(Xk)D?%w=CSYgO{QW54_&{+;Gc}V5A z&XvjMlDp-z_0)P*wsWD?*qYTG5plek-LECw^4tVNTf#xgPHiRyzMLt#^FtQvUMTcf zy%O!rIpX3I0UKyd=N?VMPH^R4l%ZdpM)7y-Dr}sELb_#^AUNwce*?E`@e;r2?y{}b ztkjW3ybzc;h#?qFb4r?XNCk%&P5>1K?#pK_9x=@tNuP+H~H`ytosAoBUGL-!KwEBlkB#eTT+nNL0 zNNka;2ZHG5%{kI5-{*7Jlfy&-BYY3W&t#vfg&UTWByp@!4|CI+_$5a9Sam(>NcH6J z%7V`go1i{6z-a``=j>P&|M}+DlJuITVzdEp4;h1$ZmeoMTl9x?SPPA)RpzK{H;0!t zg4^)}gV$SjAz8@w(So&)+tTk3nbzhr`|n55Z23dLuF>Lfy+V@GFcK z{ad&Ur6d zR~(Vt5mrAE5i)4^a-+Ns%t+1rSm)AOp1q~0sj0~_;s^$rKU!~Vj5ZuzaIwf9B4)SJ zMvF4qBM=p_(xZ4iJ2hL?uR5t)edSwjc3I zZ>EmHt{P_UEOp2!SM>No@Tv%ydi%3GUlH|>k3jaXMqsbC78(_?QcZSC>|vNgiBXb1 zFYvq4cG=!QPg#ZlSwG;MM4ye1A;!Kd8YIp>iO5Hx-|zf$gap>heGcTTv4+Z<*Pk=$ zmtUG;mPC0lA=6?qjCuQv)oas}=RjwEm@dRF+1t3h%SSmwl!39)=CVx12(w#F?rhd` zAx!j6moZEMTIO7|6H18+LjtY5oPSuiA{Hxte01;5ZWX(gD<0m;g)YEGevWAU!mPuK ze*pf>Y~3i|cyWBwiW`er@Bj7nFJo&mcgB@;CG-ex}UsSP$Dx6$K&U|Y|brj7@Vra+WG*(3|MzhnU7%k zT4TH}$a=pam*12u_(um7XXso{s6o2Z9mvGHJU?KHChNpf8 zfTFu0Y;cVU5kBCpwjblBihPPFY6GvkS^l|75}iQ$xWco-6)O3?PtJYM<=dji4U%B=V4a2kG4-$ zai}Qu6f4sgtOMrY*>DnLmW*vbVA4i4jAc23=Fe3RaY10}!ZbT->7t&HNRZzv4-@D#u^x@jx=mdjw6FG2V#3@eV z#V?X9i#5;KN{6q|(+qMgW~YI!-yT6Z*G|}o)@o7mV+0j2v374nQ)bYa`K7`=vi-7H zAWn2hX4Uv2dFi!x)NlpE*VG@U7wgEA_y)s-%REwR5C}5s2AZUqxxyBJb-5VRS5t=e zOXAJFcwmH=s}_@%C?ax+cV(b6HTetB9Pm|=&1~=3eIv+O5I21a#f#A6^f)F-HDng+ zFKEY4uGV@LHQsx6vB_%iKrqVV)|m)imdRIX<0P&koZ^?rcSBL?vl&Q~Zs4W(N$yglqnvDe@bV{hh3Sr@)q9yztbE2FA^`zuwZyR^&5O0-#mR|Y%nI=Ho9>;V}@w#>7lTVQs3V@6%P;K+!gs1+8n-@9B7J=4( z`{0};GuJ?znptd@084k=f=p}Sf_L*|84*qWCH7)ylU=Rx*hUSDxY6w5dTA5aW4%_~ z)g1w=X4P&((t~J&5bjPycyue)w-Yrx79XMXN6=y6Vqv#rf@fi_KV*05(^sijm#=tX&-`q*eq;&R;h_fND?6TGSAPbaqNM;Zi*)h7l zhq+awD&O*Jm3_CP59Zu@>rFrHkS#svelF2CzvJq3$QVl1`g3)62u6J4%6R?dwSNQd zLB5{i4s`XVIXu`NYv*ke9A(~9`q4poHxeJ)xOPFt5ZZq~^%esn-K!cUpCz@);fq6(1`t+7|!yS>jm5 z0gh`L7ZSw}fe(4mJKWx49poNME;yvdm|uXCj9AHFau!N~-^Nku>ZK<;8+4g}(!)Y|55+chqjBJ)YE0nlh4c+-fO zHj>69kZP^rgWKai-PS6Vn}M>?BWEMBO%8&>_qj2Wfit3ldHOBQSeZxk4+1WIBq?=D zulbz#`ZzM@Brf$?EnZ_p>cc2f;cYX_qKBPf&cR1q0tVV)frA%Q!ou)YoPOJpEKz+e zwz~w(!cf|~oa@8dtBTUByuvf{fJ`cSYzU*v_XKXHkJujH=?h(DcgWY{{=@Z3+A(QFQ-om(VspzBDaDTaa-j)71Tp0_0{4#&P3; ziOWVh{B$PyT$U`@mCb;i)GV4|QZHAS6hJdshJ>tYM{b0 ziP(R$MIlJY13n3H?ikQgQ=Q=JOG5DOz&k5*1-A8ge1?;&ks#FbMw)Sm_ocQupl23I zRhr6554-F+Zsc9{%JOscnODTmfK^lUOB>K*f$K-?&4i`k-zg3qujHyPz-uw)MTebt z9vHZjHpBm=L)A$`!ies{(5*+uO#QOccV3+h9>v$EEH2t+-_h>;CA23uJ_E@+f2zbo z>#+Ft%xoyPF1}Vq4-D~G4Dfoe#Rv~|?_rOVBXJuxX3bSH%6$nRVFY-lV{%8c4r0N!#5i>O zP;Gqpq#9`ctWDk5D9uz^vc9Z8f>8#dKV(*5<6*X!X{5*g<_6=qh11e>SGOcA9I-Uq z>#{s(J*7wO>W6AiWo8KM#K@<9Aye~#k~WJbM;4vRz&iOT_KUn!a1Wssl{xit$E{4K zh}g=!H60s!jr?qad?|a0wb)YG6Bno()1B7EuPzII6qf5iGHpTDu@33Z3po(%N!r(= zc)QH#M^jN1{Cb1Gk+D+gb&5YD6pmJ?UmV0EK?}9Bx?)tX|-1;kU3{ zizp6R_-(#!wgb?1nDWngMNQnMtAYEL`KO+HOe!j~W{EB+0dikp3+L(atZp#W23@Bz z6<@HQ+lm;U7W`-nyH4vtXn}jOWp!wd6`PdFvNdF}_N7w-78skM2;}tf=?ike&wC^FIoZ)CIe`HRkT@%w6&v&=L_-g74qoHT7m- z>@<0G*Qy^n(kcqnJ6ayS=4KrV8Jj9d?<@|`C3RUkRi2|?q!sY3mEb45A3TUm&m6Va zB{|w(4=%52+wK*0>^VDWjrXR5r&|au6;p$5qk}3tf4%Hp^DMin%5%_%?|667cvk{0 z*WXI=>QlJm`zx#5lzug1WeZ*2BW}I4U!|JWi%G=RK*x=xDV-DLT_@?2=F(oa@ z6XO%J5tYb6-)5rq!d0gDc^qz_DV1r#$(^XqUO66@z^WW1D7tf6+scfy&W7Qx9T?XYz{+w8iDKpm=!{$|fq!j!4zs->T2`y!!I0;; zJQgx$iOtnq|3Me={G+h1QDJ)P*gY5Nxhl7PM-r(g?9)ugM?RRPPMP&JuQLs*5Fj{_ z%yRxb4xwgpD)Xs-alaKY5xtALaPM+OYyujQH?saL$(Bf`v@EsO$R)BLM z%6<}yCP{ajIB83nwZSCGEBaf9dmZzuz~D)X6I1?#J6Uv#ExhX@BK5z7s3uTyjvr$3 z3E4h7(Ehkm6Yi@84YQvN%^Xe+?AejSD^LeL1^0^5?w8E|+75N~fwD z6ZanOR(X3+@BI1$EkRFt1#af4P3l>j*5~QCR?e^sy?y~C zuTWH5q)0TR|9aPtd##33oMQPrjtUPg$^ zyFI~eWxR!qoc%TO$>ixCP6_YmDc555kA6u78t&A0_o*r|InjEX){}aM2g#8^*~nk7 zcR5;M9iuuVhKk>RF$gfJ??}zRo*Le^ha( z487$x8X8QC+WQ06AD4o%r%eK-;wFqMcsRppTQy5+`EN}2zIcs?gXC^I=2bYioZ^EA zu2=%lJfp*fnBS_P#HvvnUJSUkN74)2P7jVlY6k9Jc$cFTA2@i_Cse~z>Dh6V+9>0i zuG_AhEt|4eGU6{jVrp};9L6)B+_-S;Zw0aRIGobY%rx}d_ZlyhRuX*%X)>4m-7Ax; zE*%V|`;yKOeSqe?eK*HV4*Jw*2eXMv*x~aIdTvT9ez?_{Qen}2!m9Vlr&Gr~^gQuj z+blBJmW)l4E<{Fw6-T2>iQ|IXv5IDVid8Fn7a9uWTF5iTM&9=Kh{*l)$RrLh{$tck zyfRIJ=qM7lE%`Vt*(FQ1>uudy32FBPvF{SmD@pPRk76#o9x7=AEazZ8NFj5Zh94;)&kq>RA_x7J;ZM!Mvg z7sSp*Dq~@aGnzOVC=qF-IAq>&CRgA3IAKzG%2BoGp6&p1@5{=s4fa3^BJQP6$wgGo zwZv6bGbmp zzE6|WowD-?h10x`b@!sriYvcNS9(#RoOigLBEBoC5)!G8VP?0>GC>AwQk$jvZX~KX z`G(VxOBE}E2x;dx1)R}yRQjzg;9iNZh;rA?6kc35Y)=@1X-``wXH{U`MzPH33KY9O z1%cbKQU7zv#dn>R$Q+&g)T!qK8{nWt#z_2L&J%$nr9Z1IEVoRglt(RMdsT2ntaPo&^nwds%HpocHq~nj;||EY5`?p#kEKQu7&L*On%`^GTPwM z-cUsE#YE@Jsk`J0F7{_D>22G?Yp)&C+iky8g#D2l!LSW_H$4OOCKRl_pe95VMGoaO zKp!`&rw8Aj|FquLcrZ-rl;T))J-j9%g%^NwF1k|-oYi`6((Y`?etXOM%$rY&k|@w@OWiOu~v|s91iyoh^g@UKF_$;H9i$n+#CkzPWo@R zMP)vn^qDY-S!-UIEB)Xsj-$!o34!i;{F4?>2UZ9A@z6P>Le9*u7YAnLw-Fk{=d+b8 zCJ+k+Joa;q2%&6XHoBq6SB{JIlEK{Z)j%T=dUlgW*(=0=miyY%7Bne{OS}y5i#_TUIlTxmRIqrRy)hj`wY>S z7MCre5>a&ig1$@_HTag+CgK)2-;w(P|e@ zDL{thk#mt&7(`y7azEeVQO6RHB4kO(vO&HP0N}Vzt6~E?4FY3^h6y4Gih(07e;0r~ zXk~$iM1sLvwP6V4Vf@KM{70U%ilJHc-p> z{!ifRpK8e)KO^67CA?Df2qV7_UjFU{`R@PUfnMeO?{BO!bYv@rjrzm4Vy==Pum;}l z4XVpu-&FjFO#OddB>Mf8{iVIN(EtGMGRX~F7K$#JK>17oErb9xc4mBx4>Al>2B>`| z6OD@jtiUCbx)Eyb0Wo&!yUKUg2w=>W`kNVmMgjU=RO*C>zAtm|yFk{~OLwrS1Vo{D zyH$qTt-Pp zPnTS2uE*eGr0jGn|0vGP0)A`+BlT4jP(Ipe2Kja=tJNO1wXw@n#4U)^fyGpRzx;Cj zQV0tS2qikzm0ycgybZ(H6$O?6G${di?Ui?v3UTO+g49Nbl3$pP^cy>6T&6dwCD&t> zZKICP^uXxzo*ilN*8prA)ij+hHNim4ixtvC538v0SLmS~B3E^l*Xch1@=isqL%ZMo z@5DA_7b){RR0+)JQM-hIF1^rNY@9PolXddv5#f}W?y)hTivwY#RYntU4D>5U*ds@X zA`R#Xeyn7F;Y02w==BfwLtRC|GTiWIlXluT@aj?sVFH!`&#d^_4cfpoEGkE{ui_%3}d&U)%n#}vZmS4gF8~c0? zu+hy~R$(IEDd~Ka5VJ)Tf@vU82OC!r)3_^f{Or07yE&xsmOa%=q^+p}hb6OQ4#H{V zJS{pSu19*t9lzm2-8wU7a$K5FWWYlX^dnh*GvBZ*=cw@j4$YDy01gRWQS}j(sKJ2C zd92zipSN%IbnKzxRl}mhU$~3KmY-g+K8iOhbKm4I$)=bPJbDHM#jk!&h?h-F29-~C z-0h}wpo1?;t^-5-0{Xj->Yl^e4)vg%v(bmr@Xhy~9F=#&yuEEsr(bKwRE=m!PHHXI z#LT~n_EBj|@)&a_&M@`;7t>iR19%$#XAHoiJ;Bg;q~EiQQQ+*aiA|d-X5WPoDh$gs z3+Qb^4ly~J+8e4AY?4?%I(dbK_v@}{CU!Ho8hCpsB#s`6WG3Xow`Q=SgSL(B)M0@a zy7M%Eb8kBa=kCAQTGf9r)9q*P!65Rl02g#@zP&ngFb)gkBfUD~bIsePETc4(Sy9oZ zPbnRFWM2DB^}w|IAe}4!w0>qJr{UHCeS<)HmuX~+d zh2|`7h0Yy|cS;GX6DL^-zIn+>BRN)eZT$Hg(xI1NTF;s)M4nt2UFW{uNwF_MTAXjn zjhMCAw91f_4Coibkc#^E$bME*iuu4x>(&J@1O>Cf&|ajF+8;TH2M_a{z3tBIix}-J z*wl20(wSQtnmjZpWz2_rg`+*nql8)Cv@Q=X+I;(C(@Yh@#ny*s)3&)WL4CbNqAVCs z;8KHV&-<16z`)8J<(>2Z6qKlV)8QVC`Mc8<&K6vH{CSyXbuWMr$tsr9EH&Xn)VZ|W zG+}+cbdZtpn}Q+^lb^(n1JcmIELLUYW~|6qn)F!USce(5vd7KHCjJHtw5Rb~Nq_1q z`y^8^syR09>dfR(!@9=SStL}6jM5ckrBsexh7>ke`zd1!J8342@|*W15m&V zJ9gL<=AwJN>)lyh)vo(Kk6-hE2o}E`)#EMmC_)9?((P>KkBq46mEev;LvH)AG^yLS zz7ix34k#1|c{J8;*+G%%vrZ?MPZfS}o%60LZZ(An5Hnjg!nBo;EdS_mkx?U+YtzD< zc9x7+PO)K}jVkT4fq=C8&6VzA%adR?x>&9FVC#89`i$NFO;PDG z#PkjAX1&}kDQ}#1a_>i=C4+b7v1jAg>tS#Tq4(?0nwQ(?7>szA5*Zx!(K`;&X( z(SFR>*>P+rMYL4;V*0pi!p4uuz9m^O6j9*C3E<}5zlhFH_cyxP3GsV7vMrcPKWQ;2 zTbA2|#-%G3`%mY-UxO9lAby4oInOb=30U#n6jFpuy1N|&cJBdJDY<-ZP5vnuqVilz zkwXELh7CleOzk&d{jEqte?S9Q4OF!Psen535OJ5lWo=NU&w@t>&Swtdc98x*ZOR919tV!PqBcx&HgX`1d289hF^*TsZ!BBX47rMN5L^J}=I9MC)J@%%>_Bo!s0lQyj5 zPt{{9ZT7i(ocbT3X%b`bw6af)^N5CFpFj{TVz=jy0L3%2VQOylAj)R-^Tpx8!+t%5 zIiuYrCs*C|w`!gr3^G9$=-e_n*!a7<6ieU9&DE9-b~@MSfizkUxKD^4KqONZ+M7-Y zk#(vFIOAjVvX73uNue@T8qSHH)1^a}`k6Gwojr+4++mwkyjr%M=^e{V_CC%g z+fxrf!ux!WVeOBvFY)d(a@@_?Q6rTt;;Pbg|7UBCZn|_TV;7;_EReG1=*^-liIFBM zok%#y^lVM^5F}4(xQloZ6L2s$;ti>;b;2e#b39H9r##nBhlo={#$vHiS524s*~e$K zxI2?s&!$U_Bu%7~6X(oQVtYoH@*hx3xY329ryk@Q z8G$M(*^=iIzbvu+kme#~?rREJhnd}J6Gy(wGyw+P4e3dsh@k3F;N&g(+7k~W7<=9_ zT}EdGcYm{AZ#c$r-r5l0mgm%?%iGym9ZfVba43k>wa`%xsG*bNcim)$iek^8Tn2u* zOx$8bIc<-oaGGiwRjopkN85X%)){adB@Oo8?;P#JjbJEY{#hlv6y8j%+G0&uMu^+0 zzp;}pGqAKFkKH4ON0Is~U)DM}!i2`>N%ipbi3 zMvu!|GYRb6Kwu&6T;=9{>=)ej52L5jhev7Gc%ynH>*X?e@1B5oE$x^OCRPkx#t zjfXR-vam^Zx9|bxu^=c;Z>DNE)AfjAnIeCwPegE zc5aR)dZL=JsMw)hi68w~hYHiT95;dL zCef!=6kDg$diPd5uiD*HQk@Q8#!)F2>TW-0AVz3AC?9IuQy9Av1WchjOOj-Dj;=Kj66JO5kg-2-pF6_6^JaO5@ z<^3pT-bG%d2?nlP;W2YRV~9dOPzYL}Rm37gvXHfl8U8WraD6u)&d!S^k56h974l3^ z|Fp}`D$skd8DJO$E+>GKn^sPfF|30#U)|ZACEELJc)U=5Q*V9uO`Lqb;X3cGue=WH`1f7@UHOqRc~^mKzZkE;+#CDH@QwTbZssE2{~qQE^CP=wG(5}|-Y z@tAaR?Y3zR&4Bo)1FMsod~}wQ#rmufaFvK> zdi>UN-rVT&m0ql)|6ddsUNHN0O-JeE`XlTgRy@T0=UP35pl}8MHDsXj&!EHC7+@Iz z!tZzbq2K^`P#UnuQ9eZ4WEr0N?lfJI57b|QU%6r6Q}Yo+koV1eR}2mm=C~=6zq&V= z_q)3M`NwWt`n!w|$B}%O+%+s+`giscPPT9|_;>0A3}E2#pGn`of9K!a$X=6a=0*eE zDC?AeR9gP^!|M(Kn}sd^=w)uJ@?H@?Uf%qV;zEA9mhJqhkq>RzaOHgRjrD*1_KIG5 z27OsLQ|_%$Yt~zSB{B8@KhrC#`Ug1n8vD;SX<*Cq_s9REdHBzt z{BL{;|Ndlc+qZ|;QT{kvlDzzYMBuu6jUv=O(Nc8d%#;GprV4)3Syes~n+BT?KDJAh4@jorD%eQy)_ z*D{&5%}0{fUVuAfz6KhQjEOLlx0P7;eIpRR|58(%)rv4=6$9l%4@F5DP@3)S6>k?^ zKZ$Ho4|*6b%Z=`5XZ~2VOssMQO6Q@#PPuZ+lkDGSkd)?(($ja#dYA*8Y`eMW5i8{3qW#QG&s(QSzv#C{?Wmh} zo;g$|^}p@7G`x{zvCS2|=E--Kb^ZJ`Ga*p?-p#Y8{r)_jkh=@Cibjpy?=xi!XoX*N zuLn)u{5I0A^$~C;izF|e)kXnk3_Zf^9_e7Zam2f~b&hTE>*I$@udrsZ;CkPBt4WJl zBDW;3UMlDgk&AS?KP#dIZomOacHq(A_)@h9Biqgv^8zh{`J|+ zJ)iTU91$=tn7Vo&Z*(U;7=AKVeLx>H`f?2Lh53Rf3M*`x*|gXYhxZe9YBnD7_9?*@ zXu5upA>b{DEfr6i?|_8+v-9)``{}1j%3(1PelQy^2oW~z9UURNUqPUmWcgJGqF`|e z6$?&4i)7B2|IX%PnLP{r4_a;O`5`eo^cvb))K+!Q_e1^SkwI<875p_XPx?G3-MJm{ z671FGm!ZJ*XNYsIvLa)F>td$Xd z0H}({j~@_58KwHyvZ$v)1MeOSr*<;;2);%opB?{QYzSKAK&p|}$t?Y&Vy9YlN&vBE zOUi^xMXvPd;~tPCPlLkS2G=C=G8pA4Az)j9FFlJFC$sFd22FYKEi>f20MY>|mAfN8AV%JnKW@BVw;b{Y+{?I&g^{kOY6zc387eI{@I{=|3+Lb!@Nlq}WDTbh@ zipa<*)&f0Kcvi8tWq^Pye8N}vx!Xz)a=uf^X?xruN}&^g3{3FS4J3` z&|cl;zUpuY3txmSykt}si=zy}dB+J3V{kWVI;^0CPJZwQnD#2gUkKWp=! z`OTb2zw_@(gKZ{$)5&`U8VcSO4=e~R)9{re7XdfEre4EvnxUUJHknEr zf5@C}GrxC~o|Q2^|J3AHo*f<|jRokK=-Z0~>v}+2JvQ}x2YkP_9xGx0)8}mx7f#JN zpqhzZuypN#;tI0`jz-kTT8%^!yw`YWr$l@4Aj`Zv_F*f75_KJK0eCNA*;515{*aNA zmXs)Aag9w~nQ1c|Fz7?LSdDo>VpLPDF8z%86mPKHS%8(DsN2I!L|EVuZNnM527ZMl zbG{VB26}aoZ?uU4FCK5sJ5NUrjg=5IK~RJi`kg4p)riQMDHax&m^sCSXA4~MCoQzH z1ntNY?(CT;xT?(NGNyX+wOz?tM+lT!h5Uk&mtgvVhMmgknuF?!p zv$9*Vz$}EzJ^e`TIAqAouLC!OSFXA2NV*1ONwPL0i(a2mHd3mX4mlb*(#x>XE#kOY zWTYjUh4valPG=$u;v9IFZ@qjExM(!hz6A^h5;GbzCJ+uGNX#sWiEJ7-bm`hVVoV=B z2a&juKi6Z#i<_3xzM1YyrST$8eU$*AMVjH=hP!UIO9rhpH?~A^r9vygg`@Zb_VqB8 z-GbKYB2;K9KBclBkhw-Td3Gy=Xh!l^u#-_uPVfw7I4;Q|zy8ka`OMIH50!|;OeflJ zYoKnL{9o9r*cspo8a&OSpSrGt*wG?84W5Si0yHThe*eX$iz+eUosJRl?xf~z!?li5 z*IN<7XV6n3g-F3NCt6Sj6+KixLrX$pq2P2QHm>F`U{rO)FM*#77lYC@DtT5%qz`2S zT_fI)J1}C(F+dwOquY$}ng~FQ^XjPIwPAaHTh@lPhqxF42ct%`nxas7;qX5rBp*PJ zf2H-UfhZ?xD-6R z6Ca$R6{+~7U1H-K2mRZcP~e(fB4MqVAyEHGs3S=ot*~85fs}pGaXnlU5t?lBDD$j$ zzM-9I|KU_QY1sR*d>~~=-)@Qc)D!fes6R1i*{m$O=5O@yclp=SecYolxrEy}|MIDR zF7;2gseu>l`gfkx;X>J*zHeZiVp9QVL5n^*5hEMdU7pohqzP&sy6g?6>^`*lt$ICC z_Y5bMt-fyb5(4*<(sD=NL6SadW-?H|>V@93rZx6`Z=XJ2bNa;IN4ZnR&&t-AZhGC9 z?WUPF5t(gQ-$TA=IJ)`XM3ALKyM4xaM$^AS49_t96ak8E2jhz{lU=HC?Ox)Ax3_H2 zzNtS!XxVGt?Ge!9VG~AxVbFz?wIv~OfHm$js#_PI!=oG*%h(<%qR2(^E$n^t2;Z1{ zdp5`jwCGeFB4d`UPRhDISkH$V0qZNt*DJK+guy%Q_|>%ff4%yHdH3bNXVRx?_qZE>z>MOe+7wEMFF z#)-}os_G&2lHGf7dkfrFg4l@rQNS$T6cl51;gKuG`{yfl_#H1Deju_fJ3LYZ9ZuC| zeU9}r!#1$`!l_tGzvHU&(v`6%$#udR|646{PT^6vtvB)dLm?Okue7V|0NzL>?ImAw z10q^~!v5BSU>hO|FQKGoO;Aq*Hz`$dlhUWMB=GjX!y|?7^%#eW_U%?F=i8J)s>x)a z5tytlIgtJK@>gV8hLXiPNATnWHOp6~QIZ2JA?B2l!AL(FAo&2dPp~jwFV(C9#eRD$ zhXRp5pt3D>uuG0#fjJUFU8vmA{UE#glfnuYsiQEyroaa~$4&v(Y5@?%mfi6uGYU%v z*$$31{%$^a_}S*i&+n8o6d65TEKD#pZOaXtgFq4U%Yb4+b9ftwQXroBaEedE7X>z- z7qy#nYfq9=XtVlyFfi@)cfC_t==S5fyEsR0UQCs^d57t7I#sr$zV3v^eO3m_HG0BI zOa->0ex27D;HEYpINuE?dS(GQKJ^tKG`zpytLN}Ym+nI1ejGQszHPMbutAcxuj{Z4 z&(h@8(H=kYolwZ8%A`A+9rBA?4wbXpuM}N{GrG)LM%Itp?7jX3e~}}3hsyhw2|4Cw zdXCZlaYl#Wj2cXVz0}YfsFUcjOt{7{H}9KN)jkVuCV}Rkc7P zJFwsOKfQ2`Qq4jLLzY1MnvcrnP0#&@*vSHnc(_%nnh`R-BYWZ%Hkvco%5Y}k-U@4l zvtu`+YpL_~@k^ca(&rLtq2{N>=_>eP32KNH$?i~4(B|Tf^*|4-f^;W@yIydyocT&YZ1ag*}c7MuaH}1=8 zU~WIG;PVxQer8BL&br4AEgmNVEhPOB%scnzfbGt&mp#bd%UjSDXLMU10HSI?Vq6yr z6kI+E&?pT;l~#ZSFxlYlG1c{!t>0!j~cWY+|~ z4+WvZM``8yR(7}Cv(3WB+76J8_T)+)#b-{sdoh*jBaQ*u#;vLCi+P^+`vxl0^3UOj zjR6M~m(QZya zux{?l{9<6sP)k)sX*nRaMmG3%)~2`oB*d2jSCnR9(n4+BDafYTG&$u(|0O(fP*0Qn z!H-A2%jZF?CDh;@r2imEhd9jf%l|==b`QsbQGP^0%d&?J;Bi)jth$`l?P5Jd8!wBq zpt?<(1O}W13W2@FSIN%eF;Yl)Df*jK4xS0Y&Rs^%Rf38KuhKEEmd`FmOA9oH25^;E z#Crc12nDD27OzObJF;#C|CxMtfq>LJkiJlIJMT~V%>Mx4@b3W-$pff1Baol%w<4Pq z&;Nar`2H{8>whDA?w_E_|E_=ZFXhnx_hm(u7lwpHR%09>E^0mp+-NSyWp}94K#;90 z^NOIStXqMCaxqKN-0~IfPfd70pi!xU`9w9fVNAWWzk|I9tm16%cvrma4t-Scr?N;v zfNYM|u9-4%+7jqQ0!nnezdaRH*H1}*eeE$Dn*d*lL)d(+W{Od~YNaDHZni^cY*2k8D~sZq=CL zm?=?YMEo6I8P4^t?eeDMvIUH0H|LCO2e>RQj`xM6RHkq zeG&s$z&2U>>%;*435%D#gq1c1!0G+Uhv)XWK~zO)y<4Gf2zOj+Qn+UdXkRvZUezs;tBiy0T+LwOWn;)q6Cnr;iVaI|_dW&J?qLbgFx)WY@8(ZJuB;O%1hGI#t=1?g zDvxzyVy$RlHg|~L5+}0drF?tz_3l=`gSKTB%%mMw#o=+{>>2B}hqDKw6}l;$6FfXl z4gjD%#USz=;Mp6^4B>M5FaBSYE4}7*Dlp8L!gRSTLmJ^O4n`|1MFp0@QbcNe<*%tl z?0SXJcH+Z44@gD3o_tLyN)cIf1)w!7EZAHr+R$pMb9p)?Y4t@H2xBnL~>3ecrild9I zG+^WdTww)OxL%Xf_QmdpIW6IMAEGQ$Dg=tSx%En2y1|uuGd<3jLA&7P`^B&&{H}P5gfy!k~$TV6sCO&A}5J9&kM9+ zPPcwnpc+5MfFmnI8uqU$R21|vI9>vV5k0s=LDEdyMf$0TF&sxY7G39(?zp`BW8L!B-j z7VR~-rClop`ZFwxIL(WOT^zCP4xekeafYL2kt1Sebd#!K^E-u*t`NQ85!6;vk!Sy4 zYqIEpZ>&S~OQ}9W|D~f;Lpd|g6%or#7o45F=562prp;$I-fCy(QqBuhJY4|98+@`n zpE^XgfaA!GYjA}q&BC}-4Z}c2k|`w6oS9M zTj2drMghW91%aN$E5WFvw@|{qLqnjB7MUYEBe*~%XB=WnXU0_2RZQ3oP9|7Zt$T4n z0is5(f`HQ|54~3#2xgiOY$^MWq7ZfRMK!c5R!-tFlEbE6WaG*>ngn{j9cHluP>R6V zqbHVR*&^Y?OkhOGnmp>%VBU4mm;a}|_Y7+?UE75tql0lAb-}9+qk@hDj3Py<)L6zc z(i~~hap(v{rI!Rnl$ilRRC)=h)Cee50s)jIAOS)PF+dU&X$cS^BtSxveLrzTU2DDT zSl|BMee6H``KhEm<-V`$yv`zd>*`~{Od+DQtdYl|9_qB{FA;f|bIjy_%i& z6ysPc_1==})!$v2R<9~u|8pka;Cg?yeu%Z0mg{jjj0h$^(=vO{$X~X5r&J*<#Gr9{ zKEQ4D@QqjVDb^)Y!h_p~!pdzu5B6nJiM5EyGcN-V;`W!DAFUmJ=EVQ@b$tePH$a8h z)rKk=?zUxzyVQRG+$MZC^Hm4?yBaX4Pqt1YES{lcTrH>Yu133!>-GBK{bUdnd?XD> zrs}T=A!V=A&iLpUnb^bax+CTRDBaXpphkQbNnE+`8Cb>3sk$H3ayIO~oYr_w)v&;k zYhD8+?UW=rWzCkxaeYgZasIhR=XbF_T?>X7N51TlzW^%vb3<6A<=y*N-dG*)8s8mv zwZVLnZ(lC5hlZwV8Xv&obu@J6;fO#(8#_k*Oa(!~^5-i1N5(L(JI#N467|bX2Rn}g z$?4NyYb1x7BiMmtYqA7`1UkOkG6L_ zOjXd4aQ`F(NjYk#xCbjOWjs$kW)iIGOfxS}5xV@>X7<>f>8zHM5IR-9IlK`>zn-8C zhfQXaHTDjf3%A~h;M~^$+Cr}ySz;$)slelPt&D$Ghsa?;@WVJtw_E*Pc+cu#r|A5a zNYyxB8}yMot_6{*KV7BDL|lA~17Ig;+Qs=ZLdz$Gq?(KMa#^=$y*rFdbueA$Tvg%7 znik0eBI(eMD*rwy%Yzu{ZC&Uy^0R8nCdvMP5F%8mxxx3Y`PGyL+NP7eZ*NIc@_1-~ zOigm1va#Os0&l>kTB3i}5Hp*KY2_xtja&OSL^jqsL&PSz!KxdXbu6bRF3)8VTh4AQ zmpM!1U6o4{NiH7TCDlU^uuN86{=h3bzN}5Gj8p`6X1d$Gdo}30ctINw+XdZSXo%VP zze#a=q3=DeT#DC{FG~Kis88VV;^(+64gL}=F*9^h*#Gd1m}XB6_T2j;&njn+#3J05qmi{GxdAXBiRXgv(n z@ST8#<7S_sEN6N$dMnjVOPT!qqP+ny**H*ckyAr>c8tKj$T^5DxYQG|!sY)$D1>vH z9a2Yso3qbAobj%uWxgMK`!bH%)^8Y_$;@O3IsnOuEonLX1y1$iEgrpl;2&@*C(#L) zxwA|zRVb$^{mG!sm&G(&5%yxO<}P-3ae@0L?Zt_m)~d*;x-F<3@CcRV>J6lIq6Mv> z_Db2M%0Kq?#+=%Ega;FAKhg@pW6Qn1`jug6)FV=oQ{TzKi?MsO^Q>;IvJu-)0{4%| z22v~#_C3AyT2VA$KE9;uiP5;o16IQ1K8Yu>!FBhqzD-1M+BjqF%a*J8FVoToN`oE( z*{;e~i(*H&i1X-^fSZ!2$V6A-%Ni!{Cz(bBL<|Wb`%cjZ0Ur~toDxq%t`E_70+DqF>otRc2*Ez5TAKPj)B5;n9*9A5brVxwCVDG)F zdgDRm{=JGy#KIq_2axneypx$mQ9n}_pBhZ&+@lf-58;8faBdzwSmtQK+L=axyw>(O zj6Av661ulyWcXd|!C%W()_6@Mesa1Veg9t=RQjw5A$QGaO$7NfKf14Z=sX8KnRcFx%U(>w@;%_bcKpU9AYz8f z3rr5|YYNm}CfLNxBPVezZ zn9YcZ)ei3FzS~+erd_U@ zC#vczx>xR6!|9+5=ZJN0d#-kWG)*fWDeoLukzK=|epjJ0Gna0{Z#XSX8#99Pw+R22vm_G?i`J0niKdq6P zfT;Ph)cZ(*oSY^8vM7#(C?EROFrt^pOflT5H{0C3+e&a`Uk?V&+sQG2-4XL9J=^eeY?#L=Re^J&g3Z7n)PSH;~lg z!*NaU@3J1gz}x*X{nKp zwJx4htHL34GJ!L3^g)++%|Gd&}RklE_& z;(Pj{RW=qlq`AFdYC!x2QUsk%>vnj!e_j7fqH3wAPnK1@**%;VLPM;*w^}$i45pbw zudB4f^Hv#4M7>Kz+ot|ZRw~hNLU}?V2Ba3qfJ>a>L5$>TWa}!V!hD>7;rpA$u1qYm zDOhmsVjsH3mvTNka^V#KfpRD^8tjD}I?mU&8VL8TqOQKen1mu^#JCff@iPU<(;@UA zn>{eo-*>Eik?)iPet>;XG+c71W<12++H~Cs(sJd2T-seFfZ687sVC6ENz#H66@sWX z<=B=-5Btt~&;p{d5YVFUs-VZ80mwhl$U(kJg4IF$CMU5n?8^^PfPLSz{F2DrHdQy7 zV}Y7FA;*ZP>PX%H=rBDXQ|XyHKYi7(kLOYAKh_`Zg>w)!OCm0a{Azw0D&_M$2>G_b zG6>s{SzFc{W4h%B7x+Ka1z@TLTIP4 ziKrRZ6R}6715I?M==4aWXXk+YPb-xeVU-;&&|6@zuCw|Q*&5QgQ1f{ZsD=l52aMba zK_;twQddku^17uWdUF~9zPfV1KQKQJU&)W-Rvods@8X>vJZ7q6o$3_sP2A=+s9zKC zIDGWFq@JsSPp#0_05Wfi==t`Ok6?U??oQZkARw~Y)l~hIH+9;^N^MH=g)V8s|7&CKBDXLBL2_Yt4f=aQHX4kT~{rq&7yZl$@E7;U&;po;9 z4dRhXJ<%$O1e)LhnPL0m_aJiXo@nUX*MGgQ@IjRj1Yp{AL;`~^v#AOJ1Q3}gLKtAs zWsTB^Q!jEM6Sk0QTFST(biO@7`dgu-h>NkZ){uo{8@UqVul>G1VXE_R76`i-*hlm~ zHURbdTHF_(r@E*eoN$0?z9B{lI^HKGMm`GXQatrtBlw-32n$H-5u`KinHA>YIkTAD z<5{V{64>vAb60JdZn* zNw4cMM=>l&l*ueZ%jL?zULnY>D6IiY-^I{(Nv9dG@x42M&@E)2vr|2|vN(BSUv)&% zj#K>`R>jIl8knqFibrR^lGug$Ju&(bH&ynt9iehzP?t~v&1`vE@Y_x!-YCuC^96~s zBb3TrOHQS?%yztY0M8^IkB=@{yGG3;pAw3ctaF^GPp9p(JuOmG5Qs=_EEcice!2u> z@KC;^_{?`)z}hLhffeV#_(pk~211or?MOHwJ_PfLmAj}z-92H1T(`(8cXZAUXB5A{ z^xxTG&_5oDE0wFN=T{Pim#KPFVEQ=~|7q7e^)hQpB4^rIDQ6Aj+Hs7(0^OYA3t|8(um|0fsEkMHtt_rEVT+b@S(;r|_f*?0?E z9AUMKRwa?!Z~NJeAoKxz>(A5d|1V@B{q?i|vDN{b=;D}YVvGbHS$*Qia|0N6okm-) z(N^UEF3&!8I0fo;OU%lQCu35h^f3~QyFyxf z?h8PMLlpu`89?fjoKd%D8!4Z z80nrl#psZgdOcT9`bYXO3Cc9m@L-%h`b6fz2*~^j0z60?@v7N5V+V|RIAE_NVO~P} zTq0lWG0J5FY}V2oAqWf_sMrsb_k;+@%M`5Nd#uIl+S7V>T7yD4Rqj42LOg=CBtZ)+ zYx3&qWM#K!&e(y;pMk5Z%y_a1Bc%%$^Z$fYw^yj3?~)LBqkkhDY` zq?iUd99O7kXBO_6fsGko)|p9uSIu^eegYyPEI7B3=t>Qb5LgW+>l?_%vl^11ecJve z?&(UyZac5OoebKz2&e?bMvHk{gIc>AW4^(JFSG>_{(xHd*+yn|jgbc1GA1F~e9Y2NRnYKQ zMAc&Yow2QQs4AgJ#<4!YY=Aa4#^jC0Lf{MJ%px|F`uq3Mh&@gHZHngGyH)^R!+V--IJ$pd54)T1#d(^D@}1h|g?mMN z>UtV<3;LjbA#XW2fy}A>DjL2U$i-@KQ0NTR&l#8_k?PHL-H$gT!7P%bs48@$s(Vk= zjk@j}a7^1OwGg*{yLh;X%G5~=VWKAYgbemq7(yy)Ip;wP?6+vFEg1@tVm5|58shD1 z7i?PrF~>ntGLvA7_u>Icjua(91Khrz^Gbs(s&vN!*q{l6Gg38bYl;T|2Hr3v@M9R%Zb}1@(Om zuZhs;68Dne0h_;zsC(q(l#;yTOkCC1D~tW+=0n><`=Jo0E$s?Lwu|9%l(_{b>7p*& zkn%(AlM#fvYh+Aq9FnBDtZ(%^yqw{8~tE~$6C zB;riN8UX_jVEP0-SDezZramce9k^}ET#JtX$b~&u{{FY@12=xbCe5b&xZkl@)vlq4 z#h+3fZiM=7K^kn%S%`_Ug@*n?m(u0$zb@TQsPQnyz%vy#W^Hp{F_C)IS=DL5?GL2) z1M>d}_0LJ0a^|qzbS`sxNrq$B8t5Lz6h=Ct4vC3~!AnndzN|gjufR1{SY0W1mN8mL zO0*;z@qNK6fA-R!v+q4rz4I18jF|-<7$~&a|E=pzS+xebLWQ_gP!$*s#nIVM94a+3 z0#o_yV!pK<(`4fUSmtOlmG*YUCL1-6wZ~`=_YY?%qiS02dQ-KO{e%-pp~s%0Jqo#c zKyQ0~)?Fp))Y^IOR0Z8jI0%bNySf~3u&=`nH)VFNyy}OHeZxsR5d5Gp*{-to2=5v< zig|Pb+&K7~@`4RrF>)fVK7D%l?6}+6-zzAlp>DhS4f&AJSi>VUZm06xP{*`R<4PBf z)8&!6fOiv2{~)MM5X~|mUk`iop@k!kFUk#2<1qqV>QWVmS;H!oH&lcJtCE3r-A)Sj z#OKHh>OGzVPN!rG$H~(jjYvsXahd;RovViFOow?LPnF{dwtl-^2rAEAOqJTWKtax+ zzVXs1d@)~tZo=SXbO?Mbh9iU{CWOS7hdy>^=B zdOb>b4JGwb`vEfxaUautHX!0T~ybu zTtI);#%pMX1*W9iXmTdcUbuU>u5#{beIPaG&KuCz8=X^12mXOYEumf33YqF)^yobB z1}EYjrDlf>1_9@+$6~I=U~-B|6CcxL?+8rWtx_AZzu$+=H$9W|DLbUk5L_#^2LM2+T=oaeyWpQd4QgBoCg(Jqe4Si?i8qU zzy*;4H$;KHb&&s%T(h0Rg7+D5-X$tlePcQy-#nA%za;=u3(MGHU~b46(A_1BK`G}E0YTIWazUSpPalC+(K(?Y!89cB zFV-0NTHpr#LuK^3@a)n8)OC59AibYzQ#%!pl<-47UPrNg?5XCErX?x^_zah;G)z6{ zPNVgW^TBnuoe*195=lqMv1L(i_*nfi9Ah_`3@t>FR|1oA(xfbIJHA!I3<@z}U z#wLI=;t|_xLOwQ3j0S#-v|HCR{rFQwuR&(Iw-0{C$B5I~2}$_9gHtPRFlAhh)~ zRa%dm=Ymj6xyUEstO(k$Oh0{P660*R(7qp1ttxJA0oHI3=Eu=~3<@FPFs*SjWlkiB z649|xSAnK~d~;Z{(A8}H(J|1zW35qvr28jw;QTE>$Jh*;O1R{V;80SX|6d|=9Oj1uVP!#wemsR5?G94Hb~m?#<(6%7hj zaEwwyifP1O8NT52o2Sw=*7YpER7E?*9tE&o7UP5*4`dI$OVFQtrgtR$+&hzJ?;pgK zKvfrK&cduXwO&U|CUk8s4XTI?B_2TDLQYF?#jGB&Z05s>?eq*#fqf6f18Ji# zxpI0F%SyH!8NJs1dQPg!z!kax1v2Cmz zWSEekoCew)5N^a9*S?2J(kN40hB@{D9(T$7T0rmHlOzE8vEtKyolX_S+4`JO^oaTTru?KvQ*q2;p(D#8m*#Ow~E8eX#x6b8i;GaFB}0R0Jwhv1NFS2?oR+tbh6i4I8}K|x4O*@$r}>)xwiK#sY=xdeQl z{;IQDUR~|$^RAtHV|)p+1^aL`3on9}p#L^+?;GL~0Pd34bwb_Cp0ZBBeN4SP5kz(x zP7m;bZYajLvAfk}pN&8{BG4uSX}W_#=JE+kXvks_V&S2?pcWG%DrOhAd_Ym1s4Z)| z1B{;t8Zgt`g%eGpyz4J8S3qM)%Ilc83}MYD(rv8^%-g^&e?_namhXX5WMdGeg3+4k zzx!Er@A@-Q5bI6|>Yd^b(KHrI0Is$YfZ$5UdYtM-tB*ek<|0y4l*q;K1`10miMkP^ z?vVXaPjSpb#ch7gF&&s8$++`X8tZ4zMBtKXZk^b@ZIVKmu*%lu=$E z+OZkI87nM-`c){$6BN$LFdu-W?PtpYPc+h?Ut-9ojRwZ1fTaeo-IA4T1|6G-Zp#7Z zp!`m#8kzTh2Nk^nh$plsYIT0B)K8%^Jq1BWbsQLD3#Lws)bhSr?hF8iagQNt9A^=l z1%L=3zoHwN<64ly0=e@&GO8qlG z?6*8NM&z(u`3ADA1EkgcST+&Sq*2fmxD_+U=;sx^S6ut>899K{-2bDGv{Q`uSm3-PJHFyg- zvSII%7^`d|>oc76H!y4)TglePlCZ>bwCHgqm@dh#`BVb4fERa0NB2q{GHF&Lv{ww3 z0k6uO{)xDTw&Iz3uO{sq%@Z?2U}14ge6=3fOmr{))W%iAe7dV1ezC>&?CW_phb3E` z-V-#id>OcpPMOGbeio2TEvkNzerI$c1doNpN=!kD04g>&R|`O9?$2ViJc|#B*KlC+ zrDsv7h#50cL6&{5>6JCc1beI%v^YSs-0s&@NNP^HD-WethhwN9x93Du&f3i$f9qcY zO5EV7aydI_Fa{v&dn!}Xjgb4}Oo+0LtgxU33k`xGi#Wk505xoY$j*w8;9!mL^j`sq z*CkMyz?)lY90rYK!m!wMOwGR^+FqfIpI8t9_Scc-JYfmbl#(!HH6&VtUAgV+P1hBk zEDt1N7zUXc^>a8Z@6E%+!DF~rb{A(z?%_CEBVaBJmZ~{{`3y7VXw%g$t%xd+=U3Y{ zUM=HXMgA4XN$_=+zQk( zu31(Mg1~k23c2oFQ%g4rg+gRXd;Ed_408djt3ahsn&8hd<0;B)4-|d5Ri^|aSS-wb zTA!cX(^31=(xoYt zhIS^Dlq^e+GEP;Q)fZX*l}{4!OWb{+0iTvJGuf!ce#GhUuV`Q)8*80tV0>lSL>5P( zAUqsyE!1g#l_SoAJ|WJ6X1}ZSspVx5$HjVbqL4U$=bQ)EIKYAZ-K)v%?$qgE0gxnQ zKN&&u_wxBr^2&VKV#KUyw`$jAf528)J}#gQw;fFyJ2;#*c=gj=g_v-IE$)wcFG))G z%(4Y~4+aD5_5f_PkcbCl`I*pVmAuBP7rMy+IwUm$9d~%}22Acn9Hm>&_^2u{G4R4o z%qb973;l*mpvfe{+&B|dT_r7OcZcJTyZvY=-CO)N9_H%f^7{*_Jxc$JyPEZAbO{U$I|58_m}h?GKjS^{;4nhjcJDcH@Wo9}ZvT&)zsT9{Nj9Wu5cFiu~@8NS2@Xc+m6c4LFYE z$2%^~^IuIZCGS~p>(6-W%|iGce~&yDhAJ-`t*_S3$g7%rO}J-nq$~TK0YJcQ#1?9> z3$5}$rCovV^az)Towb%_8;oh-+piAqP<3)Z@%k}kEg0{lD$IIAW8;Tm^zDt1y zhwly^GLB12IywO*kVC_G)cYn;BD~-81TCUgZKlXe(uJUA%f$94p_1%UOE4~^2-_=lF_*lGn1eUw-8k(+jILfI~xh>ev&M(%i|8~?ZXzvj2 z-mgqnajJTTUTYJYR}X()cuu|d#69mm_wI__(L?)QFw5{YYlh4m_Oax$QRxaLsUZ_G zL!99{4#*?C`N1918y%jw9NU9ak{UGLIWD&vg?_T7AZ1Wl+M)B=Py1f>$@9ceS(1xu z3T9q@fK23K{L5A5s+@*Y*Jq&aqevrB=}QoTv&ETLpm%=-deS{RW?l);7(Y}pcea(h zzyjP2&kmP9$4EP0KmSWy8;OQ#pQwU*C*;95w8!Oj7-)8!mrw^W*y$&x%NjE~HO>&q z{H6=g!1Ofen#{+C;M$5S*!KGuCOeXqm}T_BzJ*C>7Toa7Odyn}kV;lB7nq$=`)>(l+1q{tpF%f0FR~iyNJ;ulLynD4S zjsokPB8{4+;)bI?*6)J?v)S8L0Q z3mRY==UmjL`-GSpKdjhIQ)MMCkdK)YAnQ0OdANt4{#J8_{W*fe)!9$~jJO4B`DfFo zk3Z^v#9``7+8O7yYvSh=h)z{R&>X&JwpRW&uj7$$ZGS4RT2?Aym-UOJFh8NX22@4Q z6WvPqHIXV^`v~r=FaTxQ8$x|Q8W~m4wQn-p<%2~R_@d1;XmOecWxW;F2r`vi-@h5K|JPGR)FxTLxH(1LWMU z;lTwUTLBL$8K5Uew!`z+Tam30QKfOd3uz6RoRG>_#DnWKR8LKR0&END`8W)DUk~W% z3wb@UMi7(fMUdR;s3i0KWZ?1J|6~v~aFVzA2($%5$dYX6=yl!-MEPoU`Yys{Gw

xY$o$DzJ4FCeKsZTaP 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 z

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 I Date: Fri, 15 Sep 2023 13:08:04 -0500 Subject: [PATCH 11/12] Fixed typo in preview image filename --- .../V2/WorkbookMetadata/WorkbooksMetadata.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json index 571ec500e5d..5411d3566d9 100644 --- a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json +++ b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json @@ -5579,7 +5579,7 @@ "DoDZeroTrustWorkbook1Black.png", "DoDZeroTrustWorkbook2Black.png", "DoDZeroTrustWorkbook3Black.png", - "DoDZeroTrustWorkbook1Whitepng", + "DoDZeroTrustWorkbook1White.png", "DoDZeroTrustWorkbook2White.png", "DoDZeroTrustWorkbook3White.png" ], From 42c01e5a7be9eca4740381a79a5086de5a39b2f8 Mon Sep 17 00:00:00 2001 From: PrasadBoke Date: Mon, 18 Sep 2023 12:22:49 +0530 Subject: [PATCH 12/12] Update WorkbooksMetadata.json --- .../WorkbookMetadata/WorkbooksMetadata.json | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json index 5411d3566d9..9f0b0951540 100644 --- a/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json +++ b/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json @@ -5568,25 +5568,5 @@ "title": "Dataminr Pulse Alerts", "templateRelativePath": "DataminrPulseAlerts.json", "provider": "Dataminr" -}, -{ - "workbookKey": "DoDZeroTrustWorkbook", - "logoFileName": "", - "description": "This workbook solution provides an intuitive, customizable, framework intended to help track/report Zero Trust implementation in accordance with the latest DoD Zero Trust Strategy.", - "dataTypesDependencies": [], - "dataConnectorsDependencies": [], - "previewImagesFileNames": [ - "DoDZeroTrustWorkbook1Black.png", - "DoDZeroTrustWorkbook2Black.png", - "DoDZeroTrustWorkbook3Black.png", - "DoDZeroTrustWorkbook1White.png", - "DoDZeroTrustWorkbook2White.png", - "DoDZeroTrustWorkbook3White.png" - ], - "version": "1.0.0", - "title": "DoD Zero Trust Strategy Workbook", - "templateRelativePath": "DoDZeroTrustWorkbook.json", - "subtitle": "", - "provider": "Microsoft" } ]