Class: IamRoleNotResourceOnPermissionsPolicyRule

Inherits:
BaseRule
  • Object
show all
Defined in:
lib/cfn-nag/custom_rules/IamRoleNotResourceOnPermissionsPolicyRule.rb

Instance Method Summary collapse

Methods inherited from BaseRule

#audit

Instance Method Details

#audit_impl(cfn_model) ⇒ Object



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

def audit_impl(cfn_model)
  violating_roles = cfn_model.resources_by_type('AWS::IAM::Role').select do |role|
    violating_policies = role.policy_objects.select do |policy|
      !policy.policy_document.allows_not_resource.empty?
    end
    !violating_policies.empty?
  end

  violating_roles.map(&:logical_resource_id)
end

#rule_idObject



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

def rule_id
  'W21'
end

#rule_textObject



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

def rule_text
  'IAM role should not allow Allow+NotResource'
end

#rule_typeObject



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

def rule_type
  Violation::WARNING
end