<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[IT - Solutions - Blog]]></title><description><![CDATA[Tom the IT-Solutionist]]></description><link>https://it-infrastructure.solutions/</link><image><url>https://it-infrastructure.solutions/favicon.png</url><title>IT - Solutions - Blog</title><link>https://it-infrastructure.solutions/</link></image><generator>Ghost 3.1</generator><lastBuildDate>Sat, 18 Apr 2026 00:52:38 GMT</lastBuildDate><atom:link href="https://it-infrastructure.solutions/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[DCR Transformation / Log Splitting]]></title><description><![CDATA[<p><br></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image"></figure><p>‌</p><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h2 id="introduction-">Introduction:<br></h2><p>Data collection rules (DCRs) are part of a modern data collection strategy that improves upon traditional methods. They provide a standardized approach to configuring data     ingestion</p>]]></description><link>https://it-infrastructure.solutions/dcr-transformation-log-splitting/</link><guid isPermaLink="false">68d649549271dd0001ff1298</guid><category><![CDATA[Security]]></category><category><![CDATA[Sentinel]]></category><category><![CDATA[Microsoft]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Mon, 13 Oct 2025 14:51:45 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/10/azure.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://it-infrastructure.solutions/content/images/2025/10/azure.jpg" alt="DCR Transformation / Log Splitting"><p><br></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>‌</p><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h2 id="introduction-">Introduction:<br></h2><p>Data collection rules (DCRs) are part of a modern data collection strategy that improves upon traditional methods. They provide a standardized approach to configuring data     ingestion from various sources, making the process more manageable and scalable.DCRs allow users to define how data is collected, transformed, and sent to a destination,such as a Log Analytics workspace.</p><p><br>This functionality (also known as Log Splitting) can be used for a variety of reasons:</p><p>- cost optimization<br>- normalization<br>- enrichment<br>- removing sensitive data<br>- and granular access configuration</p><p>The benefits and costs of this technology depend on how you split the logs and where you transfer them. Therefore, you need to carefully design your sentinel and data collection rules.</p><p>Two target scenarios will now be discussed in more detail.</p><ul><li><strong>Send information to a secondary Basic or Auxiliary logs table</strong><br>Basic and Auxiliary tables offer a significantly lower cost compared to Analytics tables, making them attractive for cost-saving strategies. However, these tiers come with important limitations:<br><br>- They have strict retention policies.<br>- KQL query capabilities are heavily restricted.<br>- They cannot be used in alert rules.<br><br>These constraints are critical and can impact operational flexibility. Additionally, not all tables are eligible to be switched to Basic or Auxiliary tiers, which further limits their applicability.<br></li><li><strong>Send data to a secondary Analytics table with customized retention or archiving settings</strong><br>Microsoft Sentinel provides free data retention for the first 90 days. Beyond that, extended retention or archiving incurs additional costs. To optimize expenses, you can configure tables with different retention periods and route logs accordingly. This allows you to retain critical data longer while rolling out less essential logs earlier - helping reduce storage costs without compromising operational needs.</li></ul><p>For more information see:<br>- <a href="https://docs.azure.cn/en-us/azure-monitor/logs/data-platform-logs#table-plans">https://docs.azure.cn/en-us/azure-monitor/logs/data-platform-logs#table-plans</a></p><p>ℹ️ <strong>Info:</strong> Another cost-effective option that enables long-term storage and advanced analytics without the traditional limitations of SIEM is the use of the data lake layer.<br><br>For more information see:<br>- <a href="https://learn.microsoft.com/en-us/azure/sentinel/datalake/sentinel-lake-overview">https://learn.microsoft.com/en-us/azure/sentinel/datalake/sentinel-lake-overview</a><br>- <a href="https://techcommunity.microsoft.com/blog/microsoft-security-blog/microsoft-sentinel%E2%80%99s-new-data-lake-cut-costs--boost-threat-detection/4445281">https://techcommunity.microsoft.com/blog/microsoft-security-blog/microsoft-sentinel%E2%80%99s-new-data-lake-cut-costs--boost-threat-detection/4445281</a></p><p><br>💡<strong>Good to know: </strong>When a connector is enabled and the data lake feature is activated, data is automatically sent to the analytics tier and mirrored in the data lake tier by default. Mirroring data in the data lake with the same retention as the analytics tier doesn't incur additional billing charges.</p><p>Subsequently, only the first scenario mentioned above will be discussed step by step without further elaborating on the data lake option.</p><h2 id="how-to-use-workspace-transformation-rules-to-send-azure-diagnostic-logs-to-secondary-analytics-or-auxiliary-tables">How to Use Workspace Transformation Rules to Send Azure Diagnostic Logs to Secondary Analytics or Auxiliary Tables<br></h2><h3 id="prerequisites">Prerequisites<br></h3><ul><li>An Azure Subscription</li><li>Azure Contributor rights</li><li>A pre-existing Resource Group      (ideally named "rg-sentinel-001")</li><li>A Log Analytics Workspace      (ideally named "log-sentinel-001")</li></ul><p>Navigate to the Resource Group (or create one, see <a href="https://learn.microsoft.com/en-us/dynamics365/customer-service/administer/create-edit-resource-group">link</a>), where you want to deploy your resources for this hands-on lab. Click on "Create"</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Enter "storage account" in the search field. Click the "Create" button under Microsoft's Storage Account offering, then select the "Storage account" option.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-1.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Fill in all the necessary fields, such as Subscription, Resource group, Storage account name, Region, Preferred storage type, Performance, and Redundancy. Then click on "Review + Create".</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-2.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Click "Create" again.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-3.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-4.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Once the deployment is complete, select “Go to resource.”</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-6.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Next, select “Diagnostic settings” and choose the “blob” storage type for which the log data is to be collected.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-7.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Select "Add diagnostic setting".</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-8.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><ol><li> Select the categories for which logging data should be collected.</li><li>Assign a name for the Diagnostic Settings.</li><li>Define a destination for the collected logs. In this case, select “Send to Log Analytic workspace.”</li><li>Select the correct “Subscription” and “Log Analytic workspace.”</li><li>Click on “Save.”</li></ol><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-9.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-10.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-11.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Next, you need to create a container and generate some logging data.</p><ol><li>To do this, go to “Storage browser.”</li><li>Then click on “Blob containers.”</li><li>Next, select “Add container.”</li></ol><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-12.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Now we assign a name to the new container and then click on “Create.”</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-13.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-14.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>As soon as the new container is visible (you can refresh the view with F5), we select it.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-15.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Now let's click on “Upload”.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-16.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>We move a file (in our case “Test.txt”) with any content into the drag and drop field and click on “Upload” again.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-17.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Once the upload is complete, we click on the 3 dots next to the new file.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-18.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>A menu opens, in which we select the "Delete" function.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-19.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Showing Result in the Log Analytic Workspace:</p><p>Now that we have added a few interactions to the storage account, we should check whether these have been logged. To do this, we switch to the Log Analytics workspace, click on “Logs”, and display all data from the “StorageBlobLogs” table.</p><p>To do this, you just need to specify the table name and click on "Run".</p><p>As you can see, a few interactions have already been logged</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-20.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Creating an Auxiliary - Tier Table</p><p>To split the data into different tables, you need to create a destination table for this purpose. To do this, we use a ready-made script (the script can be found here). Save it with the name “Create-AuxCustomTable.ps1”.</p><pre><code class="language-PowerShell">function Create-AuxCustomTable{

&lt;#

.SYNOPSIS
    Creates or updates an Auxiliary (Data Lake) custom table in Azure Log
    Analytics.

.DESCRIPTION
    This function allows you to create a new Auxiliary (Data Lake) custom  
    Table in Azure Log Analytics or update an existing table
    by copying the schema of a specified source table.

.NOTES
    File Name : Create-AuxCustomTable.ps1
    Author    : Microsoft MVP/MCT - Charbel Nemnom
    Version   : 1.1
    Date      : 17-June-2025
    Updated   : 20-August-2025
    Requires  : PowerShell 7.4.x (Core)
    Module    : Az Module

.LINK
    To provide feedback or for further assistance please visit:
    https://charbelnemnom.com

.PARAMETER workspaceResourceId
    The resource id of the Log Analytics workspace.
    /subscriptions/subscription-Id/resourceGroups/rg-name/providers/Microsoft.OperationalInsights/workspaces/workspace-name

.PARAMETER SourceTableName
    The name of the source table to copy the schema from.

.PARAMETER AuxTableName
    The name of the new Auxiliary (Data Lake) custom table to create (suffix _CL will be appended automatically).

.PARAMETER AuxTableDescription
    A description for the new Auxiliary (Data Lake) custom table.    

.PARAMETER TotalRetention
    Total long-term retention period for the new Auxiliary (Data Lake) table in days between (30-4383).

