Skip to content

Commit

Permalink
refactoring 3.8 to not use describe blocks in a loop
Browse files Browse the repository at this point in the history
Signed-off-by: wdower <[email protected]>
  • Loading branch information
wdower committed Dec 6, 2023
1 parent fe54d7a commit ea00dfc
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
22 changes: 12 additions & 10 deletions controls/aws-foundations-cis-3.8.rb
Original file line number Diff line number Diff line change
Expand Up @@ -118,17 +118,19 @@

# TODO: I also have uncaught exceptions

aws_kms_keys.key_arns.each do |key|
next unless aws_kms_key(key).enabled? && !aws_kms_key(key).managed_by_aws?
next if input('exempt_kms_keys').include?(key)
describe aws_kms_key(key) do
it { should have_rotation_enabled }
end
end
customer_created_symmetric_cmk = (aws_kms_keys.key_arns - input('exempt_kms_keys')).select { |key|
aws_kms_key(key).enabled? && !aws_kms_key(key).managed_by_aws?
}

only_if("No non-exempt customer managed KMS keys were discovered", impact: 0.0) { !customer_created_symmetric_cmk.empty? }

failing_keys = customer_created_symmetric_cmk.select { |key|
!aws_kms_key(key).is_rotation_enabled?
}

if aws_kms_keys.key_arns.none? { |key| aws_kms_key(key).enabled? && !aws_kms_key(key).managed_by_aws? && !input('exempt_kms_keys').include?(key) }
describe 'Control skipped because no enabled kms keys were found' do
skip 'This control is skipped since the aws_kms_keys resource returned an empty coustomer managed and enabled kms key list'
describe "All customer-managed KMS keys" do
it "should have rotation enabled" do
expect(failing_keys).to be_empty, "Customer-managed KMS keys without rotation enabled:\t#{failing_keys}"
end
end
end
2 changes: 1 addition & 1 deletion inspec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ inputs:
- ap-northeast-2
- ap-northeast-3

- name: except_kms_keys
- name: exempt_kms_keys
description: "List of KMS keys exempted from inspection"
type: Array
value: []
Expand Down

0 comments on commit ea00dfc

Please sign in to comment.