Policy Examples & Templates

Real-world policy examples and templates for common governance scenarios

Production ReadyMulti-CloudBest PracticesCopy & Paste

Security Policies

Essential security controls and best practices

Enforce Encryption at Rest

Ensure all storage resources have encryption enabled

AWS
YAML Policy Definition
name: "Enforce S3 Encryption"
description: "All S3 buckets must have encryption enabled"
version: "1.0"

rules:
  - name: s3_encryption_check
    resource: "aws.s3.bucket"
    condition: |
      resource.encryption.sse_algorithm == null or
      resource.encryption.sse_algorithm == ""
    action: "fail"
    severity: "high"
    message: "S3 bucket must have server-side encryption enabled"
    
  - name: ebs_encryption_check
    resource: "aws.ec2.volume"
    condition: |
      resource.encrypted == false
    action: "fail"
    severity: "high"
    message: "EBS volumes must be encrypted"

Network Security Groups

Restrict overly permissive security group rules

AWS
YAML Policy Definition
name: "Secure Security Groups"
description: "Prevent overly permissive security group rules"
version: "1.0"

rules:
  - name: no_ssh_from_internet
    resource: "aws.ec2.security_group"
    condition: |
      any(resource.ingress_rules, rule ->
        rule.from_port <= 22 and rule.to_port >= 22 and
        any(rule.cidr_blocks, cidr -> cidr == "0.0.0.0/0")
      )
    action: "fail"
    severity: "critical"
    message: "SSH access should not be allowed from 0.0.0.0/0"
    
  - name: no_rdp_from_internet
    resource: "aws.ec2.security_group"
    condition: |
      any(resource.ingress_rules, rule ->
        rule.from_port <= 3389 and rule.to_port >= 3389 and
        any(rule.cidr_blocks, cidr -> cidr == "0.0.0.0/0")
      )
    action: "fail"
    severity: "critical"
    message: "RDP access should not be allowed from 0.0.0.0/0"