Class: SecurityGroupMissingEgressRule
- Inherits:
-
Object
- Object
- SecurityGroupMissingEgressRule
- Includes:
- Rule
- Defined in:
- lib/custom_rules/security_group_missing_egress.rb
Instance Attribute Summary
Attributes included from Rule
#failure_count, #input_json_path
Instance Method Summary collapse
Methods included from Rule
#assertion, #fatal_assertion, #fatal_violation, #message, #raw_fatal_assertion, #raw_fatal_violation, #resources, #resources_by_type, #violation, #warning
Instance Method Details
#audit(cfn_model) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/custom_rules/security_group_missing_egress.rb', line 6 def audit(cfn_model) violation_count = 0 logical_resource_ids = [] violating_security_groups = [] cfn_model.security_groups.each do |security_group| if security_group.egress_rules.size == 0 logical_resource_ids << security_group.logical_resource_id violating_security_groups << security_group violation_count += 1 end end if violation_count > 0 message_type: 'violation', message: 'Missing egress rule means all traffic is allowed outbound. Make this explicit if it is desired configuration', logical_resource_ids: logical_resource_ids end violation_count end |