11.6. 所有者サーバーのインストール、設定、および実行
fdo-owner-cli
および fdo-owner-onboarding-server
RPM パッケージをインストールして、最初のデバイスの起動時に製造サーバーによって生成されたバウチャーをシステムが受信できるようにします。すると、ランデブーサーバーはデバイスの UUID をターゲットプラットフォームまたはクラウドと照合し、デバイスがどの所有者サーバーエンドポイントを使用する必要があるかをデバイスに通知します。
前提条件
- サーバーがデプロイされるデバイスに、ディスクを暗号化する Trusted Platform Module (TPM) デバイスが搭載されている。搭載されていない場合、RHEL for Edge デバイスを起動するときにエラーが発生します。
-
鍵と証明書を含む
device_ca_cert.pem
、owner_key.der
、およびowner_cert.pem
を作成し、それらを/etc/fdo/keys
ディレクトリーにコピーした。
手順
このサーバーに必要な RPM をインストールします。
# dnf install -y fdo-owner-cli fdo-owner-onboarding-server
owner-onboarding-server.yml
設定ファイルを準備し、/etc/fdo/
ディレクトリーに保存します。このファイルには、コピー済みの証明書へのパスと、所有者サーバーサービスを公開する場所に関する情報を含めます。以下は、
/usr/share/doc/fdo/owner-onboarding-server.yml
で利用できる例です。URL や認証トークンなど、Service Info API への参照を見つけることができます。--- ownership_voucher_store_driver: Directory: path: /etc/fdo/stores/owner_vouchers session_store_driver: Directory: path: /etc/fdo/stores/owner_onboarding_sessions trusted_device_keys_path: /etc/fdo/keys/device_ca_cert.pem owner_private_key_path: /etc/fdo/keys/owner_key.der owner_public_key_path: /etc/fdo/keys/owner_cert.pem bind: "0.0.0.0:8081" service_info_api_url: "http://localhost:8083/device_info" service_info_api_authentication: BearerToken: token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo= owner_addresses: - transport: http addresses: - ip_address: 192.168.122.149
Service Info API を作成して設定します。
ユーザー作成、コピーまたは作成するファイル、実行するコマンド、暗号化するディスクなどのオンボーディング用の自動化情報を追加します。
/usr/share/doc/fdo/serviceinfo-api-server.yml
にある Service Info API 設定ファイルの例をテンプレートとして使用し、/etc/fdo/
の下に設定ファイルを作成します。--- service_info: initial_user: username: admin sshkeys: - "ssh-rsa AAAA...." files: - path: /root/resolv.conf source_path: /etc/resolv.conf commands: - command: touch args: - /root/test return_stdout: true return_stderr: true diskencryption_clevis: - disk_label: /dev/vda4 binding: pin: tpm2 config: "{}" reencrypt: true additional_serviceinfo: ~ bind: "0.0.0.0:8083" device_specific_store_driver: Directory: path: /etc/fdo/stores/serviceinfo_api_devices service_info_auth_token: Kpt5P/5flBkaiNSvDYS3cEdBQXJn2Zv9n1D50431/lo= admin_auth_token: zJNoErq7aa0RusJ1w0tkTjdITdMCWYkndzVv7F0V42Q=
systemd ユニットのステータスを確認します。
# systemctl list-unit-files | grep fdo fdo-owner-onboarding-server.service disabled disabled fdo-serviceinfo-api-server.service disabled disabled
サービスが停止して無効になっている場合は、有効にして起動します。
# systemctl enable --now fdo-owner-onboarding-server.service # systemctl enable --now fdo-serviceinfo-api-server.service
注記設定ファイルを変更するたびに、
systemd
サービスを再起動する必要があります。
サーバーがデフォルト設定のポート 8083 でリッスンしていることを確認します。
# ss -ltn
このサーバーにファイアウォールが設定されている場合は、ポートを開きます。
# firewall-cmd --add-port=8081/tcp --permanent # firewall-cmd --add-port=8083/tcp --permanent # systemctl restart firewalld