.EXAMPLE
    Create-AuxCustomTable `
     -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup/providers/Microsoft.OperationalInsights/workspaces/MyWorkspace" `
     -SourceTableName "CommonSecurityLog" `
     -AuxTableName "AuxTable" `
     -AuxTableDescription "AuxTableDescription" `
     -TotalRetention 365
#&gt;

param (
    [Parameter(Position = 0, Mandatory = $true, HelpMessage = 'Enter Log Analytics Workspace Resource Id')]
    [ValidateNotNullOrEmpty()]
    [string]$WorkspaceResourceId,

    [Parameter(Position = 1, Mandatory = $true, HelpMessage = 'Enter the source table Name')]
    [ValidateNotNullOrEmpty()]
    [string]$SourceTableName,

    [Parameter(Position = 2, Mandatory = $true, HelpMessage = 'Enter the Auxiliary (Data Lake) custom table Name')]
    [ValidateNotNullOrEmpty()]
    [string]$AuxTableName,

    [Parameter(Position = 3, Mandatory = $true, HelpMessage = 'Enter the description for the new Auxiliary (Data Lake) custom table')]
    [ValidateNotNullOrEmpty()]
    [string]$AuxTableDescription,       

    [Parameter(Position = 4, Mandatory = $true, HelpMessage = 'Enter the total retention period for the Auxiliary (Data Lake) table in days between [30-4383]')]
    [ValidateRange(30, 4383)]
    [int]$TotalRetention
)

#! Define Variables    
$tableType = "auxiliary"
#! Define the Preview API Version to use for Log Analytics
$apiVersion = "?api-version=2023-01-01-preview"    

#! Install Az Module If Needed
function Install-Module-If-Needed {
    param([string]$ModuleName)

    if (Get-Module -ListAvailable -Name $ModuleName) {
        Write-Host "Module '$($ModuleName)' already exists, continue..." -ForegroundColor Green
    } 
    else {
        Write-Host "Module '$($ModuleName)' does not exist, installing..." -ForegroundColor Yellow
        Install-Module $ModuleName -Force  -AllowClobber -ErrorAction Stop
        Write-Host "Module '$($ModuleName)' installed." -ForegroundColor Green
    }
}

#! Install Az Accounts Module If Needed
Install-Module-If-Needed Az.Accounts

#! Check Azure Connection
Try { 
    Write-Verbose "Connecting to Azure Cloud..." 
    Connect-AzAccount -WarningAction SilentlyContinue -ErrorAction Stop | Out-Null 
}
Catch { 
    Write-Warning "Cannot connect to Azure Cloud. Please check your credentials. Exiting!" 
    Break 
}

# Create the authentication token
$context = Get-AzContext
if (-not $context) {
    throw "No Azure context found. Please re-authenticate."
} 
$tokenRequest = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id, $null, "Never", $null, "https://management.azure.com/")
if (-not $tokenRequest) {
    throw "Failed to obtain access token. Please check your authentication."
}
$AzureAccessToken = $tokenRequest.AccessToken
$AuthenticationHeader = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$AuthenticationHeader.Add("Content-Type", "application/json")
$AuthenticationHeader.Add("Authorization", "Bearer $AzureAccessToken") 

# Getting original source table schema
Write-Output "[Getting source table schema for $sourceTableName...]"
$tableManagementAPIUrl = "https://management.azure.com$workspaceResourceId/tables/$sourceTableName" + "$($apiVersion)"
$response = Invoke-RestMethod -Uri $tableManagementAPIUrl -Method Get -Headers $AuthenticationHeader -ErrorAction Stop
$columns = $response.properties.schema.columns

# For standard tables we need to look into standard and custom columns separately
if ($sourceTableName -notlike "*_CL") {
    $columns += $response.properties.schema.standardColumns
}

# Removing reserved column names from the schema
Write-Output "[Removing reserved column names from the schema...]"
$columnsNameToRemove = @("TenantId", "SourceSystem")
# Removing dynamic column type from the schema. Tables with the Auxiliary plan don't support columns with dynamic data.
Write-Output "[Removing dynamic column type from the schema...]"
$columnsTypeToRemove = @("dynamic")    
$updatedColumns = $columns | Where-Object { $columnsNameToRemove -notcontains $_.name -and $columnsTypeToRemove -notcontains $_.type }

# Construct table parameters
Write-Output "[Constructing the Auxiliary table parameters...]"
$customAuxTableName = $auxTableName + "_CL"
$TableParams = @{
    properties = @{
        schema               = @{
            name        = $customAuxTableName
            description = $auxTableDescription
            columns     = $updatedColumns
        }
        totalRetentionInDays = $TotalRetention
        plan                 = $tableType
    }
}    

# Convert table parameters to JSON
Write-Output "[Converting table parameters to JSON...]"
$TableParamsJson = $TableParams | ConvertTo-Json -Depth 4

# Create or update the table
Write-Output "[Creating/Updating Auxiliary table $customAuxTableName...]"
$Response = Invoke-AzRestMethod -Path "$workspaceResourceId/tables/${customAuxTableName}$($apiVersion)" -Method PUT -Payload $TableParamsJson

if ($Response.StatusCode -eq 200 -or $Response.StatusCode -eq 202) {
    Write-Output "[Success] Auxiliary Table '$customAuxTableName' created/updated successfully."
}
else {
    Write-Error "Failed to create/update the table. Status code: $($Response.StatusCode)"
    if ($Response.Content) {
        $ErrorDetails = $Response.Content | ConvertFrom-Json
        Write-Error "Error Code: $($ErrorDetails.error.code)"
        Write-Error "Error Message: $($ErrorDetails.error.message)"
    }
}
}</code></pre><p>It is best to run it in an Azure Shell and upload the script via “Manage files.” Once uploaded, you need to dot source it.</p><p>With the command</p><pre><code class="language-powershell">Create-AuxCustomTable `
         -WorkspaceResourceId "/subscriptions/45dc4629-f423-4e3c-a063-37b62eec82fb/resourcegroups/rg-sentinel-001/providers/microsoft.operationalinsights/workspaces/log-sentinel-001" `
         -SourceTableName "StorageBlobLogs" `
         -AuxTableName "StorageBlobLogs_Aux" `
         -AuxTableDescription "Test" `
         -TotalRetention 365</code></pre><p>we create a so-called custom table in the auxiliary logs tier based on a template table and define the name of the source and what the new table should be called, as well as how long it should store data. The WorkspaceResourceId determines which Log Analytic workspace should be used.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-21.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>To view the new table, navigate to "Tables" under "Settings" in the Log Analytics workspace and search for the name of the newly created table.<br>The table can be easily identified because it has a “_CL” postfix.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-22.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Next, it is necessary to create or define the splitting logic.</p><p>In our case, we use a Workspace Transformation Rule for this.</p><p>Sometimes this rule already exists.</p><p>To check if you have a Workspace Transformation Rule in place, look for the kind parameter in the arm template of the rule you are checking.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-24.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>To  create a Workspace Transformation DCR via GUI follow the steps outlined here: <a href="https://learn.microsoft.com/en-us/azure/azure-monitor/logs/tutorial-workspace-transformations-portal">Tutorial: Add a workspace transformation to Azure Monitor Logs by using the Azure portal - Azure Monitor | Microsoft Learn</a></p><p>We now assume that this DCR already exists and want to adapt it to our needs.</p><p>We navigate back to the “Tables” section under ‘Settings’ in the Log Analytics workspace and locate the “StorageBlobsLogs” table. Then we click on the three dots.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-27.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>A menu will open. Select “Create transformation.”</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-28.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Click on "Next"</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-29.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Select the icon for the "Transformation editor"</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-30.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Add this Transformation (KQL)</p><pre><code class="language-KQL">source | where StatusCode == "200"</code></pre><p>Click on “Run”  and confirm with “Apply”.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-33.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Click "Next" and "Create"</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-31.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>To see the result, you need to inspect the ARM code (JSON) of the Workspace DCR. Here you can see that the KQL transformation has been implemented.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/09/image-35.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Since the redirection to another table is still missing here, the ARM template must be adapted for this and the workspace transformation DCR must be redeployed.</p><p>Select “Deploy”.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Navigate to "Edit template" and select it.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-1.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Add this line at the end of the template.<br>Make sure to use the prefix “Custom-“.</p><pre><code class="language-JSON">"outputStream": "Custom-StorageBlobLogs_Aux_CL"</code></pre><p>Select “Save”</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-4.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>Click on "Review + create"</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-3.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-5.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-6.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>After about 30 minutes and further interaction with the storage account (e.g., copy and delete actions), the redirected logs should be in the newly created table.</p><p>Switch to the Log Analytics workspace, click on “Logs”, and display all data from the “StorageBlobLogs_Aux_CL” table.<br></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/10/image-7.png" class="kg-image" alt="DCR Transformation / Log Splitting"></figure><p>This way, logging information can be transferred to another storage location and stored more cost-effectively.</p><h2 id="sources-">Sources:</h2><p> <a href="https://charbelnemnom.com/auxiliary-logs-transformations-in-sentinel/#Splitting_Streams_Between_Different_Tiers">https://charbelnemnom.com/auxiliary-logs-transformations-in-sentinel/#Splitting_Streams_Between_Different_Tiers</a></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/azure-monitor/data-collection/data-collection-transformations-create"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Create a transformation in Azure Monitor - Azure Monitor</div><div class="kg-bookmark-description">Create a transformation in Azure Monitor and add it to a data collection rule (DCR).</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="DCR Transformation / Log Splitting"><span class="kg-bookmark-author">bwren</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="DCR Transformation / Log Splitting"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/azure-monitor/logs/tutorial-workspace-transformations-portal"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Tutorial: Add a workspace transformation to Azure Monitor Logs by using the Azure portal - Azure Monitor</div><div class="kg-bookmark-description">Describes how to add a custom transformation to data flowing through Azure Monitor Logs by using the Azure portal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="DCR Transformation / Log Splitting"><span class="kg-bookmark-author">austinmccollum</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="DCR Transformation / Log Splitting"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #5 - Summarize]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-summarize">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator">Summarize</a></h1><h2 id="description-">Description:</h2><p>The <a href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator"><code>summarize</code></a> operator in Kusto Query Language (KQL) is used to aggregate data by one or more columns (see <a href="https://learn.microsoft.com/en-us/kusto/query/aggregation-functions">all supported aggregation function</a></p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-5-summarize/</link><guid isPermaLink="false">67ec49779271dd0001ff1131</guid><category><![CDATA[Microsoft]]></category><category><![CDATA[Security]]></category><category><![CDATA[KQL]]></category><category><![CDATA[Cloud]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Sun, 06 Apr 2025 21:26:02 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/04/azure.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><img src="https://it-infrastructure.solutions/content/images/2025/04/azure.jpg" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-summarize">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator">Summarize</a></h1><h2 id="description-">Description:</h2><p>The <a href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator"><code>summarize</code></a> operator in Kusto Query Language (KQL) is used to aggregate data by one or more columns (see <a href="https://learn.microsoft.com/en-us/kusto/query/aggregation-functions">all supported aggregation function types</a>) . It takes in a table of data and outputs a new table that is aggregated based on the specified columns.</p><h2 id="syntax">Syntax</h2><pre><code class="language-KQL">T | summarize [ SummarizeParameters ] [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]]</code></pre><h2 id="use-cases-leveraging-the-devicenetworkevents-table-">Use-Cases (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):<br></h2><h3 id="-1-basic-usage-">#1 Basic usage:</h3><p>This command 👇 returns the count of records for each <code>Actiontype</code>value in the <code>DeviceNetworkEvents</code> table (for the last 24h + Show limit: 1000 results)</p><pre><code class="language-KQL">DeviceNetworkEvents
| summarize count() by ActionType
</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h3 id="-2-multiple-aggregations-">#2 Multiple Aggregations: </h3><p>This query 👇 provides a count of network events for each device and action type, sorted by the device name  (for the last 24h + Show limit: 1000 results).</p><pre><code class="language-KQL">DeviceNetworkEvents
| project DeviceName, ActionType
| summarize count()by DeviceName, ActionType
| sort by DeviceName asc</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h3 id="-3-conditional-aggregation-">#3 Conditional Aggregation:</h3><p>This KQL 👇 filters network events from the past 30 days to include only those with a non-empty initiating process parent file name, identifies the most recent event for each device, and then counts how many of these events were initiated by a parent process named <code>python3.6</code>.</p><pre><code class="language-KQL">DeviceNetworkEvents
| where TimeGenerated &gt; ago (30d)
        and isnotempty(InitiatingProcessParentFileName)
| summarize arg_max(TimeGenerated, *) by DeviceName
| summarize Count = countif(InitiatingProcessParentFileName == 'python3.6')</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image-3.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h3 id="-4-grouping">#4 Grouping</h3><p>This KQL 👇 filters network events from the past week (see my blog post about the <a href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-3-where/">where</a> operator), identifies the most recent action type for each device, and then counts how many times each action type occurred</p><pre><code class="language-KQL">DeviceNetworkEvents
| where TimeGenerated &gt; ago(7d)
| summarize arg_max(TimeGenerated,ActionType) by DeviceName
| summarize count() by ActionType</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image-2.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h3 id="-5-calculate-percentage-based-on-two-columns">#5 Calculate percentage based on two columns</h3><p>This KQL  👇 analyzes the connection actions of devices by summarizing the total number of connection attempts, the number of failed and successful connections, and the percentage of failed connections for each device. It then sorts the results by the number of failed connections.</p><pre><code class="language-KQL">DeviceNetworkEvents
| summarize 
    TotalActions = countif(ActionType == 'ConnectionFailed' or ActionType == 'ConnectionSuccess'),
    ConnectionFailed = countif(ActionType == 'ConnectionFailed'),
    ConnectionSuccess = countif(ActionType == 'ConnectionSuccess')
    by DeviceName
| extend PercentFailed = 
    round((todouble(ConnectionFailed) / TotalActions * 100), 2)
| sort by ConnectionFailed</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image-4.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h3 id="-5-visualization">#5 Visualization</h3><p>This KQL 👇 is used to analyze device network events, specifically focusing on connection actions, and then visualize the results using a bar chart.</p><pre><code class="language-KQL">DeviceNetworkEvents
| summarize 
    ConnectionFailed = countif(ActionType == 'ConnectionFailed'),
    ConnectionSuccess = countif(ActionType == 'ConnectionSuccess')
    by DeviceName
