OPEN SOURCE
Analyze IAM
Permissions
Stop guessing IAM permissions. Point iamatic at a Terraform repo or plan file and get back the exact policy your deployer needs — instantly.
Parse Terraform Code
Analyze .tf files to extract IAM policy documents and understand what permissions your infrastructure declares.
Analyze Terraform Plans
Feed in terraform plan JSON output to see exactly what IAM changes will be made before you apply.
Multiple Output Formats
Get output as human-readable text, structured JSON, or Terraform code for further automation.
Install
Choose your preferred method
Go Install
Quickest way to get started
go install gitlab.com/skyline-labs/iamatic@latestDocker
Run without installing Go
docker pull registry.gitlab.com/skyline-labs/iamatic:latestBuild from Source
Clone and build yourself
git clone git@gitlab.com:skyline-labs/iamatic.gitHow It Works
Input Terraform. Get IAM analysis.
resource "aws_iam_role" "lambda_exec" {
name = "lambda_exec_role"
assume_role_policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Action = "sts:AssumeRole"
Effect = "Allow"
Principal = {
Service = "lambda.amazonaws.com"
}
}]
})
}
resource "aws_iam_policy" "s3_read" {
name = "s3-read-only"
description = "Read access to S3 buckets"
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:ListBucket"]
Resource = "*"
}]
})
}Output
$ iamatic analyze ./ IAM (3 actions) s3:GetObject s3:ListBucket sts:AssumeRole Total: 3 unique IAM actions across 2 services # Ready to use
Ready?
Start analyzing your Terraform infrastructure and know exactly what IAM permissions your deployments need.
Read the Docs