Lesson 045 · AWS Learning Path

AWS 045: MFA and account password controls

· Published · 7 min read

A password gate and second-factor device protect workforce access before a secure session begins

The problem

A team uses MFA and account password controls as a label or Console setting without proving the identity, scope, behavior, failure boundary, cost, or operational result. The configuration appears complete but the real requirement remains untested.

Final outcome

The learner will inspect, explain, test, and document MFA and account password controls. The submission must connect the Console and CLI view to the same AWS control, state what the evidence proves, diagnose one likely failure, and make a requirement-based architecture decision.

Learning outcomes

You will be able to:

  1. explain mfa adds an authentication factor;
  2. explain protect the root user first;
  3. explain iam password policy has limited scope;
  4. explain mfa can be enforced in policy;
  5. explain phishing resistance matters;
  1. distinguish successful configuration from successful workload behavior;
  2. preserve redacted evidence and complete the stated cleanup or retention decision.

Mental model

requirement
   -> identity and permission
   -> account, Region, and resource scope
   -> configuration or request
   -> observable state
   -> workload result
   -> failure evidence
   -> cleanup or controlled retention

Never begin with a create button or a copied command. Start with the result that must be proven and the boundary that must remain protected.

Core facts

ConceptWhat it means in practice
MFA adds an authentication factorA password or key alone is not enough when MFA is required. AWS supports passkeys and security keys, authenticator applications, and supported hardware TOTP devices for relevant identities.
Protect the root user firstThe root user has complete account authority and root-only capabilities. Register multiple MFA methods where supported, secure the email account, and keep root credentials out of daily operations.
IAM password policy has limited scopeThe account password policy applies to IAM user console passwords. It does not control the root password or passwords managed by an external identity provider.
MFA can be enforced in policyThe aws:MultiFactorAuthPresent condition key can restrict requests made with temporary credentials that carry MFA context. Long-term access keys do not directly carry an MFA-authenticated session.
Phishing resistance mattersFIDO security keys and passkeys provide stronger protection against credential phishing than manually entered one-time codes. Recovery and device enrollment still need governance.
Machine identities should not use human MFAWorkloads should use roles, workload identity, and short-lived credentials. Do not solve stored application keys by attaching a virtual MFA device to a shared IAM user.

How to reason about it

An MFA Deny policy must be tested carefully. Requests made by AWS services on the principal’s behalf, long-term credentials, and missing context keys can behave differently. Common designs allow a small set of actions needed to enroll MFA and require an MFA-backed temporary session for everything else.

Password complexity alone does not prevent phishing, session theft, dormant users, or leaked access keys. Combine federation, MFA, short session duration, credential inventory, CloudTrail, GuardDuty, Access Analyzer, and a tested recovery process.

Use the following decision table as a starting point, then change the answer when the scenario changes.

RequirementPreferred directionWhy
Administrators sign in through a corporate directoryIdP MFA plus IAM Identity CenterApply strong authentication centrally and use time-limited AWS sessions.
Root credentials need recovery resilienceMultiple registered MFA methods and controlled break-glass processOne lost device should not force unsafe daily root use or an untested recovery.
IAM user must perform console workMFA and restrictive password policyThis protects the exception while migration to federation remains the preferred direction.
Automation needs stronger securityRole and short-lived credentialsMFA is for a human authentication event, not a substitute for workload identity.

Prerequisites, permissions, Region, and cost

Run this lesson as the approved non-root course identity. Begin with aws sts get-caller-identity, confirm the private account record, and set the fixed project Region before any regional query. IAM resources are global within an account, while STS endpoints and the services reached by an identity can be regional.

Use only the read or change actions required for this lesson. An AccessDenied result is evidence to analyse, not permission to switch to root or attach AdministratorAccess. Record the action, resource, principal type, request context, and smallest justified correction.

The listed cost tier is T0 - no resource creation. Free Tier eligibility and credits are account-specific. Before a mutating lab, identify every resource that can charge, estimate its duration, start a timer, and write the reverse cleanup order. A budget reports cost after billing data arrives and is not a real-time stop control.

AWS Management Console method

  1. Open IAM Dashboard and review the MFA security recommendation.
  2. Open Users, select a learning user, then Security credentials to inspect assigned MFA devices without exposing seed data.
  3. Open Account settings to inspect the IAM-user password policy and note that it does not control root or external-IdP passwords.

