What Is AWS MFA and Why AWS Nags You - Set It Up in 3 Minutes

Logeshwaran.C

MFA stands for multi-factor authentication, and on AWS it means proving who you are with two things instead of one: your password, plus a rotating six-digit code (or a tap on a security key) from a device only you have. AWS makes you set this up now — not just recommends it — because the root user of every AWS account, no matter how small, is required to have MFA configured, and the console gives you a 35-day countdown from your first sign-in before it starts blocking you. Here's the part almost nobody expects: it's not a paperwork chore. Turning it on takes about three minutes, and the single most damaging AWS security mistake in the last decade — someone's root password leaking and their whole account getting used to mine cryptocurrency overnight — is one that MFA alone would have stopped cold, for free.

⚡ Quick Answer

Root user → account name (top right) → Security credentialsAssign MFA device

IAM user → IAM console → Users → your username → Security credentials tab → Assign MFA device

Fastest option for most people: an authenticator app on your phone. Scan the QR code, type two codes in a row, done. Full walkthrough in Set up root user MFA and Set up IAM user MFA below.

Jake called me on a Tuesday, half-annoyed and half-panicked. "Every single time I log into AWS to check the invoice for the phone screens I ordered, it's got this orange banner nagging me about MFA. I closed it eleven times. Today it wouldn't let me close it anymore — it just said I have until some date to sort it out or I get locked out. What is this thing, and why does it suddenly care so much?"

Here's what I told him, and it's the whole post in one paragraph: MFA has been a "you really should" for years. It's now a "you must," at least for the account's root user — the one login tied to your email address that can do literally anything, including deleting every server, every backup, and every dollar of spend controls you've set up. AWS decided that particular login was too dangerous to leave protected by a password alone, so it built the requirement into the console itself, with a grace period and a clock. Everything else in this post is just the mechanics of getting that clock stopped, for good, in about the time it takes to make a coffee.

What MFA actually is (and why one password was never enough)

Multi-factor authentication just means: prove who you are using two different kinds of proof, not just one. Security people sort proof into three buckets — something you know (a password, a PIN), something you have (your phone, a physical key), and something you are (a fingerprint, your face). A password on its own is only ever one bucket. If it leaks — and passwords leak constantly, through phishing emails, reused logins from some other site's data breach, or a sticky note someone photographed — that's the whole game over. Anyone holding that password can sign in as you.

MFA fixes that by requiring a second bucket. On AWS, when MFA is turned on, signing in means typing your password and then producing a six-digit code that changes every 30 seconds, or tapping a physical security key, or approving a prompt with your fingerprint. An attacker who has your password but not your phone is stuck. That's the entire value proposition, and it's why AWS calls it "a simple and effective mechanism" rather than something exotic — it isn't complicated, it's just an extra step that happens to close the single biggest hole in password-only security.

‍♂️ Jake's Reality Check

"So this is the same thing as when my banking app texts me a code?"

Basically, yes. Same idea — password plus a second, separate proof. AWS just doesn't use text messages for it; it uses an app on your phone, a physical key, or a hardware fob instead, because SMS codes can be intercepted through a trick called SIM-swapping. The concept is identical to what your bank already trained you to expect.

Ethan put it to Jake this way once, standing in the shop while a customer waited for a screen replacement: "Think of your AWS root login like the master key to the whole shop — not just the till, the safe, the security cameras, the supplier accounts, everything. You wouldn't leave a copy of that key under the doormat because it's 'inconvenient' to carry it. MFA is you carrying the key instead of hiding it under the mat." Jake didn't love the analogy, mostly because he actually does have a habit of hiding the shop's spare key under a flowerpot, but the point landed.

Why AWS won't let you skip it anymore

This is the part that surprises people, including Jake: the nagging banner isn't a suggestion engine trying to upsell you on security. AWS's own documentation states plainly that all AWS account types — standalone accounts, management accounts in an organization, and member accounts — require MFA to be configured for their root user. If you haven't set it up, you get 35 days from your very first sign-in attempt to register a device before you start running into friction accessing the AWS Management Console.

