SAA-C03 Design Secure Architectures Practice Question
A public API for a B2B file exchange site is deployed on API Gateway. Clients must authenticate with standards-based tokens issued by an external OpenID Connect provider. Which authorization mechanism should be used?
⚠ Common exam trap
Test-takers frequently confuse API keys (which are for rate limiting and client identification) with authentication, or assume IAM authorization can be used for external users, but IAM requires AWS credentials and is not designed for third-party OIDC tokens.
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
✓
JWT authorizer configured for the OpenID Connect issuer
API Gateway's JWT authorizer natively validates JSON Web Tokens issued by an external OpenID Connect (OIDC) provider. It verifies the token's signature, expiry, and issuer against the OIDC provider's JWKS endpoint without requiring custom Lambda code, making it the simplest and most secure choice for standards-based token authentication.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
API keys only
Why it's wrong here
API keys are static, shared secrets that merely identify a client project for usage plans, throttling, and quota tracking; they do not prove the identity of an end user. Because the key is sent in the request header and can be replayed by anyone who obtains it, it is not a secure authentication factor for a public B2B file exchange. API Gateway does not validate any OIDC token claims when using API keys, so they cannot enforce per-user authorization. Therefore, API keys alone are fundamentally inadequate for authenticating internet users.
- ✗
IAM authorization for all internet users
Why it's wrong here
IAM authorization is designed for AWS principals—IAM users, roles, or federated identities—that must sign requests with AWS Signature Version 4 using long-term or temporary AWS credentials. General internet users of a public API do not possess IAM credentials, and distributing static AWS keys to external clients would create a severe security risk. Moreover, SigV4 signing is impractical for typical browser-based or third-party OIDC-authenticated clients. Thus, IAM authorization cannot authenticate individual users whose identities come from an external OpenID Connect provider.
- ✓
JWT authorizer configured for the OpenID Connect issuer
Why this is correct
A JWT authorizer in API Gateway validates the RS256 signature, issuer, and audience of a JSON Web Token issued by a trusted OpenID Connect provider, such as Auth0, Okta, or Amazon Cognito User Pools. This authorizer leverages the provider's JWKS endpoint to verify tokens without requiring a custom Lambda authorizer or backend authentication logic, significantly reducing operational overhead. Additionally, it can map claims from the token into the request context, enabling fine-grained routing or scope-based restrictions. This directly meets the need to authenticate public API users who already hold OIDC-issued access tokens.
- ✗
A VPC endpoint policy
Why it's wrong here
A VPC endpoint policy controls which AWS principals and actions are permitted to use a particular VPC endpoint when accessing a service from inside a VPC—it is an IAM-based resource policy for private network connections. It does not validate user identities, tokens, or OIDC claims, and it applies only to traffic routed through the endpoint, not to the public internet path. Since the B2B API is explicitly public, internet requests will never traverse the VPC endpoint, so the policy would have no effect on them. Therefore, a VPC endpoint policy cannot authenticate or authorize external end users.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
Courseiva writes every SAA-C03 question from scratch — 935 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services 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 SAA-C03 exam.