- A
Use a system-assigned managed identity to authenticate to Microsoft Graph.
Why wrong: Managed identities are for Azure resources, not for client applications.
- B
Implement OAuth 2.0 authorization code flow with PKCE.
PKCE ensures the authorization code is exchanged securely without exposing the client secret.
- C
Store the client secret in Azure Key Vault and retrieve it at runtime.
Why wrong: While secure, this still requires managing a secret; PKCE is better for avoiding secret exposure.
- D
Register the application as a public client and use the implicit grant flow.
Why wrong: Implicit grant is deprecated and less secure.
Quick Answer
The answer is to implement OAuth 2.0 authorization code flow with PKCE. This approach is correct because PKCE (Proof Key for Code Exchange) dynamically generates a cryptographic secret for each authorization request, ensuring that even if the authorization code is intercepted, it cannot be exchanged for tokens without the original verifier—eliminating the need to expose a static client secret. On the Microsoft Cybersecurity Architect exam, this scenario tests your ability to distinguish between authentication flows for applications that must handle both internal employees and external partners without relying on Azure-hosted managed identities, which are unsuitable for client apps running outside Azure. A common trap is choosing certificate-based authentication or managed identities, but the question’s emphasis on avoiding secret exposure in a non-Azure or multi-tenant context points directly to PKCE. Memory tip: PKCE stands for “Proof Key for Code Exchange”—think of it as a “pixie” that magically secures the code exchange without a secret.
SC-100 Practice Question: Design security solutions for applications and data
This SC-100 practice question tests your understanding of design security solutions for applications and data. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. 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.
Your organization uses Microsoft Entra ID and plans to implement a custom line-of-business application that accesses Microsoft Graph APIs. The application will be used by employees and external partners. You need to ensure that the application can authenticate users and obtain appropriate permissions without exposing the client secret. What should you implement?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Implement OAuth 2.0 authorization code flow with PKCE.
Managed identities are not suitable for client applications that run outside Azure. Using certificates instead of client secrets enhances security but still requires secret management. OAuth 2.0 authorization code flow with PKCE is the recommended approach for mobile and desktop apps, but for a web app with a backend, the best practice is to use a system-assigned managed identity if hosted in Azure, or use certificates/Key Vault. However, the question specifies a custom LOB app used by employees and external partners, likely hosted on-premises or in Azure. The most secure approach for a confidential client is to use a certificate stored in Azure Key Vault. But the correct answer here is to implement OAuth 2.0 authorization code flow with PKCE (Proof Key for Code Exchange) to avoid exposing the client secret in the browser. For a web app with a backend, using the authorization code flow with PKCE is still recommended, and the client secret is not exposed. Option D is the most accurate.
Key principle: Authentication proves identity; authorization controls what that identity can do after login. Both must work for full privileged access.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use a system-assigned managed identity to authenticate to Microsoft Graph.
Why it's wrong here
Managed identities are for Azure resources, not for client applications.
- ✓
Implement OAuth 2.0 authorization code flow with PKCE.
Why this is correct
PKCE ensures the authorization code is exchanged securely without exposing the client secret.
Related concept
Authentication checks who the user is.
- ✗
Store the client secret in Azure Key Vault and retrieve it at runtime.
Why it's wrong here
While secure, this still requires managing a secret; PKCE is better for avoiding secret exposure.
- ✗
Register the application as a public client and use the implicit grant flow.
Why it's wrong here
Implicit grant is deprecated and less secure.
Common exam traps
Common exam trap: authentication is not authorization
Logging in proves the user can authenticate. It does not automatically mean the user is allowed to enter privileged or configuration mode. Watch for AAA authorization, privilege level and command authorization details.
Detailed technical explanation
How to think about this question
This kind of question is testing the difference between identity and permission. A user may successfully log in to a router because authentication is working, but still fail to enter configuration mode because authorization is missing, misconfigured or mapped to a lower privilege level.
KKey Concepts to Remember
- Authentication checks who the user is.
- Authorization controls what the user is allowed to do after login.
- Privilege levels affect access to EXEC and configuration commands.
- AAA, TACACS+ and RADIUS can separate login success from command access.
TExam Day Tips
- Do not assume successful login means full administrative access.
- Look for words such as cannot enter configuration mode, privilege level, authorization or command access.
- Separate login problems from permission problems before choosing the answer.
Key takeaway
Authentication proves identity; authorization controls what that identity can do after login. Both must work for full privileged access.
Real-world example
How this comes up in practice
A company's IT admin needs to give a contractor read-only access to production logs without sharing account credentials. Using role-based access control (RBAC) and temporary scoped permissions — not a permanent shared password — is the correct pattern. Questions like this test whether you can apply least-privilege access across cloud identity services.
What to study next
Got this wrong? Here's your next step.
Review Cisco AAA concepts — authentication, authorization, and accounting. Study privilege levels (0–15), command authorization under TACACS+, and how RADIUS differs. Then practise related SC-100 questions on access control and AAA configuration.
- →
Design security solutions for applications and data — study guide chapter
Learn the concepts, then practise the questions
- →
Design security solutions for applications and data practice questions
Targeted practice on this topic area only
- →
All SC-100 questions
969 questions across all exam domains
- →
Microsoft Cybersecurity Architect study guide
Full concept coverage aligned to exam objectives
- →
SC-100 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related SC-100 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Design solutions that align with security best practices and priorities practice questions
Practise SC-100 questions linked to Design solutions that align with security best practices and priorities.
Design security operations, identity, and compliance capabilities practice questions
Practise SC-100 questions linked to Design security operations, identity, and compliance capabilities.
Design security solutions for infrastructure practice questions
Practise SC-100 questions linked to Design security solutions for infrastructure.
Design a Zero Trust strategy and architecture practice questions
Practise SC-100 questions linked to Design a Zero Trust strategy and architecture.
Design security solutions for applications and data practice questions
Practise SC-100 questions linked to Design security solutions for applications and data.
Evaluate GRC and security operations strategies practice questions
Practise SC-100 questions linked to Evaluate GRC and security operations strategies.
Design security for infrastructure practice questions
Practise SC-100 questions linked to Design security for infrastructure.
Design a strategy for data and applications practice questions
Practise SC-100 questions linked to Design a strategy for data and applications.
Recommend security best practices and priorities practice questions
Practise SC-100 questions linked to Recommend security best practices and priorities.
SC-100 fundamentals practice questions
Practise SC-100 questions linked to SC-100 fundamentals.
SC-100 scenario practice questions
Practise SC-100 questions linked to SC-100 scenario.
SC-100 troubleshooting practice questions
Practise SC-100 questions linked to SC-100 troubleshooting.
Practice this exam
Start a free SC-100 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this SC-100 question test?
Design security solutions for applications and data — This question tests Design security solutions for applications and data — Authentication checks who the user is..
What is the correct answer to this question?
The correct answer is: Implement OAuth 2.0 authorization code flow with PKCE. — Managed identities are not suitable for client applications that run outside Azure. Using certificates instead of client secrets enhances security but still requires secret management. OAuth 2.0 authorization code flow with PKCE is the recommended approach for mobile and desktop apps, but for a web app with a backend, the best practice is to use a system-assigned managed identity if hosted in Azure, or use certificates/Key Vault. However, the question specifies a custom LOB app used by employees and external partners, likely hosted on-premises or in Azure. The most secure approach for a confidential client is to use a certificate stored in Azure Key Vault. But the correct answer here is to implement OAuth 2.0 authorization code flow with PKCE (Proof Key for Code Exchange) to avoid exposing the client secret in the browser. For a web app with a backend, using the authorization code flow with PKCE is still recommended, and the client secret is not exposed. Option D is the most accurate.
What should I do if I get this SC-100 question wrong?
Review Cisco AAA concepts — authentication, authorization, and accounting. Study privilege levels (0–15), command authorization under TACACS+, and how RADIUS differs. Then practise related SC-100 questions on access control and AAA configuration.
What is the key concept behind this question?
Authentication checks who the user is.
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 →
Last reviewed: Jun 21, 2026
This SC-100 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-100 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.