第7章 FDO を使用した Edge デバイスの RHEL の自動プロビジョニングとオンボーディング
RHEL for Edge Simplified Installer イメージをビルドし、それを RHEL for Edge イメージにプロビジョニングできます。FIDO Device Onboarding (FDO) プロセスは、Edge デバイスを自動的にプロビジョニングしてオンボーディングし、ネットワークに接続されている他のデバイスやシステムとデータを交換します。
Red Hat は、テクノロジープレビュー機能として FDO
プロセスを提供し、安全なネットワークで実行する必要があります。テクノロジープレビュー機能は、Red Hat 製品サポートのサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではない場合があります。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。
7.1. FIDO Device Onboarding (FDO) プロセス
FIDO Device Onboarding (FDO) は、以下を行うプロセスです。
- デバイスをプロビジョニングし、オンボードします。
- このデバイスの認証情報を自動的に設定します。FDO プロセスは、新しいデバイスのインストールによってトリガーされる自動オンボーディングメカニズムです。
- このデバイスがネットワーク上で安全に接続および対話できるようにします。
FIDO Device Onboarding (FDO) を使用すると、IoT アーキテクチャーに新しいデバイスを追加することで、セキュアなデバイスオンボーディングを実行できます。これには、信頼され、実行中の残りのシステムと統合する必要がある特定のデバイス設定が含まれます。FDO プロセスは、新しいデバイスのインストールによってトリガーされる自動オンボーディングメカニズムです。
FDO プロトコルは次のタスクを実行します。
- デバイスの大規模かつセキュアなオンボーディングに必要な自動化を行うとともに、信頼と所有権の連鎖を解決します。
- 製造段階でデバイスの初期化を実行し、デバイスを実際に使用するために遅延バインディングを実行します。これは、デバイスの管理システムへの実際のバインドは、デバイスの手動設定を必要とせずに、デバイスの最初の起動時に行われることを意味します。
- 自動化されたセキュアなデバイスオンボーディング、つまり、エッジロケーションに専門の担当者を必要としないゼロタッチインストールとオンボーディングをサポートします。デバイスがオンボーディングされると、管理プラットフォームはそのデバイスに接続し、パッチの適用、更新、ロールバックを実行できます。
FDO を使用すると、次の利点が得られます。
- FDO は、デバイスを管理プラットフォームに登録するための安全で簡単な方法です。キックスタート設定をイメージに埋め込む代わりに、FDO はデバイスの初回起動時にデバイス認証情報を ISO イメージに直接適用します。
- FDO は、デバイスへのレイトバインディングの問題を解決し、安全な FDO チャネルを介して機密データを共有できるようにします。
- FDO は、設定やその他のシークレットを登録してシステムに渡す前に、システムの ID と所有権を暗号で識別します。これにより、技術者以外のユーザーがシステムの電源を入れることができます。
RHEL for Edge の Simplified Installer イメージをビルドして自動的にオンボードするには、既存の OSTree コミットを提供します。作成されるイメージには、OSTree コミットがデプロイされた生のイメージが含まれます。Simplified インストーラーの ISO イメージを起動すると、ハードディスクまたは仮想マシンのブートイメージとして使用できる RHEL for Edge システムがプロビジョニングされます。
RHEL for Edge Simplified Installer イメージは、デバイスへの無人インストール用に最適化されており、ネットワークベースのデプロイメントと非ネットワークベースのデプロイメントの両方をサポートします。ただし、ネットワークベースのデプロイメントでは、UEFI HTTP ブートのみをサポートします。
FDO プロトコルは、次のサーバーに基づいています。
- 製造サーバー
- デバイス認証情報を生成します。
- プロセスの後半でデバイスの所有権を設定するために使用される、所有権バウチャーを作成します。
- デバイスを特定の管理プラットフォームにバインドします。
- 所有者管理システム
- 製造サーバーから所有権バウチャーを受け取り、関連付けられたデバイスの所有者になります。
- プロセスの後半では、デバイス認証後にデバイスと所有者オンボーディングサーバー間にセキュアなチャネルを作成します。
- セキュアなチャネルを使用して、オンボーディングの自動化に必要なファイルやスクリプトなどの情報をデバイスに送信します。
- Service-info API サーバー
- Service-info API サーバーの設定とクライアントで利用可能なモジュールとに基づいて、SSH キーとファイルのコピー、コマンドの実行、ユーザーの作成、ディスクの暗号化など、ターゲットクライアントデバイスでのオンボーディングの最後の手順を実行します。
- ランデブーサーバー
- 所有者管理システムから所有権バウチャーを取得し、デバイスの UUID を所有者サーバー IP にマッピングします。次に、ランデブーサーバーはデバイスの UUID をターゲットプラットフォームと照合し、このデバイスがどの所有者オンボーディングサーバーエンドポイントを使用する必要があるかをデバイスに通知します。
- 初回起動時に、Rendezvous サーバーはデバイスのコンタクトポイントになり、デバイスは所有者に送られ、デバイスと所有者が安全なチャンネルを確立できるようにします。
- デバイスクライアント
これはデバイスにインストールされています。デバイスクライアントは、以下のアクションを実行します。
- オンボーディングの自動化が実行される複数のサーバーへのクエリーを開始します。
- TCP/IP プロトコルを使用してサーバーと通信します。
次の図は、FIDO デバイスのオンボーディングワークフローを表しています。
図7.1 非ネットワーク環境での RHEL for Edge のデプロイ
デバイスの初期化 では、デバイスは製造サーバーに接続して、FDO 認証情報、オペレーティングシステムにインストールされる一連の証明書とキー、およびランデブーサーバーエンドポイント (URL) を取得します。また、所有者の割り当てを変更する必要がある場合に備えて、個別に保持される所有権バウチャーも取得します。
- デバイスが製造サーバーに接続します。
- 製造サーバーがデバイスの所有権バウチャーとデバイス認証情報を生成します。
- 所有権バウチャーが所有者オンボーディングサーバーに転送されます。
オンサイトのオンボーディング では、デバイスはデバイス認証情報からランデブーサーバーエンドポイント (URL) を取得し、ランデブーサーバーエンドポイントに接続してオンボーディングプロセスを開始します。これにより、デバイスは、所有者オンボーディングサーバーと Service Info API サーバーで構成される所有者管理システムにリダイレクトされます。
- 所有者オンボーディングサーバーは、所有権バウチャーをランデブーサーバーに転送し、ランデブーサーバーは、所有権バウチャーを所有者にマッピングします。
- デバイスクライアントがデバイス認証情報を読み込みます。
- デバイスクライアントがネットワークに接続します。
- ネットワークに接続した後、デバイスクライアントはランデブーサーバーに接続します。
- ランデブーサーバーは、所有者のエンドポイント URL をデバイスクライアントに送信し、デバイスを登録します。
- デバイスクライアントは、ランデブーサーバーによって共有された所有者オンボーディングサーバーに接続します。
- デバイスは、デバイスキーを使用してステートメントに署名することにより、正しいデバイスであることを証明します。
- 所有者オンボーディングサーバーは、所有者バウチャーの最後のキーを使用してステートメントに署名することで、正しいサーバーであることを証明します。
- 所有者オンボーディングサーバーは、デバイスの情報を Service Info API サーバーに転送します。
- Service Info API サーバーは、デバイスの設定を送信します。
- デバイスがオンボードされます。