linux-system-roles.nbde_client
nbde_client
Network-Bound Disk Encryption(NBDE)クライアントを設定するためのAnsibleロール(例:clevis)。
このロールは現在、clevis
をプロバイダーとしてサポートしており、暗号化や復号化の操作に使用します。
対応するディストリビューション
- RHEL-7以上、CentOS-7以上
- Fedora
制限事項
このロールは現在、tang
バインディングを作成できます。TPM2は現在サポートされていません。
ロール変数
ロールに渡すことができる変数は以下の通りです:
変数 | デフォルト/選択肢 | 説明 |
---|---|---|
nbde_client_provider |
clevis |
nbde_client ロールのプロバイダーを特定します。現在はclevis のみサポートしています。 |
nbde_client_bindings |
バインディングの設定を含むリスト(デバイスやスロットなど)。 | |
nbde_client_early_boot |
true |
デフォルトで、nbde_clientはボリュームを解除するためにinitrdを設定します。静的IPアドレスを使用しているホストやclevis-luks-askpassでボリュームを解除すべき場合は、無効にする必要があります。 |
nbde_client_bindings
nbde_client_bindings
は以下のキーをサポートする辞書のリストです:
名前 | デフォルト/選択肢 | 説明 |
---|---|---|
device |
管理対象ホスト上の暗号化デバイスのバックデバイスのパスを指定します。このデバイスは、ロールを使用する前にLUKSデバイスとしてすでに設定されている必要があります(必須)。 | |
encryption_password |
指定されたデバイスを開く/解除するための有効なパスワードまたはフレーズ。値をボールトで暗号化することを推奨します。詳細は https://docs.ansible.com/ansible/latest/user_guide/vault.html を参照。 | |
encryption_key_src |
指定されたデバイスを開く/解除するための有効な暗号化キーを含むファイルの制御ノード上の絶対パスまたは相対パス。このファイルは管理ノードにコピーされます。 | |
state |
present / absent | 指定された設定でバインディングを追加または削除するかどうかを指定します。デフォルトのpresentに設定するとバインディングが追加され、absentに設定するとデバイス/スロットからバインディングが削除されます。 |
slot |
1 |
バインディングに使用するスロットを指定します。 |
servers |
バインドするサーバーのリストを指定します。高可用性を有効にするために、ここに複数のサーバーを指定します。 | |
threshold |
1 |
複数のサーバーを使用する際に設定されるShamir Secret Sharing(SSS)スキームの閾値を指定します。一連のサーバーがデバイスを開くLUKSパスフレーズを回復するためのプロセスを完了するために、いくつのサーバーが復号化に成功する必要があるかを示します。 |
password_temporary |
false |
true に設定すると、encryption_password またはencryption_key 引数を介して提供されたパスワードまたはフレーズがデバイスを解除するために使用され、その後バインディング操作が完了する後にLUKSデバイスから削除されます。デバイスが以前に標準のパスワードで作成されている場合(例えば、"デフォルト"パスワードを設定するキックスターといった自動インストールによって)、このロールはより強力なものに置き換えられます。 |
例:
nbde_client_bindings:
- device: /dev/sda1
encryption_key_src: /vault/keyfile
state: present
slot: 2
threshold: 1
password_temporary: false
servers:
- http://server1.example.com
- http://server2.example.com
サンプルプレイブック
サンプル1:高可用性
---
- hosts: all
vars:
nbde_client_bindings:
- device: /dev/sda1
# encryption_passwordをボールトで暗号化することを推奨
# 詳細はhttps://docs.ansible.com/ansible/latest/user_guide/vault.htmlを参照
encryption_password: password
servers:
- http://server1.example.com
- http://server2.example.com
roles:
- linux-system-roles.nbde_client
サンプル2:/dev/sda1のスロット2からバインディングを削除
---
- hosts: all
vars:
nbde_client_bindings:
- device: /dev/sda1
# encryption_passwordをボールトで暗号化することを推奨
# 詳細はhttps://docs.ansible.com/ansible/latest/user_guide/vault.htmlを参照
encryption_password: password
slot: 2
state: absent
roles:
- linux-system-roles.nbde_client
ライセンス
MIT