That's a meaningful shift from how AWS security worked for most of the platform's history. MFA for the root user used to sit purely in the "best practice, please do this" column — recommended in every security guide, ignored by a huge number of accounts anyway, because nothing forced the issue. The root user is the one identity on an AWS account that can't be restricted by a permissions policy; it can change billing, close the account, and override anything an administrator sets up for regular users. Leaving that identity behind a password alone was always the riskiest gap in an AWS account, and AWS eventually decided "recommended" wasn't cutting it.

 What changed

  • Before: MFA for the root user was optional, strongly recommended, but not enforced by the console.
  • Now: All AWS account types — standalone, management, and member accounts — require MFA on the root user, with a 35-day window from first console sign-in to register a device.
  • What that means for you: that orange banner isn't going away on its own, and closing it repeatedly doesn't reset the clock.

Note the wording carefully: this requirement is specifically about the root user. Regular IAM users you've created inside your account — the logins your employees, contractors, or your own "everyday" account uses — are a separate story. MFA for those is not automatically enforced by AWS; an administrator has to turn it on or require it through a policy, which we'll cover further down. If Jake's shop has three staff logins under one AWS account, each of those can go without MFA indefinitely unless somebody actively locks that door.

Which type of MFA should you actually use?

AWS supports three families of MFA device for the root user, and the same three for IAM users. They are not interchangeable in convenience, cost, or security strength, and picking blind is how people end up with the wrong one for their situation.

Passkeys and security keys

These are AWS's own top recommendation. A security key is a small physical device — a YubiKey is the most common example — that you plug in or tap via NFC. A passkey is the software equivalent: a credential stored in something like your phone's built-in credential manager, Apple's system, a Windows PC, or a password manager such as 1Password, Dashlane, or Bitwarden. Both rely on public key cryptography rather than a shared secret code, which makes them resistant to phishing and to man-in-the-middle attacks in a way that a typed six-digit code simply isn't — there's no code for an attacker to trick you into typing into a fake site. A single security key can be registered against multiple root users and IAM users at once, which matters if you manage more than one AWS account.

Virtual authenticator apps

This is a piece of software — an authenticator app — running on your phone or computer that generates a fresh six-digit code every 30 seconds using an industry-standard method called TOTP (time-based one-time password). You type whatever code is currently showing when AWS asks for it. This is the option most people reach for first because it needs nothing extra to buy: install an app, scan a QR code, and you're covered. AWS explicitly recommends using a virtual device as a stopgap while you're waiting on hardware approval or shipping, since it can be up and running in minutes with zero cost.

Hardware TOTP tokens

A small physical fob, unconnected to your phone or any app, that displays its own rotating six-digit code on a tiny screen. You buy one, register its serial number with AWS, and carry it. It works the same way as a virtual app from AWS's point of view — same TOTP standard — but it lives on a dedicated device that can't be lost to a dead phone battery or a factory reset. AWS's own guidance is candid about the tradeoff here: if you're going to use a physical device at all, they recommend a FIDO security key over a hardware TOTP token, because the security key needs no battery, resists phishing better, and can protect more than one identity at once.

MFA type Setup time Phishing resistant? Best for
Passkey / security key ~3–5 min (need to buy hardware or set up a synced passkey first) Yes — FIDO-based Anyone protecting production accounts or client data long-term
Virtual authenticator app ~2–3 min, free, no hardware needed No — codes can be phished if you're tricked into typing them Most individuals and small teams getting compliant today
Hardware TOTP token ~5 min plus shipping time; costs money to buy No — same TOTP weakness as an app Environments where staff can't install apps on personal phones

✅ Why this is the one to use

If you have three minutes and just want the banner gone today, a virtual authenticator app is the right call — it's free, fast, and immediately compliant. If this account guards anything you'd genuinely hate to lose — client billing, production infrastructure, a domain you rely on — spend the extra few minutes and register a security key or passkey as well. AWS lets you register up to eight MFA devices on one identity, so this isn't an either/or choice; it's app now, key later.

Set up MFA for your root user (the 3-minute version)

Before you start, do one thing that AWS specifically calls out: make sure the email address and phone number registered on your account are ones you can actually access right now. If your MFA device is ever lost, stolen, or stops working, that email and phone number are your only way back into the account without contacting AWS Support directly — so this is the moment to fix them if they're stale, not after you've locked yourself out.

