How to Find AWS Account Root Users with Access Keys
The root user 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 be removed.
Removing access keys associated with the root user limits vectors by which the account can be compromised. Removing the root access keys encourages the creation and use of role based accounts that are least privileged.
This security check is part of the CIS Amazon Web Services Benchmarks and is rated severity critical.
Prerequisites
This guide assumes that you have already installed and configured Fix Inventory to collect your AWS resources.
Directions
-
Execute the following
search
command in Fix Inventory Shell:> search is(aws_root_user) with(any, --> is(access_key))
kind=aws_root_user, ..., region=fixinventory-poweruser
kind=aws_root_user, ..., account=poweruser-team -
Pipe the
search
command into thedump
command:> search is(aws_root_user) with(any, --> is(access_key)) | dump
reported:
id: /aws/iam/123
name: some-name
ctime: '2022-12-05T22:53:14Z'
kind: aws_root_user
age: 2mo28dThe command output will list the details of all non-compliant
aws_root_user
resources.
Remediation
- Create a credential report.
- Find all access_key_1_active and access_key_2_active fields that are set to True.
- Delete the related access keys.
Please refer to the AWS IAM documentation for details.