The correct answer is that the join operation is used to identify accounts that had both a high number of failed logons and at least one successful logon from the same IP. This works by first aggregating failed logon attempts per account and IP, then performing an inner join with successful logon events on those same fields, effectively correlating failed and successful logons for brute-force detection. On the SC-200 exam, this tests your understanding of how KQL joins enrich security data rather than simply filtering it—a common trap is confusing the join’s purpose with filtering out IPs or calculating ratios. Remember that the join here is a correlation tool, not a filter: it pairs failure patterns with eventual success, which is the hallmark of a brute-force attack. A useful memory tip is “failures plus success from one IP equals compromise,” so when you see a join linking failed and successful logons, think of it as connecting the dots between attack attempts and a successful breach.
SC-200 Perform threat hunting Practice Question
This SC-200 practice question tests your understanding of perform threat hunting. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
Exhibit
Refer to the exhibit.
```kusto
let threshold = 10;
IdentityLogonEvents
| where Timestamp > ago(7d)
| where Application == "Microsoft Entra ID"
| summarize FailedAttempts = countif(LogonType != "Success") by AccountUpn, IPAddress
| where FailedAttempts > threshold
| join kind=inner (IdentityLogonEvents
| where Timestamp > ago(7d)
| where Application == "Microsoft Entra ID" and LogonType == "Success"
| summarize SuccessfulLogons = count() by AccountUpn, IPAddress)
on AccountUpn, IPAddress
| project AccountUpn, IPAddress, FailedAttempts, SuccessfulLogons
```
An analyst uses this KQL query in Microsoft Sentinel to hunt for potential brute-force attacks. What is the primary purpose of the join operation?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue: "primary"
Why it matters: Asks for the main purpose or function, not a secondary benefit. Eliminate answers that describe side-effects or partial functions.
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
To identify accounts that had both a high number of failed logons and at least one successful logon from the same IP
Option C is correct because the join is used to correlate failed and successful logons from the same account and IP, which helps identify accounts that eventually succeeded after many failures, a classic brute-force pattern. Option A is wrong because the query does not filter out IPs with only successes. Option B is wrong because the join is not filtering anything; it's enriching. Option D is wrong because the query does not calculate a ratio.
Key principle: NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
✗
To filter out IP addresses that have only successful logons
Why it's wrong here
The join includes all IPs that had both failures and successes, but it does not exclude those with only successes.
✓
To identify accounts that had both a high number of failed logons and at least one successful logon from the same IP
Why this is correct
This correlation helps detect successful brute-force attacks.
Clue confirmation
The clue word "primary" in the question point toward this answer.
Related concept
Static NAT maps one inside address to one outside address.
✗
To calculate the ratio of failed to successful logons for each account
Why it's wrong here
The query does not calculate a ratio; it only shows counts side by side.
✗
To remove duplicate entries of account and IP combinations
Why it's wrong here
The join does not remove duplicates; it adds a new column.
Common exam traps
Common exam trap: NAT rules depend on direction and matching traffic
NAT is not only about the public address. The inside/outside interface roles and the ACL or rule that matches traffic are just as important.
Trap categories for this question
Command / output trap
The query does not calculate a ratio; it only shows counts side by side.
Detailed technical explanation
How to think about this question
NAT questions usually test address translation, overload/PAT behaviour, static mappings and whether the right traffic is being translated. Read the interface direction and address terms carefully.
KKey Concepts to Remember
Static NAT maps one inside address to one outside address.
PAT allows many inside hosts to share one public address using ports.
Inside local and inside global describe the private and translated addresses.
NAT ACLs identify traffic for translation, not always security filtering.
TExam Day Tips
→Identify inside and outside interfaces first.
→Check whether the scenario needs static NAT, dynamic NAT or PAT.
→Do not confuse NAT matching ACLs with normal packet-filtering intent.
Key takeaway
NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated.
Real-world example
How this comes up in practice
A cloud solutions architect for a retail company is evaluating services for a new workload. The correct answer here reflects best practice for the specific scenario described — not a general cloud recommendation. NAT direction and interface roles matter as much as the IP address mapping. Inside/outside designation controls which traffic is translated. Cloud exam questions reward reading the constraint carefully: the same technology can be right or wrong depending on the use case.
Related glossary terms
Concepts from this question explained
These glossary pages explain the core terms tested in this SC-200 question in full detail.
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related SC-200 NAT questions on configuration and troubleshooting.
Perform threat hunting — This question tests Perform threat hunting — Static NAT maps one inside address to one outside address..
What is the correct answer to this question?
The correct answer is: To identify accounts that had both a high number of failed logons and at least one successful logon from the same IP — Option C is correct because the join is used to correlate failed and successful logons from the same account and IP, which helps identify accounts that eventually succeeded after many failures, a classic brute-force pattern. Option A is wrong because the query does not filter out IPs with only successes. Option B is wrong because the join is not filtering anything; it's enriching. Option D is wrong because the query does not calculate a ratio.
What should I do if I get this SC-200 question wrong?
Review the four NAT address types (inside local, inside global, outside local, outside global), PAT port overload, and static vs dynamic NAT use cases. Then practise related SC-200 NAT questions on configuration and troubleshooting.
Are there clue words in this question I should notice?
Yes — watch for: "primary". Asks for the main purpose or function, not a secondary benefit. Eliminate answers that describe side-effects or partial functions.
What is the key concept behind this question?
Static NAT maps one inside address to one outside address.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. During a threat hunt, a security analyst uses Microsoft Sentinel and identifies a series of failed logon attempts from a single IP address targeting multiple user accounts. The analyst wants to create a scheduled analytics rule that generates an alert when the same IP address fails to logon to more than 10 different accounts within 5 minutes. Which KQL operator should be used to count distinct accounts per IP?
medium
A.count()
B.summarize count() by Account
C.distinct Account
✓ D.dcount(Account)
Why D: Option B is correct because dcount is an approximate distinct count that is efficient for large datasets. Option A is wrong because count counts all events, not distinct accounts. Option C is wrong because distinct is used to return unique rows, not to count. Option D is wrong because summarize with count() counts all rows.
Last reviewed: Jun 21, 2026
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
This SC-200 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SC-200 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.