Here is the console walkthrough for an authenticator app, which is the fastest route for almost everyone:

  1. Open the AWS Management Console and sign in using your root user credentials — the email address the account was created with, not an IAM username.
  2. On the right side of the navigation bar, choose your account name, then choose Security credentials.
  3. In the Multi-Factor Authentication (MFA) section, choose Assign MFA device.
  4. Type a device name (anything memorable, like "phone" or "work laptop"), choose Authenticator app, then choose Next. AWS generates a QR code and a secret key.
  5. Open your authenticator app of choice on your phone. If the app supports multiple accounts, choose the option to add a new one.
  6. Scan the QR code with the app's camera scanner (or type in the secret key by hand if your device can't scan). The app immediately starts generating a fresh six-digit code every 30 seconds.
  7. Back in the AWS wizard, type the currently displayed code into MFA code 1. Wait for the app to generate a new code, then type that second code into MFA code 2. Choose Add MFA.

⚠️ What this actually breaks

Speed matters on the last step. AWS's own instructions warn you to submit the two codes immediately after generating them. If you type the first code, then go make a sandwich, then come back and type the second, the codes will have expired — the device technically gets associated with your account, but it's already out of sync, and you'll need to resync it before it works. Have both codes ready and submit fast.

Also worth knowing before you scan anything: the QR code and secret key AWS shows you are tied specifically to your account and can't be reused on a different one — but they can be reused to add a second copy of the same device if you ever lose the original, so it's worth screenshotting or writing down the secret key somewhere safe, or simply registering a second MFA device right away as a backup. AWS is explicit that if a virtual device becomes unreachable and you have no other MFA device registered, and you can't recover through alternate verification either, the only path left is contacting AWS customer support to have MFA removed from the account manually — which is slow and no fun for anyone.

Setting up MFA for an IAM user (not the root account)

If Jake's staff each sign in with their own IAM username instead of the root email, they're following a different path — and, importantly, MFA on their accounts isn't forced by AWS the same way root's is. Setting it up for an IAM user, whether it's your own everyday login or someone else's, looks like this:

  1. Sign in to the AWS Management Console and open the IAM console.
  2. In the left navigation pane, choose Users.
  3. In the users list, choose the name of the specific IAM user you want to protect.
  4. Choose the Security credentials tab.
  5. In the Multi-factor authentication (MFA) section, choose Assign MFA device, then follow the same authenticator-app or security-key steps described above.

One practical wrinkle here that trips people up: if you're setting up a virtual MFA device for someone else's IAM user — not your own — you physically need the phone or device that will host it, sitting in front of you, in order to scan the code during the wizard. That's why AWS suggests, for teams bigger than a handful of people, letting each person configure their own MFA rather than an administrator doing it for everyone; it just requires granting each person the IAM permission to manage their own MFA settings, which is a policy administrators can attach once and reuse.

  Root user MFA IAM user MFA
Required by AWS? Yes, for every account type, within 35 days of first sign-in No — an administrator has to enforce it
Can it be set up via CLI/API? No — console only, for any device type Yes, for virtual MFA devices via the AWS CLI or API
Who can recover it if lost? Only you, via email + phone verification, or AWS Support An administrator must deactivate the old device for you

What happens when you lose your MFA device

This is the question everyone asks right after they set MFA up, and it's a fair one: what if the phone with your authenticator app on it goes for a swim, or gets stolen out of your car? The answer is different depending on whether you're the root user or an IAM user, and it's worth knowing before it happens rather than during a panic at 11pm.

If you're the root user

You recover access by verifying your identity through the email address and primary contact phone number already registered to the account. On the sign-in screen, you'll see a "Troubleshoot MFA" or "Troubleshoot your authentication device" option. Choosing it walks you through sending a verification email to your account's address, then a phone call where you type a six-digit code AWS reads out into your phone's keypad. Only once both are confirmed can you sign in and remove the old, unreachable MFA device before adding a fresh one. This is exactly why keeping that contact email and phone number current matters — if you can't reach either one, your only remaining option is contacting AWS Support directly, and that's a slower, more painful process.

If you're an IAM user

You cannot recover your own MFA device — full stop. AWS is direct about this: an IAM user who's locked out has to contact whoever administers the account and ask them to deactivate the broken device. Only an administrator has the permission to do that. Once it's deactivated, you can enable a fresh one the normal way. If Jake ever hands out IAM logins to part-time staff, this is worth telling them up front, because "I can't get in and there's nothing I personally can do about it" is a frustrating thing to discover mid-shift.

