我正在简要描述我们环境中的CHEF用法以及我们希望通过Inspec实现的目标。
•我们有两本适用于Windows和Unix的通用食谱
•这些通用食谱有各自的食谱,每个食谱都有定义一个特定厨师资源的逻辑,例如目录创建,软件包安装等。
•然后;将创建一个使用通用食谱的特定于应用程序的包装食谱。
•包装器食谱角色文件中声明了需要应用于节点的厨师资源(在通用食谱中定义的资源)的属性。
我编写了带有硬编码值的inspec测试,这些测试工作正常;但是,我们有成千上万个需要进行一致性测试的节点。不希望为他们每个人编写检查。
样本检查控件
control '01' do
impact 0.7
title 'Verify my recipe'
desc 'Check if the folders were created with proper permissions'
describe directory('D:\\DATA\\Files') do
it { should exist }
it { should be_allowed('full-control', by_user: 'BUILTIN\Administrators') }
it { should be_allowed('execute', by_user: 'Everyone') }
it { should be_allowed('modify', by_user: 'MY_ORG\PRIV_ACCT') }
end
end
我们希望创建具有通用控件的通用配置文件。然后,这些控件可以获取在包装角色文件或其他集中位置中自动声明的属性,并检查节点上的合规性。
这是更可取的,因为这将需要花费一时间的努力来建立框架