linux-system-roles.nbde_server

nbde_server

ansible-lint.yml ansible-test.yml codeql.yml markdownlint.yml python-unit-test.yml tft.yml tft_citest_bad.yml woke.yml

ネットワークバウンドディスク暗号化サーバー(例:tang)を設定するためのAnsibleロールです。

このロールは現在、tangをプロバイダーとしてサポートしており、tangサーバーをセットアップできます。

対応ディストリビューション

  • RHEL-7以上、CentOS-7以上
  • Fedora

必要条件

以下を参照してください

コレクションの要件

ロールでは、meta/collection-requirements.ymlに指定された追加のコレクションが必要です。これは自動的にはインストールされません。以下のコマンドでインストールする必要があります。

ansible-galaxy install -vv -r meta/collection-requirements.yml

ロール変数

ロールに渡すことのできる変数は以下の通りです。

変数 デフォルト 説明
nbde_server_provider tang nbde_serverロールのプロバイダーを識別します。現在、tangをサポートしており、nbde_serverロールはtangサーバーのプロビジョニング/デプロイが可能です。
nbde_server_service_state started nbde_serverの状態を示します。started(デフォルト)またはstoppedのいずれかです。startedはサーバーが接続を受け入れる状態を意味し、stoppedは接続を受け入れない状態を意味します。
nbde_server_rotate_keys false 既存のキーのローテーションの必要性を示します。デフォルトの動作(false)では、新しいキーがない場合に新しいキーを作成し、既存のキーには手を付けません。trueに設定すると、既存のキーがローテーションされ、新しいキーが作成されます。
nbde_server_fetch_keys false コントロールノードにキーをフェッチするかどうかを示します。この場合、nbde_server_keys_dirに配置されます。nbde_server_keys_dirを設定する必要があります。
nbde_server_deploy_keys false nbde_server_keys_dirディレクトリ内のキーをリモートホストにデプロイするかどうかを示します。nbde_server_keys_dirを設定する必要があります。
nbde_server_keys_dir リモートホストにデプロイするキーが含まれる、コントロールノード内のディレクトリを指定します。トップレベルディレクトリにあるキーはすべてのリモートホストにデプロイされ、インベントリに応じてリモートホスト名の付いたサブディレクトリ内にあるキーは特定のホストにのみデプロイされます。nbde_server_keys_dir絶対パスである必要があります。
nbde_server_manage_firewall false trueに設定すると、firewallロールを使ってnbdeサーバーポートとゾーンを管理します。
nbde_server_manage_selinux false trueに設定すると、selinuxロールを使ってnbdeサーバーポートを管理します。
nbde_server_port 80 tangdがリスンするポート番号です。ポートのSELinuxラベリングを管理するためには、nbde_server_manage_selinux: trueを設定する必要があります。ファイアウォールを管理するためには、nbde_server_manage_firewall: trueを設定する必要があります。
nbde_server_firewall_zone public ポートを開放するデフォルトのゾーンを変更します。デフォルトのゾーンを変更するには、nbde_server_manage_firewall: trueを設定する必要があります。

nbde_server_fetch_keysとnbde_server_deploy_keys

これらのオプションを使用するには、絶対パスを持つディレクトリnbde_server_keys_dirを指定する必要があります。

これらの変数を使用する際の動作は次の通りです。

nbde_server_fetch_keystrueに設定されている場合

ロールは次の方法でホストからキーを取得します。

  • nbde_server_deploy_keysが設定されていない場合、すべてのホストからキーが取得され、それぞれのホストに名前を付けたディレクトリ内に配置されます。
  • nbde_server_deploy_keysが設定されている場合、インベントリ内の最初のホストからのみキーが取得され、nbde_server_keys_dirのトップレベルディレクトリに配置されます。

nbde_server_deploy_keystrueに設定されている場合

ロールは次の方法でnbde_server_keys_dir内のキーをデプロイします。

  • nbde_server_keys_dirのトップレベルディレクトリにあるキーはすべてのホストにデプロイされます。
  • nbde_server_keys_dir内のインベントリに名前を付けたサブディレクトリ内にあるキーは、その特定のホストにデプロイされます。

例プレイブック

例1: インベントリ内のすべてのホストにNBDEサーバーをデプロイ

---
- name: nbdeサーバーを管理
  hosts: all
  roles:
    - linux-system-roles.nbde_server

例2: NBDEサーバーインストールからキーを取得

すべてのNBDEサーバーインストールから/root/nbde_server/keysにキーを取得します。

---
- name: /root/nbde_server/keysからnbdeキーを管理
  hosts: all
  vars:
    nbde_server_fetch_keys: true
    nbde_server_keys_dir: /root/nbde_server/keys
  roles:
    - linux-system-roles.nbde_server

この後、キーは/root/nbde_server/keys内、ホストごとに名前を付けたサブディレクトリに配置され、バックアップできます。

例3: 例2で取得したバックアップからキーを再デプロイ

キーを再デプロイするには、それらをデプロイ先のホスト名に名前を付けたサブディレクトリに配置する必要があります。例2内の/root/nbde_server/keysを使用して、同じホストに同じキーを再デプロイするには、以下のプレイブックを使用します。

---
- name: nbdeを管理し、バックアップされたキーを再デプロイ
  hosts: all
  vars:
    nbde_server_deploy_keys: true
    nbde_server_keys_dir: /root/nbde_server/keys
  roles:
    - linux-system-roles.nbde_server

例4: 同じキーをすべてのホストで使用してNBDEサーバーをデプロイ

注意 これは推奨されませんが、サポートされています。

---
- name: すべてのホストで同じキーを使用してnbdeを管理
  hosts: all
  vars:
    nbde_server_fetch_keys: true
    nbde_server_deploy_keys: true
    nbde_server_keys_dir: /root/nbde_server/keys
  roles:
    - linux-system-roles.nbde_server

例5: カスタムポートとゾーンでNBDEサーバーをデプロイ

---
- name: カスタムポートとゾーンでnbdeを管理
  hosts: all
  vars:
    nbde_server_manage_firewall: true
    nbde_server_manage_selinux: true
    nbde_server_port: 7500
    nbde_server_firewall_zone: dmz
  roles:
    - linux-system-roles.nbde_server

rpm-ostree

README-ostree.mdを参照してください。

ライセンス

MIT

プロジェクトについて

Ansible role for configuring Network-Bound Disk Encryption servers (e.g. tang)

インストール
ansible-galaxy install linux-system-roles.nbde_server
ライセンス
mit
ダウンロード
8.4k