⚠️ What this actually breaks

If your MFA device was lost or stolen — not just broken — AWS's advice is to change your password immediately after you regain access and set up the replacement device. The concern isn't abstract: whoever has your physical device might also have your password from the same breach, and a stolen phone plus a leaked password is close to a complete login.

The single best defense against ever going through account-recovery pain is registering more than one MFA device from the start. AWS allows up to eight devices per identity, and explicitly recommends doing this "to help ensure continued access if a device is lost or broken." A phone-based app plus a backup security key kept in a drawer covers almost every failure scenario — dead phone, factory reset, water damage, theft — without ever touching the slow recovery flow at all.

Fixing "invalid MFA code" and out-of-sync devices

Sometimes your authenticator app looks completely healthy — codes rolling over every 30 seconds like normal — but AWS rejects every code you type. That's not a broken app; it's a device that's drifted out of sync with AWS's clock, which can happen after a long period of not using it. Unlike TOTP apps and hardware tokens, FIDO security keys and passkeys don't have this problem at all, since they don't rely on rolling time-based codes.

To fix it: sign in normally, choose your account name, then Security credentials. In the MFA section, select the affected device and choose Resync. Type the next two codes your device generates, one after another, into the resync boxes — again, submit quickly, because the same expiry issue applies. If you're locked out and can't even get past the sign-in screen, look for a "having problems with your authentication device" link right on the sign-in page itself, which offers a resync option before you're fully signed in.

‍♂️ Jake's Reality Check

"I resynced it and it still says the codes are wrong. Now what?"

Deactivate and re-add it. If a resync doesn't fix things, AWS's own guidance is to stop trying to nurse the old registration back to health — deactivate the device entirely and go through the setup wizard fresh, as if it were a brand-new device. It takes the same three minutes as the first time.

MFA and the AWS CLI or API — what actually changes

If you or your team script things against AWS from a terminal instead of clicking around the console, a couple of specifics matter here that don't come up in a typical browser sign-in.

First: you cannot enable an MFA device for the root user through the AWS CLI, the API, PowerShell, or any other command-line tool — full stop, for any of the three device types. Root MFA setup is console-only. Second: IAM users are different — you can create and enable a virtual MFA device for an IAM user from the CLI, using aws iam create-virtual-mfa-device to generate the QR code file, followed by aws iam enable-mfa-device with two consecutive codes to activate it, exactly the same two-code requirement as the console wizard.

Third, and this is the one worth remembering if your account needs any kind of MFA-protected API access: once MFA is required for certain actions, an IAM user has to call GetSessionToken and supply a valid MFA code first, which then hands back short-lived temporary credentials that are allowed to make MFA-protected calls. Those temporary credentials, not a long-lived access key, are what you use afterward.

⚠️ The gap almost nobody checks

AWS documentation states this plainly and it surprises most people: if you use an access key and secret key for direct AWS Management Console access through the GetFederationToken API call, MFA is not required, even on an account where MFA is otherwise enforced. If your organization builds any kind of federated or programmatic console access using that call, don't assume MFA is silently covering that door too — check it directly.

MFA on VMs, remote desktops, and other unusual setups

Most people set MFA up once on a normal laptop and never think about it again, but a fair number of readers hit this from a stranger setup — a virtual machine (a VM, meaning a computer that only exists as software, running inside another computer, with nothing physically saved when the session ends), a remote desktop session, or a work laptop with no camera. None of these actually change how MFA works, but each has one thing worth knowing.

No camera to scan the QR code? Every virtual MFA setup wizard offers a "show secret key" option specifically for this. Type the secret key manually into your authenticator app instead of scanning — it produces the exact same rolling codes either way.

Signing in over a remote desktop or through a VM? This one trips people up because it feels like the MFA device should somehow need to be "on" that same machine. It doesn't. Your MFA device — the phone with the app, or the security key — belongs to you, not to whichever computer you happen to be typing on. You can be remoted into a VM in another country and still generate your code from the phone in your pocket; AWS only cares that the code you type matches what your registered device produced.