For every step record the service page, selected account and Region, exact object, visible state, and why that state matters. A Console label or green status is not enough unless it is tied to the final workload outcome.

AWS CLI or API evidence

Review the account password policy and inventory MFA devices for IAM users.

aws iam get-account-password-policy
aws iam list-virtual-mfa-devices --assignment-status Assigned

The password policy covers IAM-user passwords only. The virtual-device list is not a complete inventory of every possible MFA type or federated MFA control.

Before running the command, replace every placeholder, explain each option, and decide whether the operation is read-only or mutating. Capture the exit code immediately. Redact account IDs, ARNs, public addresses, request identifiers, and personal data before sharing.

The CLI and Console are clients of AWS APIs. Matching state across them increases confidence, but neither substitutes for data-plane or application verification.

Practical work

Create mfa-and-account-password-controls-evidence.md. Record the problem, account and Region preflight, observed Console state, matching CLI result, every decision in the table, one intentional misconception, one failure diagnosis, and the retained-state or cleanup result.

The evidence package must include:

  • non-root principal type, account verified privately, and Region;
  • exact intended and observed state;
  • one Console observation and the matching CLI or API result;
  • one successful result and one denied, failed, or counterexample result;
  • what each result does not prove;
  • cost state and elapsed lab time;
  • cleanup evidence or a named retained-state owner and next lesson.

Verification standard

Use three levels of proof:

  1. Control plane: the object or policy exists with the intended configuration.
  2. Data plane or behavior: the request, packet, session, storage path, or application does what the requirement states.
  3. Operations: monitoring, failure diagnosis, cost, ownership, and cleanup are known.

A control-plane response can precede final readiness. Use waiters or state polling where supported, then test the actual behavior. If a request times out, do not assume it failed. Inspect state and use documented idempotency before retrying a mutation.

Troubleshooting method

SymptomEvidence firstSmallest safe response
command cannot authenticatecredential source, expiry, caller preflightrestore approved temporary login
access is deniedaction, resource, principal, all policy layerscorrect only the missing or conflicting control
object appears missingaccount, Region, filters, pagination, permissionalign scope before creating anything
configured state exists but behavior failsroute, identity, dependency, logs, service statetest the next boundary in the path
cleanup is blockeddependency inventory and owning serviceremove dependants in reviewed reverse order

Keep the original symptom and timestamp. State one hypothesis, make one reversible change, repeat the original test, and record rollback. Never open a management port to the world, expose credentials, disable TLS verification, format an unknown disk, or add broad permissions as a generic fix.

Architecture and certification decisions

Professional-level questions provide competing valid features. Identify the requirement that decides between them: human or workload identity, same-account or cross-account access, regional or zonal scope, stateful or stateless filtering, durable or ephemeral data, latency, RTO/RPO, cost, or operational ownership.

Explain why the selected option fits and why each plausible alternative fails one stated requirement. Do not rely on feature memorization or reproduce protected certification questions.

Knowledge check

  1. Does the IAM password policy set the root-user password rules?

Expected direction: No. It applies to IAM users in the account.

  1. Should an application receive a shared IAM user plus MFA seed?

Expected direction: No. Use a workload role and temporary credentials.

  1. Why prefer a phishing-resistant MFA method for administrators?

Expected direction: It binds authentication more strongly to the legitimate service and resists replay of typed one-time codes.

  1. Can a policy require MFA by checking request context?

Expected direction: Yes, for supported request paths, but missing keys and service-mediated calls must be designed and tested correctly.

Cost, cleanup, and retained state

No workload resource should remain unless this lesson explicitly creates and retains one for the next numbered lab.

Cleanup evidence includes the final state query, not only a successful delete response. Search related resources, other Regions used by the lab, retained storage, public IPv4 addresses, logging destinations, and service-managed dependencies. Schedule a later billing review because cost data can lag.

Completion gate

Pass when the practical artifact explains the real problem, matches Console and CLI evidence, answers every knowledge check, diagnoses one failure without broadening access, records cost, and proves cleanup or approved retention. The learner must defend one decision orally and name the requirement that would change it.

Official sources

Advertisement