Ensure no 'root' user account access key exists
Scanned 9/3/2026
Install to Claude Code
npx -y skills add CyberStrikeus/CyberStrike --skill cis-aws-foundations-2.4 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cis Aws Foundations 2.4?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/cyberstrikeus-cis-aws-foundations-2-4)More formats (shields.io, HTML) on the badges page.
---
name: cis-aws-foundations-2.4
description: "Ensure no 'root' user account access key exists"
category: cis-iam
version: "7.0.0"
author: cyberstrike-official
tags: [cis, aws, iam, root, access-key, credentials]
cis_id: "2.4"
cis_benchmark: "CIS AWS Foundations Benchmark v7.0.0"
tech_stack: [aws]
cwe_ids: []
chains_with: [cis-aws-foundations-2.5, cis-aws-foundations-2.6, cis-aws-foundations-2.7]
prerequisites: []
severity_boost: {}
---
# Ensure no 'root' user account access key exists
## Description
The 'root' user account is the most privileged user in an AWS account. AWS access keys provide programmatic access to a given AWS account. It is recommended that all access keys associated with the 'root' user account be deleted.
## Rationale
Deleting access keys associated with the 'root' user account limits the vectors by which the account can be compromised. Additionally, removing 'root' access keys encourages the use of role-based access with least privilege.
## Impact
Root access keys significantly increase the risk of account compromise, as they provide unrestricted programmatic access with no built-in scope limitations.
## Audit Procedure
### Using AWS Console
1. Login to the IAM Management Console (https://console.aws.amazon.com/iam).
2. Click on `Credential Report`.
3. Download the `.csv` file which contains credential usage for all IAM users within an AWS Account.
4. Open the file.
5. For the `root` user, ensure the `access_key_1_active` and `access_key_2_active` fields are set to `FALSE`.
### Using AWS CLI
1. Run the following command:
```bash
aws iam get-account-summary | grep "AccountAccessKeysPresent"
```
2. If no 'root' access keys exist the output will show `"AccountAccessKeysPresent": 0,`
3. If the output shows a "1", then 'root' keys exist and should be deleted.
## Expected Result
`"AccountAccessKeysPresent": 0` -- no root access keys exist.
## Remediation
### Using AWS Console
1. Sign in to the AWS Management Console as 'root' and open the IAM console at https://console.aws.amazon.com/iam/.
2. Click on `<root_account>` at the top right and select `Security Credentials` from the drop down list.
3. Click on `Access Keys` (Access Key ID and Secret Access Key).
4. If there are active keys:
- Deactivate the key under `Status`.
- Click `Delete` (Deleted keys cannot be recovered).
**Note:** While a key can be made inactive, it will still appear in CLI audit output and may result in a false positive. Keys should be deleted to ensure compliance.
### Using AWS CLI
There is no AWS CLI command to delete root access keys. This must be done via the AWS Console.
## Default Value
By default, the AWS root user has no access keys created. Access keys are only present if they have been explicitly generated by the account owner.
## References
1. http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
2. http://docs.aws.amazon.com/general/latest/gr/managing-aws-access-keys.html
3. http://docs.aws.amazon.com/IAM/latest/APIReference/API_GetAccountSummary.html
4. CCE-78910-7
5. https://aws.amazon.com/blogs/security/an-easier-way-to-determine-the-presence-of-aws-account-access-keys/
## Additional Information
- In AWS GovCloud environments, root access is linked to the associated standard AWS account and should be restricted and monitored in the same manner as commercial AWS accounts.
- Implement regular checks and alerts for any creation or use of root credentials, including access keys and console logins, to promptly detect and respond to unauthorized or accidental activity.
- CloudTrail must be enabled and configured to capture activity across all regions and accounts (using a multi-region or organization trail) to ensure all root account activity is logged and monitored.
## CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
| ---------------- | ------------------------------------------------------------------------- | ---- | ---- | ---- |
| v8 | 5.4 Restrict Administrator Privileges to Dedicated Administrator Accounts | x | x | x |
| v8 | 6.8 Define and Maintain Role-Based Access Control | | | x |
| v7 | 4.3 Ensure the Use of Dedicated Administrative Accounts | x | x | x |
## MITRE ATT&CK Mappings
| Techniques / Sub-techniques | Tactics | Mitigations |
| --------------------------- | -------------- | ----------- |
| T1078.004 | TA0001, TA0004 | M1026 |
## Profile
Level 1 | Automated
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!