Working from a shared or kiosk-style computer? Never store the secret key, a screenshot of the QR code, or a saved password on a machine other people also use. Treat that secret configuration key exactly like you'd treat a password — if it ends up in a shared browser's autofill or a screenshot folder someone else can browse, your "second factor" stops being second at all.

Multi-monitor setups, tablets, or accessibility software? None of this affects MFA in any way — the whole process is just a browser tab plus a phone, so screen count, input method, or assistive technology on the AWS side make no difference to how the wizard behaves.

Automating the check with AWS Config

If you're responsible for more than one AWS account and don't want to rely on remembering to check each console banner by hand, AWS Config — a service that continuously checks your account's settings against rules you define — has a ready-made managed rule for exactly this called root-account-mfa-enabled. It checks whether the root user of your account requires multi-factor authentication for console sign-in, and it flags the account as NON_COMPLIANT the moment root MFA isn't set up.

There's a technical wrinkle worth knowing before you deploy it across several accounts: the underlying resource type this rule watches, AWS::IAM::User, can only be recorded by AWS Config in regions where AWS Config itself was available before February 2022. If you turn on recording for that resource type in more than one supported region, this rule — and any other periodic rule watching the same resource type — will run its evaluation in every region where you've added it, which can trigger unnecessary API throttling. AWS's own guidance is to deploy this particular rule to just one supported region rather than spraying it across your whole footprint.

Ethan doesn't sugarcoat his opinion on manual checking versus this: "If you've got more than two or three AWS accounts and you're relying on someone remembering to eyeball the console banner on each one, you've already lost. Set the Config rule once, let it flag the gaps, and stop trusting memory for something this important."

Forcing MFA on everyone on your team, not just root

Since AWS doesn't automatically require MFA on IAM users the way it does on root, the responsibility sits with whoever administers the account. The most common way to close that gap is with a policy that denies almost everything unless MFA is present on the session. AWS's own documentation shows the pattern using a condition key called aws:MultiFactorAuthPresent, which is false for any session that hasn't authenticated with MFA. A policy built around that condition can allow a user to view and manage their own MFA device — so they're not locked out of the one thing they need to fix the problem — while denying every other action until they've registered a device.

For organizations managing multiple AWS accounts under one umbrella, there's a second route worth knowing about: AWS IAM Identity Center (the service that replaced what used to be called AWS SSO). Instead of enforcing MFA account by account, Identity Center lets you centrally manage sign-in, including MFA, across every account and app a person is assigned to, from one place. If you're external identity-provider-based — using something like Okta or Microsoft Entra as your source of identities — MFA settings live with that provider instead, and Identity Center's own MFA section won't even be available to configure, since your external provider owns that piece.

✅ Why this is the one to use

For a solo account or a shop with two or three logins, a deny-without-MFA policy attached directly to your IAM users is plenty, and it's something you set up once and forget. For anything bigger — multiple AWS accounts, a mix of contractors and employees — IAM Identity Center is the saner long-term answer, because it gives every person one MFA-protected sign-in that reaches every account they're allowed into, instead of a separate MFA registration per account.

Third-party password managers, and what to check before you share this account

AWS's own documentation names 1Password, Dashlane, and Bitwarden specifically as third-party credential managers you can use to hold a synced passkey for AWS sign-in, alongside your phone or laptop's own built-in credential manager. The honest comparison is short: if you already pay for one of these to manage logins elsewhere, register your AWS passkey there too — it costs nothing extra and syncs across every device you use. If you don't already have one, don't go buy a subscription or a piece of dedicated software purely to cover one AWS account; your phone's built-in authenticator app or credential manager does the job for free, and a new tool is only worth adding once you're managing enough separate logins that a dedicated manager earns its keep on its own.

Before you hand root access, or even an IAM login, to anyone else, run through a short privacy check that has nothing to do with the MFA setup wizard itself and everything to do with what happens after: never send a screenshot of the QR code or the secret configuration key over chat, email, or a shared drive — treat it exactly like you would a password, because functionally that's what it is. If you're creating an IAM user for a new employee or contractor, have them register their own MFA device on their own device rather than you doing it on their behalf, both because AWS requires physical access to whatever device will host it and because a device you set up on their behalf is one more copy of that secret sitting somewhere you don't control. And if the recovery email or phone number tied to your root account is a shared inbox or a shop line multiple people can answer, know that anyone who can read that inbox can potentially walk through the exact recovery flow described earlier in this post.

