Class: SnsTopicPolicyWildcardPrincipalRule

Inherits:
BaseRule show all
Defined in:
lib/cfn-nag/custom_rules/SnsTopicPolicyWildcardPrincipalRule.rb

Instance Method Summary collapse

Methods inherited from BaseRule

#audit, #violation

Instance Method Details

#audit_impl(cfn_model) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cfn-nag/custom_rules/SnsTopicPolicyWildcardPrincipalRule.rb', line 19

def audit_impl(cfn_model)
  logical_resource_ids = []

  cfn_model.resources_by_type('AWS::SNS::TopicPolicy').each do |topic_policy|
    unless topic_policy.policy_document.wildcard_allowed_principals.empty?
      logical_resource_ids << topic_policy.logical_resource_id
    end
  end

  logical_resource_ids
end

#rule_idObject



15
16
17
# File 'lib/cfn-nag/custom_rules/SnsTopicPolicyWildcardPrincipalRule.rb', line 15

def rule_id
  'F18'
end

#rule_textObject



7
8
9
# File 'lib/cfn-nag/custom_rules/SnsTopicPolicyWildcardPrincipalRule.rb', line 7

def rule_text
  'SNS topic policy should not allow * principal'
end

#rule_typeObject



11
12
13
# File 'lib/cfn-nag/custom_rules/SnsTopicPolicyWildcardPrincipalRule.rb', line 11

def rule_type
  Violation::FAILING_VIOLATION
end