# AWS Root Account Management

## 📖 Introduction to AWS Root Account Management

When a new AWS account is created, it includes a Root user with full access to all AWS services and resources. If the Root user credentials are compromised, this poses a significant security risk. AWS Root Account Management mitigates this risk by restricting Root user access and allowing temporary elevation to Root permissions when necessary.

***

## 🗒️ Understanding AWS Root Account Management's Features

### 1. Prevent New Root Users

Once enabled, new Root users are not created in new AWS accounts. Additionally, you are no longer able to password reset the Root user (unless you leverage [Privileged Actions](https://www.techwithtyler.dev/academy/aws-security-cookbook-by-tyler/broken-reference)).&#x20;

<figure><img src="https://2721275171-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8yu8YbDfwd1VqEdUxGyA%2Fuploads%2F0YFNtmg1VuyJl4uvDlPf%2Fimage.png?alt=media&#x26;token=98e79a9a-e5a9-4b4c-ae63-211c7ffb8666" alt=""><figcaption><p>Failed password recovery for root user</p></figcaption></figure>

### 2. Auditing Root User Credentials

We gain insights into:

* Which AWS accounts have the Root user enabled
* Whether the Root user has MFA enabled
* Whether the Root user has a console password set
* Whether the Root user has Signing Certificates enabled

<figure><img src="https://2721275171-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8yu8YbDfwd1VqEdUxGyA%2Fuploads%2FuwMJt7692JUkSQcgFcSa%2Fimage.png?alt=media&#x26;token=39072c6e-95fd-481f-b78a-7716a9502589" alt=""><figcaption><p>Root access management console</p></figcaption></figure>

### 3. Privileged Actions

Privileged actions allow us to assume the root user credentials for 15 minutes. Here are some of the actions we can perform:

* **Delete S3 bucket policy**: Useful when you've misconfigured a bucket policy and locked yourself out. We can use the Root user to resolve this.
* **Delete SQS queue policy**: Useful when you've misconfigured a queue policy and locked yourself out. We can use the Root user to resolve this.
* **Delete root user credentials**: Removes the Root user's credentials from a member account.

<figure><img src="https://2721275171-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8yu8YbDfwd1VqEdUxGyA%2Fuploads%2FgqauN1k0MSTAR3BKOubA%2Fimage.png?alt=media&#x26;token=dd8676bd-1092-4f2a-91ce-2c09dca64f8b" alt=""><figcaption><p>Privileged actions as the root user</p></figcaption></figure>

***

## 📚 Additional Resources

* [AWS Root Account Management Documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-enable-root-access.html)

***

## 🏗️ Hands-on Exercises&#x20;

{% content-ref url="aws-root-account-management/lab-deploying-aws-root-account-management-via-terraform" %}
[lab-deploying-aws-root-account-management-via-terraform](https://www.techwithtyler.dev/academy/aws-security-cookbook-by-tyler/aws-root-account-management/lab-deploying-aws-root-account-management-via-terraform)
{% endcontent-ref %}
