LoginSignup
0
0

More than 1 year has passed since last update.

Ansible lintのルールの適用方法について

Last updated at Posted at 2022-12-05

こちらの記事はAnsible lint Advent Calendar 2022 6日目の記事になります。

今回はAnsible lintのルールの適用方法について考察します。

ブラックリスト方式とホワイトリスト方式について

セキュリティーの分野においてよく使われる用語にブラックリスト方式ホワイトリスト方式があります。ブラックリスト方式は脅威となる対象をリスト化します。反対にホワイトリスト方式は安全と考えられる対象をリスト化します。

これはfirewalldの設定やAWS EC2のセキュリティーグループを思い浮かべれば分かりやすいかと思います。

Ansible lintで適用するルールを指定する基本的な考え方

Ansible lintの初期設定ではホワイトリスト方式が採用されておりAnsible lint実行時にはすべてのルールが適用されます。「全てのルールが適用された状態から必要に応じて適用しないルールを指定する。」これがAnsible lintのルールの適用方法の基本的な考え方です。

Ansible lintで採用しないルールを指定する

Ansible lint実行時に適用しないルールを指定する方法は2つあります。skip_listwarn_listです。skip_listで指定されたルールもしくはタグは処理がスキップされます。warn_listに指定された場合は処理は実行されますがエラーが検出された場合は警告が出力されます。

コマンドオプションで指定

# skip_list

ansible-lint <target> -x SKIP_LIST
# もしくは
ansible-lint <target> --skip-list SKIP_LIST

SKIP_LISTにルール名もしくはタグ名を指定します。

# warn_list

ansible-lint <target> -w WARN_LIST
# もしくは
ansible-lint <target> --warn-list WARN_LIST

WARN_LISTにルール名もしくはタグ名を指定します。

設定ファイルで指定

# skip_list

skip_list:
  - SKIP_LIST

SKIP_LISTにルール名もしくはタグ名を指定します。

# warn_list

warn_list:
  - WARN_LIST

WARN_LISTにルール名もしくはタグ名を指定します。

skip_listとwarn_listはどちらを採用すべきか

基本的にはwarn_listを採用すべきでしょう。採用しないルールをskip_listに指定してしまうと警告も出力されないためずっとコンテンツの改善がなされないままになります。warn_listを採用してこのコンテンツには問題があると言う表示は出力させておくべきです。

プロファイルで指定する

Ansible lintにはプロファイルと言うルールの分類方法もありプロファイルで指定して採用するルールを指定する事も可能です。

コマンドオプションで指定

ansible-lint -p <profile> <target>

設定ファイルで指定

profile: <profile> # min, basic, moderate,safety, shared, production

プロファイルを利用すべきか

プロファイルは最近追加された機能です。将来的にプロファイルで分類されているルールが変更になる可能性が非常に高く現時点では積極的に採用する段階ではないかと思われます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0