Common mistakes that quietly undo your MFA protection

Setting MFA up is the easy part. Keeping it actually protective is where accounts quietly slip.

Only one device, no backup. If your phone is the sole MFA device on your root user and it dies, you're straight into the recovery flow — email verification, a phone call, waiting. Register a second device the same day you set up the first.

Stale contact information. Recovery for a lost root MFA device runs entirely through the email and phone number on file. If either one is a job you left two years ago or a number you don't have anymore, that recovery path is closed before you even need it.

Assuming IAM users are covered because root is. Root MFA and IAM user MFA are entirely separate settings. An account can be fully compliant on root and have every single staff login sitting unprotected, because AWS never enforces MFA on IAM users automatically.

Trusting a hardware token you haven't tested. A hardware TOTP token that's been sitting in a drawer for a year can genuinely drift out of sync from disuse. If you're relying on one as a backup device, glance at it occasionally rather than discovering it's dead the one time you need it.

Forgetting about centrally managed root access. If your account belongs to an AWS Organization, an administrator further up the chain may have the option to centrally manage root access for member accounts — which can include deleting a member account's root password and MFA entirely to prevent standalone sign-in. If that's been switched on for your account, you won't be able to set up root MFA the normal way at all, because there's no root password left to sign in with. If your setup wizard behaves strangely, this is worth ruling out with whoever manages your AWS Organization.

What this actually costs — in money and in time

The virtual authenticator app route costs nothing beyond the phone you already own — the app itself, and AWS's side of the setup, are free. A synced passkey through your phone's built-in credential manager or a password manager you're already paying for is also effectively free to set up. The only real cost sits with hardware: a physical security key or a dedicated hardware TOTP token has to be purchased and, in the case of a token, potentially shipped, which adds delivery time on top of the setup itself.

The time cost is where most people overestimate. For an authenticator app, the entire process — from opening the console to a working MFA device — genuinely lands in the two-to-three-minute range once you have the app installed. Add a minute or two if you need to install the app for the first time. A physical security key adds essentially no extra console time; the delay is entirely in getting the hardware into your hands. What actually costs real time is the recovery path if you skip all of this and lose access later — an email-and-phone verification flow followed potentially by a support ticket, measured in hours or days, not minutes. Three minutes now against hours later is not a close call.

Edge cases: multiple accounts, shared logins, and Organizations

If you manage more than one AWS account — a personal account plus a business one, or a management account with several member accounts under an AWS Organization — you have to set up MFA on the root user of each one separately. There's no bulk toggle; MFA registration is a per-account, per-root-user action, done from that account's own console session.

Shared root logins — where more than one person knows the root email and password for convenience — are a bad idea independent of MFA, but MFA makes the awkwardness concrete fast: whoever's phone or security key is registered becomes the single point through which everyone else has to sign in, since only one MFA device needs to be used at sign-in time even if several are registered, but someone still has to physically produce a code from a device they hold. The fix isn't "share the MFA device too" — it's to stop using the shared root login for daily work entirely and create individual IAM users (or Identity Center identities) with appropriate permissions instead, reserving root sign-in for the rare tasks that genuinely require it.

For accounts inside an AWS Organization specifically, remember the centrally-managed-root-access point from earlier: an administrator managing the whole Organization may be able to see, and in some configurations restrict, root access across every member account. If you're inside an organization and unsure whether that's active on your account, that's worth a quick check before you spend time troubleshooting a root sign-in issue that isn't actually about MFA at all.

Frequently asked questions

What is MFA in simple terms?

It's requiring two separate kinds of proof before letting someone sign in — usually a password (something you know) plus a code from a device only you hold (something you have). Even if your password leaks, an attacker still can't get in without that second thing.

Why does AWS keep asking me to set up MFA?

Because AWS now requires MFA to be configured on the root user of every account type — standalone, management, and member accounts alike. You get 35 days from your first console sign-in to register a device before the account starts running into access friction over it. The banner isn't a marketing nudge; it's a countdown.

Is MFA free on AWS?

Yes, if you use a virtual authenticator app or a synced passkey through a credential manager you already have. There's no charge from AWS for enabling or using MFA. The only cost involved is if you choose to buy a physical security key or hardware TOTP token instead.

