Chef infra 通过Inspec实现基础架构合规性

Chef infra 通过Inspec实现基础架构合规性,chef-infra,inspec,Chef Infra,Inspec,我简要描述了厨师在我们环境中的使用情况,以及我们希望从Inspec中实现的目标 •我们有两本适用于Windows和Unix的通用烹饪书 •这些通用烹饪书有单独的食谱,每个食谱都有定义一个特定厨师资源的逻辑,例如目录创建、软件包安装等 •然后;创建一个应用程序特定的包装器cookbook,它使用通用的cookbook •需要应用于节点的厨师资源属性(在通用烹饪书中定义)在包装器烹饪书角色文件中声明 我已经用硬编码的值编写了inspec测试,这些测试很好;但是,我们有数千个节点需要进行符合性测试。为

我简要描述了厨师在我们环境中的使用情况,以及我们希望从Inspec中实现的目标

•我们有两本适用于Windows和Unix的通用烹饪书

•这些通用烹饪书有单独的食谱,每个食谱都有定义一个特定厨师资源的逻辑,例如目录创建、软件包安装等

•然后;创建一个应用程序特定的包装器cookbook,它使用通用的cookbook

•需要应用于节点的厨师资源属性(在通用烹饪书中定义)在包装器烹饪书角色文件中声明

我已经用硬编码的值编写了inspec测试,这些测试很好;但是,我们有数千个节点需要进行符合性测试。为它们中的每一个编写inspec是不可取的

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
我们希望创建一个带有通用控件的通用概要文件。然后,这些控件可以拾取包装器角色文件或其他一些集中位置中自动声明的属性,并检查节点上的符合性

这是更可取的,因为这将需要一次努力来建立框架