| sort by ConnectionFailed
| render barchart </code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/04/image-5.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></figure><h2 id="when-to-use-it-">WHEN TO USE IT:</h2><ul><li>to calculate aggregate values such as counts, sums, averages, minimums, or maximums across different columns.</li><li>to group data by specific columns and perform calculations on each group.</li><li>to reorganize data by converting rows into columns to highlight key patterns and relationships.</li><li>to filter and sort aggregated data to focus on specific insights.</li><li>to optimize query performance by reducing the amount of data processed.</li></ul><h2 id="things-to-keep-in-mind">THINGS TO KEEP IN MIND</h2><ul><li>the <a href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator"><code>summarize</code></a> operator supports various aggregation functions such as <code>count()</code>, <code>sum()</code>, <code>avg()</code>, <code>min()</code>, <code>max()</code>, <code>arg_min()</code>, <code>arg_max()</code>, <code>make_list()</code>, and <code>make_set()</code>. Choose the appropriate function based on the type of analysis you need.</li></ul><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/summarize-operator?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">summarize operator - Kusto</div><div class="kg-bookmark-description">Learn how to use the summarize operator to produce a table that summarizes the content of the input table.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/tutorials/use-aggregation-functions?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Tutorial: Use aggregation functions in Kusto Query Language - Kusto</div><div class="kg-bookmark-description">This tutorial describes how to use aggregation functions in the Kusto Query Language.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></div></a></figure><p><a href="https://sandyzeng.gitbook.io/kql/kql-quick-guide/need-to-practice-more/summarize">https://sandyzeng.gitbook.io/kql/kql-quick-guide/need-to-practice-more/summarize</a></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-3-where/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">KQL - Basics for SOC - Analysts #3 - Where</div><div class="kg-bookmark-description">❕This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage KQL OPERATOR: WHERE
[https://learn.microsoft.com/en-us/kusto/query/where-operator]
Description:
The where [https://learn.microsoft.com/en-us/kusto/query/where-operator…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://it-infrastructure.solutions/favicon.ico" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><span class="kg-bookmark-author">Thomas Bründl</span><span class="kg-bookmark-publisher">IT - Solutions - Blog</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-6.jpg" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/aggregation-functions?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Aggregation Functions - Kusto</div><div class="kg-bookmark-description">Learn how to use aggregation functions to perform calculations on a set of values and return a single value.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #5 - Summarize"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #5 - Summarize"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #0]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h2 id="introduction-">Introduction:</h2><p>The Kusto Query Language, or <strong>KQL</strong> for short, is a powerful query language. It is a domain-driven language (see <a href="https://softengbook.org/articles/ddd">Domain-Driven Design (DDD): A Summary</a>)  specifically designed</p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-0/</link><guid isPermaLink="false">67e9a4d29271dd0001ff0f8e</guid><category><![CDATA[Azure]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Security]]></category><category><![CDATA[KQL]]></category><category><![CDATA[Defender]]></category><category><![CDATA[Sentinel]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Sun, 30 Mar 2025 22:41:32 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/03/azure-2.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #0"></figure><img src="https://it-infrastructure.solutions/content/images/2025/03/azure-2.jpg" alt="KQL - Basics for SOC - Analysts #0"><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h2 id="introduction-">Introduction:</h2><p>The Kusto Query Language, or <strong>KQL</strong> for short, is a powerful query language. It is a domain-driven language (see <a href="https://softengbook.org/articles/ddd">Domain-Driven Design (DDD): A Summary</a>)  specifically designed for querying data and information. As mentioned, it is used to explore and analyse data. It doesn't matter if the data is structured, semi-structured or unstructured. The goal is to identify patterns, detect anomalies and recognise outliers in data series. The goal behind KQL was to develop a language that is easy to understand, read and write, and that allows users to query and interact with data effortlessly.</p><h2 id="fields-of-application-">Fields of application:</h2><p>KQL involves data analysis and aggregation. How can data be related to each other, evaluated, and relationships made visible? Topics such as geodata analysis and vector similarity search, which are particularly important in AI and machine learning, play a role. Time series operators and functions are also included. This means that if data is received over a period of time, whether it's IoT data or telemetry data, it should be analysed over time to identify differences between different time units. It's all about data exploration. Data from different sources should be explored, analysed and hopefully meaningful insights derived.</p><h2 id="microsoft-context-for-kql-">Microsoft context for KQL:</h2><p>Microsoft is using KQL in several environments. Its primary use is in Azure Data Explorer, originally codenamed Kusto after Jacques Cousteau, with the goal of finding data truth in the sea of data. Azure Data Explorer (see <a href="https://learn.microsoft.com/en-us/azure/data-explorer/data-explorer-overview">What is Azure Data Explorer?</a>) evolved from Kusto, but the Kusto query language remains. KQL is still used today in Azure Data Explorer. It is also used in Azure Monitor, specifically in Azure Log Analytics (see <a href="https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview">Log Analytics workspace overview</a>) for log analysis of monitoring data in Microsoft Azure. In addition, KQL is used in Azure Resource Graph (see <a href="https://learn.microsoft.com/en-us/azure/governance/resource-graph/overview">Overview of Azure Resource Graph )</a>, which provides a complete index of Azure resources in the Azure environment. KQL is also used in security environments such as Microsoft Defender Suite (<a href="https://learn.microsoft.com/en-us/defender-xdr/microsoft-365-defender">What is Microsoft Defender XDR? </a>) and Microsoft Sentinel (<a href="https://learn.microsoft.com/en-us/azure/sentinel/overview?tabs=azure-portal">What is Microsoft Sentinel?</a>), to query security alerts. Therefore, it is imperative for SOC analysts to understand and learn KQL.</p><h2 id="fundamentals-of-the-syntax-of-kql-">Fundamentals of the syntax of KQL:</h2><p>Let's take a closer look at the basic syntax of KQL. The first time you use KQL, you need to write a Kusto query. A Kusto query is a <strong>read-only</strong> request for data processing, meaning that it queries a dataset without modifying it. Any changes to the data are made beforehand, during data logging, telemetry or IoT data input. With KQL, data is queried and processed, allowing manipulation, calculations and other necessary operations, but never changing the data source, such as a database. The goal is to present the results in the form of a table, graph, dashboard or similar output. Similar to PowerShell, Kusto Queries uses a <strong>data flow model</strong> known as a <strong>pipe</strong>, where the output of one command serves as the input for the next. This is how Kusto Queries work. It should also be noted that KQL is case sensitive. Upper and lower case must always be respected.</p><h2 id="let-s-take-a-closer-look-at-this-using-an-example-query-leveraging-the-devicenetworkevents-table-">Let's take a closer look at this using an example query (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):</h2><p><br>This KQL query 👇 is used to analyze device network events related to Microsoft OneDrive. It filters the events to include only those where the initiating process's product name is "Microsoft OneDrive." Then, it summarizes the data by counting the occurrences of each action type, resulting in a count of different action types associated with Microsoft OneDrive network events.</p><pre><code class="language-KQL">DeviceNetworkEvents
| where InitiatingProcessVersionInfoProductName == "Microsoft OneDrive"
| summarize ActionTypeCount = count() by ActionType


</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/03/image.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #0"></figure><p>Let's break down the query and look at it step by step.</p><p><strong>1. Table referencing</strong></p><pre><code class="language-KQL">//1
DeviceNetworkEvents 
// Reference to a particular table (DeviceNetworkEvents table | created by MDE (Microsoft Defender for Endpoint))</code></pre><p><strong>2. Filtering</strong></p><pre><code class="language-KQL">//2
| where InitiatingProcessVersionInfoProductName == "Microsoft OneDrive" 
// In this step, the entire table dataset of the last 24 hours is passed from the DeviceNetworkEvents table via a pipe '|', then a filter is set up with 'where', which specifies that we are only interested in values from the column 'InitiatingProcessVersionInfoProductName' with the value 'Microsoft OneDrive'.</code></pre><p><strong>3. Aggregation</strong></p><pre><code class="language-KQL">//3
| summarize ActionTypeCount = count() by ActionType
// In the final step, the now filtered data is passed on again to a pipe '|' and aggregated. This is done by summarising and counting the data in individual action types.</code></pre><p>It has been demonstrated that the pipeline notation, symbolised by the vertical bar "|", is used, so that the output of the first operator, e.g. <code>DeviceNetworkEvents</code>, is the input of the next operator, <code>where InitiatingProcessVersionInfoProductName == 'Microsoft OneDrive'</code>.Without this pipe and without passing on the data, this entire command would not work. And because the whole thing is nicely filled with comments, we have also seen that we can add comments to our KQL queries using the double slash.</p><h2 id="syntax-rules-see-kql-quick-reference-">Syntax rules (see <a href="https://learn.microsoft.com/en-us/kusto/query/kql-quick-reference">KQL quick reference</a>):<br></h2><ul><li><code>Block</code> - a string that has to be entered like this</li><li><em>italics - p</em>arameter that has to be transferred for use</li><li>[] - optional values</li><li>() - at least one value required</li><li>| (pipe) - when used within [] or () as logical OR, otherwise KQL query pipe</li><li>[,....] - previous parameter can be repeated comma-separated</li><li>; - query terminator</li></ul><p><br><strong>Example leveraging the <a href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-2-search/">Search </a>Operator:</strong></p><pre><code class="language-KQL">[TabularSource |] search [kind=CaseSensitivity] [in (TableSources)] SearchPredicate</code></pre><p><strong>Example leveraging the <a href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-3-where/">Where </a>Operator:</strong></p><pre><code class="language-KQL">T | where Predicate</code></pre><p>For more see <a href="https://learn.microsoft.com/en-us/kusto/query/kql-quick-reference">KQL quick reference</a>.</p><h2 id="references-">References:</h2><ul><li><a href="https://softengbook.org/articles/ddd">Domain-Driven Design (DDD): A Summary – Software Engineering: A Modern Approach</a></li><li><a href="https://learn.microsoft.com/en-us/azure/data-explorer/data-explorer-overview">What is Azure Data Explorer? - Azure Data Explorer | Microsoft Learn</a></li><li><a href="https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-workspace-overview">Log Analytics workspace overview - Azure Monitor | Microsoft Learn</a></li><li><a href="https://learn.microsoft.com/en-us/azure/governance/resource-graph/overview">Overview of Azure Resource Graph - Azure Resource Graph | Microsoft Learn</a></li><li><a href="https://learn.microsoft.com/en-us/defender-xdr/microsoft-365-defender">What is Microsoft Defender XDR? - Microsoft Defender XDR | Microsoft Learn</a></li><li><a href="https://learn.microsoft.com/en-us/azure/sentinel/overview?tabs=azure-portal">What is Microsoft Sentinel? | Microsoft Learn</a></li></ul><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #0"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #0"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/kql-quick-reference?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">KQL quick reference - Kusto</div><div class="kg-bookmark-description">A list of useful KQL functions and their definitions with syntax examples.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #0"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft Learn</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #0"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-2-search/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">KQL - Basics for SOC - Analysts #2 - Search</div><div class="kg-bookmark-description">‌❕This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage KQL OPERATOR: SEARCH
[https://learn.microsoft.com/en-us/kusto/query/search-operator]
Description:
The search [https://learn.microsoft.com/en-us/kusto/query/search-operator…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://it-infrastructure.solutions/favicon.ico" alt="KQL - Basics for SOC - Analysts #0"><span class="kg-bookmark-author">Thomas Bründl</span><span class="kg-bookmark-publisher">IT - Solutions - Blog</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-4.jpg" alt="KQL - Basics for SOC - Analysts #0"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-3-where/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">KQL - Basics for SOC - Analysts #3 - Where</div><div class="kg-bookmark-description">❕This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage KQL OPERATOR: WHERE
[https://learn.microsoft.com/en-us/kusto/query/where-operator]
Description:
The where [https://learn.microsoft.com/en-us/kusto/query/where-operator…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://it-infrastructure.solutions/favicon.ico" alt="KQL - Basics for SOC - Analysts #0"><span class="kg-bookmark-author">Thomas Bründl</span><span class="kg-bookmark-publisher">IT - Solutions - Blog</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-6.jpg" alt="KQL - Basics for SOC - Analysts #0"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Threat Intelligence in Sentinel]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image"></figure><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-1.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-2.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-3.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-4.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-5.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-6.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-7.png" class="kg-image"></figure><hr><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-8.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-9.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-10.png" class="kg-image"></figure><pre><code>Friendly name (for server): Alienvault-Demo
API root URL: https://otx.alienvault.com/taxii/root
Collection ID: user_AlienVault
Username: -
Password: -</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-11.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-12.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-14.png" class="kg-image"></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.microsoft.com/en-us/security/business/siem-and-xdr/microsoft-defender-threat-intelligence"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Microsoft Defender Threat Intelligence | Microsoft</div></div></a></figure>]]></description><link>https://it-infrastructure.solutions/threat-intelligence-in-sentinel/</link><guid isPermaLink="false">6701a9189271dd0001ff0982</guid><category><![CDATA[Cloud]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Security]]></category><category><![CDATA[Sentinel]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Wed, 26 Mar 2025 12:31:54 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/03/azure.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><img src="https://it-infrastructure.solutions/content/images/2025/03/azure.jpg" alt="Threat Intelligence in Sentinel"><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-1.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-2.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-3.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-4.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-5.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-6.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-7.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><hr><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-8.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-9.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-10.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><pre><code>Friendly name (for server): Alienvault-Demo
API root URL: https://otx.alienvault.com/taxii/root
Collection ID: user_AlienVault
Username: -
Password: -</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-11.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-12.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/10/image-14.png" class="kg-image" alt="Threat Intelligence in Sentinel"></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.microsoft.com/en-us/security/business/siem-and-xdr/microsoft-defender-threat-intelligence"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Microsoft Defender Threat Intelligence | Microsoft Security</div><div class="kg-bookmark-description">Microsoft Defender Threat Intelligence is a dynamic threat intelligence solution that helps protect your organization from modern cyberthreats and exposure.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.microsoft.com/favicon.ico" alt="Threat Intelligence in Sentinel"><span class="kg-bookmark-publisher">Microsoft SecurityYour Privacy Choices Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://img-prod-cms-rt-microsoft-com.akamaized.net/cms/api/am/imageFileData/RE1Mu3b?ver=5c31" alt="Threat Intelligence in Sentinel"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://pulsedive.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Threat Intelligence - Pulsedive</div><div class="kg-bookmark-description">Pulsedive is a free threat intelligence platform. Search, scan, and enrich IPs, URLs, domains and other IOCs from OSINT feeds or submit your own.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://pulsedive.com/img/favicon.png" alt="Threat Intelligence in Sentinel"><span class="kg-bookmark-author">Pulsedive</span><span class="kg-bookmark-publisher">Pulsedive logo</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://pulsedive.com/img/opengraph/home.jpg" alt="Threat Intelligence in Sentinel"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://otx.alienvault.com/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">LevelBlue - Open Threat Exchange</div><div class="kg-bookmark-description">Learn about the latest cyber threats. Research, collaborate, and share threat intelligence in real time. Protect yourself and the community against today’s emerging threats.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://otx.alienvault.com/favicon.ico" alt="Threat Intelligence in Sentinel"><span class="kg-bookmark-publisher">LevelBlue Open Threat Exchange</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://otx.alienvault.com/assets/images/otx-logo-twitter.png" alt="Threat Intelligence in Sentinel"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #4 - Distinct]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-distinct">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator">DISTINCT</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator">distinct</a></code> operator in Kusto Query Language (KQL) is used to extract unique values from one or more columns. For a security analyst</p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-4-distinct/</link><guid isPermaLink="false">679bf6b49271dd0001ff0f19</guid><category><![CDATA[Azure]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Security]]></category><category><![CDATA[KQL]]></category><category><![CDATA[Sentinel]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Thu, 30 Jan 2025 22:21:04 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/01/azure-8.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #4 - Distinct"></figure><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-8.jpg" alt="KQL - Basics for SOC - Analysts #4 - Distinct"><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-distinct">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator">DISTINCT</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator">distinct</a></code> operator in Kusto Query Language (KQL) is used to extract unique values from one or more columns. For a security analyst working with Microsoft Defender for Endpoint (MDE), this operator allows the identification of unique patterns or indicators in the data.</p><h2 id="syntax-">Syntax:</h2><pre><code class="language-KQL">T | distinct ColumnName[,ColumnName2, ...]</code></pre><h2 id="use-cases-leveraging-the-devicenetworkevents-table-">Use-Cases (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):<br></h2><h3 id="-1-basic-usage-">#1 Basic usage:</h3><p>This command 👇 returns all unique RemoteIP addresses from the DeviceNetworkEvents table.</p><pre><code class="language-KQL">DeviceNetworkEvents 
| distinct RemoteIP</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-15.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #4 - Distinct"></figure><h3 id="-2-combination-of-columns-">#2  Combination of columns:</h3><p>This 👇 provides the analyst with a list of all unique combinations of RemoteIP and ActionType.</p><pre><code class="language-KQL">DeviceNetworkEvents 
| distinct RemoteIP, ActionType</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-16.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #4 - Distinct"></figure><h2 id="when-to-use-it-">WHEN TO USE IT:</h2><ul><li>to identify unique patterns or indicators in the data.</li><li>to eliminate redundancies in the data and simplify the analysis.</li></ul><h2 id="things-to-keep-in-mind">THINGS TO KEEP IN MIND</h2><ul><li>When using the <code><a href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator">distinct</a></code> operator on multiple columns, a combination of the values in these columns is considered as unique.</li></ul><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/distinct-operator?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">distinct operator - Kusto</div><div class="kg-bookmark-description">Learn how to use the distinct operator to create a table with the distinct combination of the columns of the input table.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #4 - Distinct"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #4 - Distinct"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #4 - Distinct"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #4 - Distinct"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #3 - Where]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-where">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/where-operator">WHERE</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/where-operator">where</a></code> operator in Kusto Query Language (KQL) is used to filter data based on specific criteria. For a security analyst working with</p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-3-where/</link><guid isPermaLink="false">67977e489271dd0001ff0e41</guid><category><![CDATA[KQL]]></category><category><![CDATA[Security]]></category><category><![CDATA[Azure]]></category><category><![CDATA[Microsoft]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Mon, 27 Jan 2025 13:12:54 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/01/azure-6.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #3 - Where"></figure><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-6.jpg" alt="KQL - Basics for SOC - Analysts #3 - Where"><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-where">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/where-operator">WHERE</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/where-operator">where</a></code> operator in Kusto Query Language (KQL) is used to filter data based on specific criteria. For a security analyst working with Microsoft Defender for Endpoint (MDE), this operator is essential for identifying and analysing specific events or patterns in the data.</p><h2 id="syntax">Syntax</h2><pre><code class="language-KQL">T | where Predicate</code></pre><h2 id="use-cases-leveraging-the-devicenetworkevents-table-">Use-Cases (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):</h2><p></p><h3 id="-1-basic-usage-">#1 Basic usage:</h3><p>This command 👇 filters all network events where the remote IP is "192.168.50.1"</p><pre><code class="language-KQL">DeviceNetworkEvents | where RemoteIP == '192.168.50.1'</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-9.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #3 - Where"></figure><h3 id="-2-search-for-specific-action-types-">#2 Search for specific action types:</h3><p>With this 👇, the analyst receives all network events where the action was 'HttpConnectionInspected'.</p><pre><code class="language-KQL"> DeviceNetworkEvents 
| where ActionType == "HttpConnectionInspected"</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-10.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #3 - Where"></figure><h2 id="when-to-use-it-">WHEN TO USE IT:</h2><ul><li>to identify and analyse specific events or patterns</li><li>in combination with other operators to create complex queries.</li></ul><h2 id="things-to-keep-in-mind-">THINGS TO KEEP IN MIND:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/where-operator">where</a></code>operator can affect performance, especially with large amounts of data. It is advisable to make the query as specific as possible.</p><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/training/modules/construct-kusto-query-language-statements/4-use-where-operator"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Use the where operator - Training | Microsoft Learn</div><div class="kg-bookmark-description">Use the where operator</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #3 - Where"><span class="kg-bookmark-author">wwlpublish</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #3 - Where"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/where-operator?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">where operator - Kusto</div><div class="kg-bookmark-description">Learn how to use the where operator to filter a table to the subset of rows that satisfy a predicate.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #3 - Where"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #3 - Where"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #3 - Where"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #3 - Where"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #2 - Search]]></title><description><![CDATA[<p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-search">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/search-operator">SEARCH</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/search-operator">search</a></code> operator in Kusto Query Language (KQL) allows you to search for a specific text or value across the entire database or</p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-2-search/</link><guid isPermaLink="false">67901c0f9271dd0001ff0dc7</guid><category><![CDATA[Azure]]></category><category><![CDATA[Security]]></category><category><![CDATA[Sentinel]]></category><category><![CDATA[KQL]]></category><category><![CDATA[XDR]]></category><category><![CDATA[Hunting]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Tue, 21 Jan 2025 22:42:21 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/01/azure-4.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://it-infrastructure.solutions/content/images/2025/01/azure-4.jpg" alt="KQL - Basics for SOC - Analysts #2 - Search"><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #2 - Search"></figure><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-search">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/search-operator">SEARCH</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/search-operator">search</a></code> operator in Kusto Query Language (KQL) allows you to search for a specific text or value across the entire database or within specific tables. For a security analyst working with Microsoft Defender for Endpoint (MDE), this operator is particularly useful for quickly finding relevant information about a specific indicator or threat.</p><h2 id="syntax">Syntax</h2><pre><code class="language-KQL">[T |] search [kind= CaseSensitivity ] [in (TableSources)] SearchPredicate</code></pre><h2 id="use-cases-leveraging-the-devicenetworkevents-table-">Use-Cases (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):<br></h2><h3 id="-1-basic-usage-">#1 Basic usage:</h3><p>This command 👇 searches for the value "192.168.1.1" in all tables and returns all related events.</p><pre><code class="language-KQL">search "192.168.1.1"</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-7.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #2 - Search"></figure><h3 id="-2-search-for-specific-action-types-">#2 Search for specific action types:</h3><p>With this 👇, the analyst receives all network events where the action was 'HttpConnectionInspected'.</p><pre><code class="language-KQL"> DeviceNetworkEvents 
| search "HttpConnectionInspected"
| take 5</code></pre><p><strong>✏️ Note: </strong>If you want to learn more about the <code><a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">take</a></code> operator, follow this <a href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-1/">link</a> to a previously created blog post.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-8.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #2 - Search"></figure><h2 id="when-to-use-it-">WHEN TO USE IT:</h2><ul><li>to quickly find relevant information about a specific indicator or threat.</li><li>in combination with other operators, to define specific search criteria.</li></ul><h2 id="things-to-keep-in-mind">THINGS TO KEEP IN MIND</h2><ul><li>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/search-operator">search</a></code> operator scans the entire database or table, which can lead to performance issues with large amounts of data. </li><li>It is important to narrow down the search scope as much as possible to increase efficiency.</li></ul><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/search-operator?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">search operator - Kusto</div><div class="kg-bookmark-description">Learn how to use the search operator to search for a text pattern in multiple tables and columns.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #2 - Search"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #2 - Search"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #2 - Search"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #2 - Search"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://it-infrastructure.solutions/kql-basics-for-soc-analysts-1/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">KQL - Basics for SOC - Analysts #1</div><div class="kg-bookmark-description">‌❕This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage KQL OPERATOR: TAKE [https://learn.microsoft.com/en-us/kusto/query/take-operator]
Description:
The take operator in Kusto Query Language (KQL) is used t…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://it-infrastructure.solutions/favicon.ico" alt="KQL - Basics for SOC - Analysts #2 - Search"><span class="kg-bookmark-author">Thomas Bründl</span><span class="kg-bookmark-publisher">IT - Solutions - Blog</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-2.jpg" alt="KQL - Basics for SOC - Analysts #2 - Search"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/training/modules/construct-kusto-query-language-statements/3-use-search-operator"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Use the search operator - Training | Microsoft Learn</div><div class="kg-bookmark-description">Use the search operator</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #2 - Search"><span class="kg-bookmark-author">wwlpublish</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #2 - Search"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[KQL - Basics for SOC - Analysts #1 - Take]]></title><description><![CDATA[<h2></h2><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image"></figure><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-take">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">TAKE</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">take</a></code> operator in Kusto Query Language (KQL) is used to extract a specific number of rows from a dataset. <br><br>For a security</p>]]></description><link>https://it-infrastructure.solutions/kql-basics-for-soc-analysts-1-take/</link><guid isPermaLink="false">678aead19271dd0001ff0cea</guid><category><![CDATA[Azure]]></category><category><![CDATA[Security]]></category><category><![CDATA[Sentinel]]></category><category><![CDATA[KQL]]></category><category><![CDATA[XDR]]></category><category><![CDATA[Hunting]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Sat, 18 Jan 2025 00:30:41 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/01/azure-2.jpg" medium="image"/><content:encoded><![CDATA[<h2></h2><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-1.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #1 - Take"></figure><img src="https://it-infrastructure.solutions/content/images/2025/01/azure-2.jpg" alt="KQL - Basics for SOC - Analysts #1 - Take"><p>‌<em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h1 id="kql-operator-take">KQL OPERATOR: <a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">TAKE</a></h1><h2 id="description-">Description:</h2><p>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">take</a></code> operator in Kusto Query Language (KQL) is used to extract a specific number of rows from a dataset. <br><br>For a security analyst working with Microsoft Defender for Endpoint (MDE), this operator is particularly useful for quickly previewing suspicious or relevant network events.</p><h2 id="syntax">Syntax</h2><pre><code class="language-KQL">take NumberOfRows</code></pre><h2 id="use-cases-leveraging-the-devicenetworkevents-table-">Use-Cases (leveraging the <a href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table">DeviceNetworkEvents </a>Table):<br></h2><h3 id="-1-basic-usage-">#1 Basic usage:</h3><p>This command 👇 displays the first 5 network events from the<br>DeviceNetworkEvents table. This gives the analyst a quick overview<br>overview of the latest network activities.</p><pre><code class="language-KQL">DeviceNetworkEvents 
| sort by Timestamp 
| take 5</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-3.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #1 - Take"></figure><h3 id="-2-search-for-specific-action-types-">#2 Search for specific action types:</h3><p>This 👇 gives the analyst the first 5 network events for which the action was<br>was '<strong>HttpConnectionInspected</strong>'. This can be useful to quickly analyse<br>the latest web activities.</p><pre><code class="language-KQL">DeviceNetworkEvents 
| sort by Timestamp
| where ActionType == 'HttpConnectionInspected'
| take 5</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-4.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #1 - Take"></figure><h3 id="-3-combined-with-ip-filter-">#3 Combined with IP filter:</h3><p>With this 👇 query, the Analyst can display the first 5 network events that<br>occurred from or to a specific IP address (in this case 192.168.1.1).<br>have taken place.</p><pre><code class="language-KQL">DeviceNetworkEvents
| sort by Timestamp 
| where RemoteIP == '23.202.169.49' 
| take 5</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image-6.png" class="kg-image" alt="KQL - Basics for SOC - Analysts #1 - Take"></figure><h2 id="when-to-use-it-">WHEN TO USE IT:</h2><ul><li>to get a quick preview of the latest or most relevant network events. </li><li>in combination with filters to identify a limited number of relevant events.</li></ul><h2 id="things-to-keep-in-mind">THINGS TO KEEP IN MIND</h2><ul><li>The <code><a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">take</a></code> operator returns the rows in the order in which they appear in the data set. If a specific order is required, you should use the sort operator first.</li><li>When using take in combination with other operators the order is important. The take operator should always be placed after the filter and sort operators.</li></ul><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/kusto/query/top-operator?view=microsoft-fabric"><div class="kg-bookmark-content"><div class="kg-bookmark-title">top operator - Kusto</div><div class="kg-bookmark-description">Learn how to use the top operator to return the first specified number of records sorted by the specified column.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #1 - Take"><span class="kg-bookmark-author">shsagir</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #1 - Take"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/defender-xdr/advanced-hunting-devicenetworkevents-table"><div class="kg-bookmark-content"><div class="kg-bookmark-title">DeviceNetworkEvents table in the advanced hunting schema - Microsoft Defender XDR</div><div class="kg-bookmark-description">Learn about network connection events you can query from the DeviceNetworkEvents table of the advanced hunting schema</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="KQL - Basics for SOC - Analysts #1 - Take"><span class="kg-bookmark-author">schmurky</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="KQL - Basics for SOC - Analysts #1 - Take"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-15.png" class="kg-image"></figure><p>This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage.</p><h2 id="setting-up-the-environment-">Setting up the environment:</h2><p>Return to the Dataexplorer and the Cluster, you created in the <a href="https://it-infrastructure.solutions/kusto-detective-agency-part1/">onboarding challange</a>:</p><p><a href="https://dataexplorer.azure.com/home">https://dataexplorer.azure.com/home</a></p><p>Script to be executed:</p><pre><code class="language-KQL">.execute</code></pre>]]></description><link>https://it-infrastructure.solutions/kusto-detective-agency-part-5-challenge-3-bank-robbery/</link><guid isPermaLink="false">6788209c9271dd0001ff0cb6</guid><category><![CDATA[Azure]]></category><category><![CDATA[KQL]]></category><category><![CDATA[Cloud]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Wed, 15 Jan 2025 21:32:45 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2025/01/azure.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-15.png" class="kg-image" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"></figure><img src="https://it-infrastructure.solutions/content/images/2025/01/azure.jpg" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"><p>This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage.</p><h2 id="setting-up-the-environment-">Setting up the environment:</h2><p>Return to the Dataexplorer and the Cluster, you created in the <a href="https://it-infrastructure.solutions/kusto-detective-agency-part1/">onboarding challange</a>:</p><p><a href="https://dataexplorer.azure.com/home">https://dataexplorer.azure.com/home</a></p><p>Script to be executed:</p><pre><code class="language-KQL">.execute database script &lt;|
// Create the table with the traffic information.
// The data loading process estimated to take ~3-4min to complete (114M+ rows of data).
// Notes: VIN - is Vehicle ID 
.create-merge table Traffic (Timestamp:datetime, VIN:string, Ave:int, Street:int)
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00000.csv.gz')
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00001.csv.gz')
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00002.csv.gz')</code></pre><h2 id="the-challenge-">The Challenge:</h2><p></p><p></p><pre><code>.execute database script &lt;|
//Create table for the data
.create-merge table PrimeNumbers(Number:long)
//Import data
.ingest into table PrimeNumbers ('https://kustodetectiveagency.blob.core.windows.net/prime-numbers/prime-numbers.csv.gz')</code></pre><p></p><pre><code>let check_special_primes = (PrimeNumbers
| sort by Number asc
| extend previous_number = prev(Number)
| extend check_special_prime = toint(Number)+toint(previous_number)+1
| where check_special_prime &lt; 100000000 and check_special_prime &gt; 99000000);
PrimeNumbers
| where Number &lt; 100000000 and Number &gt; 99000000
| join kind=inner (check_special_primes) on $left.Number == $right.check_special_prime
| project special_prime_highest = Number
| order by special_prime_highest desc 
| take 1</code></pre><p><a href="https://it-infrastructure.solutions/kusto-detective-agency-part-5-challenge-3-bank-robbery/aka.ms/99999517">aka.ms/99999517</a></p><pre><code>.execute database script &lt;|
// The data below is from https://data.cityofnewyork.us/Environment/2015-Street-Tree-Census-Tree-Data/uvpi-gqnh 
// The size of the tree can be derived using 'tree_dbh' (tree diameter) column.
.create-merge table nyc_trees 
       (tree_id:int, block_id:int, created_at:datetime, tree_dbh:int, stump_diam:int, 
curb_loc:string, status:string, health:string, spc_latin:string, spc_common:string, steward:string,
guards:string, sidewalk:string, user_type:string, problems:string, root_stone:string, root_grate:string,
root_other:string, trunk_wire:string, trnk_light:string, trnk_other:string, brch_light:string, brch_shoe:string,
brch_other:string, address:string, postcode:int, zip_city:string, community_board:int, borocode:int, borough:string,
cncldist:int, st_assem:int, st_senate:int, nta:string, nta_name:string, boro_ct:string, ['state']:string,
latitude:real, longitude:real, x_sp:real, y_sp:real, council_district:int, census_tract:int, ['bin']:int, bbl:long)
with (docstring = "2015 NYC Tree Census")
.ingest async into table nyc_trees ('https://kustodetectiveagency.blob.core.windows.net/el-puente/1.csv.gz')
.ingest async into table nyc_trees ('https://kustodetectiveagency.blob.core.windows.net/el-puente/2.csv.gz')
.ingest async into table nyc_trees ('https://kustodetectiveagency.blob.core.windows.net/el-puente/3.csv.gz')
// Get a virtual tour link with Latitude/Longitude coordinates
.create-or-alter function with (docstring = "Virtual tour starts here", skipvalidation = "true") VirtualTourLink(lat:real, lon:real) { 
	print Link=strcat('https://www.google.com/maps/@', lat, ',', lon, ',4a,75y,32.0h,79.0t/data=!3m7!1e1!3m5!1s-1P!2e0!5s20191101T000000!7i16384!8i8192')
}
// Decrypt message helper function. Usage: print Message=Decrypt(message, key)
.create-or-alter function with 
  (docstring = "Use this function to decrypt messages")
  Decrypt(_message:string, _key:string) { 
    let S = (_key:string) {let r = array_concat(range(48, 57, 1), range(65, 92, 1), range(97, 122, 1)); 
    toscalar(print l=r, key=to_utf8(hash_sha256(_key)) | mv-expand l to typeof(int), key to typeof(int) | order by key asc | summarize make_string(make_list(l)))};
    let cypher1 = S(tolower(_key)); let cypher2 = S(toupper(_key)); coalesce(base64_decode_tostring(translate(cypher1, cypher2, _message)), "Failure: wrong key")
}</code></pre><pre><code>nyc_trees
| where spc_common == "American linden"
| extend h3cell = geo_point_to_h3cell(longitude,latitude,10)
| where h3cell == "8a2a100dec9ffff"
| sort by tree_dbh asc
| project tree_id, tree_dbh, latitude,longitude</code></pre><pre><code>print Message=Decrypt(@"20INznpGzmkmK2NlZ0JILtO4OoYhOoYUB0OrOoTl5mJ3KgXrB0[8LTSSXUYhzUY8vmkyKUYevUYrDgYNK07yaf7soC3kKgMlOtHkLt[kZEclBtkyOoYwvtJGK2YevUY[v65iLtkeLEOhvtNlBtpizoY[v65yLdOkLEOhvtNlDn5lB07lOtJIDmllzmJ4vf7soCpiLdYIK0[eK27soleqO6keDpYp2CeH5d\F\fN6aQT6aQL[aQcUaQc[aQ57aQ5[aQDG", "ASHES to ASHES")</code></pre><h2 id="references-">References:</h2><figure class="kg-card kg-embed-card"><blockquote class="wp-embedded-content" data-secret="rc1XfcqdFp"><a href="https://www.opsman.co.za/kusto-detective-agency-challenge-4-ready-to-play/">Kusto Detective Agency: Challenge 4 &#8211; Ready to play?</a></blockquote><iframe sandbox="allow-scripts" security="restricted" src="https://www.opsman.co.za/kusto-detective-agency-challenge-4-ready-to-play/embed/#?secret=rc1XfcqdFp" width="600" height="338" title="&#8220;Kusto Detective Agency: Challenge 4 &#8211; Ready to play?&#8221; &#8212; OpsMan" data-secret="rc1XfcqdFp" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe><script type="text/javascript">
/* <![CDATA[ */
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
/* ]]]]><![CDATA[> */
</script>
</figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://msazure.club/kusto-detective-agency-case-4/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Kusto Detective Agency Case 4</div><div class="kg-bookmark-description">El Puente - Ready to play? Hello. I have been watching you, and I am pretty impressed with your abilities of hacking and cracking little crimes.
Want to play big? Here is a prime puzzle for you. Find what it means and prove yourself worthy. 20INznpGzmkmK2NlZ0JILtO4OoYhOoYUB0OrOoTl5mJ3KgXrB0[8LTS…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://msazure.club/content/images/size/w256h256/2018/05/azure-icon-250x250.png" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"><span class="kg-bookmark-author">Yingting Huang</span><span class="kg-bookmark-publisher">Unofficial Azure Club</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://images.unsplash.com/photo-1613601084252-6ac0b63f9d0b?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=MnwxMTc3M3wwfDF8c2VhcmNofDN8fGF6dXJlfGVufDB8fHx8MTY3Mzc1OTc5OQ&amp;ixlib=rb-4.0.3&amp;q=80&amp;w=2000" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://sbasu7241.medium.com/kusto-detective-agency-ready-to-play-part-4-of-5-ffb664038293"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Kusto Detective Agency — Ready to Play (Part 4 of 5)</div><div class="kg-bookmark-description">While browsing twitter, I came across Kusto Detective Agency — a gamified way of learning Kusto Query Language (KQL). There are a set of five challenges that participants are required to solve using…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"><span class="kg-bookmark-author">Soumyadeep Basu</span><span class="kg-bookmark-publisher">Medium</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://miro.medium.com/v2/resize:fit:600/0*VsYlWV5B8WFzy0NT.png" alt="Kusto Detective Agency (Part 5) - Challenge 4: Ready to Play"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-15.png" class="kg-image"></figure><p>This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage.</p><h2 id="setting-up-the-environment-">Setting up the environment:</h2><p>Return to the Dataexplorer and the Cluster, you created in the <a href="https://it-infrastructure.solutions/kusto-detective-agency-part1/">onboarding challange</a>:</p><p><a href="https://dataexplorer.azure.com/home">https://dataexplorer.azure.com/home</a></p><p>Script to be executed:</p><pre><code class="language-KQL">.execute</code></pre>]]></description><link>https://it-infrastructure.solutions/kusto-detective-agency-part-4/</link><guid isPermaLink="false">63c9621a0c90a90001104c48</guid><category><![CDATA[Azure]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[KQL]]></category><category><![CDATA[Azure Data Explorer]]></category><category><![CDATA[Learning]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Wed, 15 Jan 2025 20:42:30 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2023/01/azure-2.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-15.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><img src="https://it-infrastructure.solutions/content/images/2023/01/azure-2.jpg" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"><p>This article has not been completed yet. However, it may already contain helpful Information and therefore it has been published at this stage.</p><h2 id="setting-up-the-environment-">Setting up the environment:</h2><p>Return to the Dataexplorer and the Cluster, you created in the <a href="https://it-infrastructure.solutions/kusto-detective-agency-part1/">onboarding challange</a>:</p><p><a href="https://dataexplorer.azure.com/home">https://dataexplorer.azure.com/home</a></p><p>Script to be executed:</p><pre><code class="language-KQL">.execute database script &lt;|
// Create the table with the traffic information.
// The data loading process estimated to take ~3-4min to complete (114M+ rows of data).
// Notes: VIN - is Vehicle ID 
.create-merge table Traffic (Timestamp:datetime, VIN:string, Ave:int, Street:int)
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00000.csv.gz')
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00001.csv.gz')
.ingest async into table Traffic (@'https://kustodetectiveagency.blob.core.windows.net/digitown-traffic/log_00002.csv.gz')</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-16.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><h2 id="the-challenge-">The Challenge:</h2><pre><code class="language-Text">We have a situation, rookie.
As you may have heard from the news, there was a bank robbery earlier today.
In short: the good old downtown bank located at 157th Ave / 148th Street has been robbed.
The police were too late to arrive and missed the gang, and now they have turned to us to help locating the gang.
No doubt the service we provided to the mayor Mrs. Gaia Budskott in past - helped landing this case on our table now.

Here is a precise order of events:

08:17AM: A gang of three armed men enter a bank located at 157th Ave / 148th Street and start collecting the money from the clerks.
08:31AM: After collecting a decent loot (est. 1,000,000$ in cash), they pack up and get out.
08:40AM: Police arrives at the crime scene, just to find out that it is too late, and the gang is not near the bank. The city is sealed - all vehicles are checked, robbers can't escape. Witnesses tell about a group of three men splitting into three different cars and driving away.
11:10AM: After 2.5 hours of unsuccessful attempts to look around, the police decide to turn to us, so we can help in finding where the gang is hiding.

Police gave us a data set of cameras recordings of all vehicles and their movements from 08:00AM till 11:00AM. Find it below.

Let's cut to the chase. It's up to you to locate gang’s hiding place!
Don't let us down!</code></pre><p><em>Info: Each challenge has up to three hints that can be accessed through the hints section of your Detective UI.</em></p><h3 id="query-hint-">Query Hint:</h3><p>The trick with this challenge is you need to be able to create a set of vehicles that weren’t moving during the robbery, of course the catch is that only moving vehicles have records in the traffic data. KQL commands that will be useful for this challenge are <strong>join</strong>, remember that there are different kinds of joins and <strong>arg_max</strong><br></p><p>Let's get started.</p><p>First we have to analyze the data and structure.</p><p>Operator involved: <code><a href="https://learn.microsoft.com/en-us/kusto/query/take-operator">take</a></code></p><pre><code class="language-KQL"># Step 1

# Show 10 entries of the Traffic table

Traffic | take 10</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2025/01/image.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><p>Next we have to filter for a specific street and avenue as well time range.<br>For this we use the <a href="https://learn.microsoft.com/en-us/kusto/query/where-operator"><code>where</code></a> and  <a href="https://learn.microsoft.com/en-us/kusto/query/join-leftanti"><code>join (kind=leftanti)</code></a> operator.</p><pre><code class="language-KQL"># Step 2

# This query retrieves traffic data for a specific street and avenue within a 
# specific time range (08:31:00 to 08:40:00) and excludes any data that also 
# appears in an earlier time range (08:17:00 to 08:31:00) based on the VIN 
# column.

Traffic
| where Street == 148 and Ave == 157
| where Timestamp &gt; datetime(2022-10-16T08:31:00Z) and Timestamp &lt; datetime(2022-10-16T08:40:00Z)
| join kind=leftanti ( Traffic | where Timestamp &gt;= datetime(2022-10-16T08:17:00Z) and Timestamp &lt;= datetime(2022-10-16T08:31:00Z)) on VIN

</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-18.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-19.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2023/01/image-20.png" class="kg-image" alt="Kusto Detective Agency (Part 4) - Challenge 3: Bank robbery"></figure><h2 id="references-">References:</h2><figure class="kg-card kg-embed-card"><blockquote class="wp-embedded-content" data-secret="2A6ed1SG3B"><a href="https://www.opsman.co.za/kusto-detective-agency-challenge-2-election-fraud-in-digitown/">Kusto Detective Agency: Challenge 2 &#8211; Election fraud in Digitown!</a></blockquote><iframe sandbox="allow-scripts" security="restricted" src="https://www.opsman.co.za/kusto-detective-agency-challenge-2-election-fraud-in-digitown/embed/#?secret=2A6ed1SG3B" width="600" height="338" title="&#8220;Kusto Detective Agency: Challenge 2 &#8211; Election fraud in Digitown!&#8221; &#8212; OpsMan" data-secret="2A6ed1SG3B" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe><script type="text/javascript">
/*! This file is auto-generated */
!function(c,l){"use strict";var e=!1,o=!1;if(l.querySelector)if(c.addEventListener)e=!0;if(c.wp=c.wp||{},c.wp.receiveEmbedMessage);else if(c.wp.receiveEmbedMessage=function(e){var t=e.data;if(!t);else if(!(t.secret||t.message||t.value));else if(/[^a-zA-Z0-9]/.test(t.secret));else{for(var r,s,a,i=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),n=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),o=0;o<n.length;o++)n[o].style.display="none";for(o=0;o<i.length;o++)if(r=i[o],e.source!==r.contentWindow);else{if(r.removeAttribute("style"),"height"===t.message){if(1e3<(s=parseInt(t.value,10)))s=1e3;else if(~~s<200)s=200;r.height=s}if("link"===t.message)if(s=l.createElement("a"),a=l.createElement("a"),s.href=r.getAttribute("src"),a.href=t.value,a.host===s.host)if(l.activeElement===r)c.top.location.href=t.value}}},e)c.addEventListener("message",c.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",t,!1),c.addEventListener("load",t,!1);function t(){if(o);else{o=!0;for(var e,t,r,s=-1!==navigator.appVersion.indexOf("MSIE 10"),a=!!navigator.userAgent.match(/Trident.*rv:11\./),i=l.querySelectorAll("iframe.wp-embedded-content"),n=0;n<i.length;n++){if(!(r=(t=i[n]).getAttribute("data-secret")))r=Math.random().toString(36).substr(2,10),t.src+="#?secret="+r,t.setAttribute("data-secret",r);if(s||a)(e=t.cloneNode(!0)).removeAttribute("security"),t.parentNode.replaceChild(e,t);t.contentWindow.postMessage({message:"ready",secret:r},"*")}}}}(window,document);
</script>
</figure><p><a href="https://it-infrastructure.solutions/kusto-detective-agency-part1/">https://it-infrastructure.solutions/kusto-detective-agency-part1/</a></p>]]></content:encoded></item><item><title><![CDATA[Azure Sentinel - SampleData-as-a-service solution]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image"></figure><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h3 id="setting-up-an-automation-account">Setting up an Automation Account</h3><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-140.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-141.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-142.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-143.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-144.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-145.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-146.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-147.png" class="kg-image"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-149.png" class="kg-image"></figure><h3 id="necessary-permission-rbac-adjustments">Necessary Permission (RBAC) adjustments</h3><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-158.png" class="kg-image"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Instead of &quot;Monitoring Analytics Contributor&quot;, you should look for the &quot;Monitoring Contributor&quot; role.</em></td></tr></tbody></table>]]></description><link>https://it-infrastructure.solutions/azure-sentinel-sampledata-as-a-service-solution/</link><guid isPermaLink="false">66ea7c899271dd0001ff0901</guid><category><![CDATA[Azure]]></category><category><![CDATA[Security]]></category><category><![CDATA[SIEM]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Fri, 20 Sep 2024 15:44:51 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2024/09/azure-2.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><img src="https://it-infrastructure.solutions/content/images/2024/09/azure-2.jpg" alt="Azure Sentinel - SampleData-as-a-service solution"><p>‌<em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h3 id="setting-up-an-automation-account">Setting up an Automation Account</h3><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-140.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-141.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-142.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-143.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-144.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-145.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-146.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-147.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-149.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><h3 id="necessary-permission-rbac-adjustments">Necessary Permission (RBAC) adjustments</h3><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-158.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Instead of &quot;Monitoring Analytics Contributor&quot;, you should look for the &quot;Monitoring Contributor&quot; role.</em></td>
</tr>
<tr>
<td><em>The Azure Function permission can only be assigned after deployment.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><h3 id="deploying-the-solution">Deploying the solution</h3><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-139.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-159.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-160.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><h2 id="how-to-use-the-tool-">How to use the Tool:</h2><p><br></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-161.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><pre><code class="language-Input Parameter">File Path: "https://raw.githubusercontent.com/Yaniv-Shasha/Sentinel/master/Sample_Data/scenarios/Security%20Event%20log%20cleared/1102_clearlogs.json"</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-162.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-163.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-164.png" class="kg-image" alt="Azure Sentinel - SampleData-as-a-service solution"></figure><h3 id="references-">References:</h3><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://techcommunity.microsoft.com/t5/microsoft-sentinel-blog/new-ingestion-sampledata-as-a-service-solution-for-a-great-demos/ba-p/3598500"><div class="kg-bookmark-content"><div class="kg-bookmark-title">New ingestion-SampleData-as-a-service solution, for a great Demos and simulation</div><div class="kg-bookmark-description">Demonstrating Microsoft Sentinel features, that include security incidents, alerts, workbooks, meaningful hunting queries, Helping our internal teams,..</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://techcommunity.microsoft.com/favicon.ico" alt="Azure Sentinel - SampleData-as-a-service solution"><span class="kg-bookmark-author">Yaniv Shasha</span><span class="kg-bookmark-publisher">TECHCOMMUNITY.MICROSOFT.COM</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://techcommunity.microsoft.com/t5/image/serverpage/image-id/395402iA9242510F7A83EDE/image-size/original?v=v2&amp;px=-1" alt="Azure Sentinel - SampleData-as-a-service solution"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://github.com/Contoso-Hotels-Security-old/LogIngestion"><div class="kg-bookmark-content"><div class="kg-bookmark-title">GitHub - Contoso-Hotels-Security-old/LogIngestion: LogIngestion and Fusion</div><div class="kg-bookmark-description">LogIngestion and Fusion. Contribute to Contoso-Hotels-Security-old/LogIngestion development by creating an account on GitHub.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://github.githubassets.com/favicons/favicon.svg" alt="Azure Sentinel - SampleData-as-a-service solution"><span class="kg-bookmark-author">Contoso-Hotels-Security-old</span><span class="kg-bookmark-publisher">GitHub</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://opengraph.githubassets.com/62a5658417f8011ad674c4ea0c8d17b36f024925786f95f6e55be99ec3a00b8d/Contoso-Hotels-Security-old/LogIngestion" alt="Azure Sentinel - SampleData-as-a-service solution"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Creating a Azure Linux VM via Azure CLI]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image"></figure><p><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>This step by step guide is based on a Microsoft Learn article that I went through myself.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><ol><li>Set the default location</li></ol><pre><code class="language-Aczure CLI">az configure --defaults location=westeurope</code></pre>]]></description><link>https://it-infrastructure.solutions/creating-a-linux-vm-via-azure-cli/</link><guid isPermaLink="false">66e3e8f09271dd0001ff067a</guid><category><![CDATA[Azure]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Azure CLI]]></category><category><![CDATA[Bash]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Tue, 17 Sep 2024 21:05:42 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2024/09/azure.jpg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-108.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><img src="https://it-infrastructure.solutions/content/images/2024/09/azure.jpg" alt="Creating a Azure Linux VM via Azure CLI"><p><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>This step by step guide is based on a Microsoft Learn article that I went through myself.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><ol><li>Set the default location</li></ol><pre><code class="language-Aczure CLI">az configure --defaults location=westeurope</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-106.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Possible values: westus2, southcentralus, centralus, eastus, westeurope.....</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>2. Create a resource group</p><pre><code class="language-Azure CLI">az group create --name MyResourceGroup</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-114.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>This step creates a resource group named &quot;MyResourceGroup&quot; in the Region Western Europe.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>3.  List resource groups</p><pre><code class="language-Azure CLI">az group list --output table</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-122.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>As you can see, a resource group named &quot;MyResourceGroup&quot; has been created.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>4. Set the default resource group</p><pre><code class="language-Azure CLI"># Defining the default resource group
az configure --defaults group="MyResourceGroup"</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-123.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><p>5. Create the Linux VM</p><pre><code class="language-Azure CLI"># Creating the Azure Linux VM
az vm create --name support-web-vm01 --image Canonical:UbuntuServer:16.04-LTS:latest --size Standard_DS1_v2 --admin-username azureuser --generate-ssh-keys</code></pre><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>The VM is set up as a web server running an Ubuntu OS.&quot;</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-109.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>The VM's name is support-web-vm01. Its size is Standard_DS1_v2. The admin username is azureuser. In practice, this name can be whatever you like. The --generate-ssh-keys argument generates an SSH keypair for you, allowing you to connect to your VM over SSH.&quot;</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>6. Checking whether the SSH client is installed on the access machine</p><pre><code class="language-CMD"># Checking whether the necessary SSH client is installed
ssh</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-110.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>If the ssh command throws an error message, follow the following link <a href="https://geekrewind.com/how-to-install-openssh-client-in-windows-11">https://geekrewind.com/how-to-install-openssh-client-in-windows-11</a> .</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p>7. Under certain circumstances, the necessary folder structures and files are not created. Therefore, we now do this ourselves.</p><pre><code class="language-PowerShell"># Creating the ssh program path and the needed config file
New-Item -Path $HOME\.ssh\config -ItemType File -force

</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-111.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><p>8. Download the private key created in step 5</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>The following method only works in the Azure Cloud Shell.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><ul><li>Select <strong>Manage files</strong></li><li>Click on <strong>Download</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-113.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><ul><li>Specifiy the file that needs to be downloaded "<em>.ssh/id_rsa"</em></li><li>Click on <strong>Download</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-116.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><ul><li>Copy the downloaded file into the right folder ("<em>C:\Windows\Users\&lt;username&gt;\.ssh\</em>")</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-117.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><p>9. To customize the SSH configuration file in the right way we need the public IP of the created VM</p><pre><code class="language-Azure CLI"># Retrieving the public IP of the Linux Azure VM
az vm show \
  --name support-web-vm01 \
  --show-details \
  --query [publicIps] \
  --output tsv</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-118.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><p>10. Customizing the SSH connection configuration using Notepad</p><pre><code class="language-PowerShell"># Open config File with Notepad
C:\WINDOWS\System32\notepad.exe $HOME\.ssh\config</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-112.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><pre><code class="language-TXT-File"># For Azure Linux VM
Host &lt;Public IP&gt;
  User azureuser
  Port 22
  IdentityFile ~/.ssh/id_rsa
  IdentitiesOnly yes
</code></pre><p>11. Testing the access</p><pre><code class="language-CMD"># Accessing the Azure Linux VM via SSH
ssh azureuser@20.4.22.39</code></pre><pre><code class="language-Bash"># Should the connection be established?
Are you sure you want to continue connecting (yes/no/[fingerprint])?</code></pre><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-119.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><h3 id="result-">Result:</h3><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-121.png" class="kg-image" alt="Creating a Azure Linux VM via Azure CLI"></figure><h3 id="references-">References:</h3><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/training/modules/add-and-size-disks-in-azure-virtual-machines/3-exercise-add-data-disks-to-azure-virtual-machines"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Exercise - Add a data disk to a VM - Training</div><div class="kg-bookmark-description">Exercise - Add a data disk to a VM</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Creating a Azure Linux VM via Azure CLI"><span class="kg-bookmark-author">roygara</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="Creating a Azure Linux VM via Azure CLI"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://superuser.com/questions/1537763/location-of-openssh-configuration-file-on-windows"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Location of OpenSSH configuration file on Windows</div><div class="kg-bookmark-description">How do I set the host name and port in a config file for Windows, using OpenSSH through PowerShell? As on Unix/Linux: Edit or create the file now by typing: nano ~/.ssh/config In here...</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://cdn.sstatic.net/Sites/superuser/Img/apple-touch-icon.png?v=0ad5b7a83e49" alt="Creating a Azure Linux VM via Azure CLI"><span class="kg-bookmark-author">Thufir</span><span class="kg-bookmark-publisher">Super User</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://cdn.sstatic.net/Sites/superuser/Img/apple-touch-icon@2.png?v=e869e4459439" alt="Creating a Azure Linux VM via Azure CLI"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/cli/azure/manage-azure-groups-azure-cli"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to manage Azure resource groups – Azure CLI</div><div class="kg-bookmark-description">Learn how to manage Azure resource groups in the Azure CLI, a cross-platform tool to connect to Azure and execute administrative commands on Azure resources.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Creating a Azure Linux VM via Azure CLI"><span class="kg-bookmark-author">dbradish-microsoft</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="Creating a Azure Linux VM via Azure CLI"></div></a></figure><figure class="kg-card kg-embed-card"><blockquote class="wp-embedded-content" data-secret="l96sVh3EUV"><a href="https://geekrewind.com/how-to-install-openssh-client-in-windows-11/">A Guide to Installing the OpenSSH Client on Windows 11</a></blockquote><iframe sandbox="allow-scripts" security="restricted" src="https://geekrewind.com/how-to-install-openssh-client-in-windows-11/embed/#?secret=l96sVh3EUV" width="600" height="338" title="&#8220;A Guide to Installing the OpenSSH Client on Windows 11&#8221; &#8212; Geek Rewind" data-secret="l96sVh3EUV" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe><script>
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
</script>
</figure>]]></content:encoded></item><item><title><![CDATA[Setting up your FIDO credential on your Security Key on a Windows Device]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-67.png" class="kg-image"></figure><p><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h2 id="yubikey-options-">Yubikey Options:</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-68.png" class="kg-image"><figcaption>Yubikey FIPS (5 Series) options</figcaption></figure><h2 id="setup-">Setup:</h2><p></p><p><strong>Step - 1️⃣</strong></p><ul><li>Navigate to <a href="https://mysignins.microsoft.com/security-info">https://mysignins.microsoft.com/security-info</a> in your computer.</li></ul><p><strong>Step - 2️⃣</strong></p><ul><li>Click <strong>Security Info</strong></li></ul>]]></description><link>https://it-infrastructure.solutions/setting-up-your-fido-credential-on-your-security-key-on-a-windows-device/</link><guid isPermaLink="false">66d811e99271dd0001ff04d5</guid><category><![CDATA[Security]]></category><category><![CDATA[Windows]]></category><category><![CDATA[Microsoft]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[Hybrid]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Wed, 04 Sep 2024 11:59:59 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2024/09/WindowsBanner-1.png" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-67.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"></figure><img src="https://it-infrastructure.solutions/content/images/2024/09/WindowsBanner-1.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><p><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></p><h2 id="yubikey-options-">Yubikey Options:</h2><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-68.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Yubikey FIPS (5 Series) options</figcaption></figure><h2 id="setup-">Setup:</h2><p></p><p><strong>Step - 1️⃣</strong></p><ul><li>Navigate to <a href="https://mysignins.microsoft.com/security-info">https://mysignins.microsoft.com/security-info</a> in your computer.</li></ul><p><strong>Step - 2️⃣</strong></p><ul><li>Click <strong>Security Info</strong></li><li>Click <strong>+ Add sign-in method</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-69.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Adding a Sign-in Method</figcaption></figure><p><strong>Step - </strong>3️⃣</p><ul><li>Click <strong>Choose a method</strong> and select<strong> Security key</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-70.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Choosing the Sign-In Method</figcaption></figure><p><strong>Step - 4️⃣</strong></p><ul><li>Click <strong>Add</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-71.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Choosing the Sign-In Method</figcaption></figure><p><strong>Step - 5️⃣</strong></p><ul><li>Click <strong>Next</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-72.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>MFA - Authentication</figcaption></figure><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>At this point you will be asked to authenticate yourself via MFA.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><strong>Step - </strong>6️⃣</p><ul><li>Click <strong>USB device</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-73.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Choosing the Security Key Device Type</figcaption></figure><p><strong>Step - </strong>7️⃣</p><ul><li>Click <strong>Next</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-74.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Setup Info</figcaption></figure><p><strong>Step - </strong>8️⃣</p><ul><li>Select <strong>Security key</strong> and click <strong>Next</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-75.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Choosing the right destination for the Security Key</figcaption></figure><p><strong>Step - </strong>9️⃣</p><ul><li>Click <strong>OK</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-76.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Setup Info</figcaption></figure><p><strong>Step - </strong>🔟</p><ul><li>Click <strong>OK</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-77.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Setup Info</figcaption></figure><!--kg-card-begin: markdown--><p><strong>Step - </strong><img src="https://it-infrastructure.solutions/content/images/2024/09/3463_keycap_eleven_emoji.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device" style="width:20px; display:inline-block"></p>
<!--kg-card-end: markdown--><ul><li>Assign and verify a Pin</li><li>Click <strong>OK</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-78.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Pin Setup</figcaption></figure><!--kg-card-begin: markdown--><p><strong>Step - </strong><img src="https://it-infrastructure.solutions/content/images/2024/09/3404_keycap_twelve_emoji.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device" style="width:20px; display:inline-block"></p>
<!--kg-card-end: markdown--><ul><li>Touch your security key. </li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-79.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Validation (Touching )</figcaption></figure><!--kg-card-begin: markdown--><p><strong>Step - </strong><img src="https://it-infrastructure.solutions/content/images/2024/09/5093_keycap_thirteen_emoji.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device" style="width:20px; display:inline-block"></p>
<!--kg-card-end: markdown--><ul><li>Click <strong>OK</strong></li></ul><p></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-80.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Passkey Saving successfull</figcaption></figure><!--kg-card-begin: markdown--><p><strong>Step - </strong><img src="https://it-infrastructure.solutions/content/images/2024/09/2745_keycap_fourteen_emoji.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device" style="width:20px; display:inline-block"></p>
<!--kg-card-end: markdown--><ul><li>Assign a Key Name</li><li>Click <strong>OK</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-81.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Security Key Naming</figcaption></figure><p></p><!--kg-card-begin: markdown--><p><strong>Step - </strong><img src="https://it-infrastructure.solutions/content/images/2024/09/2745_keycap_fourteen_emoji.png" alt="Setting up your FIDO credential on your Security Key on a Windows Device" style="width:20px; display:inline-block"></p>
<!--kg-card-end: markdown--><ul><li>Assign a Key Name</li><li>Click <strong><strong>OK</strong></strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-83.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Finishing the Security Key - Setup</figcaption></figure><p><strong>Result:</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-84.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Available sign-in methods</figcaption></figure><h2 id="test-">Test:</h2><p></p><p><strong>Step - 1️⃣</strong></p><ul><li>Lock your Device (Shortkeycombination: Windows + L)</li><li>Select <strong>Sign-in options</strong></li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-85.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Switching the Sign-in option</figcaption></figure><p><strong>Step - 2️⃣</strong></p><ul><li>Select the Security Key Icon</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-86.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Selecting the Security Key Method</figcaption></figure><p><strong>Step - </strong>3️⃣</p><p>Enter your Security Key Pin</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-87.png" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Entering the Security Key Pin</figcaption></figure><p></p><p><strong>Step - 4️⃣</strong></p><ul><li>Touch your security Key</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/IMG-20240904-WA0009_1.jpg" class="kg-image" alt="Setting up your FIDO credential on your Security Key on a Windows Device"><figcaption>Touching the security key</figcaption></figure><p>You should be successfully logged in.</p>]]></content:encoded></item><item><title><![CDATA[Azure Advisor and the Well Architected Framework]]></title><description><![CDATA[<p>This post is a part of the <a href="https://azurebacktoschool.github.io/" rel="noopener">Azure Back to School 2024</a> online event. In this post, I will discuss how Microsoft Azure Advisor works and how it relates to the Well Architected Framework.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-3.png" class="kg-image"></figure><h2 id="prerequisite-">Prerequisite:</h2><ul><li>some Azure Subscriptions 🔑 with some resources 📦 deployed</li></ul><hr><h2 id="introduction-">Introduction:</h2><p>When operating a cloud environment, you are</p>]]></description><link>https://it-infrastructure.solutions/azure-advisor-and-the-well-architected-framework/</link><guid isPermaLink="false">66d58df39271dd0001ff042a</guid><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Mon, 02 Sep 2024 10:11:31 GMT</pubDate><content:encoded><![CDATA[<p>This post is a part of the <a href="https://azurebacktoschool.github.io/" rel="noopener">Azure Back to School 2024</a> online event. In this post, I will discuss how Microsoft Azure Advisor works and how it relates to the Well Architected Framework.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-3.png" class="kg-image"></figure><h2 id="prerequisite-">Prerequisite:</h2><ul><li>some Azure Subscriptions 🔑 with some resources 📦 deployed</li></ul><hr><h2 id="introduction-">Introduction:</h2><p>When operating a cloud environment, you are constantly confronted with questions like:</p><ul><li>Where is my cloud environment inefficient or uneconomical?</li><li>Is my cloud deployment correct and in line with the latest best practices?</li><li>How can I answer the above questions and evolve my cloud environment?</li></ul><p>That means you are actually constantly confronted with the following topics:</p><p></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-10.png" class="kg-image"><figcaption>Cloud Topics to wok on</figcaption></figure><p>This can be a bit overwhelming, especially if you are new to the cloud and Azure.</p><p>But don't worry, that's exactly what Azure Advisor is for.</p><hr><h2 id="the-azure-advisor-">The Azure Advisor:</h2><h3 id="definition-">Definition:</h3><p><em>"Azure Advisor is a free service integrated into Azure that provides best practice recommendations. These recommendations are personalized and actionable. The recommendations can be used to assess Azure workloads against the five pillars of the Microsoft Azure Well-Architected Framework.“ - Microsoft Learn, 2024</em></p><h3 id="simplified-definition-">Simplified Definition:</h3><p>Azure Advisor</p><ul><li>can be compared with a personalized cloud consultant</li><li>provides recommendations 💡 on best practices tailored to the provisioned Azure resources 📦 / services ⚙️</li><li>is based on the Azure Well-Architected Framework (WAF)</li></ul><hr><h2 id="the-well-architected-framework-waf-">The Well-Architected Framework (WAF):</h2><h3 id="definition--1">Definition:</h3><p><em>"The Azure Well-Architected Framework is a set of guiding tenets to build high-quality solutions on Azure. There's no one-size-fits-all approach to designing an architecture, but there are some universal concepts that apply regardless of the architecture, technology, or cloud provider." - Microsoft Learn, 2024</em></p><p><strong>The Azure Well-Architected Framework consists of five pillars:</strong></p><ul><li>Cost optimization</li><li>Operational excellence</li><li>Performance efficiency</li><li>Reliability</li><li>Security</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-17.png" class="kg-image"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-16.png" class="kg-image"><figcaption>The 5 WAF Pillars&nbsp;</figcaption></figure><p>For each of these pillars, the Azure Advisor Service creates recommendations 💡for optimizing your environment.</p><hr><h2 id="how-the-azure-advisor-works-">How the Azure Advisor works❓</h2><ul><li>🔍 analyzes the resource configuration and usage telemetry and then makes recommendations for action based on the WAF </li><li>works at subscription 🔑 and resource 📦 level (either in aggregate or individually)</li><li>‍only the specific roles👤 (Owner, Contributor or Reader) of a subscription or resource 📦 has access to the respective advisor recommendations 💡</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-24.png" class="kg-image"><figcaption>Azure Advisor function diagram</figcaption></figure><h2 id="examples-of-advisor-recommendations-">Examples of Advisor Recommendations:</h2><p>Below  👇 you will find an example - recommendation for each pillar.</p><ul><li><strong>Costs </strong>- Resize or shut down underutilized virtual machine instances.</li><li><strong>Reliability</strong> - Enable backup to protect your virtual machine data from accidental deletion.</li><li><strong>Operational Excellence</strong> - Create Azure Service Health alerts to notify you when Azure problems affect you.</li><li><strong>Performance </strong>- Use managed disks to prevent disk I/O throttling.</li><li><strong>Security </strong>- Virtual-machine management ports should be protected with just-in-time network access control.</li></ul><h2 id="how-to-fix-problems-found-by-azure-advisor-">How to fix Problems found by Azure Advisor❓</h2><p><strong>Step - 1️⃣</strong></p><ul><li>Enter "advisor" in the Azure search bar.</li><li>Click on the suggested service "Advisor".</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-28.png" class="kg-image"><figcaption>Azure Advisor Service</figcaption></figure><p><strong>Step - 2️⃣</strong></p><ul><li>Click on the recommendations 💡 in the reliability section.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-31.png" class="kg-image"><figcaption>The 5 WAF Pillars (Azure Portal Experience)</figcaption></figure><!--kg-card-begin: markdown--><p>Each of the five categories from the WAF contains:</p>
<ul>
<li>the number 🔢 of advisor recommendations 💡</li>
<li>the number 🔢 of resources 📦 affected</li>
<li>the impact level:<span style="color:blue">low</span>,<span style="color:orange"> medium</span> or <span style="color:red">high</span></li>
</ul>
<!--kg-card-end: markdown--><p><strong>Step - 3️⃣</strong></p><ul><li>Click on "Create an Azure Service Health alert"</li></ul><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>This recommendation 💡 can be found in most cases if it has not already been implemented.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-36.png" class="kg-image"><figcaption>Recommendations on the subject of reliability</figcaption></figure><p>In a selected category you receive information such as:</p><ul><li>a description 📋 of the recommendations 💡</li><li>the impact level of the recommendation 💡</li><li>the potential improvement 📈</li><li>the number 🔢 of resources 📦 affected</li></ul><p>(<em>compare with screen above </em>☝️)</p><p><strong>Step - </strong>4️⃣</p><p>Within a recommendation you get the opportunity to:</p><ul><li>carry out a recommended action</li><li>defer the recommendation for a period of time</li><li>reject the recommendation</li></ul><p>(<em>compare with screen below </em>👇)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-63.png" class="kg-image"><figcaption>Actions to take on recommendations</figcaption></figure><hr><h2 id="the-optimization-status-and-the-advisor-score-">The Optimization Status and the Advisor Score:</h2><p>Now that we know what we should optimize, new questions arise:</p><ul><li>Which recommendation should we prioritize❓</li><li>Which recommendation is the most effective❓</li><li>How can I answer the previous questions❓</li></ul><p>This is where the so-called Azure Adsvisor Score comes into play.</p><h3 id="definition--2">Definition:</h3><p><em>"The Advisor Score is a rating of all Azure subscriptions on a scale from 0% to 100%. This makes it easy to understand how well the resources are optimized according to the documented best practices. The score is divided into five individual ratings, each for the five pillars of the Azure Well-Architected Framework." - Microsoft Learn, 2024</em></p><h3 id="simplified-definition--1">Simplified Definition:</h3><p>The Advisor Score</p><ul><li>provides information on the extent to which you are complying with the WAF</li><li>shows which optimizations need to be carried out to generate the maximum benefit</li><li>shows how far you are in your cloud journey</li></ul><h2 id="the-calculation-of-the-advisor-score-the-valuation-methodology">The calculation of the advisor score &amp; the valuation methodology</h2><h3 id="sidefacts-">Sidefacts:</h3><ul><li>Long-term recommendations 💡 are weighted more heavily</li><li>Recommendations with greater impact are weighted higher than recommendations 💡 with less impact</li><li>Deferred or rejected recommendations 💡 are not taken into account</li></ul><h3 id="calculation-">Calculation:</h3><ol><li>Azure Advisor calculates <em>the category scoring of impacted resources </em>📦. These resources 📦 are the ones in your subscriptions 🔑 that have at least one recommendation 💡 in Advisor.</li><li>Azure Advisor calculates the <em>category scoring of assessed resources </em>📦. These resources 📦 are the ones monitored by Advisor, whether they have any recommendations 💡 or not.</li><li>For each recommendation  💡 type, Advisor calculates the <em>healthy resource ratio</em>. This ratio is the scoring of impacted resources 📦  divided by the scoring of assessed resources 📦.</li><li>Azure Advisor applies some weight factors (see Sidefacts <em>above </em>☝️)</li></ol><p><strong>Example:</strong></p><ul><li>Costs: 100%</li><li>Security: 19%  (Secure Score derived from Defender for Cloud)</li><li>Reliability: 100%</li><li>Operational excellence: 100%</li><li>Performance: No Data (not taken into account)</li></ul><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-91.png" class="kg-image"></figure><p>✏️ Note: Since there is no data for the last category, a factor of 4 (in the denominator) was used in this case. In general, a factor of 5 is used in the calculation.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-90.png" class="kg-image"></figure><h3 id="progress-over-time">Progress over time</h3><p>To visually demonstrate the improvement of your optimization efforts. You can use the Azure Advisor Score History Graph.</p><p>(<em>compare with screen above </em>☝️ and <em>below </em>👇)</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-94.png" class="kg-image"><figcaption>Advisor Score History Graph</figcaption></figure><p>Your score is refreshed at least once per day.</p><h3 id="azure-advisor-workflow">Azure Advisor Workflow</h3><p>Of course, the evolution of your cloud environment (also known as cloud maturity) is only as good as the consistency of the cycle with which you work on it. Therefore, it is a good idea to integrate the Azure Advisor workflow into your work processes.</p><p><strong>The Azure Advisor Workflow Procedure:</strong></p><ul><li><strong>Checking</strong> the advisor score dashboard to determine if the desired score has been achieved.</li><li><strong>Analyze </strong>category scores to determine where improvements need to be made.</li><li><strong>Evaluate</strong> the category score impact of each recommendation 💡 to determine which recommendation 💡  has the most positive impact.</li><li><strong>Apply </strong>the recommendations  💡 with which the desired score can be achieved as quickly as possible.</li></ul><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-95.png" class="kg-image"><figcaption>Azure Advisor Evaluation Workflow</figcaption></figure><h2 id="mass-remediation-quick-fix">Mass Remediation \ Quick - Fix</h2><p>Sometimes you get recommendations 💡 that should not only be applied to individual resources 📦, but to several resources 📦 at once. Ideally, these recommendations 💡 can be applied multiple times. If Microsoft has already created an automated process for this, this is known as a quick fix.</p><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>Not all recommendations 💡 offer a quick fix option. Sometimes it will be necessary to build your own solution (automation).One option here would be to use an Azure Logic app, for example.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><strong>Step - 1️⃣</strong></p><p>In every section that can be assigned to the 5 WAF categories, the available recommendations 💡 are listed. In this case, there is a recommendation 💡described as "Right-size or shut down underutilized virtual machines".</p><ul><li>For this recommendation 💡, a "Quick fix" option is available. In order to activate this quick fix option, it is necessary to click on this button.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-96.png" class="kg-image"></figure><p><strong>Step - 2️⃣</strong></p><ul><li>Several resources 📦 are now available, which can be selected by activating and deactivating a simple checkbox. Afterwards it is only necessary to click the <strong>Quick Fix</strong> button a second time to apply the remediation.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-97.png" class="kg-image"></figure><p><strong>Step - 3️⃣</strong></p><ul><li>If you do not want to use a remediation and do not want to see the message for a certain period of time, or if you want to suppress the message altogether, the <strong>Postpone</strong> or <strong>Dismiss</strong> options are also available.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-98.png" class="kg-image"></figure><h2 id="azure-advisor-reporting-alerting">Azure Advisor Reporting \ Alerting</h2><p>You may find it more convenient to be notified when new recommendations 💡 are available, or you may prefer to consume all recommendations  💡 in a PDF or CSV file. In this case, the following options are available.</p><h3 id="-alerts">🚨 Alerts </h3><!--kg-card-begin: markdown--><table>
<thead>
<tr>
<th>✏️ Note:</th>
</tr>
</thead>
<tbody>
<tr>
<td><em>You will be familiar with this procedure if you have already worked with the Azure Monitor.</em></td>
</tr>
</tbody>
</table>
<!--kg-card-end: markdown--><p><strong>Step - 1️⃣</strong></p><ul><li>Select Alert (Preview)</li><li>Click the blue button <strong>+ New Advisor alert rule</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-101.png" class="kg-image"></figure><p>For the next steps 👣 , please click on the link 🔗 below 👇:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/advisor/advisor-alerts-portal"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Create Advisor alerts for new recommendations using Azure portal - Azure Advisor</div><div class="kg-bookmark-description">Create Azure Advisor alerts for new recommendations by using the Azure portal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">ikhapova</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png"></div></a></figure><h3 id="-recommendation-digests">  💡Recommendation digests</h3><p></p><p><strong>Step - 1️⃣</strong></p><ul><li>Select Recommendation digest</li><li>Click the blue button <strong>Add recommendation digest</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-102.png" class="kg-image"></figure><p>For the next steps 👣 , please click on the link 🔗 below 👇:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/advisor/advisor-recommendations-digest"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Recommendation digest for Azure Advisor - Azure Advisor</div><div class="kg-bookmark-description">Get periodic summary for your active recommendations</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">ikhapova</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png"></div></a></figure><h3 id="-pdf-csv-export">🗎 PDF- / CSV - Export </h3><p><strong>Step - 1️⃣</strong></p><ul><li>Select <strong>Overview</strong></li><li>Click on <strong>Download as CSV </strong>or<strong> Download as PDF</strong></li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-103.png" class="kg-image"></figure><h2 id="azure-advisor-configuration">Azure Advisor Configuration</h2><p>Although there are not many settings that can be made, it is still worth discussing the most important ones.</p><ul><li>Advisor Scope</li><li>Advisor Tresholds (CPU)</li><li>Advisor Look Back Period</li></ul><p><strong>Step - 1️⃣</strong></p><ul><li>Select <strong>Configuration</strong></li><li>Select<strong> Resources</strong></li><li>Activate the checkboxes associated with the subscriptions and resource groups which are to be taken into account in the advisor evaluation.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-104.png" class="kg-image"></figure><p><strong>Step - 2️⃣</strong></p><ul><li>Select<strong> VM/VMSS right sizing</strong></li><li>Here you can set the <strong>CPU Threshold </strong>and the corresponding <strong>Look back period</strong> for the Advisor recommendations.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/09/image-105.png" class="kg-image"></figure><h2 id="-closing">🏁 Closing</h2><p>The Azure Advisor is an indispensable tool for ensuring the efficiency and security of your cloud environment. Through regular reviews and optimizations, you can ensure that your resources are used optimally and costs are reduced at the same time.</p><p>Continuously monitoring and optimizing your cloud environment with Azure Advisor is a crucial step to maximize efficiency, minimize costs and ensure the reliability of your systems. Take advantage of Azure Advisor to take your cloud strategy to the next level.</p><h2 id="references-">References:</h2><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/training/modules/azure-well-architected-introduction/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Introduction to the Microsoft Azure Well-Architected Framework - Training</div><div class="kg-bookmark-description">Learn how using key principles throughout your cloud architecture can help you design and build a solid architectural foundation that you can continuously improve.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">martinekuan</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/training/achievements/azure-well-architected-introduction-social.png"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/well-architected/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Azure Well-Architected Framework - Microsoft Azure Well-Architected Framework</div><div class="kg-bookmark-description">Azure Well-Architected Framework is a set of quality-driven tenets, architectural decision points, and review tools that help solution architects build a technical foundation for their workloads.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">PageWriter-MSFT</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/advisor/advisor-alerts-portal"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Create Advisor alerts for new recommendations using Azure portal - Azure Advisor</div><div class="kg-bookmark-description">Create Azure Advisor alerts for new recommendations by using the Azure portal.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">ikhapova</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/azure/advisor/advisor-recommendations-digest"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Recommendation digest for Azure Advisor - Azure Advisor</div><div class="kg-bookmark-description">Get periodic summary for your active recommendations</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico"><span class="kg-bookmark-author">ikhapova</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png"></div></a></figure>]]></content:encoded></item><item><title><![CDATA[Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)]]></title><description><![CDATA[<p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h3 id="prerequisite-">Prerequisite:</h3><ul><li>Nothing</li></ul><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-27.png" class="kg-image"></figure><p>Pic 1</p><p>The <em><strong>castle-and-moat theory</strong></em> forms the basis of conventional IT network security. Castle-and-moat security makes it difficult for outsiders to access the network, but</p>]]></description><link>https://it-infrastructure.solutions/zero-trust-in-a-nutshell/</link><guid isPermaLink="false">668462ad9271dd0001ff0311</guid><category><![CDATA[Microsoft]]></category><category><![CDATA[Security]]></category><category><![CDATA[Defender]]></category><dc:creator><![CDATA[Thomas Bründl]]></dc:creator><pubDate>Thu, 04 Jul 2024 09:45:44 GMT</pubDate><media:content url="https://it-infrastructure.solutions/content/images/2024/07/Microsoft-365-2.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://it-infrastructure.solutions/content/images/2024/07/Microsoft-365-2.jpeg" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"><p><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em><em>❕This article has not been completed yet. However, it may already contain   helpful Information and therefore it has been published at this stage</em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></em></p><h3 id="prerequisite-">Prerequisite:</h3><ul><li>Nothing</li></ul><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-27.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Pic 1</p><p>The <em><strong>castle-and-moat theory</strong></em> forms the basis of conventional IT network security. Castle-and-moat security makes it difficult for outsiders to access the network, but by default, everyone on the network is trusted. This strategy has the drawback that an attacker has complete control over everything on the network once they get access to it.</p><h3 id="zero-trust-principles-">Zero Trust Principles:</h3><p>To implement Zero Trust in your organization, Microsoft defines 3 principles to follow.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-28.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Tab 1</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-29.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Pic 2</p><p>The question is how to implement these principles. Microsoft is one of the few vendors, that offer an integrated END 2 End strategy.</p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-30.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Pic 3</p><p>This is also known as <strong><em>defence in depth</em></strong>, because security happens on many different levels.</p><p>Let's stick with our castle and moat theory. This is not to say that there are no other security measures besides the network-related ones. In most cases, there are also other security products such as third-party antivirus solutions. However, the problem is that these products and solutions do not communicate with each other and this is where the great advantage of the Microsoft Security Suite comes into play.</p><p></p><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-31.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Pic 4</p><p>Let's map the objects / entities worth protecting from Pic 3/4 👆.</p><ul><li><strong>Identities</strong><br>Are strengthened using Entra ID (formerly Azure AD) &amp; Microsoft Defender for Identity providing robust (onprem) authentication and authorization.</li><li><strong> Endpoints</strong><br>Services like Microsoft Intune (formerly Microsft Endpoint Manager) and Entra ID Join as well Microsft Defender for Endpoint manage the corporate and BYOD devices with strict compliance.</li><li><strong> Applications</strong><br>Azure Defender for Cloud, Azure Web Application Firewall (WAF) or Defender for  Cloud Apps protects app services by using bleeding-edge security features.</li><li><strong>Network</strong><br>Azure network services like Azure Firewall and Virtual Networks are ensuring traffic is secure and segmented</li><li><strong>Infrastructure</strong><br>Secrets and certificates can be protected with Azure Key Vault services and Microsoft Defender for Cloud offers comprehensive threat protection from day zero</li><li><strong>Data</strong><br>Remains top priority in transit and rest with advanced security features of dedicated Storage services including Microsoft Purview (formerly Microsoft Information Protection) by providing secure, reliable, and scalable solutions.<br><br>This also maps to the cyber kill chain 👇 (see picture 5 below). There is also a mapping to the right products.</li></ul><figure class="kg-card kg-image-card"><img src="https://it-infrastructure.solutions/content/images/2024/07/image-32.png" class="kg-image" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></figure><p>Pic 5</p><p>I hope this helps a little and gives an overview of how Microsoft is trying to implement Zero Trust with its products.</p><h3 id="references-">References:</h3><p><a href="https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/">https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/</a></p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/security/zero-trust/zero-trust-overview"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What is Zero Trust?</div><div class="kg-bookmark-description">Understand the Zero Trust security model, learn about the principles, and apply the Zero Trust architecture using Microsoft 365 and Microsoft Azure services.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"><span class="kg-bookmark-author">mjcaparas</span><span class="kg-bookmark-publisher">Microsoft LearnCalifornia Consumer Privacy Act (CCPA) Opt-Out IconCalifornia Consumer Privacy Act (CCPA) Opt-Out Icon</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></div></a></figure><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://medium.com/@julmariodacruz2018/what-services-you-could-use-to-apply-zero-trust-principles-in-your-cloud-environment-c826e0812c30"><div class="kg-bookmark-content"><div class="kg-bookmark-title">What services you could use to apply Zero Trust principles in your cloud environment?</div><div class="kg-bookmark-description">We live in a rapidly evolving security landscape with new challenges every day. Even after the pandemic, our work continues to be blended with remote work where many organizations enabled the BYOD…</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://miro.medium.com/v2/resize:fill:152:152/1*sHhtYhaCe2Uc3IU0IgKwIQ.png" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"><span class="kg-bookmark-author">Mário Cruz</span><span class="kg-bookmark-publisher">Medium</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://miro.medium.com/v2/resize:fit:1024/0*XsJyW4uRMatQlCcc.png" alt="Zero Trust ("never trust, always verify") in a Nutshell (in a Microsoft Perspective)"></div></a></figure>]]></content:encoded></item></channel></rss>