第7章 FDO を使用した Edge デバイスの RHEL の自動プロビジョニングとオンボーディング

RHEL for Edge Simplified Installer イメージをビルドし、それを RHEL for Edge イメージにプロビジョニングできます。FIDO デバイスオンボーディング (FDO) プロセスは、Edge デバイスを自動的にプロビジョニングしてオンボーディングし、ネットワークに接続されている他のデバイスやシステムとデータを交換します。

重要

Red Hat は、テクノロジープレビュー機能として FDO プロセスを提供し、安全なネットワークで実行する必要があります。テクノロジープレビュー機能は、Red Hat の実稼働環境におけるサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。テクノロジープレビュー機能のサポート範囲については、Red Hat カスタマーポータルの テクノロジープレビュー機能のサポート範囲 を参照してください。

7.1. FIDO デバイスオンボーディング (FDO) プロセス

デバイスオンボーディングは、以下を行うプロセスです。

  • 物理デバイスをプロビジョニングし、オンボードします。
  • このデバイスの認証情報を自動的に設定します。
  • このデバイスがネットワーク上で安全に接続および対話できるようにします。

FIDO デバイスオンボーディング (FDO) を使用すると、IOT アーキテクチャーに新しいデバイスを追加して、セキュアなデバイスオンボーディングを実行できます。これには、信頼され、実行中の残りのシステムと統合され、すぐに使用できる新しいシステムをデプロイする必要がある特定のデバイス設定が含まれます。FDO 認証は、デバイスをセキュアにオンボードするために、新しいデバイスのインストールによってトリガーされる自動オンボーディングプロセスです。FDO プロトコルは、大規模なデバイスのセキュアなオンボードに必要な自動化とともに、信頼と所有権の連鎖を解決します。FIDO デバイスオンボーディング (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 プロトコルは、次のサーバーに基づいています。

  • 製造サーバー

    このサーバーは、製造元サーバーのロケーションにあります。製造サーバー:

    1. デバイスに署名します。
    2. プロセスの後半で、デバイスの所有権を設定するために使用されるバウチャーを作成します。
    3. デバイスを特定の管理プラットフォームにバインドします。
  • ランデブーサーバー

    このサーバーは、所有者サーバーのロケーション、またはデバイス管理システムが配置されるプラットフォーム (クラウドなど) にあります。ランデブーサーバー:

    1. 最初のデバイス起動時に製造サーバーによって生成されたバウチャーを取得します。
    2. デバイスの UUID をターゲットプラットフォームと照合し、このデバイスが使用する必要のある所有者サーバーエンドポイントに関する情報をデバイスに提供します。
  • 所有者管理サーバー

    このサーバーは、所有者サーバーのロケーション、またはデバイスがデプロイされるプラットフォームにあります。所有者管理サーバー:

    1. デバイス認証後に、デバイスと所有者サーバーの間にセキュアなチャネルを作成します。
    2. セキュアなチャネルを使用して、オンボーディングの自動化に必要なファイルやスクリプトなどの情報をデバイスに送信します。
  • デバイスクライアント

    デバイスにインストールされているサーバーです。デバイスクライアントは以下を行います。

    1. オンボーディングの自動化が実行される複数のサーバーへのクエリーを開始します。
    2. TCP/IP プロトコルを使用してサーバーと通信します。

次の図は、FIDO デバイスのオンボーディングワークフローを表しています。

図7.1 非ネットワーク環境での RHEL for Edge のデプロイ

FDO デバイスのオンボーディング

製造元サーバー で、デバイスは FDO 認証情報、オペレーティングシステムにインストールされる一連の証明書とキー、およびランデブーサーバーエンドポイント (URL) を取得します。また、所有者の割り当てを変更する必要がある場合に備えて、個別に保持される所有権バウチャーも取得します。

  1. デバイスクライアントはデバイス認証情報を読み込みます。
  2. デバイスクライアントがネットワークに接続します。
  3. 早い段階で、所有者管理システムは、所有者管理システムの場所についてメーカーのランデブーサーバーに通知します。
  4. ネットワークに接続した後、デバイスクライアントはランデブーサーバーに接続します。
  5. ランデブーサーバーは、所有者のエンドポイント URL をデバイスクライアントに送信し、デバイスを登録します。このアクションにより、デバイスが接続され、起動します。
  6. デバイスクライアントは、ランデブーサーバーによって共有される所有者管理システムに接続し、デバイスキーを使用してステートメントに署名することで、正しいデバイスであることを証明します。
  7. 所有者管理システムは、所有者バウチャーの最後のキーを使用してステートメントに署名することにより、それ自体を証明します。
  8. 所有者管理システムは、デバイスクライアントの設定を提供します。これは、デバイスがたとえば SSH キーに保存します。
  9. デバイスクライアントは、所有権バウチャーを受け取り、確認します。
  10. 次に、デバイスクライアントがデバイスの認証情報を取得します。
  11. その後、所有者管理システムはデバイスクライアントをオンボード済みとして報告します。

    FDO プロセス全体が完了し、このデバイスでは使用されなくなりました。