What happens if I don't turn on MFA within 35 days?

You start running into access restrictions signing in to the AWS Management Console as the root user until you register a device. AWS's guidance is clear that all account types must have root MFA configured, so this isn't something that quietly resolves itself by waiting it out — the fix is simply completing the three-minute setup.

Can I use Google Authenticator for AWS MFA?

Yes. Any authenticator app that follows the standard TOTP algorithm works, because AWS's virtual MFA setup relies on that same open standard rather than a proprietary one. You scan the QR code AWS gives you the same way regardless of which specific app you're using.

What's the difference between root user MFA and IAM user MFA?

Root user MFA protects the single all-powerful login tied to your account's email address, and AWS requires it for every account. IAM user MFA protects individual staff or personal logins created inside the account, and AWS leaves that entirely optional — an administrator has to enforce it through a policy if they want it required.

Can I set up root user MFA using the AWS CLI?

No. Root user MFA can only be configured through the AWS Management Console, for any of the three supported device types. IAM users, by contrast, can have a virtual MFA device created and enabled through the AWS CLI or API.

How many MFA devices can I register?

Up to eight, in any combination of the supported types, per identity — whether that's your root user or a single IAM user. You only need one of them at sign-in time, so extras exist purely as backups if one gets lost or breaks.

What if I lose my phone with my MFA app on it?

As the root user, you recover through email and phone verification on the sign-in screen's troubleshooting flow, then remove the lost device and register a new one. As an IAM user, you can't self-recover — you need an administrator to deactivate the old device before you can add a replacement.

My MFA code says invalid — what's wrong?

Your device is most likely out of sync with AWS's clock, which happens most often to TOTP apps and hardware tokens after a long stretch of not signing in. Use the resync option in the MFA section of your security credentials, submitting two fresh consecutive codes quickly. If resyncing doesn't fix it, deactivate the device and register it again from scratch.

Does using an access key still require MFA?

Usually, MFA-protected actions still need it. But there's a documented exception: direct AWS Management Console access via access and secret keys through the GetFederationToken API call does not require MFA, even on an otherwise MFA-enforced account. If your setup uses that call, check it specifically rather than assuming it's covered.

Should I use a physical security key instead of an app?

If this account protects anything you'd genuinely hate to lose, yes — AWS itself recommends passkeys and security keys over app-based codes because they resist phishing in a way a typed six-digit number can't. For a quick compliance fix today, an app is faster and free; the two aren't mutually exclusive since you can register both.

Can I force my team members to use MFA?

Yes, with an IAM policy that denies most actions unless the session shows MFA is present, while still allowing each user to manage their own MFA device so they aren't locked out entirely. For multiple accounts, AWS IAM Identity Center offers a more centralized way to require MFA across everyone at once.

What is the difference between a passkey and a virtual MFA app?

A virtual MFA app generates a rolling six-digit code you type in manually — it works, but it can still be phished if someone tricks you into handing over that code on a fake page. A passkey uses public key cryptography instead of a shared code, so there's nothing to type and nothing to phish, making it the stronger option of the two.

Do I need MFA if I use IAM Identity Center?

You still want it enabled, yes — Identity Center just changes where you manage it. It offers its own centralized MFA settings for workforce users signing into the AWS access portal, unless your organization uses an external identity provider, in which case that provider controls MFA instead and Identity Center's own MFA section won't be available.

Can I remove MFA later if I change my mind?

Yes, for IAM users and for root devices you still have access to — you can deactivate an MFA device from the same security credentials page where you added it. Given that root MFA is now a requirement rather than a suggestion, removing it entirely on the root user just means you'll be back in the registration flow again before your account's grace period runs out.

Revision note. Written September 2026, covering the current root-user MFA enforcement (35-day registration window), the passkey, virtual authenticator, and hardware TOTP options AWS offers today, and the AWS Config rule teams use to check compliance automatically. This will change if AWS shortens or extends the grace period, or adds new supported MFA device types — worth a quick check back if you're reading this well after 2026. If that orange banner has been sitting in your console for weeks, you're not the only one who put it off — take the three minutes now, and you'll never have to think about it again. See you on next post..

πŸ’‘ Recommended AWS Foundations Reading

Master the core building blocks of AWS infrastructure, networking, and security:

Related