{"id":9329,"date":"2015-05-13T11:31:52","date_gmt":"2015-05-13T02:31:52","guid":{"rendered":"http:\/\/www.creationline.com\/?p=9329"},"modified":"2023-08-29T14:09:12","modified_gmt":"2023-08-29T05:09:12","slug":"chef-audit-mode%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b-getchef-serverspec","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329","title":{"rendered":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec"},"content":{"rendered":"<p>\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305f<a href=\"\/lab\/7833\">Chef Client 12.1.0<\/a>\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(<a href=\"https:\/\/github.com\/chef\/chef-rfc\/blob\/master\/rfc035-audit-mode.md\">Audit Mode<\/a>)\u304c\u5b9f\u9a13\u7684\u306b\u642d\u8f09\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306fNode\u4e0a\u3067<a href=\"http:\/\/serverspec.org\/\">Serverspec<\/a>\u3092\u5b9f\u884c\u3057\u3001\u30a4\u30f3\u30d5\u30e9\u306e\u76e3\u67fb(Audit)\u3092\u884c\u3046\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n<p>\u672c\u7a3f\u3067\u306f\u3001\u5b9f\u969b\u306eNode\u3068<a href=\"http:\/\/kitchen.ci\/\">test-kitchen<\/a>\u3067\u306eAudit Mode\u3092\u898b\u3066\u307f\u307e\u3059\u3002\u307e\u305f\u3001\u4f7f\u7528\u3057\u305fCookbook\u306f<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/tree\/audit_mode_blog\">cl-lab-k\/apache2-take at audit_mode_blog<\/a>\u3067\u3059\u3002<\/p>\n<h2>\u524d\u63d0\u6761\u4ef6<\/h2>\n<ul>\n<li>Workstation : Ubuntu 14.04 LTS, Chef-DK 0.5.0rc5<\/li>\n<li>Chef Server : Ubuntu 14.04 LTS, Chef Server 12.0.7<\/li>\n<li>Node : Ubuntu 14.04 LTS, Chef Client 12.2.1<\/li>\n<\/ul>\n<h2>\u5b9f\u969b\u306eNode\u3067\u306eAudit Mode<\/h2>\n<p>\u6700\u521d\u306b\u3001\u5b9f\u969b\u306eNode\u306b\u5bfe\u3057\u3066<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/blob\/audit_mode_blog\/recipes\/default.rb\">recipe[apache2-take::default<\/a>\u3092\u9069\u7528\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<p>\u3053\u306eNode\u306erun_list\u306b<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/blob\/audit_mode_blog\/recipes\/audit.rb\">recipe[apache2-take::audit]<\/a>\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\u66f8\u5f0f\u306b\u95a2\u3057\u3066\u8a73\u3057\u304f\u306f<a href=\"http:\/\/docs.chef.io\/release\/12-1\/release_notes.html#chef-client-chef-client-audit\">Release Notes: chef-client 12.1 | chef-client, audit-mode<\/a>\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>chef-client\u306b\u5bfe\u3057\u3066\u300c--audit-mode <strong>enabled<\/strong>\u300d(\u53ce\u675f\u5f8c\u306b\u76e3\u67fb\u3092\u5b9f\u884c)\u3001\u307e\u305f\u306f\u300c--audit-mode <strong>audit-only<\/strong>\u300d(\u53ce\u675f\u305b\u305a\u76e3\u67fb\u306e\u307f\u3092\u5b9f\u884c)\u306e\u3044\u305a\u308c\u304b\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4e0e\u3048\u3066\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u3001Audit Mode\u304c\u6a5f\u80fd\u3057\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u306f\u300c--audit-mode enabled\u300d\u3092\u884c\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\nubuntu@node1:~$ sudo chef-client --audit-mode enabled<br \/>\n[2015-04-16T13:44:28+09:00] WARN: Chef-client has been configured to audit after it converges. Audit mode is an experimental feature currently under development. API changes may occur. Use at your own risk.<br \/>\n* To enable audit mode after converge, use command line option `--audit-mode enabled` or set `:audit_mode = :enabled` in your config file.<br \/>\n* To disable audit mode, use command line option `--audit-mode disabled` or set `:audit_mode = :disabled` in your config file.<br \/>\n* To only run audit mode, use command line option `--audit-mode audit-only` or set `:audit_mode = :audit_only` in your config file.<br \/>\nAudit mode is disabled by default.<br \/>\nStarting Chef Client, version 12.2.1<br \/>\nresolving cookbooks for run list: [\"apache2-take\", \"apache2-take::audit\"]<br \/>\nSynchronizing Cookbooks:<br \/>\n- apache2-take<br \/>\nCompiling Cookbooks...<br \/>\nConverging 15 resources<br \/>\nRecipe: apache2-take::default<br \/>\n* execute[apt-get update] action run<br \/>\n- execute apt-get update<br \/>\n* apt_package[apache2] action install (up to date)<br \/>\n* apt_package[git-core] action install (up to date)<br \/>\n* apt_package[curl] action install (up to date)<br \/>\n* apt_package[unzip] action install (up to date)<br \/>\n* service[apache2] action enable (up to date)<br \/>\n* template[\/etc\/apache2\/ports.conf] action create (up to date)<br \/>\n* template[\/etc\/apache2\/sites-available\/default.conf] action create (up to date)<br \/>\n* execute[a2ensite default] action run<br \/>\n- execute a2ensite default<br \/>\n* git[\/var\/chef\/cache\/apache2-take-sample-page] action sync (up to date)<br \/>\n* execute[\/var\/www\/index.html] action run<br \/>\n- execute cp -f \/var\/chef\/cache\/apache2-take-sample-page\/index.html \/var\/www\/index.html<br \/>\n* remote_file[\/var\/chef\/cache\/apache2-take-sample-image.zip] action create (up to date)<br \/>\n* execute[unzip apache2-take-sample-image.zip] action run (skipped due to not_if)<br \/>\n* execute[\/var\/www\/img] action run (skipped due to not_if)<br \/>\n* service[apache2-start] action start<br \/>\n- start service service[apache2-start]<br \/>\n* service[apache2] action restart<br \/>\n- restart service service[apache2]<br \/>\n<\/code><\/p>\n<p>\u3053\u3053\u307e\u3067\u306f\u901a\u5e38\u306e\u53ce\u675f\u51e6\u7406\u3067\u3059\u3002\u3053\u3053\u304b\u3089\u5f15\u304d\u7d9a\u304d\u3001\u76e3\u67fb\u304c\u59cb\u307e\u308a\u307e\u3059\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\nStarting audit phase<\/code><\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>apache2-take::audit<br \/>\npackage apache2<br \/>\nshould be installed<br \/>\npackage git-core<br \/>\nshould be installed<br \/>\npackage curl<br \/>\nshould be installed<br \/>\npackage unzip<br \/>\nshould be installed<br \/>\nservice apache2<br \/>\nshould be enabled<br \/>\nshould be running<br \/>\nshould listening 8080<br \/>\nfile \/etc\/apache2\/ports.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain 'NameVirtualHost *:8080'<br \/>\nshould contain 'Listen 8080'<br \/>\nfile \/etc\/apache2\/sites-available\/default.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain ''<br \/>\nsymlink default.conf<br \/>\nshould be linked to the available file<br \/>\nfile www content<br \/>\nshould be a file<br \/>\nshould contain welcome banner<br \/>\ndir www content<br \/>\nshould be a directory<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>Finished in 0.27375 seconds (files took 0.95518 seconds to load)<br \/>\n22 examples, 0 failures<br \/>\nAuditing complete<\/p>\n<p><code lang=\"bash\"><br \/>\n<\/code><\/p>\n<p><code lang=\"bash\">Running handlers:<br \/>\nRunning handlers complete<br \/>\nChef Client finished, 5\/14 resources updated in 23.763426765 seconds<br \/>\n22\/22 controls succeeded<br \/>\nubuntu@node1:~$<br \/>\n<\/code><\/p>\n<p>\u53ce\u675f\u304a\u3088\u3073\u76e3\u67fb\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u5f15\u304d\u7d9a\u304d\u3001\u300c--audit-mode audit-only\u300d\u3067\u76e3\u67fb\u306e\u307f\u3092\u884c\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\nubuntu@node1:~$ sudo chef-client --audit-mode audit-only<br \/>\n[2015-04-16T13:49:49+09:00] WARN: Chef-client has been configured to skip converge and only audit. Audit mode is an experimental feature currently under development. API changes may occur. Use at your own risk.<br \/>\n* To enable audit mode after converge, use command line option `--audit-mode enabled` or set `:audit_mode = :enabled` in your config file.<br \/>\n* To disable audit mode, use command line option `--audit-mode disabled` or set `:audit_mode = :disabled` in your config file.<br \/>\n* To only run audit mode, use command line option `--audit-mode audit-only` or set `:audit_mode = :audit_only` in your config file.<br \/>\nAudit mode is disabled by default.<br \/>\nStarting Chef Client, version 12.2.1<br \/>\nresolving cookbooks for run list: [\"apache2-take\", \"apache2-take::audit\"]<br \/>\nSynchronizing Cookbooks:<br \/>\n- apache2-take<br \/>\nCompiling Cookbooks...<br \/>\nStarting audit phase<\/code><\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>apache2-take::audit<br \/>\npackage apache2<br \/>\nshould be installed<br \/>\npackage git-core<br \/>\nshould be installed<br \/>\npackage curl<br \/>\nshould be installed<br \/>\npackage unzip<br \/>\nshould be installed<br \/>\nservice apache2<br \/>\nshould be enabled<br \/>\nshould be running<br \/>\nshould listening 8080<br \/>\nfile \/etc\/apache2\/ports.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain 'NameVirtualHost *:8080'<br \/>\nshould contain 'Listen 8080'<br \/>\nfile \/etc\/apache2\/sites-available\/default.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain ''<br \/>\nsymlink default.conf<br \/>\nshould be linked to the available file<br \/>\nfile www content<br \/>\nshould be a file<br \/>\nshould contain welcome banner<br \/>\ndir www content<br \/>\nshould be a directory<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>Finished in 0.19382 seconds (files took 0.25124 seconds to load)<br \/>\n22 examples, 0 failures<br \/>\nAuditing complete<\/p>\n<p><code lang=\"bash\"><br \/>\n<\/code><\/p>\n<p><code lang=\"bash\">Running handlers:<br \/>\nRunning handlers complete<br \/>\nChef Client finished, 0\/0 resources updated in 1.687719803 seconds<br \/>\n22\/22 controls succeeded<br \/>\nubuntu@node1:~$<br \/>\n<\/code><\/p>\n<p>\u76e3\u67fb\u306e\u307f\u304c\u884c\u308f\u308c\u3001\u6b63\u5e38\u306b\u7d42\u4e86\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u3053\u306e\u3088\u3046\u306b\u3001Recipe\u3092\u9069\u7528\u3057\u3066\u53ce\u675f\u3092\u884c\u3046\u306e\u3068\u540c\u3058\u3088\u3046\u306a\u611f\u899a\u3067\u3001Serverspec\u306b\u3088\u308b\u76e3\u67fb\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n<h2>test-kitchen\u3067\u306eAudit Mode<\/h2>\n<p>test-kitchen\u3067\u3082Audit Mode\u3092\u9069\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u30012015\u5e744\u6708\u73fe\u5728\u6700\u65b0\u306eChef-DK 0.4.0\u306b\u542b\u307e\u308c\u3066\u3044\u308btest-kitchen 1.3\u7cfb\u306fAudit Mode\u3092\u6709\u52b9\u306b\u3067\u304d\u307e\u305b\u3093(\u53c2\u8003: <a href=\"http:\/\/jtimberman.housepub.org\/blog\/2015\/04\/03\/chef-audit-mode-introduction\/\">Chef Audit Mode Introduction<\/a>, <a href=\"https:\/\/github.com\/test-kitchen\/test-kitchen\/pull\/652\">[ChefZero,ChefSolo] Support symbol values in solo.rb &amp; client.rb.<\/a>)\u3002\u6b21\u306e\u3088\u3046\u306b\u30a2\u30eb\u30d5\u30a1\u7248\u306eChef-DK 0.5\u7cfb(\u6ce8: 2015\u5e745\u6708\u3001\u3053\u306e\u554f\u984c\u3092\u89e3\u6d88\u3057\u305fChef-DK 0.5.0\u304c\u6b63\u5f0f\u306b\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u3066\u3044\u307e\u3059)\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u304b\u3001<\/p>\n<p><code lang=\"bash\"><br \/>\n% curl -L https:\/\/chef.io\/chef\/install.sh | sudo bash -s -- -P chefdk -p<br \/>\n<\/code><\/p>\n<p>\u6b21\u306e\u3088\u3046\u306bGemfile\u3067test-kitchen\u306e1.4\u7cfb\u3092\u6307\u5b9a\u3057\u3066bundle install\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ngem 'test-kitchen', '= 1.4.0.rc.1'<br \/>\n<\/code><\/p>\n<p>\u3055\u3066\u3001\u3053\u3053\u3067\u306fServerspec 1\u7cfb\u3067\u30c6\u30b9\u30c8\u3059\u308b<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/tree\/audit_mode_blog\/test\/integration\/default\/rspec\">test\/integration\/default\/rspec<\/a>\u306f\u524a\u9664\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002Serverspec 2\u7cfb\u3067\u30c6\u30b9\u30c8\u3059\u308b<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/tree\/audit_mode_blog\/test\/integration\/default\/serverspec\">test\/integration\/default\/serverspec<\/a>\u3068Gem\u306e\u4f9d\u5b58\u95a2\u4fc2\u306b\u885d\u7a81\u304c\u8d77\u304d\u308b\u304b\u3089\u3067\u3059\u3002<a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/tree\/audit_mode_blog\/test\/integration\/default\/bats\">test\/integration\/default\/bats<\/a>\u306f\u6b8b\u3057\u3066\u304a\u3044\u3066\u3082\u69cb\u3044\u307e\u305b\u3093\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/cl-lab-k\/apache2-take\/tree\/audit_mode_blog\">apache2-take<\/a> Cookbook\u306e<strong>.kitchen.yml<\/strong>\u306f\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002run_list\u306b<strong>recipe[apache2-take::audit]<\/strong>\u3092\u8ffd\u52a0\u3057\u3001<strong>provisioner<\/strong>\u8a2d\u5b9a\u306e<strong>client_rb:<\/strong> <strong>audit_mode: :enabled<\/strong>\u3092\u8ffd\u52a0\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e<strong>audit_mode: :enabled<\/strong>\u306e\u90e8\u5206\u304cChef-DK 0.4.0\u306etest-kitchen 1.3\u7cfb\u3067\u306f\u30a8\u30e9\u30fc\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"yaml\"><br \/>\n---<br \/>\ndriver:<br \/>\nname: vagrant<\/code><\/p>\n<p><code lang=\"yaml\"><code lang=\"yaml\"><\/code><\/code><\/p>\n<p>provisioner:<br \/>\nname: chef_zero<br \/>\nclient_rb:<br \/>\naudit_mode: :enabled<\/p>\n<p><code lang=\"yaml\"><code lang=\"yaml\"><\/code><\/code><\/p>\n<p>platforms:<br \/>\n- name: ubuntu-14.04<br \/>\ndriver_config:<br \/>\nbox: chef\/ubuntu-14.04<br \/>\nrequire_chef_omnibus: true<br \/>\n- name: ubuntu-12.04<br \/>\ndriver_config:<br \/>\nbox: chef\/ubuntu-12.04<br \/>\nrequire_chef_omnibus: true<br \/>\n- name: ubuntu-10.04<br \/>\ndriver_config:<br \/>\nbox: chef\/ubuntu-10.04<br \/>\nrequire_chef_omnibus: true<\/p>\n<p><code lang=\"yaml\"><br \/>\n<\/code><\/p>\n<p><code lang=\"yaml\">suites:<br \/>\n- name: default<br \/>\nrun_list:<br \/>\n- recipe[apache2-take::default]<br \/>\n- recipe[apache2-take::audit]<br \/>\n<\/code><\/p>\n<p>\u3053\u308c\u3067\u30c6\u30b9\u30c8\u3092\u5b9f\u884c\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\n% bundle exec kitchen test<br \/>\n-----&gt; Starting Kitchen (v1.4.0.rc.1)<br \/>\n-----&gt; Cleaning up any prior instances of<br \/>\n-----&gt; Destroying ...<br \/>\nFinished destroying  (0m0.00s).<br \/>\n-----&gt; Testing<br \/>\n-----&gt; Creating ...<br \/>\nBringing machine 'default' up with 'virtualbox' provider...<br \/>\nffi-yajl\/json_gem is deprecated, these monkeypatches will be dropped shortly<br \/>\n==&gt; default: Importing base box 'chef\/ubuntu-14.04'...<br \/>\n==&gt; default: Matching MAC address for NAT networking...<br \/>\n==&gt; default: Checking if box 'chef\/ubuntu-14.04' is up to date...<br \/>\n==&gt; default: Setting the name of the VM: kitchen-apache2-take-default-ubuntu-1404_default_1429156335426_63779<br \/>\n==&gt; default: Clearing any previously set network interfaces...<br \/>\n==&gt; default: Preparing network interfaces based on configuration...<br \/>\ndefault: Adapter 1: nat<br \/>\n==&gt; default: Forwarding ports...<br \/>\ndefault: 22 =&gt; 2222 (adapter 1)<br \/>\n==&gt; default: Booting VM...<br \/>\n==&gt; default: Waiting for machine to boot. This may take a few minutes...<br \/>\ndefault: SSH address: 127.0.0.1:2222<br \/>\ndefault: SSH username: vagrant<br \/>\ndefault: SSH auth method: private key<br \/>\ndefault: Warning: Connection timeout. Retrying...<br \/>\n==&gt; default: Machine booted and ready!<br \/>\n==&gt; default: Checking for guest additions in VM...<br \/>\n==&gt; default: Setting hostname...<br \/>\n==&gt; default: Machine not provisioning because `--no-provision` is specified.<br \/>\nVagrant instance  created.<br \/>\nFinished creating  (0m36.25s).<br \/>\n-----&gt; Converging ...<br \/>\n$$$$$$ Running legacy converge for 'Vagrant' Driver<br \/>\nPreparing files for transfer<br \/>\nPreparing dna.json<br \/>\nResolving cookbook dependencies with Berkshelf 3.2.3...<br \/>\nRemoving non-cookbook files before transfer<br \/>\nPreparing validation.pem<br \/>\nPreparing client.rb<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\n-----&gt; Installing Chef Omnibus (install only if missing)<br \/>\nDownloading https:\/\/www.chef.io\/chef\/install.sh to file \/tmp\/install.sh<br \/>\nTrying wget...<br \/>\nDownload complete.<br \/>\nDownloading Chef  for ubuntu...<br \/>\ndownloading https:\/\/www.getchef.com\/chef\/metadata?v=&amp;prerelease=false&amp;nightlies=false&amp;p=ubuntu&amp;pv=14.04&amp;m=x86_64<br \/>\nto file \/tmp\/install.sh.1306\/metadata.txt<br \/>\ntrying wget...<br \/>\nurl\thttps:\/\/opscode-omnibus-packages.s3.amazonaws.com\/ubuntu\/13.04\/x86_64\/chef_12.2.1-1_amd64.deb<br \/>\nmd5\t84119f54115d754373c9891b8759497c<br \/>\nsha256\t8e0a8a2477c11615f86ffe686a68fa6636112ba82ebe6bb22daa5dd416f3c13e<br \/>\ndownloaded metadata file looks valid...<br \/>\ndownloading https:\/\/opscode-omnibus-packages.s3.amazonaws.com\/ubuntu\/13.04\/x86_64\/chef_12.2.1-1_amd64.deb<br \/>\nto file \/tmp\/install.sh.1306\/chef_12.2.1-1_amd64.deb<br \/>\ntrying wget...<br \/>\nComparing checksum with sha256sum...<br \/>\nInstalling Chef<br \/>\ninstalling with dpkg...<br \/>\nSelecting previously unselected package chef.<br \/>\n(Reading database ... 32400 files and directories currently installed.)<br \/>\nPreparing to unpack ...\/chef_12.2.1-1_amd64.deb ...<br \/>\nUnpacking chef (12.2.1-1) ...<br \/>\nSetting up chef (12.2.1-1) ...<br \/>\nThank you for installing Chef!<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\nTransferring files to<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\n[2015-04-16T03:53:27+00:00] WARN: Chef-client has been configured to audit after it converges. Audit mode is an experimental feature currently under development. API changes may occur. Use at your own risk.<br \/>\n* To enable audit mode after converge, use command line option `--audit-mode enabled` or set `:audit_mode = :enabled` in your config file.<br \/>\n* To disable audit mode, use command line option `--audit-mode disabled` or set `:audit_mode = :disabled` in your config file.<br \/>\n* To only run audit mode, use command line option `--audit-mode audit-only` or set `:audit_mode = :audit_only` in your config file.<br \/>\nAudit mode is disabled by default.<br \/>\nStarting Chef Client, version 12.2.1<br \/>\nCreating a new client identity for default-ubuntu-1404 using the validator key.<br \/>\n[2015-04-16T03:53:34+00:00] WARN: Child with name 'dna.json' found in multiple directories: \/tmp\/kitchen\/dna.json and \/tmp\/kitchen\/dna.json<br \/>\n[2015-04-16T03:53:34+00:00] WARN: Child with name 'dna.json' found in multiple directories: \/tmp\/kitchen\/dna.json and \/tmp\/kitchen\/dna.json<br \/>\nresolving cookbooks for run list: [\"apache2-take::default\", \"apache2-take::audit\"]<br \/>\n[2015-04-16T03:53:34+00:00] WARN: Child with name 'dna.json' found in multiple directories: \/tmp\/kitchen\/dna.json and \/tmp\/kitchen\/dna.json<br \/>\nSynchronizing Cookbooks:<br \/>\n- apache2-take<br \/>\nCompiling Cookbooks...<br \/>\nConverging 15 resources<br \/>\nRecipe: apache2-take::default<br \/>\n* execute[apt-get update] action run<br \/>\n- execute apt-get update<br \/>\n* apt_package[apache2] action install<br \/>\n- install version 2.4.7-1ubuntu4.4 of package apache2<br \/>\n* apt_package[git-core] action install<br \/>\n- install version 1:1.9.1-1ubuntu0.1 of package git-core<br \/>\n* apt_package[curl] action install<br \/>\n- install version 7.35.0-1ubuntu2.3 of package curl<br \/>\n* apt_package[unzip] action install<br \/>\n- install version 6.0-9ubuntu1.3 of package unzip<br \/>\n* service[apache2] action enable (up to date)<br \/>\n* template[\/etc\/apache2\/ports.conf] action create<br \/>\n- update content in file \/etc\/apache2\/ports.conf from 9d2d53 to 0ac7d0<br \/>\n--- \/etc\/apache2\/ports.conf\t2014-01-07 13:23:42.000000000 +0000<br \/>\n+++ \/tmp\/chef-rendered-template20150416-1408-1mm19yw\t2015-04-16 03:54:48.089473477 +0000<br \/>\n@@ -1,16 +1,3 @@<br \/>\n-# If you just change the port or add more ports here, you will likely also<br \/>\n-# have to change the VirtualHost statement in<br \/>\n-# \/etc\/apache2\/sites-enabled\/000-default.conf<br \/>\n-<br \/>\n-Listen 80<br \/>\n-<br \/>\n-<br \/>\n-\tListen 443<br \/>\n-<br \/>\n-<br \/>\n-<br \/>\n-\tListen 443<br \/>\n-<br \/>\n-<br \/>\n-# vim: syntax=apache ts=4 sw=4 sts=4 sr noet<br \/>\n+NameVirtualHost *:8080<br \/>\n+Listen 8080<br \/>\n* template[\/etc\/apache2\/sites-available\/default.conf] action create<br \/>\n- create new file \/etc\/apache2\/sites-available\/default.conf<br \/>\n- update content in file \/etc\/apache2\/sites-available\/default.conf from none to 850e18<br \/>\n--- \/etc\/apache2\/sites-available\/default.conf\t2015-04-16 03:54:48.097473477 +0000<br \/>\n+++ \/tmp\/chef-rendered-template20150416-1408-1x8icgv\t2015-04-16 03:54:48.097473477 +0000<br \/>\n@@ -1 +1,18 @@<br \/>\n+<br \/>\n+\tServerAdmin webmaster@default-ubuntu-1404<br \/>\n+\tDocumentRoot \/var\/www<br \/>\n+<br \/>\n+\t\tOptions FollowSymLinks<br \/>\nAllowOverride None<br \/>\n+<br \/>\n+<br \/>\n+\t\tOptions Indexes FollowSymLinks MultiViews<br \/>\n+\t\tAllowOverride None<br \/>\n+\t\tOrder allow,deny<\/code><\/p>\n<p><code lang=\"bash\"><br \/>\n<\/code><\/p>\n<p><code lang=\"bash\">           +<br \/>\n+\tErrorLog \/var\/log\/apache2\/error.log<br \/>\n+\tLogLevel warn<br \/>\n+\tCustomLog \/var\/log\/apache2\/access.log combined<br \/>\n+<br \/>\n- change mode from '' to '0644'<br \/>\n- change owner from '' to 'root'<br \/>\n- change group from '' to 'root'<br \/>\n* execute[a2ensite default] action run<br \/>\n- execute a2ensite default<br \/>\n* git[\/tmp\/kitchen\/cache\/apache2-take-sample-page] action sync<br \/>\n- clone from https:\/\/github.com\/cl-lab-k\/apache2-take-sample-page into \/tmp\/kitchen\/cache\/apache2-take-sample-page<br \/>\n- checkout ref 32885d1a22819291c87b2ddd12d8daadd374fcf0 branch HEAD<br \/>\n* execute[\/var\/www\/index.html] action run<br \/>\n- execute cp -f \/tmp\/kitchen\/cache\/apache2-take-sample-page\/index.html \/var\/www\/index.html<br \/>\n* remote_file[\/tmp\/kitchen\/cache\/apache2-take-sample-image.zip] action create<br \/>\n- create new file \/tmp\/kitchen\/cache\/apache2-take-sample-image.zip<br \/>\n- update content in file \/tmp\/kitchen\/cache\/apache2-take-sample-image.zip from none to 0e32c5<br \/>\n(new content is binary, diff output suppressed)<br \/>\n* execute[unzip apache2-take-sample-image.zip] action run<br \/>\n- execute unzip -o -d \/tmp\/kitchen\/cache \/tmp\/kitchen\/cache\/apache2-take-sample-image.zip<br \/>\n* execute[\/var\/www\/img] action run<br \/>\n- execute mv -f \/tmp\/kitchen\/cache\/apache2-take-sample-image-master \/var\/www\/img<br \/>\n* service[apache2-start] action start<br \/>\n- start service service[apache2-start]<br \/>\n* service[apache2] action restart<br \/>\n- restart service service[apache2]<br \/>\n<\/code><\/p>\n<p>\u3053\u3053\u307e\u3067\u901a\u5e38\u306e\u53ce\u675f\u304c\u884c\u308f\u308c\u3001\u6b21\u306b\u76e3\u67fb\u30e2\u30fc\u30c9\u304c\u884c\u308f\u308c\u307e\u3059\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\nStarting audit phase<\/code><\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>apache2-take::audit<br \/>\npackage apache2<br \/>\nshould be installed<br \/>\npackage git-core<br \/>\nshould be installed<br \/>\npackage curl<br \/>\nshould be installed<br \/>\npackage unzip<br \/>\nshould be installed<br \/>\nservice apache2<br \/>\nshould be enabled<br \/>\nshould be running<br \/>\nshould listening 8080<br \/>\nfile \/etc\/apache2\/ports.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain 'NameVirtualHost *:8080'<br \/>\nshould contain 'Listen 8080'<br \/>\nfile \/etc\/apache2\/sites-available\/default.conf<br \/>\nshould be a file<br \/>\nshould be owned by root<br \/>\nshould be grouped into root<br \/>\nshould be mode 644<br \/>\nshould contain ''<br \/>\nsymlink default.conf<br \/>\nshould be linked to the available file<br \/>\nfile www content<br \/>\nshould be a file<br \/>\nshould contain welcome banner<br \/>\ndir www content<br \/>\nshould be a directory<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>Finished in 0.23721 seconds (files took 0.41982 seconds to load)<br \/>\n22 examples, 0 failures<br \/>\nAuditing complete<\/p>\n<p><code lang=\"bash\"><br \/>\n<\/code><\/p>\n<p><code lang=\"bash\">       Running handlers:<br \/>\nRunning handlers complete<br \/>\nChef Client finished, 15\/16 resources updated in 104.96236584 seconds<br \/>\n22\/22 controls succeeded<br \/>\nFinished converging  (2m32.17s).<br \/>\n<\/code><\/p>\n<p>\u53ce\u675f\u3068\u76e3\u67fb\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3057\u3001\u30c6\u30b9\u30c8\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"bash\"><br \/>\n-----&gt; Setting up ...<br \/>\n$$$$$$ Running legacy setup for 'Vagrant' Driver<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\n-----&gt; Installing Busser (busser)<br \/>\nFetching: thor-0.19.0.gem (100%)<br \/>\nSuccessfully installed thor-0.19.0<br \/>\nFetching: busser-0.7.0.gem (100%)<br \/>\nSuccessfully installed busser-0.7.0<br \/>\n2 gems installed<br \/>\n-----&gt; Setting up Busser<br \/>\nCreating BUSSER_ROOT in \/tmp\/verifier<br \/>\nCreating busser binstub<br \/>\nInstalling Busser plugins: busser-serverspec<br \/>\nPlugin serverspec installed (version 0.5.5)<br \/>\n-----&gt; Running postinstall for serverspec plugin<br \/>\nFinished setting up  (0m24.45s).<br \/>\n-----&gt; Verifying ...<br \/>\n$$$$$$ Running legacy verify for 'Vagrant' Driver<br \/>\nPreparing files for transfer<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\nSuite path directory \/tmp\/verifier\/suites does not exist, skipping.<br \/>\nTransferring files to<br \/>\nbash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)<br \/>\n-----&gt; Running serverspec test suite<br \/>\n-----&gt; Bundle Installing..<br \/>\n\/tmp\/verifier\/gems\/gems\/busser-serverspec-0.5.5\/lib\/busser\/runner_plugin\/serverspec.rb:49:in `run_bundle_install': Use RbConfig instead of obsolete and deprecated Config.<br \/>\n\/tmp\/verifier\/gems\/gems\/busser-serverspec-0.5.5\/lib\/busser\/runner_plugin\/serverspec.rb:49:in `run_bundle_install': Use RbConfig instead of obsolete and deprecated Config.<br \/>\nrun  bundle install --gemfile \/tmp\/verifier\/suites\/serverspec\/Gemfile --local || bundle install --gemfile \/tmp\/verifier\/suites\/serverspec\/Gemfile from \".\"<br \/>\nDon't run Bundler as root. Bundler can ask for sudo if it is needed, and<br \/>\ninstalling your bundle as root will break this application for all non-root<br \/>\nusers on this machine.<br \/>\nCould not find gem 'serverspec (&lt; 3.0) ruby' in any of the gem sources listed in<br \/>\n       your Gemfile or installed on this machine.<br \/>\n       Don't run Bundler as root. Bundler can ask for sudo if it is needed, and<br \/>\n       installing your bundle as root will break this application for all non-root<br \/>\n       users on this machine.<br \/>\n       Fetching gem metadata from https:\/\/rubygems.org\/.......<br \/>\n       Fetching version metadata from https:\/\/rubygems.org\/..<br \/>\n       Resolving dependencies...<br \/>\n       Installing diff-lcs 1.2.5<br \/>\n       Installing multi_json 1.11.0<br \/>\n       Installing net-ssh 2.9.2<br \/>\n       Installing net-scp 1.2.1<br \/>\n       Installing rspec-support 3.2.2<br \/>\n       Installing rspec-core 3.2.3<br \/>\n       Installing rspec-expectations 3.2.1<br \/>\n       Installing rspec-mocks 3.2.1<br \/>\n       Installing rspec 3.2.0<br \/>\n       Installing rspec-its 1.2.0<br \/>\n       Installing specinfra 2.28.2<br \/>\n       Installing serverspec 2.14.1<br \/>\n       Using bundler 1.9.4<br \/>\n       Bundle complete! 1 Gemfile dependency, 13 gems now installed.<br \/>\n       Use `bundle show [gemname]` to see where a bundled gem is installed.<br \/>\n       \/opt\/chef\/embedded\/bin\/ruby -I\/tmp\/verifier\/suites\/serverspec -I\/tmp\/verifier\/gems\/gems\/rspec-support-3.2.2\/lib:\/tmp\/verifier\/gems\/gems\/rspec-core-3.2.3\/lib \/opt\/chef\/embedded\/bin\/rspec --pattern \/tmp\/verifier\/suites\/serverspec\/\\*\\*\/\\*_spec.rb --color --format documentation --default-path \/tmp\/verifier\/suites\/serverspec<\/p>\n<p>       Package \"apache2\"<br \/>\n         should be installed<\/p>\n<p>       Package \"git-core\"<br \/>\n         should be installed<\/p>\n<p>       Package \"curl\"<br \/>\n         should be installed<\/p>\n<p>       Package \"unzip\"<br \/>\n         should be installed<\/p>\n<p>       Service \"apache2\"<br \/>\n         should be enabled<br \/>\n         should be running<\/p>\n<p>       Port \"8080\"<br \/>\n         should be listening<\/p>\n<p>       File \"\/etc\/apache2\/ports.conf\"<br \/>\n         should be file<br \/>\n         should be owned by \"root\"<br \/>\n         should be grouped into \"root\"<br \/>\n         should be mode 644<\/p>\n<p>       File \"\/etc\/apache2\/sites-available\/default.conf\"<br \/>\n         should be file<br \/>\n         should be owned by \"root\"<br \/>\n         should be grouped into \"root\"<br \/>\n         should be mode 644<\/p>\n<p>       File \"\/etc\/apache2\/ports.conf\"<br \/>\n         should contain \"NameVirtualHost *:8080\"<br \/>\n         should contain \"Listen 8080\"<\/p>\n<p>       File \"\/etc\/apache2\/sites-available\/default.conf\"<br \/>\n         should contain \"\"<\/code><\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>File \"\/etc\/apache2\/sites-enabled\/default.conf\"<br \/>\nshould be linked to \"..\/sites-available\/default.conf\"<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>File \"\/var\/www\/index.html\"<br \/>\nshould be file<br \/>\nshould contain \"Welcome to my top page\"<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>File \"\/var\/www\/img\"<br \/>\nshould be directory<\/p>\n<p><code lang=\"bash\"><code lang=\"bash\"><\/code><\/code><\/p>\n<p>Finished in 0.14738 seconds (files took 0.30877 seconds to load)<br \/>\n22 examples, 0 failures<\/p>\n<p><code lang=\"bash\"><br \/>\n<\/code><\/p>\n<p><code lang=\"bash\">       Finished verifying  (0m24.45s).<br \/>\n-----&gt; Destroying ...<br \/>\n==&gt; default: Forcing shutdown of VM...<br \/>\n==&gt; default: Destroying VM and associated drives...<br \/>\nVagrant instance  destroyed.<br \/>\nFinished destroying  (0m3.56s).<br \/>\nFinished testing  (4m0.89s).<br \/>\n<\/code><\/p>\n<p>default-ubuntu-1404\u306b\u5bfe\u3057\u3066\u53ce\u675f\u30fb\u76e3\u67fb\u30fb\u30c6\u30b9\u30c8\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\u4ee5\u964d\u3001default-ubuntu-1204\u3001default-ubuntu-1004\u3082\u540c\u69d8\u306b\u884c\u308f\u308c\u307e\u3059\u304c\u7701\u7565\u3057\u307e\u3059\u3002<\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>Chef Audit Mode\u3092\u5b9f\u969b\u306eNode\u3068test-kitchen\u306e2\u3064\u306e\u30d1\u30bf\u30fc\u30f3\u3067\u8a66\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>Node\u306b\u304a\u3051\u308bAudit Mode\u306f\u3001Chef\u793e\u306f<a href=\"https:\/\/docs.chef.io\/analytics.html\">Chef Analytics<\/a>\u3068\u306e\u4f75\u7528\u3092\u63a8\u5968\u3057\u3066\u3044\u307e\u3059(\u53c2\u8003: <a href=\"\/lab\/9298\">Chef Audit Mode: CIS\u30d9\u30f3\u30c1\u30de\u30fc\u30af<\/a>)\u3002\u307e\u305f\u3001Chef\u306b\u3088\u308b\u53ce\u675f\u3092\u307e\u3063\u305f\u304f\u884c\u308f\u305a\u3001\u5358\u306b\u76e3\u67fb\u3092\u76ee\u7684\u3068\u3057\u3066\u306e\u307f\u4f7f\u3046\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\u4eca\u56de\u306fAudit Mode\u5358\u4f53\u3067\u3057\u305f\u304c\u3001\u4eca\u5f8cChef Analytics\u3068\u306e\u4f75\u7528\u3082\u30c6\u30b9\u30c8\u3059\u308b\u4e88\u5b9a\u3067\u3059\u3002<\/p>\n<p>test-kitchen\u306b\u304a\u3051\u308bAudit Mode\u306f\u3001\u540c\u3058Serverspec\u3067Cookbook\u306e\u30c6\u30b9\u30c8\u3092\u884c\u3046<a href=\"https:\/\/github.com\/test-kitchen\/busser-serverspec\">busser-serverspec<\/a>\u306e\u4ee3\u66ff\u3068\u306a\u308a\u3046\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u305f\u3060\u3001busser + busser-serverspec + Serverspec\u306e\u758e\u7d50\u5408\u306b\u6bd4\u3079\u308b\u3068Audit Mode\u306fChef\u672c\u4f53\u3068Serverspec\u304c\u3042\u307e\u308a\u306b\u3082\u5bc6\u306b\u7d50\u5408\u3057\u3066\u3044\u308b\u306e\u3067\u3001\u305d\u306e\u89b3\u70b9\u304b\u3089Cookbook\u306e\u30c6\u30b9\u30c8\u7528\u9014\u3068\u3057\u3066\u306f\u53d7\u3051\u5165\u308c\u96e3\u3044\u65b9\u304c\u3044\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002\u9006\u306b\u3001\u758e\u7d50\u5408\u3068\u5bc6\u7d50\u5408\u306e\u4e21\u65b9\u3067Cookbook\u306e\u30c6\u30b9\u30c8\u3092\u3057\u305f\u3044\u3068\u3044\u3046\u65b9\u3082\u3044\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n<p>\u3044\u305a\u308c\u306b\u3057\u308dServerspec\u306e\u5f37\u529b\u3055\u306b\u3088\u308a\u3001Chef\u3084\u30a4\u30f3\u30d5\u30e9\u306b\u304a\u3051\u308b\u30c6\u30b9\u30c8\u3084\u30ea\u30d5\u30a1\u30af\u30bf\u30ea\u30f3\u30b0\u304c\u3088\u308a\u4fbf\u5229\u306b\u306a\u3063\u305f\u3068\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit Mode)\u304c\u5b9f\u9a13\u7684\u306b\u642d\u8f09\u3055\u308c\u307e\u3057\u305f\u3002\u3053\u308c\u306fNode\u4e0a\u3067Serverspec\u3092\u5b9f\u884c\u3057\u3001\u30a4\u30f3\u30d5\u30e9\u306e\u76e3\u67fb(Audit)\u3092\u884c\u3046\u6a5f\u80fd\u3067\u3059\u3002 \u672c [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[36,31],"tags":[],"class_list":["post-9329","post","type-post","status-publish","format-standard","hentry","category-chef","category-higuchi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-13T02:31:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-29T05:09:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"470\" \/>\n\t<meta property=\"og:image:height\" content=\"394\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daisuke Higuchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daisuke Higuchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"14\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\"},\"author\":{\"name\":\"Daisuke Higuchi\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206\"},\"headline\":\"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec\",\"datePublished\":\"2015-05-13T02:31:52+00:00\",\"dateModified\":\"2023-08-29T05:09:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\"},\"wordCount\":650,\"articleSection\":[\"Chef\",\"d-higuchi\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\",\"url\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\",\"name\":\"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/#website\"},\"datePublished\":\"2015-05-13T02:31:52+00:00\",\"dateModified\":\"2023-08-29T05:09:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206\"},\"description\":\"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit\",\"breadcrumb\":{\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\/\/www.creationline.com\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\",\"item\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chef\",\"item\":\"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/#website\",\"url\":\"https:\/\/www.creationline.com\/tech-blog\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206\",\"name\":\"Daisuke Higuchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png\",\"url\":\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png\",\"contentUrl\":\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png\",\"caption\":\"Daisuke Higuchi\"},\"description\":\"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329","og_locale":"ja_JP","og_type":"article","og_title":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit","og_url":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2015-05-13T02:31:52+00:00","article_modified_time":"2023-08-29T05:09:12+00:00","og_image":[{"width":470,"height":394,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png","type":"image\/png"}],"author":"Daisuke Higuchi","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"Daisuke Higuchi","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"14\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329"},"author":{"name":"Daisuke Higuchi","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"headline":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec","datePublished":"2015-05-13T02:31:52+00:00","dateModified":"2023-08-29T05:09:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329"},"wordCount":650,"articleSection":["Chef","d-higuchi"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329","url":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329","name":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"datePublished":"2015-05-13T02:31:52+00:00","dateModified":"2023-08-29T05:09:12+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"description":"Chef, d-higuchi |\u5148\u65e5\u30ea\u30ea\u30fc\u30b9\u3055\u308c\u305fChef Client 12.1.0\u306b\u3066\u3001\u300c\u76e3\u67fb\u30e2\u30fc\u30c9\u300d(Audit","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef\/9329#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative"},{"@type":"ListItem","position":3,"name":"Chef","item":"https:\/\/www.creationline.com\/tech-blog\/cloudnative\/chef"},{"@type":"ListItem","position":4,"name":"Chef Audit Mode\u3092\u4f7f\u3063\u3066\u307f\u308b #getchef #serverspec"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206","name":"Daisuke Higuchi","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","caption":"Daisuke Higuchi"},"description":"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/9329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=9329"}],"version-history":[{"count":1,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/9329\/revisions"}],"predecessor-version":[{"id":65784,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/9329\/revisions\/65784"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=9329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=9329"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=9329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}