aws-prevention v5.1.0 - Improved SCP and RCP objective matching accuracy
Mar 20, 2026•GuardrailsMods
What's new?
- SCP and RCP objective matching has been redesigned for improved accuracy and consistency. Six multi-statement objectives have been split into single-statement sub-objectives for precise matching. RCP deny examples have been added for 18 objectives and unenforceable SCP examples have been removed. Prevention rules now include an overview field.
Prevention Fact Types
- AWS Condition Scope
- AWS Deny Scope
Prevention Objectives
- Enforce IMDSv2 for AWS EC2 instance launch
- Enforce IMDSv2 for running AWS EC2 instances
- Prohibit AWS Elastic IP association
- Prohibit AWS VPC peering connections
- Prohibit AWS cross-region networking services
- Prohibit public IP assignment at AWS EC2 instance launch
- Safeguard AWS EC2 AMI block public access setting from modification
- Safeguard AWS Lambda code signing configuration from modification
Removed
- Enforce IMDSv2 for AWS EC2 instances
- Prohibit AWS EC2 cross-region networking
- Prohibit AWS EC2 instance internet access
Prevention Examples
- Allow approved AWS services
- Allow resources in approved AWS regions
- Block all public sharing of AWS EBS snapshots
- Block inbound and outbound internet connections to your VPCs through an internet gateway (IGW) or egress-only internet gateway (EIGW)
- Block public sharing of AWS Machine Images (AMIs)
- Deny API actions over insecure transport for AWS S3
- Deny AWS Virtual Private Network (VPN) connections
- Deny EC2 instance launch without IAM instance role
- Deny IAM user management actions without MFA
- Deny access key creation for AWS IAM users
- Deny access key operations for AWS IAM root user
- Deny actions as a root user
- Deny all AWS IAM root user actions
- Deny creation of AWS IAM users
- Deny creation of access keys for the root user
- Deny cross region replication for S3 buckets
- Deny deletion of AWS IAM support access role
- Deny deletion of AWS VPC flow logs
- Deny direct permissions attachment to AWS IAM users
- Deny disablement and deletion of AWS KMS keys
- Deny disablement of AWS Security Hub configuration
- Deny disablement of amazon inspector configuration
- Deny full access policy attachment for AWS CloudShell
- Deny insecure transport at resource level for AWS S3
- Deny modification of AWS CloudTrail configuration
- Deny modification of AWS CloudWatch alarms
- Deny modification of AWS Config configuration
- Deny modification of AWS DynamoDB table point in time recovery configuration
- Deny modification of AWS EBS encryption by default configuration
- Deny modification of AWS EBS snapshot block public access configuration
- Deny modification of AWS EC2 IMDS default settings
- Deny modification of AWS EC2 image block public access configuration
- Deny modification of AWS EC2 serial console access configuration
- Deny modification of AWS IAM Access Analyzer configuration
- Deny modification of AWS IAM role configuration
- Deny modification of AWS IAM role trust policy configuration
- Deny modification of AWS S3 account public access block configuration
- Deny modification of AWS S3 bucket encryption configuration
- Deny modification of AWS S3 bucket lifecycle policy configuration
- Deny modification of AWS S3 bucket logging configuration
- Deny modification of AWS S3 bucket logging configuration
- Deny modification of AWS VPC network ACL rules
- Deny modification of AWS VPC route tables
- Deny modification of AWS VPC security group rules
- Deny modification of AWS VPC security group rules
- Deny modification of AWS account alternate security contact
- Deny modification of AWS account contact information
- Deny policy changes to an AWS S3 bucket
- Deny public function URLs for AWS Lambda
- Deny public resource policies for AWS Lambda functions
- Deny publicly accessible creation for AWS RDS DB instances
- Deny removal of AWS IAM permission boundaries
- Deny removal of AWS IAM root user MFA devices
- Deny removal of AWS IAM user MFA devices
- Deny replication configuration for AWS S3 buckets
- Deny resource creation without security classification tags
- Deny resources in unapproved AWS regions
- Deny resources in unapproved regions
- Deny resources in unapproved regions in landing zone
- Deny sharing of public AWS EBS snapshots
- Deny single-AZ creation for AWS RDS DB instances
- Deny the use of AWS EC2 VM import and export
- Deny the use of deprecated AWS EC2 RequestSpotFleet and RequestSpotInstances API actions
- Deny unapproved AWS EC2 instance types
- Deny unapproved AWS services
- Deny unencrypted creation for AWS EBS volumes
- Deny unencrypted creation for AWS EFS file systems
- Deny unencrypted creation for AWS RDS DB instances
- Deny unencrypted listeners for AWS Elastic Load Balancing
- Deny versioning changes for AWS S3 buckets
- Deny virtual MFA operations for AWS IAM root user
- Deny weakening of AWS IAM account password policy
- Deny weakening of AWS IAM account password policy
- Deny weakening of AWS IAM account password policy
- Deny wildcard administrative policy attachment for AWS IAM
- Disable AWS EC2 Serial Console access
- Disable access to the EC2 serial console for all EC2 instances
- Enable AWS EBS Snapshot Block Public Access for account
- Enable AWS EBS encryption by default for account
- Enable AWS EC2 Image Block Public Access
- Enable account-level Block Public Access for AWS S3
- Enable account-level Block Public Access for AWS S3
- Enable account-level Block Public Access for AWS S3
- Enable account-level Block Public Access for AWS S3
- Enforce AWS GuardDuty enablement
- Enforce Access Logging for AWS S3 Buckets
- Enforce Block Public Access for AWS S3 accounts
- Enforce Block Public Access for AWS S3 accounts
- Enforce Block Public Access for AWS S3 accounts
- Enforce Block Public Access for AWS S3 accounts
- Enforce Block Public Access for AWS S3 buckets
- Enforce Block Public Access for AWS S3 buckets
- Enforce Block Public Access for AWS S3 buckets
- Enforce Block Public Access for AWS S3 buckets
- Enforce HTTPS-only access for AWS S3 buckets
- Enforce IAM instance roles for AWS EC2 instances
- Enforce IMDSv2 defaults for AWS EC2 account attributes
- Enforce IMDSv2 for AWS EC2 instances
- Enforce IMDSv2 for running AWS EC2 instances
- Enforce MFA Delete for AWS S3 buckets
- Enforce Multi-AZ deployments for AWS RDS DB instances
- Enforce approved AMI sources for AWS EC2 instances
- Enforce approved accounts for AWS Lambda functions
- Enforce approved images for AWS EC2 AMIs
- Enforce approved instance types for AWS EC2 instances
- Enforce auto minor version upgrade for AWS RDS DB instances
- Enforce block public ACLs for AWS S3 buckets
- Enforce block public policy for AWS S3 buckets
- Enforce deactivation of unused AWS IAM access keys
- Enforce default security groups with no rules to restrict all traffic for AWS VPC security groups
- Enforce encryption at rest for AWS CloudTrail logs
- Enforce encryption at rest for AWS RDS DB instances
- Enforce encryption by default for AWS EC2 accounts
- Enforce encryption for AWS EFS file systems
- Enforce group-based permissions for AWS IAM users
- Enforce ignore public ACLs for AWS S3 buckets
- Enforce lifecycle policies for AWS S3 buckets
- Enforce lifecycle policies for versioned AWS S3 buckets
- Enforce minimum password length for AWS IAM password policy
- Enforce non-public accessibility for AWS RDS DB instances
- Enforce password reuse prevention for AWS IAM password policy
- Enforce removal of AWS IAM AWSCloudShellFullAccess policy
- Enforce removal of AWS IAM users
- Enforce removal of AdministratorAccess policy for AWS IAM
- Enforce removal of expired AWS IAM server certificates
- Enforce removal of login profiles for AWS IAM users
- Enforce restrict public buckets for AWS S3 buckets
- Enforce rotation of AWS IAM access keys every 90 days
- Enforce secure Network ACL configurations denying public access to admin ports for AWS VPC Network ACLs
- Enforce secure security group configurations denying public access to admin ports for AWS VPC security groups
- Enforce single active access key per AWS IAM user
- Enforce versioning for AWS S3 buckets
- Enforce versioning for AWS S3 buckets
- Prevent IAM policies with wildcard actions via Guard
- Prevent IAM policies with wildcard actions via Lambda
- Prevent IAM policies with wildcard actions via proactive control
- Prevent S3 buckets without versioning via Guard
- Prevent S3 buckets without versioning via Lambda
- Prevent S3 buckets without versioning via proactive control
- Prevent creation of AWS EC2 instances with IMDSv1 via Guard
- Prevent creation of AWS EC2 instances with IMDSv1 via Lambda
- Prevent public S3 bucket creation via Guard
- Prevent public S3 bucket creation via Guard
- Prevent public S3 bucket creation via Guard
- Prevent public S3 bucket creation via Guard
- Prohibit AWS EBS direct API calls
- Prohibit AWS EBS snapshot public restore
- Prohibit AWS EBS snapshot public sharing
- Prohibit AWS EC2 VM import and export
- Prohibit AWS EC2 deprecated Spot instance APIs
- Prohibit AWS Elastic IP association
- Prohibit AWS VPC VPN connections
- Prohibit AWS VPC internet connections
- Prohibit AWS VPC peering connections
- Prohibit AWS cross-region networking services
- Prohibit IAM Customer Managed Policies with Wildcard Service Actions
- Prohibit IAM Inline Policies with Administrative Wildcard Permissions
- Prohibit IAM Managed Policies with Administrative Wildcard Permissions
- Prohibit Public AWS ECR Repositories
- Prohibit public IP assignment at AWS EC2 instance launch
- Prohibit public internet access to AWS VPC resources
- Require AWS CloudHSM key origin for AWS KMS keys
- Require AWS CloudHSM key origin for AWS KMS keys
- Require AWS IAM privileged role permission boundaries
- Require AWS KMS grants only for AWS services
- Require AWS KMS grants only for AWS services
- Require Block Public Access for S3 Buckets
- Require Block Public Access for S3 Buckets
- Require Block Public Access for S3 Buckets
- Require Block Public Access for S3 Buckets
- Require Encryption for EBS Volumes
- Require Encryption for Launch Template EBS Volumes
- Require IMDSv2 for AWS EC2 instance launch
- Require KMS encryption for AWS S3 buckets
- Require MFA for AWS IAM root user actions
- Require MFA for AWS S3 bucket versioning configuration changes
- Require MFA for AWS SSM Session Manager
- Require MFA for delete actions on S3 buckets
- Require RSA key length greater than 2048 bits for AWS KMS asymmetric keys
- Require RSA key length greater than 2048 bits for AWS KMS asymmetric keys
- Require Server Side Encryption for S3 Buckets
- Require VPC endpoints for AWS DynamoDB access
- Require all object uploads to AWS S3 buckets to use server-side encryption with an AWS KMS key (SSE-KMS)
- Require an AWS EBS snapshot to be created from an encrypted EC2 volume
- Require approved AWS Marketplace subscriptions
- Require approved sources for AWS ECR container registry
- Require approved sources for AWS Lambda layers
- Require attribute-based access control for AWS IAM sensitive data access
- Require bypass policy lockout safety check for AWS KMS keys
- Require bypass policy lockout safety check for AWS KMS keys
- Require code signing for AWS Lambda functions
- Require encryption at rest for AWS EBS snapshots
- Require external key store key origin for AWS KMS keys
- Require external key store key origin for AWS KMS keys
- Require imported key material for AWS KMS keys
- Require imported key material for AWS KMS keys
- Require organization-only access for AWS KMS resources
- Require organization-only access for AWS KMS resources
- Require that AWS EBS direct APIs are not called
- Require that an AWS EBS snapshot cannot be publicly restorable
- Require that an attached AWS EBS volume is configured to encrypt data at rest
- Safeguard AWS EC2 AMI block public access setting from modification
- Safeguard AWS Lambda code signing configuration from modification
- Safeguard AWS S3 bucket encryption configuration from modification
- Safeguard AWS S3 bucket policies from modification
- Set IMDSv2 defaults for AWS EC2 instances
- Set comprehensive password policy for AWS IAM
- Set minimum password length for AWS IAM password policy
- Set password reuse prevention for AWS IAM password policy
Removed
- Allow approved AWS services
- Allow resources in approved AWS regions
- Block all public sharing of AWS EBS snapshots
- Block inbound and outbound internet connections to your VPCs through an internet gateway (IGW) or egress-only internet gateway (EIGW)
- Block public sharing of AWS Machine Images (AMIs)
- Deny API actions over insecure transport for AWS S3
- Deny AWS Virtual Private Network (VPN) connections
- Deny EC2 instance launch without IAM instance role
- Deny access key creation for AWS IAM users
- Deny access key operations for AWS IAM root user
- Deny actions as a root user
- Deny all AWS IAM root user actions
- Deny creation of AWS IAM users
- Deny creation of access keys for the root user
- Deny credential updates for AWS IAM users
- Deny cross region replication for S3 buckets
- Deny cross-region networking for AWS EC2, AWS CloudFront, and AWS Global Accelerator
- Deny deletion of AWS IAM support access role
- Deny deletion of AWS VPC flow logs
- Deny direct permissions attachment to AWS IAM users
- Deny disablement and deletion of AWS KMS keys
- Deny disablement of AWS GuardDuty configuration
- Deny disablement of AWS Security Hub configuration
- Deny disablement of amazon inspector configuration
- Deny full access policy attachment for AWS CloudShell
- Deny insecure transport at resource level for AWS S3
- Deny internet access for an AWS VPC instance managed by a customer
- Deny modification of AWS CloudTrail configuration
- Deny modification of AWS CloudWatch alarms
- Deny modification of AWS Config configuration
- Deny modification of AWS DynamoDB table point in time recovery configuration
- Deny modification of AWS EBS encryption by default configuration
- Deny modification of AWS EBS snapshot block public access configuration
- Deny modification of AWS EC2 IMDS default settings
- Deny modification of AWS EC2 image block public access configuration
- Deny modification of AWS EC2 instance IMDSv2 configuration
- Deny modification of AWS EC2 serial console access configuration
- Deny modification of AWS IAM Access Analyzer configuration
- Deny modification of AWS IAM role configuration
- Deny modification of AWS IAM role trust policy configuration
- Deny modification of AWS S3 account public access block configuration
- Deny modification of AWS S3 account public access block configuration
- Deny modification of AWS S3 bucket encryption configuration
- Deny modification of AWS S3 bucket lifecycle policy configuration
- Deny modification of AWS S3 bucket logging configuration
- Deny modification of AWS S3 bucket logging configuration
- Deny modification of AWS S3 bucket object lock configuration
- Deny modification of AWS VPC network ACL rules
- Deny modification of AWS VPC route tables
- Deny modification of AWS VPC security group rules
- Deny modification of AWS account alternate security contact
- Deny modification of AWS account contact information
- Deny password operations for AWS IAM users
- Deny policy changes to an AWS S3 bucket
- Deny public function URLs for AWS Lambda
- Deny public repository creation for AWS ECR
- Deny public resource policies for AWS Lambda functions
- Deny publicly accessible creation for AWS RDS DB instances
- Deny removal of AWS IAM permission boundaries
- Deny removal of AWS IAM root user MFA devices
- Deny removal of AWS IAM user MFA devices
- Deny replication configuration for AWS S3 buckets
- Deny resource creation without security classification tags
- Deny resources in unapproved AWS regions
- Deny resources in unapproved regions
- Deny resources in unapproved regions in landing zone
- Deny sharing of public AWS EBS snapshots
- Deny single-AZ creation for AWS RDS DB instances
- Deny the use of AWS EC2 VM import and export
- Deny the use of deprecated AWS EC2 RequestSpotFleet and RequestSpotInstances API actions
- Deny unapproved AWS EC2 instance types
- Deny unapproved AWS services
- Deny unencrypted creation for AWS EBS volumes
- Deny unencrypted creation for AWS EFS file systems
- Deny unencrypted creation for AWS RDS DB instances
- Deny unencrypted listeners for AWS Elastic Load Balancing
- Deny versioning changes for AWS S3 buckets
- Deny virtual MFA operations for AWS IAM root user
- Deny weakening of AWS IAM account password policy
- Deny wildcard administrative policy attachment for AWS IAM
- Disable AWS EC2 Serial Console access
- Disable access to the EC2 serial console for all EC2 instances
- Enable AWS EBS Snapshot Block Public Access for account
- Enable AWS EBS encryption by default for account
- Enable AWS EC2 Image Block Public Access
- Enable account-level Block Public Access for AWS S3
- Enforce Access Logging for AWS S3 Buckets
- Enforce Block Public Access for AWS S3 accounts
- Enforce Block Public Access for AWS S3 buckets
- Enforce HTTPS-only access for AWS S3 buckets
- Enforce IAM instance roles for AWS EC2 instances
- Enforce IMDSv2 defaults for AWS EC2 account attributes
- Enforce IMDSv2 for AWS EC2 instances
- Enforce Multi-AZ deployments for AWS RDS DB instances
- Enforce approved AMI sources for AWS EC2 instances
- Enforce approved accounts for AWS Lambda functions
- Enforce approved images for AWS EC2 AMIs
- Enforce approved instance types for AWS EC2 instances
- Enforce auto minor version upgrade for AWS RDS DB instances
- Enforce deactivation of unused AWS IAM access keys
- Enforce default security groups with no rules to restrict all traffic for AWS VPC security groups
- Enforce encryption at rest for AWS CloudTrail logs
- Enforce encryption at rest for AWS RDS DB instances
- Enforce encryption by default for AWS EC2 accounts
- Enforce encryption for AWS EFS file systems
- Enforce group-based permissions for AWS IAM users
- Enforce lifecycle policies for AWS S3 buckets
- Enforce lifecycle policies for versioned AWS S3 buckets
- Enforce minimum password length for AWS IAM password policy
- Enforce non-public accessibility for AWS RDS DB instances
- Enforce password reuse prevention for AWS IAM password policy
- Enforce removal of AWS IAM AWSCloudShellFullAccess policy
- Enforce removal of AWS IAM users
- Enforce removal of AdministratorAccess policy for AWS IAM
- Enforce removal of expired AWS IAM server certificates
- Enforce removal of login profiles for AWS IAM users
- Enforce rotation of AWS IAM access keys every 90 days
- Enforce secure Network ACL configurations denying public access to admin ports for AWS VPC Network ACLs
- Enforce secure security group configurations denying public access to admin ports for AWS VPC security groups
- Enforce single active access key per AWS IAM user
- Enforce versioning for AWS S3 buckets
- Prevent IAM policies with wildcard actions via Guard
- Prevent IAM policies with wildcard actions via Lambda
- Prevent IAM policies with wildcard actions via proactive control
- Prevent S3 buckets without versioning via Guard
- Prevent S3 buckets without versioning via Lambda
- Prevent S3 buckets without versioning via proactive control
- Prevent creation of AWS EC2 instances with IMDSv1 via Guard
- Prevent creation of AWS EC2 instances with IMDSv1 via Lambda
- Prevent public S3 bucket creation via Guard
- Prohibit IAM Customer Managed Policies with Wildcard Service Actions
- Prohibit IAM Inline Policies with Administrative Wildcard Permissions
- Prohibit IAM Managed Policies with Administrative Wildcard Permissions
- Require AWS CloudHSM key origin for AWS KMS keys
- Require AWS IAM privileged role permission boundaries
- Require AWS KMS grants only for AWS services
- Require Block Public Access for S3 Buckets
- Require Encryption for EBS Volumes
- Require Encryption for Launch Template EBS Volumes
- Require IMDSv2 for AWS EC2 instances
- Require MFA for AWS IAM root user actions
- Require MFA for AWS IAM user actions
- Require MFA for AWS S3 bucket versioning configuration changes
- Require MFA for AWS SSM Session Manager
- Require MFA for delete actions on S3 buckets
- Require RSA key length greater than 2048 bits for AWS KMS asymmetric keys
- Require Server Side Encryption for S3 Buckets
- Require VPC endpoints for AWS DynamoDB access
- Require VPC endpoints for AWS S3 access
- Require all object uploads to AWS S3 buckets to use server-side encryption with an AWS KMS key (SSE-KMS)
- Require an AWS EBS snapshot to be created from an encrypted EC2 volume
- Require approved AMI sources for AWS EC2 instances
- Require approved AWS Marketplace subscriptions
- Require approved sources for AWS ECR container registry
- Require approved sources for AWS Lambda layers
- Require attribute-based access control for AWS IAM sensitive data access
- Require bypass policy lockout safety check for AWS KMS keys
- Require code signing for AWS Lambda functions
- Require external key store key origin for AWS KMS keys
- Require imported key material for AWS KMS keys
- Require organization accounts for AWS STS assume role
- Require organization-only access for AWS KMS resources
- Require that AWS EBS direct APIs are not called
- Require that an AWS EBS snapshot cannot be publicly restorable
- Require that an attached AWS EBS volume is configured to encrypt data at rest
- Set IMDSv2 defaults for AWS EC2 instances
- Set comprehensive password policy for AWS IAM
- Set minimum password length for AWS IAM password policy
- Set password reuse prevention for AWS IAM password policy