Information
The 'root' user account is the most privileged user in an AWS account. Multi-Factor Authentication (MFA) adds an extra layer of protection on top of a username and password. With MFA enabled, when a user signs in to an AWS website, they are prompted for their username and password as well as an authentication code from their MFA device.
Note: When virtual MFA is used for 'root' accounts, it is recommended that the device used is not a personal device, but rather a dedicated mobile device (tablet or phone) that is kept charged and secured, independent of any individual ("non-personal virtual MFA"). This reduces the risk of losing access to MFA due to device loss, device replacement, or employee turnover.
Where an AWS Organization is using centralized root access, root credentials can be removed from member accounts. In that case, it is neither possible nor necessary to configure root MFA in the member account.
Enabling MFA increases security for console access by requiring the authenticating principal to possess a device that generates a time-sensitive authentication code, in addition to their credentials.
Solution
Note: To manage MFA devices for the 'root' AWS account, you must use root credentials. MFA cannot be managed for the root account using IAM users or roles.
Perform the following to establish MFA for the 'root' user account:
From Console:
- Sign in to the AWS Management Console using the root user email
- In the top right corner, click the account name
- Choose Security Credentials
- Under the Multi-Factor authentication (MFA), locate the root user
- Choose Assign MFA device (or Activate MFA, depending on UI version)
- Select Virtual MFA device
- Choose one of the following:
- Scan the QR code using your MFA app, or
- Select Show secret key for manual configuration and enter it into your MFA app
- Enter the first authentication code in Authentication Code 1
- Wait for a new code, then enter it in Authentication Code 2
- Click Assign Virtual MFA
Impact:
Without MFA, the root account is highly susceptible to compromise, potentially resulting in full account takeover and unrestricted access to all resources.