Control: 1.20 Ensure that IAM Access analyzer is enabled for all regions
Description
Enable IAM Access analyzer for IAM policies about all resources in each active AWS region.
IAM Access Analyzer is a technology introduced at AWS reinvent 2019. After the Analyzer is enabled in IAM, scan results are displayed on the console showing the accessible resources. Scans show resources that other accounts and federated users can access, such as KMS keys and IAM roles. So the results allow you to determine if an unintended user is allowed, making it easier for administrators to monitor least privileges access. Access Analyzer analyzes only policies that are applied to resources in the same AWS Region.
AWS IAM Access Analyzer helps you identify the resources in your organization and accounts, such as Amazon S3 buckets or IAM roles, that are shared with an external entity. This lets you identify unintended access to your resources and data. Access Analyzer identifies resources that are shared with external principals by using logic- based reasoning to analyze the resource-based policies in your AWS environment. IAM Access Analyzer continuously monitors all policies for S3 bucket, IAM roles, KMS (Key Management Service) keys, AWS Lambda functions, and Amazon SQS(Simple Queue Service) queues.
Remediation
From Console:
Perform the following to enable IAM Access analyzer for IAM policies:
- Open the IAM console athttps://console.aws.amazon.com/iam/.
- Choose
Access analyzer
. - Choose
Create analyzer
. - On the
Create analyzer
page, confirm that theRegion
displayed is the Region where you want to enable Access Analyzer. - Optionally enter a name for the analyzer.
- Optionally add any tags that you want to apply to the analyzer.
- Choose
Create Analyzer
. - Repeat these step for each active region.
From Command Line:
Run the following command:
aws accessanalyzer create-analyzer --analyzer-name <NAME> --type <ACCOUNT|ORGANIZATION>
Repeat this command above for each active region.
Note: The IAM Access Analyzer is successfully configured only when the account you use has the necessary permissions.
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.cis_v400_1_20
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.cis_v400_1_20 --share
SQL
This control uses a named query:
iam_access_analyzer_enabled