Class: SecurityGroupMissingEgressRule

Inherits:
Object
  • Object
show all
Defined in:
lib/custom_rules/security_group_missing_egress.rb

Instance Method Summary collapse

Instance Method Details

#audit(cfn_model) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/custom_rules/security_group_missing_egress.rb', line 9

def audit(cfn_model)
  logical_resource_ids = []
  cfn_model.security_groups.each do |security_group|
    if security_group.egress_rules.size == 0
      logical_resource_ids << security_group.logical_resource_id
    end
  end

  if logical_resource_ids.size > 0
    Violation.new(type: Violation::FAILING_VIOLATION,
                  message: rule_text,
                  logical_resource_ids: logical_resource_ids)
  else
    nil
  end
end

#rule_textObject



5
6
7
# File 'lib/custom_rules/security_group_missing_egress.rb', line 5

def rule_text
  'Missing egress rule means all traffic is allowed outbound.  Make this explicit if it is desired configuration'
end