logo

Database

Terraform Excessive Role Policy Locals

Description

Detects overly permissive IAM role policies defined in Terraform locals blocks. Excessive permissions in IAM policies can violate the principle of least privilege and create security risks by granting more access than necessary to AWS resources.

Weakness:

031 - Excessive privileges - AWS

Category: Access Subversion

Detection Strategy

    • Identifies Terraform configuration files that contain 'locals' blocks

    • Examines IAM role policy definitions within those locals blocks

    • Reports a vulnerability if policies grant overly broad permissions or use wildcards (*) in resource or action specifications

    • Checks if the policy allows unrestricted actions on sensitive AWS services

Vulnerable code example

locals {
  vulnerable_policy = {
    name = "vulnerable_policy"
    policy = jsonencode({
      Version = "2012-10-17"
      Statement = [
        {
          Effect = "Allow"...

✅ Secure code example

locals {
  secure_policy = {
    name = "secure_policy"
    policy = jsonencode({
      Version = "2012-10-17"
      Statement = [
        {
          Sid    = "RestrictedIAMAttach"...