Microsoft Sentinel Foundations: One Complete End-to-End Hands-On Lab – Part – 1

Student workbook + instructor validation and answer key | Days 1-2 | 2026-11-01 edition

One lab, one continuous story: Build a Microsoft Sentinel environment, connect Azure Activity logs, make a harmless Azure configuration change, prove that the event reaches the AzureActivity table, investigate it using KQL, turn a tested query into a temporary scheduled detection, find its actual alert and incident, complete a first-line SOC triage record, visualize the data with a workbook, and clean up safely.

Primary interface: Microsoft Defender portal (https://security.microsoft.com), with Azure portal (https://portal.azure.com) for initial Azure resources and subscription-level activity-log configuration. This matches Microsoft’s current direction for Sentinel. [MS01] [MS02]

This is a Foundation lab, not a red-team exercise. Do not attack resources, intentionally compromise identities, turn on disruptive automations, export real secrets, or run changes in production. Never equate a saved rule or KQL simulation with a genuine alert or incident.


1. The outcome: what a successful student can demonstrate

At the end, you should be able to show evidence, not simply explain terminology:

  1. A named, approved Azure subscription and its access boundaries.
  2. A Log Analytics workspace with Microsoft Sentinel enabled and visible in the Defender portal.
  3. The Azure Activity solution and a documented, working route from the source subscription to that workspace.
  4. A harmless resource-group write visible in the source Azure Activity log and in the destination AzureActivity table.
  5. A working KQL query that isolates the test event, displays a timestamp and identifies the actor/resource.
  6. A temporary enabled scheduled analytics rule with verified settings and minimal alert noise.
  7. A real generated alert and a real incident containing that alert (or clearly recorded environment blocker).
  8. An incident investigation report with disposition, evidence, owner, and escalation rationale.
  9. A relevant Azure Activity workbook interpreted correctly.
  10. Cleanup evidence showing that the test rule is disabled/removed and lab resources are handled safely.

Foundation qualification: Complete the entire evidence chain and meet the rubric in Section 16. Installing Sentinel or obtaining a screenshot of the portal alone does not constitute a pass.

Where this lab fits in the five-day program

Previous teachingThis continuous workflow practicesReserved for later days
F01-F12, Day 1SOC context, architecture, roles, workspace, data connectorAdvanced source onboarding and DCRs (Day 3)
F13-F23, Day 2KQL, content, rule, alert, incident, triage, workbook, troubleshootingMulti-table correlation/UEBA (Day 3); ASIM/SOAR (Day 4); enterprise CI/CD/data lake (Day 5)

This manual intentionally uses one connected exercise, instead of repeating the 17 individual practice labs in the more detailed Day 1-2 workbook.


2. 5W1H: understand what you will build before clicking

QuestionFoundation-level answer
What?Microsoft Sentinel is a SIEM capability that collects security telemetry and supports detection, investigation, and response.
Why?An isolated activity record is difficult for a SOC to investigate consistently; centralized logs, rules, and incidents create a repeatable trail.
Who?The Azure/platform administrator authorizes data collection; the security engineer configures Sentinel; the SOC analyst investigates alerts; the instructor approves training changes.
When?Use the workflow when an approved activity needs visibility, detection, triage, and documented resolution.
Where?Azure control-plane events originate in the subscription, flow to a Log Analytics workspace, and are examined in Microsoft Sentinel through the Defender portal.
How?Source event -> approved diagnostic export/policy -> AzureActivity -> KQL -> scheduled analytics rule -> alert -> Defender incident -> SOC triage -> workbook.

The architecture you will prove

Approved student action: change a tag on a test resource groupAzure subscription Activity logAzure Activity connector configuration: policy or diagnostic exportLog Analytics workspace: AzureActivity tableMicrosoft Sentinel analytics rule: scheduled KQLSecurity alertMicrosoft Defender incident queueAnalyst triage, evidence, classificationAzure Activity workbook

Important boundaries: Creating a resource-group tag is not a cyberattack. For this lab, the detection identifies authorized training activity and must be labeled as such; it must never be marketed as a high-fidelity threat detection. A scheduled rule may raise an alert without proving an actual security incident.


3. Choose a delivery mode and establish safety controls

3.1 Three supported classroom modes

ModeWhat the instructor preparesWhat the learner can pass
A – Full build (preferred)Dedicated non-production Azure subscription or approved sandbox, rights to provision workspace, export subscription activity, and configure SentinelAll ten outcomes
B – Instructor-managed collectionPrebuilt Sentinel workspace and Azure Activity export; learner may edit a dedicated signal resource group and create a temporary ruleEnd-to-end event-to-incident workflow without repeating administrative provisioning
C – Read-only / offlineScreenshots and synthetic datatable() examples, optionally a read-only Sentinel workspaceConcepts and KQL only; cannot claim to have created a real alert or incident

If an approval, permission, subscription, billing entitlement, or data-collection requirement fails, select Mode B or C and label the blocked checkpoint. Do not grant students broad permissions only to make a lab appear successful.

3.2 Minimum preparation and role separation

ActivityTypical required access or approvalResponsible party
Create a resource group / workspaceAzure subscription or resource-group write permission; enabling Sentinel requires subscription Contributor-equivalent permissionInstructor/platform admin
Use Sentinel and view logsMicrosoft Sentinel Reader or appropriate Log Analytics read permissionsStudent or instructor
Install Content hub solution / author analytics ruleMicrosoft Sentinel Contributor on workspace resource groupInstructor/security engineer or delegated student
Manage the incidentMicrosoft Sentinel Responder (or Contributor) and any relevant Defender unified incident permissionsSOC student
Configure Azure Activity exportSubscription-level diagnostic setting or Azure Policy assignment permission; assignment/managed-identity remediation may need additional rightsSubscription/policy owner
Use or save workbooksWorkbook Reader / Workbook Contributor and relevant Sentinel rightsStudent/instructor
Connect workspace to Defender if not already connectedAdditional onboarding permission requirements in Microsoft documentation; instructor should perform it if not already onboardedTenant/subscription administrator

Microsoft’s permissions are task-specific. A Sentinel Contributor assignment does not automatically authorize every subscription-level Azure Policy change, and a Sentinel Reader cannot manage incidents. Review the exact role scope before starting. [MS01] [MS03] [MS04]

3.3 Preflight requirements – instructor checks

  • [ ] A non-production training subscription exists; its subscription ID, tenant, and billing owner are documented.
  • [ ] There is an approved Azure region and naming pattern; no sensitive customer data is needed.
  • [ ] Learner identities have approved scopes, not unnecessarily broad Owner rights.
  • [ ] The instructor has a plan for Azure Activity export: existing approved export, Azure Policy wizard, or direct subscription diagnostic setting. Avoid creating duplicate exports of the same categories to the same workspace.
  • [ ] The sandbox has approval for potential Sentinel/Log Analytics and other service charges. Azure Activity ingestion has specific no-ingestion-charge guidance, but this does not mean every Sentinel or lab component is free. Confirm pricing for the selected plan. [MS05] [MS06]
  • [ ] The instructor has confirmed which incident experience is available: Incidents or the preview Cases > Incident. [MS10] [MS11]
  • [ ] The instructor has approved cleanup ownership and whether the lab workspace will be retained for subsequent training.

Safety stop: If any requested change affects a shared production diagnostic setting, permission assignment, data-retention policy, or real customer incident, do not perform that step. Ask the instructor to complete it or provide a safe sandbox artifact.

3.4 Student fill-in sheet – use actual values

ParameterYour value
Cohort and student ID________________
Training tenant/domain (non-sensitive label)________________
Approved subscription ID________________
Workspace resource grouprg-sentinel-foundation-________
Log Analytics workspacelaw-sentinel-foundation-________
Workspace region________________
Approved signal resource grouprg-sentinel-signal-________
Activity-export methodExisting / Azure Policy / Diagnostic setting
Activity-export policy or setting name________________
Detection rule nameLAB-FOUNDATION-________-RG-WRITE
Student’s incident owner/assigned analyst________________

Naming: replace the underscores with a short unique, cloud-valid suffix. Use the same exact names in screenshots and queries. Do not type the placeholder values unchanged into production.


DAY 1 – Build and prove the telemetry path

Phase 1 – Verify the subscription and the lab scope

Goal: Know where you are and what you may change.

  1. Sign in to https://portal.azure.com with the instructor-approved user.
  2. Search for Subscriptions. Open the subscription authorized for this lab.
  3. Copy the Subscription ID into the student sheet. Record its display name without exposing unnecessary organizational details.
  4. Confirm the selected Directory + subscription filter shows the intended tenant/subscription. If multiple subscriptions are visible, switch to the approved one.
  5. In Access control (IAM), ask the instructor to verify that your assignment permits the operations you will perform. Do not try random role changes to fix permission failures.
  6. Agree on the approved region, the workspace RG, and a different resource group used to generate test activity.
  7. In Cost Management + Billing or the instructor’s approved budget view, record the allowed lab spend and who will review it.

PASS checkpoint P01: Correct subscription/tenant, permissions, workspace location, and a cost/cleanup owner recorded. Save P01-subscription-scope.png (hide subscription IDs if materials will be shared externally).

Why it matters: A valid query against the wrong tenant or workspace can return nothing. A subscription-scope export configured against the wrong subscription cannot transport your test event.

Phase 2 – Create or verify a Log Analytics workspace

If the instructor supplied a workspace: Open it, confirm its subscription, resource group and region, and go to Phase 3. Do not create a duplicate.

Full-build route:

  1. In Azure portal search for Log Analytics workspaces and select Create.
  2. Select the approved subscription.
  3. Select the designated workspace resource group, or Create new if authorized.
  4. Enter your unique workspace name such as law-sentinel-foundation-s01.
  5. Select the instructor-approved region; do not guess a region merely because it appears in a sample screenshot.
  6. Review pricing, data residency and retention implications. Do not activate optional products or unapproved long-term retention.
  7. Select Review + Create, wait for validation, then Create.
  8. Open the workspace. Record Name, Resource group, Region, and Subscription from the Overview screen.
  9. Check whether Sentinel was already enabled on it. If yes, record and continue; do not try to onboard the same workspace twice.

PASS P02: The exact intended Log Analytics workspace exists, is accessible, and its metadata is recorded. Save P02-workspace-overview.png.

Common problem: The workspace does not appear in the Sentinel onboarding picker. Check subscription filter, workspace eligibility and permissions; default Defender for Cloud workspaces have restrictions for Sentinel onboarding. [MS01]

Phase 3 – Enable Microsoft Sentinel and confirm Defender portal visibility

  1. In Azure portal, search for Microsoft Sentinel.
  2. Choose Create, select the intended Log Analytics workspace, and choose Add. If Sentinel is already enabled, do not repeat the action.
  3. Open https://security.microsoft.com and let initial portal provisioning finish if prompted.
  4. Expand Microsoft Sentinel in the navigation. Confirm the workspace is available under System / Settings > Microsoft Sentinel > Workspaces (exact menu grouping may vary).
  5. If no workspace is connected, have the instructor/onboarding owner follow Settings > Microsoft Sentinel > Connect a workspace, select the appropriate workspace and primary workspace, review the connection effects, then Connect. This is not a task for a student lacking onboarding rights. [MS02]
  6. Record whether this tenant uses a standard incident queue or incident-cases preview. Do not enable preview features just to match this manual.
  7. Confirm you can access Microsoft Sentinel > Configuration > Data connectors, Configuration > Analytics, and the hunting/logs query interface, even if some operations are read-only.

PASS P03: You can point to the correct Sentinel-enabled workspace from the Defender portal, and your access level is known. Save P03-defender-workspace.png.

Know the distinction: Log Analytics is the data/query workspace; Sentinel adds SIEM capabilities; Defender portal is the current unified analyst experience. A workspace being created does not itself prove that it is receiving activity logs. [MS01] [MS02]

Phase 4 – Install the Azure Activity content and configure an export route

Step A – Content hub

  1. In Defender portal expand Microsoft Sentinel and open Content hub (use portal search if your navigation differs).
  2. Search for Azure Activity.
  3. Open the solution, review its connectors/rule templates/workbooks and dependencies.
  4. Select Install if not already installed. Wait for it to show as installed.
  5. Open Microsoft Sentinel > Configuration > Data connectors.
  6. Find Azure Activity, then Open connector page.
  7. Read its prerequisites, data type (AzureActivity) and configuration status. Connected is useful information but not proof of a particular event reaching the table.

Step B – Choose exactly one approved export method

Method 1 – existing instructor-approved export (best for shared classrooms):

  1. In Azure portal open the approved subscription > Activity log > Export Activity Logs, or have the admin show its relevant Azure Policy assignment.
  2. Confirm Administrative events (at minimum) are sent to the correct Log Analytics workspace.
  3. Record the existing setting/policy name, destination workspace and owner. Do not modify it.

Method 2 – Azure Activity connector’s Azure Policy wizard (Microsoft quickstart route):

  1. From Azure Activity > Open connector page, select Launch Azure Policy Assignment Wizard.
  2. Under Basics, choose only the instructor-approved subscription scope; do not select an entire management group or unrelated subscriptions.
  3. Under Parameters, choose the Primary Log Analytics workspace that contains your Sentinel instance.
  4. With the policy owner, review the policy effect, assigned identity (if presented), permissions/remediation requirements, and target subscription. Resolve permission failures with the owner, not elevated student privileges.
  5. Select Review + create > Create after explicit approval.
  6. Record the assignment identifier and review it under Azure Policy > Assignments. Allow time for the policy/diagnostic configuration to take effect. [MS01]

Method 3 – direct subscription diagnostic setting (only when approved):

  1. In Azure portal open Monitor > Activity log > Export Activity Logs for your approved subscription.
  2. Select Add diagnostic setting.
  3. Name it clearly, for example diag-sentinel-foundation-s01.
  4. Select the Administrative category. Add other categories only if they are approved for the lab.
  5. Under Destination details, choose Send to Log Analytics workspace, then the approved subscription and workspace.
  6. Verify all four before saving: source subscription, categories, destination workspace, setting name.
  7. Select Save, record the name, and check that you have not introduced a duplicate route. [MS05] [MS06]

Do not configure Methods 2 and 3 in parallel for the same source/destination unless the instructor deliberately designed that topology.

PASS P04: Azure Activity solution present; documented export configuration targets the correct workspace; Administrative category is covered; owner and cleanup responsibility recorded. Save P04-activity-connector.png and, if authorized, an export configuration screenshot.

What you have and have not proved

  • You have verified the configuration of collection.
  • You have not yet proved that an actual event traveled through it. That happens in Phase 5.

Phase 5 – Produce a harmless, traceable event

Scenario: Aster Retail (fictional company) is validating whether SOC analysts can see Azure administrative changes. You are a platform engineer making an approved change to a sandbox resource group. The SOC should observe and explain it.

  1. In Azure portal, go to Resource groups > Create.
  2. Create a new, empty group named with your approved signal identifier, such as rg-sentinel-signal-s01, in the approved subscription and region. Keep it empty; do not deploy VMs, storage accounts or paid services.
  3. After creation, open that resource group and select Tags.
  4. Add a harmless tag: Name sentinelTraining; Value foundation-day1. Save. Do not modify access, networking, policies, secrets, or production resources.
  5. In the approved subscription open Activity log. Filter by the test resource group, recent timeframe and Administrative operations if needed.
  6. Find a successful resource-group create/update/write event. Record its operation name, time (UTC), actor and resource identifier. The portal’s text and case can vary.
  7. If you do not see it immediately, widen the time filter and inspect a recent Activity log without the group filter. If it still does not exist at the source, do not proceed to the destination and falsely claim collection is working.

PASS P05: You have a real source-side activity record for a change you performed on the test resource group. Save P05-source-activity-log.png.

Why this is the right first signal: Azure Activity captures control-plane changes such as resource creation and update. A safe tag change demonstrates the flow without simulating a malicious compromise. [MS05] [MS13]

Phase 6 – Prove delivery to the destination workspace using KQL

Step A – Access the correct logs query surface

  1. Open the Azure Activity connector in Defender and choose its Go to log analytics path if available; this opens the relevant hunting/query experience. Otherwise open Investigation & response > Hunting > Advanced hunting and select the correct workspace data scope.
  2. The same raw workspace query can also be run from Azure portal > Log Analytics workspace > Logs. Use the latter when a query in Defender is not pointed at the intended workspace.
  3. Set a time window broad enough for the exercise, such as last 24 hours. Note that the UI’s time selector and KQL’s ago() filter can both constrain results.

Step B – Confirm that records exist

AzureActivity
| where TimeGenerated >= ago(24h)
| summarize EventCount = count(), LatestEvent = max(TimeGenerated)

Expected: EventCount greater than zero if this workspace has received Azure Activity records. If zero, see the troubleshooting ladder. A count above zero could still be someone else’s event, so it does not complete the lab.

Step C – Inspect exact fields and the test group

Run this more permissive query first, replacing both quoted values:

let labSubscription = "REPLACE_WITH_YOUR_SUBSCRIPTION_ID";
let labResourceGroup = "rg-sentinel-signal-s01";
AzureActivity
| where TimeGenerated >= ago(24h)
| where SubscriptionId =~ labSubscription
| where ResourceId contains labResourceGroup or ResourceGroup contains labResourceGroup
| project TimeGenerated, Caller, CategoryValue, ResourceId, ResourceGroup,
          OperationNameValue, ActivityStatusValue, CorrelationId, SubscriptionId
| sort by TimeGenerated desc

Expected: A record containing the test group name that matches the actor, subscription, and approximate event time from Phase 5.

Important: Microsoft warns that Azure Activity fields can differ in casing. The query deliberately uses case-insensitive operations (=~ and contains). [MS05] [MS07]

Step D – Isolate the resource-group write operation

This is the detection candidate. Do not use it until Step C returns the expected row.

let labSubscription = "REPLACE_WITH_YOUR_SUBSCRIPTION_ID";
let labResourceGroup = "rg-sentinel-signal-s01";
AzureActivity
| where TimeGenerated >= ago(2h)
| where SubscriptionId =~ labSubscription
| where CategoryValue =~ "Administrative"
| where OperationNameValue contains "resourcegroups/write"
| where ResourceId contains labResourceGroup or ResourceGroup contains labResourceGroup
| project TimeGenerated, Caller, ResourceId, ResourceGroup,
          OperationNameValue, ActivityStatusValue, CorrelationId, SubscriptionId
| sort by TimeGenerated desc

If the source event’s actual OperationNameValue differs, use the value observed in Step C rather than assuming a generic operation name. Keep the resource-group and subscription filters so the query cannot match unrelated production activity.

Step E – Explain the result as a SOC analyst

For your best matching row, write down:

  • TimeGenerated (UTC): ________________
  • Caller: ________________
  • ResourceId: ________________
  • OperationNameValue: ________________
  • ActivityStatusValue: ________________
  • CorrelationId (if present): ________________
  • Is this your approved lab action? Why? ________________

PASS P06: AzureActivity contains the same authorized operation as the source Activity log; the detection candidate returns at least one appropriate record; student explains what each selected field means. Save P06-kql-proof.png and the exact successful query text.

Do not continue if your query returns no matching record: a detection that cannot match a signal cannot reliably prove the rule-to-incident workflow.

Optional offline KQL mini-exercise (does NOT count as real ingestion)

When access is blocked, this query helps learners practice a pipeline inside the query engine without ingesting anything:

datatable(TimeGenerated:datetime, Actor:string, Operation:string, Lab:string)
[
  datetime(2026-10-01T09:00:00Z), "student01", "resourcegroups/write", "foundation",
  datetime(2026-10-01T09:10:00Z), "student02", "resourcegroups/read",  "foundation",
  datetime(2026-10-01T09:20:00Z), "student01", "resourcegroups/write", "foundation"
]
| where Operation contains "write"
| summarize Changes=count() by Actor

Expected: student01 has 2 matching writes. This demonstrates where and summarize. It produces no ingested security telemetry, no scheduled alert and no actual incident. Never use this synthetic query as the sole proof of a live detection.

Day 1 sign-off

  • [ ] P01 subscription and scope verified.
  • [ ] P02 approved Log Analytics workspace verified.
  • [ ] P03 Sentinel enabled and Defender portal available.
  • [ ] P04 Azure Activity collection configuration verified.
  • [ ] P05 test change visible at the source.
  • [ ] P06 matching AzureActivity row visible in destination.

Day 1 stopping rule: Without P06, the learner does not proceed to the detection phase until the collection issue is fixed or the instructor supplies a prevalidated workspace.


DAY 2 – From real telemetry to an investigated incident

Phase 7 – Analyze the event like a first-line SOC analyst

Goal: Turn raw log evidence into an explainable finding before attempting an alert.

  1. Run the Phase 6 query and sort descending by time.
  2. Identify whether multiple records belong to the same logical operation (for example start and success states). Do not call two records two separate attacks.
  3. Run this summary query:
let labResourceGroup = "rg-sentinel-signal-s01";
AzureActivity
| where TimeGenerated >= ago(24h)
| where ResourceId contains labResourceGroup or ResourceGroup contains labResourceGroup
| summarize Operations=count(), LatestEvent=max(TimeGenerated)
  by OperationNameValue, ActivityStatusValue
| sort by Operations desc
  1. Answer these questions: Which event was expected? Who initiated it? Which resource was changed? Was it successful? What additional evidence would you seek before treating it as suspicious?
  2. Record a short analyst narrative: “A resource group was modified by [actor] at [UTC time]. The change was [authorized/unverified]. Evidence: [Activity log + KQL rows]. Next action: [close as training / escalate for authorization check].”

PASS P07: A reproducible KQL summary, accurate reading of the source event, and no unsupported claim that the authorized action is an attack.

Phase 8 – Discover built-in detection content (and understand the limitation)

The Foundation syllabus includes rule templates. Explore them here, but use Phase 9’s controlled rule to prove the whole workflow.

  1. In Defender portal open Microsoft Sentinel > Content hub and locate the installed Azure Activity solution.
  2. Look for the documented Suspicious Resource deployment template (availability depends on installed solution/version).
  3. Read its prerequisites, query/table dependencies, threshold and intended threat scenario.
  4. If the instructor approved enabling it in a sandbox, choose Create rule from the template, confirm its data prerequisites, and review all settings. If not, perform a read-only walkthrough.
  5. Compare that built-in rule with the training query: the built-in rule seeks a security-relevant pattern, whereas this lab’s custom rule intentionally detects one authorized group change.
  6. Record whether it was only inspected, created but disabled, or enabled. Disable any temporary rule that is noisy or unrelated.

PASS P08: Student can differentiate installed solution, rule template, active rule, alert and incident. Merely enabling a built-in template does not guarantee an alert from your harmless test event. [MS01] [MS08]

Phase 9 – Create a temporary scheduled analytics rule from your proved query

Security notice: This short-lived rule is named TRAINING ONLY. It alerts on a known benign change. Do not assign a fictional ATT&CK technique, label it a real threat, route to production incident responders or attach a playbook.

Step A – Rule definition

  1. In Defender portal select Microsoft Sentinel > Configuration > Analytics > + Create > Scheduled query rule.
  2. Set a unique Name, for example LAB-FOUNDATION-s01-RG-WRITE.
  3. Description: TRAINING ONLY. Detect approved writes to an isolated lab resource group. Disable and remove after exercise.
  4. Set Severity to Informational or Low as approved; choose Enabled for the temporary controlled test.
  5. Do not assert MITRE ATT&CK mapping for this benign administrative test.

Step B – Paste proven query and minimize noise

  1. Copy the exact tested Phase 6 Step D query. Replace the subscription ID and group name with your actual lab values. Keep TimeGenerated in the projected results; Microsoft explicitly requires it for scheduled-rule lookback evaluation. [MS08]
  2. In Set rule logic, paste the query and resolve any validation errors.
  3. If supported in your portal, add custom details such as ResourceId and OperationNameValue for investigation. Entity mapping may be skipped for this first Foundation exercise; incorrect entity mappings can confuse the incident graph.
  4. Run query every: 5 minutes.
  5. Lookup data from the last: 2 hours (beginner demo only; widen if approved and needed for ingestion delay).
  6. Generate alert when number of query results is greater than: 0.
  7. Event grouping: Group all events into a single alert.
  8. Stop running query after alert is generated: On, for 1 hour if the setting is offered. If your environment cannot use it, disable the rule promptly after the first alert to prevent repetitions.
  9. Run Test with current data / Results simulation if available. Record the preview and remember: simulation is not an alert.

Step C – Create actual incidents without automated remediation

  1. On Incident settings, ensure Create incidents from alerts triggered by this analytics rule = Enabled. When Sentinel is connected to Defender, Microsoft Defender’s incident engine handles creation/correlation and may group alerts differently from initial settings. [MS08]
  2. On Automated responses, do not add automation rules or playbooks for this Foundation lab.
  3. On Review and create, confirm query, workspace, enabled status, threshold, schedule, incident creation and intended scope.
  4. Select Create only after validation passes and the instructor approves the settings.
  5. Return to Active rules. Verify the rule exists and is Enabled.

PASS P09: An active, time-limited training rule exists; query and source scope match the KQL that already returned a real row; incident creation is on; no automated remediation is configured. Save P09-rule-settings.png.

Operational note

Since the lookback is two hours, a previously ingested event may cause the first alert shortly after rule activation. If none appears and all prerequisites are valid, create a new approved tag update after activation, for example changing sentinelTraining from foundation-day1 to foundation-alert-test, and then wait for that event to arrive. Do not repeat changes in a tight loop.

Phase 10 – Observe the real alert and incident

Step A – Check the event and alert

  1. Verify the signal group’s most recent tag update in the Azure subscription Activity log.
  2. Rerun the exact rule query against AzureActivity. A matching row must appear in the appropriate lookback window; capture its timestamp.
  3. Open Defender portal > Investigation & response > Incidents & alerts > Alerts. Filter to the recent period and your unique training rule or source.
  4. Record the actual Alert ID, name, severity, creation time, rule/source and matching resource. If none appears, inspect the rule state, simulation result, lookback/schedule, exact data filters and the queue’s filters; give the service time to process.
  5. A query returning rows is proof of data, not proof of alert generation. Do not mark this phase passed until you have a real alert ID.

Step B – Find the incident containing the alert

  1. Open Investigation & response > Incidents & alerts > Incidents.
  2. Search by rule name/alert/period and check whether the alert is included in an existing incident rather than assuming every alert becomes a new separate row.
  3. If your tenant is using the incident-cases preview, the comparable location is Cases > Incident. Follow the experience actually available; do not try to enable preview in a lab without approval. [MS10] [MS11]
  4. Open the incident/case, verify it includes the matching alert, and record its ID, severity, status, created time, owner and evidence.
  5. When you have the necessary alert/incident screenshots, disable the training analytics rule now. Leave the incident available for investigation, but stop further repeated alerts.

PASS P10: A real Azure source event, matching ingested AzureActivity row, scheduled rule, real alert ID, and real incident/case ID containing that alert. Save P10-alert.png and P10-incident.png.

If an alert is visible but an incident is not, this is a partially completed flow, not a pass. See Section 14.

Phase 11 – Conduct SOC L1 incident triage and write the incident report

  1. Open the matching incident/case from P10.
  2. Verify its title, priority/severity, alert details, timeline, resource references, actor and any mapped entities (if available).
  3. Assign the incident to the instructor-approved training analyst if your permissions allow it. Read-only participants instead document the intended owner.
  4. Use the Source Activity log and KQL query as independent evidence. Explain the difference between the time the action occurred and the time an alert/incident was created.
  5. Evaluate whether the resource change was authorized, expected, harmful or unknown. For this exercise, the instructor knows it was authorized.
  6. Write an investigation note in the incident/case if allowed. Do not include access tokens, secrets, personal contact details or confidential enterprise information.
  7. Resolve/close it with the equivalent of Informational / expected activity or Benign positive when supported by the applicable UI; if classification labels differ, choose the closest accurate meaning and document the mapping. Do not classify a true benign test as a confirmed security compromise.
  8. If the status/close action is not available, record the exact permission blocker and have an authorized instructor perform it.

Learner incident report – complete this template

INCIDENT REPORT - FOUNDATION TRAINING
Student / cohort:
Timestamp and timezone (UTC):
Subscription / workspace:
Signal resource group:
Source Activity log event time:
Event operation name and result:
Actor / initiating identity:
KQL query used (file or paste):
Matching AzureActivity evidence:
Analytics rule name:
Alert ID and alert creation time:
Incident / case ID and creation time:
Incident owner:
Was this authorized? What evidence proves it?:
Classification and rationale:
Immediate action taken (normally none / training closure):
Escalation needed? Why / why not?:
Rule disabled after exercise? Evidence:
Instructor review:

What a good analyst should conclude

An approved Azure configuration change is expected activity. It should produce a verifiable record and, because we intentionally configured a training detector, may produce an alert. An alert does not equal compromise. A strong analyst documents the approval and evidence, closes the training incident appropriately and recommends not using this simplistic alert rule for production. [MS10] [MS11]

PASS P11: Complete evidence-based report, defensible disposition, and safe closure or documented permissions blocker. Save P11-triage-report.md and an authorized screenshot of the close/classification state.

Phase 12 – Read a workbook and answer a real SOC question

  1. Open Microsoft Sentinel > Threat management > Workbooks.
  2. Search for an Azure Activity workbook/template included with the installed solution, if available.
  3. Inspect its Required data types, select the appropriate workspace and open it.
  4. If it must be saved before use, have a permitted instructor/learner select Save and the correct subscription/RG. Workbooks require distinct Reader/Contributor permissions. [MS09]
  5. Adjust any time-range and subscription filters to cover your lab event. Refresh.
  6. Locate a panel describing activity by operation, actor, status or time. Record one useful finding and one limitation.
  7. If the template cannot be viewed due to permissions or visual feature availability, document the blocker and demonstrate a simple KQL summary instead; call it a fallback, not a saved workbook.

Student questions:

  • Which administrative operation did the test create?
  • How does the chart’s aggregation differ from the individual event row?
  • Why might the chart initially show nothing even though the event is in AzureActivity?
  • Which SOC question is answered well by this workbook, and which question would require querying raw logs?

PASS P12: Student identifies the relevant dataset, one actual visualization, and its limits. Save P12-workbook.png or mark the workbook as blocked with the specific reason.


13. End-to-end evidence chain: the student’s final walkthrough

The student must reconstruct this in order, pointing to an artifact for each arrow:

BoundaryEvidence artifactPass?
Approved subscription -> workspaceP01 + P02 screenshots and subscription/workspace notesPASS / BLOCKED
Workspace -> Sentinel/DefenderP03 workspace viewPASS / BLOCKED
Activity-log export configuredP04 connector/diagnostic/policy recordPASS / BLOCKED
Approved change -> source eventP05 Activity log event with time and resourcePASS / BLOCKED
Source event -> destination KQL rowP06 matching AzureActivity rowPASS / BLOCKED
Log row -> explainable analyst summaryP07 source/query interpretationPASS / BLOCKED
Built-in content understandingP08 template vs active-rule explanationPASS / BLOCKED
Tested query -> active scheduled ruleP09 rule validation and active statePASS / BLOCKED
Rule -> real alert -> real incidentP10 Alert ID + incident/case IDPASS / BLOCKED
Incident -> documented dispositionP11 case report and closure/ownershipPASS / BLOCKED
Logs -> visualizationP12 workbook result and interpretationPASS / BLOCKED
Lab -> safe teardownSection 15 cleanup recordPASS / BLOCKED

Never fill in an ID that the platform did not actually create. A screenshot of an instructor-provided example must be labeled instructor demo, not a student’s executed result.

14. Troubleshooting: locate the exact broken boundary

A single diagnostic ladder

NoYesNoYesNoYesNoYesNoYesNoYesNoYesDid approved Azure change succeed?Is change visible in source Activity log?Does approved export target the correct workspace?Does AzureActivity show test event?Does rule query match a row within its lookback?Did the scheduled rule generate a real alert?Does a Defender incident contain the alert?Complete investigation and close as expected training activityFix permissions / resource-group operationCorrect subscription / time / scope filtersFix policy or diagnostic settings with ownerVerify ingestion delay, scope, destination, query contextInspect actual fields; correct name, time, operatorCheck enabled state, schedule, threshold, suppression, executionCheck incident creation, filters, correlation and access

Symptom-to-action table

SymptomLikely causeNext safe validation
Can’t add Sentinel to workspaceSubscription Contributor permission missing, wrong subscription, unsupported existing workspaceCheck subscription filter and onboarding prerequisites [MS01]
Workspace invisible in DefenderNot onboarded, wrong tenant/workspace, insufficient onboarding roleSettings > Microsoft Sentinel > Workspaces; involve admin [MS02]
Content hub Install unavailableMissing Microsoft Sentinel Contributor or other content dependencyReview RG-scoped role assignments [MS03]
Azure Activity connector shows Not connectedNo approved export, wrong workspace, delayed reportingReview actual policy/diagnostic settings; do not rely solely on badge
Source Activity log has no test eventChange failed, incorrect subscription/time filterInspect resource group, source subscription and activity log directly
AzureActivity table missing / emptyNo ingestion yet, wrong workspace, permissions, connector/export issueQuery correct Log Analytics workspace and review collection settings
Broad KQL returns rows but filtered KQL doesn’tWrong RG spelling, activity field casing, different operation name, too narrow timeInspect broad query results and reconstruct filter from actual values
Scheduled rule fails validationMissing TimeGenerated, invalid KQL, unsupported rule settingRun query in Logs first; review wizard validation [MS08]
Rule enabled, no alertEvent not in lookback, threshold/suppression, not yet evaluatedCheck actual data, results simulation, rule state and run timing
Alert visible, no new incident rowIncident creation off, Defender correlation put alert in another incident, filters/permissionsSearch existing incident for matching alert; review rule settings [MS08]
Can’t assign/resolve incidentMissing Responder or Defender management permissionsUse read-only report; instructor handles changes [MS03] [MS11]
Workbook looks emptyWrong data type, workspace, time range or workbook permissionInspect Required data types and time/source filters [MS09]
Too many alertsWide lookback, short frequency, disabled suppressionDisable lab rule immediately; document cause and fix before rerun

Rule-of-thumb troubleshooting order

  1. Source: Was the actual change made and logged?
  2. Transport: Was the correct subscription exported to the correct workspace?
  3. Schema and time: Does the destination record match expected columns and time?
  4. Rule: Does the exact rule query return recent data and does its schedule run?
  5. Alert and incident: Did the actual alert appear, and where did Defender group it?
  6. Authorization: Do you have permission to see/manage the target artifact?

No stage should be marked PASS merely because a later screenshot seems plausible.


15. Clean up and prevent ongoing charges or noise

Cleanup is part of the graded lab. Do not delete an instructor-owned shared workspace or any organization-wide policy.

  1. Disable the temporary scheduled rule as soon as you have the alert evidence (Phase 10). Confirm its status is disabled.
  2. Complete incident evidence and resolution; verify the case and comments remain available for grading if required.
  3. If the rule belongs only to your student sandbox and the instructor approves, delete it from Analytics > Active rules. Document the action.
  4. Remove any temporary built-in test rule you explicitly created, but do not uninstall a Content hub solution used by other learners without approval.
  5. For the test resource group (which must be empty other than approved tags), delete the group only if the instructor confirms it is solely yours and not used as a shared signal source. Copy its resource ID first for evidence.
  6. For a newly created direct diagnostic setting, obtain the collection owner’s approval before removing it from the source subscription. For an Azure Policy assignment, coordinate removal/remediation with the policy owner; removing a policy assignment may not automatically clean up all deployed diagnostic settings.
  7. Delete your new workspace/resource group only if it is not needed for later days and the environment owner explicitly approves. Check that no existing data collection or downstream teaching work depends on it.
  8. Review the approved cost/budget view for usage accrued by the exercise. Note any extra services installed during class.
  9. Save the cleanup record:
CLEANUP REPORT
Student ID:
Lab subscription and resource group:
Rule name and final state:
Incident ID and final classification/status:
Signal RG status (retained/deleted by owner):
Export diagnostic setting/policy (retained/removed by owner):
Workspace status (retained/deleted by owner):
Cost owner notified:
Open issues and next owner:
Timestamp:

PASS P13: Training alert noise has stopped and the ownership/status of every resource or collection route is documented. The goal is not “delete everything”; it is controlled, reversible, auditable cleanup.


16. Final Foundation skills assessment – 100 points

CompetencyPointsRequired evidence
Correct tenant, subscription, Azure scope and safety controls10P01, permission/cost decisions
Correct workspace + Sentinel + Defender access10P02-P03
Correct and approved Azure Activity export10P04
Harmless source event and matching ingested destination record15P05-P06 (both must be real)
Accurate KQL analysis and explainable SOC narrative15P06-P07
Content template understanding + correctly configured custom lab rule10P08-P09
Actual alert + incident evidence15P10: real IDs, source association
Incident triage, classification and report10P11
Workbook and limitations3P12
Safe disabling/cleanup documentation2P13
Total100

Progression gate to Intermediate

  • Recommended passing score: 80/100.
  • Mandatory live competencies: P05, P06, P09, P10 and safe disabling/cleanup must be demonstrated or individually checked off by an instructor after successful remediation. A higher score cannot replace missing real evidence.
  • In Mode B, instructor-provisioned infrastructure is acceptable, but evidence must show that the student’s event reached the correct destination and produced the claimed alert and incident.
  • In Mode C, students may pass a KQL/concepts practice check, not the full end-to-end practical gate.

Instructor answer key / expected reasoning

  1. What is an event? An Azure Activity entry describes a control-plane operation; the meaning depends on actor, subscription, scope, timestamp and result.
  2. Why do we need export? The source Azure Activity log exists before Sentinel; a configured pipeline delivers relevant events to the Log Analytics table.
  3. Does a Connected label prove an event arrived? No. The proof is a source event matched to the destination record.
  4. What does KQL establish? The analyst can filter, summarize and inspect evidence in the connected table.
  5. What makes this a scheduled rule? Sentinel reruns the tested query on a configured interval/lookback and creates an alert when the threshold is met.
  6. Is Test with current data a real alert? No. It is a rule simulation.
  7. Is the alert necessarily malicious? No. This alert deliberately indicates authorized lab activity; classify based on corroborated context.
  8. Why might an alert not create a separate incident row? In Defender, incident correlation can put it into an existing incident; check incident creation and search for the alert ID.
  9. What does a workbook add? Visual summaries for repeated SOC questions. The underlying source and filters must still be validated.
  10. What is the final analyst action? Document expected activity, close appropriately, disable noisy demo detection and preserve graded evidence.

Oral demonstration: ask the student to trace the whole flow

“I changed this approved resource group; here is the corresponding Azure source event. This subscription export delivered it to my Sentinel workspace’s AzureActivity table. Here is the filtered KQL row, my rule’s configured threshold/lookback, the real alert, its incident, my authorized-activity classification and the disabled test rule. This workbook summarizes the underlying activity.”

If a learner can prove that narrative from their own artifacts and correctly explain its limitations, they understand the essential Foundations workflow.


17. Student submission checklist

Submit one folder (for example Sentinel-Foundations-s01) containing:

Sentinel-Foundations-s01/
  README.md                  # Student, selected Mode A/B/C, context, limitations
  P01-subscription-scope.png
  P02-workspace-overview.png
  P03-defender-workspace.png
  P04-activity-connector.png
  P05-source-activity-log.png
  P06-kql-proof.png
  P07-analysis.md
  P08-template-notes.md
  P09-rule-settings.png
  P10-alert.png
  P10-incident.png
  P11-triage-report.md
  P12-workbook.png
  P13-cleanup.md
  query.kql                  # Copy of final tested query with no secrets

If a screenshot is unavailable because of permissions or the mode used, submit BLOCKED-<checkpoint>.md documenting the exact obstacle and an authorized alternative. Do not invent screenshots, claim simulations were real alerts, or publish private subscription/user identifiers on a public training site.


18. Verified official references and change-check list

These references were reviewed for the November 1, 2026 edition. Exact button labels, permissions, licensing, and portal previews may change between cohorts. DOC-VERIFIED means the Microsoft article documents the workflow; LIVE-UNVERIFIED means this manual was not executed in your subscription. The instructor must complete P01-P13 once in the actual training tenant before delivery.

IDOfficial Microsoft documentationUsed for
MS01Onboard Microsoft Sentinel to a Log Analytics workspaceWorkspace, Sentinel setup, Content hub, Azure Activity connector
MS02Connect Microsoft Sentinel to the Defender portalWorkspace onboarding, Defender navigation and requirements
MS03Roles and permissions in Microsoft SentinelReader/Responder/Contributor responsibilities
MS04Microsoft Sentinel in the Defender portalInterface direction and support transition
MS05Azure Monitor Activity logSource operations, AzureActivity, case-insensitive fields, ingestion notes
MS06Azure Monitor diagnostic settingsDirect subscription activity export and precautions
MS07AzureActivity table referenceQuery column names and types
MS08Create scheduled analytics rulesTimeGenerated, schedules, lookback, thresholds, incident setting and suppression
MS09Visualize data using Microsoft Sentinel workbooksWorkbooks and access requirements
MS10Manage incidents in Defender portal (legacy experience)Incident ownership, expected activity, notes and resolution
MS11Manage incident cases in Defender portal (preview)Case management differences and permissions
MS12Create scheduled rule from a templateBuilt-in rule template discovery
MS13Azure Activity log event schemaAdministrative write-event interpretation

Before every course delivery, instructor recheck

  • [ ] Defender portal > workspace is connected and learners can see the intended scope.
  • [ ] The Azure Activity solution/connector remains installed and source export is authorized.
  • [ ] The live event query returns a correct row before an analytics rule is configured.
  • [ ] The scheduled-rule wizard supports the chosen lookback, interval and suppression in this environment.
  • [ ] A controlled test produces a real alert and Defender incident in the current incident UI.
  • [ ] Labels for closing expected activity are recorded for your tenant.
  • [ ] No lab rule or resource has a production blast radius; cleanup roles are assigned.
  • [ ] Entitlements, preview availability and pricing have been checked for the delivery date.

Validated offline for this publication: syllabus fit, Markdown structure, KQL composition against documented schema, field names, architecture coherence, evidence gates, and safety sequencing.

Not asserted: Live execution in your Microsoft tenant, guaranteed event delivery timing, guaranteed zero cost, identical portal menus in every tenant, or a generated incident where no real alert was observed.


End of Foundation End-to-End Student Lab Manual

Related Posts

AWS CodeCommit – Complete Step-by-Step Tutorial

Beginner to Advanced | macOS, Linux, Git, SSH, IAM, CodeBuild This master tutorial covers the complete AWS CodeCommit workflow, from creating your first repository to managing source…

Read More

AWS Developer Services: Console Lab Guide

title AWS Developer Services: Gold-Standard Console Lab Guide subtitle CodeCommit • CodeArtifact • CodeBuild • CodeDeploy • CodePipeline author Instructor Edition | Browser-Only Labs date 10 November…

Read More

Oracle Cloud Always Free VPS — Complete Step-by-Step Tutorial

Beginner to Advanced | Updated: November 2, 2026 | Verified against official Oracle Cloud Infrastructure documentation This guide walks you through logging in to Oracle Cloud, configuring…

Read More

Microsoft Sentinel Intermediate: One Complete End-to-End Hands-On Lab – Part – 3

Module 2: Intermediate | Day 3 only | Complete instructor-and-learner manual Edition: 1 November 2026Course: Microsoft Sentinel Technical Training — 5-day progressive curriculumThis document: Day 3 only; prerequisite: successful completion of Foundations…

Read More

Microsoft Sentinel Advance: One Complete End-to-End Hands-On Lab – Part – 4

Module 3: Advanced | Day 4 only | Detection Engineering, Threat Hunting and SOAR Curriculum version: 1 November 2026Course: Five-day progressive Microsoft Sentinel technical trainingThis manual: Day 4 only — syllabus competencies A01–A14Prerequisite: Demonstrated…

Read More

Microsoft Sentinel Advance: One Complete End-to-End Hands-On Lab – Part – 5

Module 3: Advanced | Day 5 only | Enterprise Architecture, Data Lake, DevSecOps and SOC Governance Edition: 1 November 2026Training path: Day 5 of the five-day progressive Microsoft Sentinel programThis manual: Day…

Read More