Discovery のインストールおよび設定

Subscription Central 1-latest

Discovery のインストール

Red Hat Customer Content Services

概要


第1章 Discovery について

Discovery は、特定の Red Hat ソフトウェアの使用状況に関するデータをユーザーが収集できるように設計されています。Discovery を使用すると、Red Hat 製品の使用状況を計算して報告する際に必要な時間と作業量を減らすことができます。

詳細情報

Discovery の目的、利点、および特長の詳細は、以下の情報を参照してください。

Discovery が検出および検査可能な製品および製品バージョンの詳細は、以下の情報を参照してください。

Discovery が適切なソリューションであるかどうかを評価するには、以下の情報を参照してください。

1.1. Discovery とは何ですか?

Discovery は検査およびレポートツールです。これは、ネットワーク上の物理システムと仮想システムの数、そのシステムのオペレーティングシステム、その他の設定データなどの環境データまたはファクトを検出、識別、および報告するように設計されています。さらに、ネットワーク内の IT リソースの主要な Red Hat パッケージおよび製品の一部のバージョンについて、より詳細なファクトを見つけ、特定し、報告するように設計されています。

ネットワーク上で実行されているソフトウェアとシステムを検査できるため、サブスクリプションの使用状況を理解し、報告する能力が向上します。最終的には、このような検査と報告のプロセスは、インベントリー管理という、より大きなシステム管理タスクの一部です。

Discovery には、IT リソースにアクセスし、検査プロセスを実行するために、2 つの基本的な構造の設定を必要とします。認証情報 には、特定のソースまたはそのソースの一部のアセットで検査プロセスを実行するのに十分な権限を持つユーザーのユーザー名、パスワードまたは SSH キーなどのユーザーアクセスデータが含まれています。ソース には、検証される単一または複数のアセットに関するデータが含まれています。これらのアセットは、ホスト名、IP アドレス、IP 範囲、またはサブネットとして識別される物理マシン、仮想マシン、またはコンテナーです。また、これらのアセットは、vCenter Server や Red Hat Satellite Server などのシステム管理ソリューションや、Red Hat OpenShift Container Platform にデプロイされたクラスターである場合もあります。

注記

現在、仮想化インフラストラクチャー専用のソースを使用して Discovery でスキャンできる唯一の仮想化されたデプロイメントは、VMware vCenter です。Red Hat がサポートする他の仮想化インフラストラクチャーは、専用のスキャンでは検出できません。ネットワークの一般的なスキャンでは、専用のスキャンで正確なメタデータが返されない場合も、これらのアセットが検出される場合があります。

複数の認証情報およびソースを保存しておき、検査プロセスまたは スキャン の実行時にさまざまに組み合わせて Discovery で使用できます。スキャンが完了したら、フォーマットされたデータのコレクションや レポート の形式で出力に含まれるこれらのファクトにアクセスして、結果を確認できます。

デフォルトでは、Discovery の使用中に作成された認証情報およびソースはデータベースで暗号化されます。値は AES-256 暗号化で暗号化されます。これらの認証情報およびソースは、Discovery サーバーが Vault パスワードを使用してスキャンを実行し、データベースに保存されている暗号化された値にアクセスする際に復号化されます。

Discovery はエージェントレスの検査ツールであるため、検査対象のすべてのソースにツールをインストールする必要はありません。ただし、Discovery がインストールされているシステムは、検出および検証されるシステムにアクセスできる必要があります。

1.2. Discovery が検出する製品

Discovery は次の Red Hat 製品を検出します。各バージョンまたはリリースについて、最も古いバージョンを記載し、それ以降のリリースを検出対象として示しています。

製品の現在の名前をより理解しやすくするために、製品の名前が最近変更になっている場合は、その名前を追加情報として提供しています。新しい製品名が記載されていても、その製品の特定のバージョンが併せて記載されていない限り、それ以降のバージョンは対象外です。

Red Hat Enterprise Linux

  • Red Hat Enterprise Linux バージョン 5 以降
  • Red Hat Enterprise Linux バージョン 6 以降
  • Red Hat Enterprise Linux バージョン 7 以降
  • Red Hat Enterprise Linux バージョン 8 以降
  • Red Hat Enterprise Linux バージョン 9 以降

Red Hat Application Services 製品 (旧称 Red Hat Middleware)

  • Red Hat JBoss BRMS バージョン 5.0.1 以降、バージョン 6.0.0 以降 (Red Hat Decision Manager とも呼ばれ、現在は Red Hat Process Automation Manager の一部)
  • JBoss Enterprise Web Server バージョン 1 以降、Red Hat JBoss Web Server 3.0.1 以降
  • Red Hat JBoss Enterprise Application Platform バージョン 4.2 以降、バージョン 4.3 以降、バージョン 5 以降、バージョン 6 以降、バージョン 7 以降
  • Red Hat Fuse バージョン 6.0 以降

Red Hat Ansible Automation Platform

  • Ansible Automation Platform バージョン 2 以降

Red Hat OpenShift Container Platform

  • Red Hat OpenShift Container Platform バージョン 4 以降

Kubernetes 用 Red Hat Advanced Cluster Security

  • Red Hat Advanced Cluster Security for Kubernetes バージョン 4 以降

Red Hat Advanced Cluster Management for Kubernetes

  • Red Hat Advanced Cluster Management for Kubernetes バージョン 2 以降

1.3. Discovery が適切かどうか

Discovery は、複雑なネットワーク全体での不明な製品の使用状況など、Red Hat 製品インベントリーを検索して理解できるようにすることを目的としています。Discovery によって生成されたレポートは、Red Hat ソリューションアーキテクト (SA) またはテクニカルアカウントマネージャー (TAM) とのパートナーシップや、Subscription Education and Awareness Program (SEAP) が提供する分析と支援を活用することで、理解が容易になります。

個別に Discovery をインストールして使用し、レポートデータを生成して表示できますが、Discovery ドキュメントではレポート結果の解釈に役立つ情報は提供していません。さらに、Red Hat サポートは Discovery のインストールおよび使用方法に関する基本的なサポートは提供しますが、レポートを理解するためのサポートは提供しません。

Discovery ツールは、Red Hat と直接データを自動的に共有しません。代わりに、Red Hat のツールとサービスに取り込むために、レポートデータを準備して Red Hat に送信するかどうかを選択できます。Discovery ツールをローカルで使用してネットワークをスキャンして、Discovery が現在サポートしている Red Hat 製品を検出して、生成されたレポートを内部目的で使用できます。

第2章 Discovery の前提条件のインストール

Discovery は、任意の RHEL または OpenShift Container Platform プラットフォームにデプロイできるコンテナー化されたソリューションです。以下のドキュメントでは、Discovery が専用の RHEL システムにインストールされていることを前提としています。この実装を導入することで、実稼働サーバーへの影響が最小限に抑えられ、UI からサーバーへのポートマッピングの複雑化も抑制でき、ドキュメントに記載されたサポート対象の公式インストールパスに準拠できます。Discovery は、他のワークロードを実行しない専用システムにインストールする必要があります。非専用システムへのインストールに対して、保証やサポートは提供されません。

手順

  • Discovery をインストールして使用するハードウェア、ソフトウェア、および環境には、以下の要件をインストールします。

2.1. ハードウェアの前提条件

Discovery をインストールするシステムが、以下のハードウェア要件を満たしているか、それを超える必要があります。

  • CPU: 2 コア以上、4 コア推奨
  • RAM: 1 GB 以上、2 GB 推奨
  • ディスクストレージ: 30 GB
注記

Discovery はルートレス Podman を使用し、デフォルトでコンテナーをファイルパス ${HOME}/.local/share/containers に保存します。このディレクトリーを含むパーティションに 30 GB 以上のストレージがあることを確認してください。Podman が標準以外のディレクトリーをコンテナーストレージに使用するように設定されている場合は、設定されたディレクトリーに 30 GB のストレージがあることを確認してください。

2.2. ソフトウェアの要件

Discovery をインストールするシステムは、次のソフトウェア要件を満たしている必要があります。

  • オペレーティングシステム: Red Hat Enterprise Linux 8 または Red Hat Enterprise Linux 9 の最新バージョンをクリーンインストールする。特に RHEL 7 からはアップグレードしないようにしてください。
  • ファイルシステム: d_type で実行する (Podman 要件)。

これらのソフトウェア要件に加えて、Discovery には、Discovery のインストールと実行に必要な他のソフトウェア (主に Podman コンテナーツール) への依存関係があります。Podman パッケージは Red Hat Enterprise Linux 8 以降に含まれているため、Podman パッケージを個別に取得する必要はありません。Podman をインストールするには sudo 権限が必要です。

関連情報

2.3. その他の環境の前提条件

Discovery をインストールして使用する環境は、次の要件を満たしている必要があります。これらの要件の一部は、Discovery をインストールして実行するシステムに影響を与えます。その他は、Discovery でスキャンする IT インフラストラクチャーのシステムに影響します。

ネットワーク内:

  • 複数のエアギャップ環境を含むネットワークをスキャンするために Discovery を使用する場合は、これらのエアギャップ環境ごとに Discovery サーバーをインストールする必要があります。

Discovery がインストールされ、実行されているシステム:

  • このシステムは Discovery 作業専用のシステムである必要があり、開発作業や実稼働作業には使用しないでください。
  • Red Hat Subscription Management ツールに登録し、Red Hat コンテンツにアクセスするには、システムにインターネット接続が必要です。

    • オフラインインストールの場合には、コンテナーをダウンロードしている接続されたシステムがこの要件を満たしている必要があります。
  • システムは、Red Hat カスタマーポータルの認証情報を使用して Red Hat Ecosystem Catalog にアクセスできる必要があります。

    • オフラインインストールの場合には、コンテナーをダウンロードしている接続されたシステムがこの要件を満たしている必要があります。

      注記

      Red Hat エコシステムカタログを使用して Red Hat コンテンツをダウンロードできない場合は、Red Hat 開発者プログラムに参加して Red Hat カスタマーポータルアカウントを作成し、Red Hat 開発者サブスクリプションを取得して、Red Hat コンテンツにアクセスしてください。詳細は、Red Hat 開発者 の Web サイトを参照してください。

  • Discovery サーバーは、SSH プロトコルを介して、スキャン対象の IT インフラストラクチャーアセットにアクセスできる必要があります。

Discovery がスキャンを実行するネットワーク内のシステム:

  • スキャン対象のネットワークソースはすべて、SSH プロトコルを実行している必要があります。
  • スキャンの認証情報として使用されるユーザーアカウントには、bash シェルが必要です。シェルを、/sbin/nologin シェルまたは /bin/false シェルにすることは使用できません。
  • ネットワークスキャンの認証情報として使用されるユーザーアカウントには、これらのシステムでコマンドを実行し、特定のファイルを読み取りするための適切な権限が必要です。たとえば、スキャン中に実行するコマンドによっては、スキャンのファクトをすべて収集するために特権の昇格が必要になります。Discovery の使用ガイドには、ネットワークスキャンの認証情報の作成および、これらの認証情報に紐付けて、ネットワークアセットをより包括的にスキャンできるようにするために必要な特権に関する追加情報が含まれています。
  • SSH キーで認証を行うネットワークスキャンの認証情報として使用されるユーザーアカウントには、Discovery サーバーの秘密鍵のコピーが必要です。秘密鍵は、サーバーのインストール時にこのディレクトリーのデフォルトの場所である "${HOME}"/.local/share/discovery/sshkeys ディレクトリーに保存する必要があります。
  • podman コマンドを実行して Discovery をインストールおよび実行するユーザーアカウントは、root ユーザーであってはなりません。昇格されたユーザー権限を付与するために、sudo もしくは su を使用してこれらのコマンドを呼び出してはなりません。このようなアクションはサポートされていません。

関連情報

  • ネットワークスキャンの認証情報の作成と昇格された特権との関連付けの詳細は、Discovery のインストールと設定 ガイドのネットワークソースと認証情報の追加に関するトピックを参照してください。

第3章 接続されたインストールプロセスを使用した Discovery コンテナーのインストール

インターネットにアクセスできるシステム (一般に接続環境またはオンライン環境とも呼ばれる) から Discovery を実行する場合は、接続インストールプロセスを使用します。Discovery の接続インストールプロセス中に、Discovery サーバーとして使用する予定のシステムからすべての手順を実行します。コマンドを入力して、Red Hat Ecosystem Catalog Web サイトのコンテナーイメージから、Discovery コンテナーを取得、インストール、環境設定、起動するためのコマンドを入力します。

接続されたインストールプロセスでは、Podman を使用して、Discovery サーバーとそのサポートする PostgreSQL データベースのコンテナーインストールタスクを実行します。システムに Podman をインストールするには sudo 権限が必要です。ただし、sudo アクセスを使用して、または root ユーザーとして Discovery アプリケーションを実行することはサポートされていません。

前提条件

  • 開始する前に、すべてのハードウェア、ソフトウェア、および環境の前提条件がインストールされ、設定されていることを確認してください。前提条件の詳細は、Discovery の前提条件のインストール を参照してください。

手順

接続されたインストールプロセスで Discovery をインストールするには、次のタスクを実行します。

  • 接続された単一のシステムから、一連のコマンドを実行します。

    • コンテナーイメージにアクセスしてダウンロードします。
    • Discovery サーバーとデータベースコンテナーをインストール、設定、および開始します。

3.1. 接続インストール用の Discovery データベースおよびサーバーコンテナーイメージのインストール

Discovery データベースとサーバーコンテナーイメージの接続インストール中に、Red Hat Ecosystem カタログ Web サイトのコンテナーイメージから Discovery コンテナーを取得し、コンテナーを設定して Discovery を設定し、コンテナーを開始します。

コンテナーを設定し、Discovery を設定する手順を完了している間に、いくつかの環境変数の値を入力する必要があります。次の手順で提供されるコード例には、これらの環境変数用の値の例が含まれています。環境変数の値はすべて、環境のニーズに合わせてカスタマイズできます。たとえば、ネットワークのトラフィックが多いため、例のコマンドで提供されているデフォルトよりも長い接続タイムアウトを設定する必要がある場合があります。これを行うには、-e NETWORK_CONNECT_JOB_TIMEOUT 環境変数の値を変更します。

設定する環境変数には、Discovery サーバー管理者のユーザー名、サーバー管理者のパスワード、サーバーのホスト名、およびサーバーポートが含まれます。以下の値は変更することもできます。組織のセキュリティー基準によっては、値の変更が必要になる場合があります。少なくとも、一般的なセキュリティーのベストプラクティスに合わせてパスワードの値を変更する必要があります。

サーバー管理者のパスワードは、以下を満たしている必要があります。

  • 少なくとも 10 文字以上
  • 辞書に載っている単語ではない
  • 以前に指定した Discovery のデフォルトのパスワードではない
  • 数値のみではない

ユーザー名、パスワード、およびホスト名の値は、podman run コマンドの -e オプションで設定されます。ポートの値は、podman run コマンドの --publish 9443:443 オプションで設定されます。次のリストには、これらの Discovery 環境変数のデフォルトが含まれます。

  • サーバー管理者のユーザー名: admin
  • サーバーのホスト名: localhost
  • サーバーポート: 9443
重要

組織で使用されているパスワード管理システムの環境変数で、ユーザー名とパスワードの変更に注意してください。Red Hat では、Discovery のパスワードをなくした場合のサポートを提供しておらず、Discovery はこのようなユーザー名とパスワードを回復する方法を提供しません。

さらに、Discovery をアップグレードする場合、アップグレード中は同じデータベースのユーザー名とパスワードを使用する必要があります。同じデータベースの認証情報を使用しないと、以前に保存された Discovery データが失われる可能性があります。

前提条件

  • Discovery コンテナーイメージをダウンロードするシステムがインターネットに接続されている。
  • そのシステムが、Red Hat Ecosystem Catalog に接続できる。

手順

接続インストールプロセスを使用して Discovery サーバーとデータベースコンテナーをインストールするには、次の手順を使用します。

  1. Red Hat Ecosystem Catalog (registry.redhat.io Web サイト) にログインします。プロンプトが表示されたら、Red Hat カスタマーポータルアカウントの認証情報を入力します。

    $ podman login registry.redhat.io
  2. Discovery サーバーのディレクトリーを作成します。

    $ mkdir -p "${HOME}"/.local/share/discovery/data
    $ mkdir -p "${HOME}"/.local/share/discovery/log
    $ mkdir -p "${HOME}"/.local/share/discovery/sshkeys
  3. Discovery データベースとサーバーのコンテナーイメージをプルします。

    $ podman pull registry.redhat.io/rhel8/postgresql-12:latest
    $ podman pull registry.redhat.io/discovery/discovery-server-rhel9:latest
  4. 次のコマンドを実行して、新しい discovery-pod Pod で Discovery データベースコンテナーを起動して設定します。このコマンドは読みやすくするために複数行で示されていますが、各行の末尾に継続文字があることに注意してください。

    重要

    次のサンプルコマンドには、複数の Discovery 環境変数の設定が含まれています。これらの環境変数の値は、環境のニーズに合わせて変更できます。特に、Discovery サーバー管理者パスワードの値は、このステップと次のステップの複数の環境変数で使用され、変数として示されています。理由は、この値を変更することが強く推奨されるためです。この手順を実行するときは、パスワード管理システムでユーザー名とパスワードに関連する環境変数の変更された値を保存してください。Discovery に、これらのユーザー名とパスワードを復元する方法はありません。

    $ podman run --name dsc-db \
      --pod new:discovery-pod \
      --publish 9443:443 \
      --restart on-failure \
      -e POSTGRESQL_USER=dsc \
      -e POSTGRESQL_PASSWORD=server_administrator_password \
      -e POSTGRESQL_DATABASE=dsc-db \
      -v dsc-data:/var/lib/pgsql/data \
      -d registry.redhat.io/rhel8/postgresql-12:latest
  5. 次のコマンドを実行して、discovery-pod Pod でDiscovery サーバーコンテナーを起動および設定します。このコマンドは読みやすくするために複数行で示されていますが、各行の末尾に継続文字があることに注意してください。

    重要

    次のサンプルコマンドには、複数の Discovery 環境変数の設定が含まれています。これらの環境変数の値は、環境のニーズに合わせて変更できます。前の手順と同様に、Discovery サーバーの管理者パスワードの値が変数として表示されます。この手順を実行するときは、パスワード管理システムでユーザー名とパスワードに関連する環境変数の変更された値を保存してください。Discovery に、これらのユーザー名とパスワードを復元する方法はありません。

    $ podman run \
      --name discovery \
      --restart on-failure \
      --pod discovery-pod \
      -e DJANGO_DEBUG=False \
      -e NETWORK_CONNECT_JOB_TIMEOUT=60 \
      -e NETWORK_INSPECT_JOB_TIMEOUT=600 \
      -e PRODUCTION=True \
      -e QPC_DBMS_HOST=localhost \
      -e QPC_DBMS_PASSWORD=server_administrator_password \
      -e QPC_DBMS_USER=dsc \
      -e QPC_DBMS_DATABASE=dsc-db \
      -e QPC_SERVER_PASSWORD=server_administrator_password \
      -e QPC_SERVER_TIMEOUT=120 \
      -e QPC_SERVER_USERNAME=admin \
      -e QPC_SERVER_USER_EMAIL=admin@example.com \
      -v "${HOME}"/.local/share/discovery/data/:/var/data:z \
      -v "${HOME}"/.local/share/discovery/log/:/var/log:z \
      -v "${HOME}"/.local/share/discovery/sshkeys/:/sshkeys:z \
      -d registry.redhat.io/discovery/discovery-server-rhel9:latest

関連情報

第4章 オフラインインストールプロセスを使用した Discovery コンテナーのインストール

オフラインインストールプロセスは、インターネットにアクセスできないシステム (一般に、切断された、オフライン、またはエアギャップ環境とも呼ばれる) から Discovery を実行する場合に必要です。Discovery のオフラインインストールプロセス中に、接続されたシステム (インターネットに接続されている システム) でいくつかの手順を完了する必要があります。これらの手順には、Red Hat Ecosystem Catalog Web サイトからコンテナーイメージを取得してから、Discovery サーバーとして使用するオフラインシステムにイメージを転送することが含まれます。また、Discovery コンテナーのインストール、環境の設定、および始動のためのステップを、オフライン システムで完了します。

オフラインインストールプロセスでは、Podman を使用して、Discovery サーバーとそれをサポートする PostgreSQL データベースのコンテナーをインストールします。Podman がまだシステムに存在しない場合、システムにインストールするには sudo アクセスが必要です。ただし、sudo アクセスを使用して、または root ユーザーとして Discovery アプリケーションを実行することはサポートされていません。

前提条件

  • 開始する前に、すべてのハードウェア、ソフトウェア、および環境の前提条件がインストールされ、設定されていることを確認してください。前提条件の詳細は、Discovery の前提条件のインストール を参照してください。

手順

オフラインインストールプロセスで Discovery をインストールするには、次のタスクを実行します。

  • 接続されたシステムから、一連のコマンドを実行します。

    • コンテナーイメージにアクセスしてダウンロードします。
  • オフラインシステムから、一連のコマンドを実行します。

    • コンテナーイメージをオフラインシステムに転送します。
    • Discovery サーバーとデータベースコンテナーをインストール、設定、および開始します。

4.1. オフラインインストール用の Discovery データベースとサーバーコンテナーイメージのインストール

Discovery データベースとサーバーコンテナーイメージのオフラインインストール中に、インターネットに接続されたシステムから開始して、Podman コンテナー管理ツールをインストールし、Red Hat Ecosystem カタログ Web サイトのコンテナーイメージから Discovery コンテナーを取得します。次に、それらのコンテナーイメージを Discovery を実行するオフラインシステムに転送し、そのオフラインシステムに対して Podman のインストール、コンテナーの設、Discovery の設定を行い、コンテナーを開始します。

コンテナーを設定し、Discovery を設定する手順を完了している間に、いくつかの環境変数の値を入力する必要があります。次の手順で提供されるコード例には、これらの環境変数用の値の例が含まれています。環境変数の値はすべて、環境のニーズに合わせてカスタマイズできます。たとえば、ネットワークのトラフィックが多いため、例のコマンドで提供されているデフォルトよりも長い接続タイムアウトを設定する必要がある場合があります。これを行うには、-e NETWORK_CONNECT_JOB_TIMEOUT 環境変数の値を変更します。

設定する環境変数には、Discovery サーバー管理者のユーザー名、サーバー管理者のパスワード、サーバーのホスト名、およびサーバーポートが含まれます。以下の値は変更することもできます。組織のセキュリティー基準によっては、値の変更が必要になる場合があります。少なくとも、一般的なセキュリティーのベストプラクティスに合わせてパスワードの値を変更する必要があります。

サーバー管理者のパスワードは、以下を満たしている必要があります。

  • 少なくとも 10 文字以上
  • 辞書に載っている単語ではない
  • 以前に指定した Discovery のデフォルトのパスワードではない
  • 数値のみではない

ユーザー名、パスワード、およびホスト名の値は、podman run コマンドの -e オプションで設定されます。ポートの値は、podman run コマンドの --publish 9443:443 オプションで設定されます。次のリストには、これらの Discovery 環境変数のデフォルトが含まれます。

  • サーバー管理者のユーザー名: admin
  • サーバーのホスト名: localhost
  • サーバーポート: 9443
重要

組織で使用されているパスワード管理システムの環境変数で、ユーザー名とパスワードの変更に注意してください。Red Hat では、Discovery のパスワードをなくした場合のサポートを提供しておらず、Discovery はこのようなユーザー名とパスワードを回復する方法を提供しません。

さらに、Discovery をアップグレードする場合、アップグレード中は同じデータベースのユーザー名とパスワードを使用する必要があります。同じデータベースの認証情報を使用しないと、以前に保存された Discovery データが失われる可能性があります。

前提条件

  • Discovery コンテナーイメージをダウンロードする接続システムがインターネットに接続されている。
  • 接続されたシステムは、Red Hat Ecosystem Catalog に接続できる。

手順

Discovery インストールプロセスで Discovery サーバーとデータベースコンテナーをインストールするには、以下のステップを使用します。

接続されたシステムで、以下を行います。

  1. Red Hat Ecosystem Catalog (registry.redhat.io Web サイト) にログインします。プロンプトが表示されたら、Red Hat カスタマーポータルアカウントの認証情報を入力します。

    $ podman login registry.redhat.io
  2. Discovery データベースとサーバーコンテナーをプルし、.tar.gz ファイルとして保存します。

    $ podman pull registry.redhat.io/rhel8/postgresql-12:latest
    $ podman save registry.redhat.io/rhel8/postgresql-12:latest -o postgres.tar.gz
    $ podman pull registry.redhat.io/discovery/discovery-server-rhel9:latest
    $ podman save registry.redhat.io/discovery/discovery-server-rhel9 -o discovery.tar.gz

オフラインシステムで、以下を行います。

  1. 選択した転送方法を使用して、postgres.tar.gz および discovery.tar.gz ファイルを、Discovery のインストール先のオフラインのシステムに転送します。
  2. コンテナーイメージをコンテナーストレージに読み込みます。

    $ podman load -i postgres.tar.gz
    $ podman load -i discovery.tar.gz
  3. Discovery サーバーのディレクトリーを作成します。

    $ mkdir -p "${HOME}"/.local/share/discovery/data
    $ mkdir -p "${HOME}"/.local/share/discovery/log
    $ mkdir -p "${HOME}"/.local/share/discovery/sshkeys
  4. 次のコマンドを実行して、新しい discovery-pod Pod で Discovery データベースコンテナーを起動して設定します。このコマンドは読みやすくするために複数行で示されていますが、各行の末尾に継続文字があることに注意してください。

    重要

    次のサンプルコマンドには、複数の Discovery 環境変数の設定が含まれています。これらの環境変数の値は、環境のニーズに合わせて変更できます。特に、Discovery サーバー管理者パスワードの値は、このステップと次のステップの複数の環境変数で使用され、変数として示されています。理由は、この値を変更することが強く推奨されるためです。この手順を実行するときは、パスワード管理システムでユーザー名とパスワードに関連する環境変数の変更された値を保存してください。Discovery に、これらのユーザー名とパスワードを復元する方法はありません。

    $ podman run --name dsc-db \
      --pod new:discovery-pod \
      --publish 9443:443 \
      --restart on-failure \
      -e POSTGRESQL_USER=dsc \
      -e POSTGRESQL_PASSWORD=server_administrator_password \
      -e POSTGRESQL_DATABASE=dsc-db \
      -v dsc-data:/var/lib/pgsql/data \
      -d registry.redhat.io/rhel8/postgresql-12:latest
  5. 次のコマンドを実行して、discovery-pod Pod でDiscovery サーバーコンテナーを起動および設定します。このコマンドは読みやすくするために複数行で示されていますが、各行の末尾に継続文字があることに注意してください。

    重要

    次のサンプルコマンドには、複数の Discovery 環境変数の設定が含まれています。これらの環境変数の値は、環境のニーズに合わせて変更できます。前の手順と同様に、Discovery サーバーの管理者パスワードの値が変数として表示されます。この手順を実行するときは、パスワード管理システムでユーザー名とパスワードに関連する環境変数の変更された値を保存してください。Discovery に、これらのユーザー名とパスワードを復元する方法はありません。

    $ podman run \
      --name discovery \
      --restart on-failure \
      --pod discovery-pod \
      -e DJANGO_DEBUG=False \
      -e NETWORK_CONNECT_JOB_TIMEOUT=60 \
      -e NETWORK_INSPECT_JOB_TIMEOUT=600 \
      -e PRODUCTION=True \
      -e QPC_DBMS_HOST=localhost \
      -e QPC_DBMS_PASSWORD=server_administrator_password \
      -e QPC_DBMS_USER=dsc \
      -e QPC_DBMS_DATABASE=dsc-db \
      -e QPC_SERVER_PASSWORD=server_administrator_password \
      -e QPC_SERVER_TIMEOUT=120 \
      -e QPC_SERVER_USERNAME=admin \
      -e QPC_SERVER_USER_EMAIL=admin@example.com \
      -v "${HOME}"/.local/share/discovery/data/:/var/data:z \
      -v "${HOME}"/.local/share/discovery/log/:/var/log:z \
      -v "${HOME}"/.local/share/discovery/sshkeys/:/sshkeys:z \
      -d registry.redhat.io/discovery/discovery-server-rhel9:latest

関連情報

第5章 Discovery コマンドラインインターフェイスのインストール

Discovery サーバーとデータベースコンテナーをインストールする手順が完了したら、オプションのステップとして Discovery コマンドラインインターフェイス (CLI) をインストールできます。

Discovery コマンドラインインターフェイスは、サーバーコンテナー内で使用できます。したがって、インストールにオンラインの手順、オフラインの手順のどちらを使用したかに関係なく、コマンド行インターフェイスのインストールに必要なコードは、サーバーおよびデータベースコンテナーをインストールしたシステムですでに使用可能です。

前提条件

  • Discovery コマンドラインインターフェイスを、Discovery サーバーおよびデータベースコンテナーをインストールしたのと同じシステムにインストールしている。

5.1. Discovery コマンドラインインターフェイスのインストール

Discovery コマンドラインインターフェイスのインストールプロセスには、Discovery Content Delivery Network (CDN) リポジトリーへのサブスクライブと、システムへの Discovery RPM パッケージのインストールが含まれます。

前提条件

  • 以下の手順でコマンドの一部を実行するための root 権限または同等の権限を有している。

手順

Discovery コマンドラインインターフェイスをインストールするには、次の手順を使用します。

  1. オペレーティングシステムのバージョンの Discovery CDN リポジトリーをサブスクライブするには、次のコマンドを入力します。

    # subscription-manager repos --enable <repository>
    注記

    上記のコマンドで、<repository> を次の値に置き換えます。

    • Red Hat Enterprise Linux 8 では、<repository>discovery-1-for-rhel-8-x86_64-rpms に置き換えます。
    • Red Hat Enterprise Linux 9 では、<repository>discovery-1-for-rhel-9-x86_64-rpms に置き換えます。
  2. RPM パッケージをインストールするには、root ユーザーとして次のコマンドを入力します。

    # dnf install discovery-cli
  3. hostname コマンドを使用してホスト名を設定し、Discovery コマンドラインインターフェイスが Discovery サーバーとの通信に使用するポートを設定します。server_port 値には、HTTPS 通信に使用されているポートを入力します。

    注記

    Discovery サーバーとデータベースコンテナーのインストールの手順で、server_port の値が podman run コマンドの --publish 9443:443 オプションで設定されました。サーバーポートとして 9443 を使用しなかった場合は、使用した値を入力します。

    $ dsc server config --host hostname --port server_port

関連情報

第6章 Discovery ユーザーインターフェイスへのアクセス

ブラウザー接続を使用して、Discovery グラフィカルユーザーインターフェイスにアクセスできます。端末セッションコマンドを実行してサーバーに接続することにより、Discovery コマンドラインインターフェイスにアクセスします。

詳細情報

Discovery のグラフィカルユーザーインターフェイスへのログインおよびログアウトを行う要件および手順の詳細は、以下の情報を参照してください。

Discovery コマンドラインインターフェイスへのログインおよびログアウトを行う要件および手順の詳細は、以下の情報を参照してください。

6.1. Discovery ユーザーインターフェイスへのログイン

Discovery ユーザーインターフェイスにログインするには、Discovery サーバーがインストールされているシステムの IP アドレス、サーバーのインストール時にデフォルトのポートが変更された場合は接続のポート番号、ログイン時に使用する管理者ユーザーのユーザー名およびパスワードが必要です。この情報がない場合は、Discovery サーバーをインストールした管理者にお問い合わせください。

前提条件

  • Discovery ユーザーインターフェイスを使用するために、グラフィカルユーザーインターフェイスを実行するシステムが、Discovery サーバーがインストールされているシステムと通信できるようになっている。

手順

  1. ブラウザーで、Discovery サーバーの URL を https://IPaddress:server_port の形式で入力します。IPaddress は Discovery サーバーの IP アドレスで、server_port は公開されたサーバーポートです。

    以下の例は、ログインしているシステムとデフォルトのポートを使用するかどうかに基づいて、URL を入力する 2 つの方法を示しています。

    • サーバーがインストールされ、デフォルトのポート 9443 が使用されるシステムからログインする場合は、以下の例のようにループバックアドレス (localhost とも呼ばれる) を IP アドレスとして使用できます。

      https://127.0.0.1:9443
    • サーバーからリモートになっているシステムからログインし、サーバーが IP アドレス 192.0.2.0 で稼働しており、インストール中にデフォルトのポートが 8443 に変更になった場合は、次の例のようにログインします。

      https://192.0.2.0:8443

    サーバーの URL を入力すると、Discovery ログインページが表示されます。

  2. ログインページで、Discovery サーバー管理者アカウントのユーザー名とパスワードを入力し、ログイン をクリックしてサーバーにログインします。

検証手順

Discovery に初めてログインすると、Welcome ページが表示されます。まず、スキャンで使用できるソースおよび認証情報を追加します。Discovery に以前にログインしていると、Welcome ページはスキップされ、以前に作成したソース、認証情報、およびスキャンを操作できます。

6.2. Discovery ユーザーインターフェイスからログアウト

手順

  1. アプリケーションツールバーで、人のアイコンまたはユーザー名をクリックします。
  2. Logout をクリックします。

6.3. Discovery コマンドラインインターフェイスへのログイン

Discovery コマンドラインインターフェイスにログインするには、Discovery サーバー管理者のユーザー名とパスワードが必要です。この情報がない場合は、Discovery サーバーをインストールした管理者にお問い合わせください。

login コマンドは、後続のコマンドラインインターフェイスコマンドによる認証に使用されるトークンを取得します。そのトークンは、サーバーからログアウトすると削除され、毎日有効期限が切れます。

前提条件

  • Discovery コマンドラインインターフェイスが、サーバーコンテナーがインストールされているのと同じシステムにインストールされている。
  • サーバーコンテナーがインストールされているのと同じシステムのコマンドラインインターフェイスにアクセスしている。

手順

  1. コマンドラインインターフェイスにログインするには、次のコマンドを入力します。ここで、server_username は Discovery サーバー管理者のユーザー名に、server_password はサーバー管理者のパスワードに置き換えます。

    $ dsc server login --username server_administrator_username --password server_administrator_password

コマンドラインインターフェイスにログインしたら、コマンドの入力を開始して、ソース、認証情報、およびスキャンを作成できます。

注記

現在、Discovery コマンドラインインターフェイスから man ページ情報は利用できません。man ページ情報には、Discovery のアップストリームプロジェクトである quipucords リポジトリーでアクセスできます。man ページ情報は、このプロジェクトの qpc サブリポジトリーにあります。

Discovery コマンドの使用方法は、https://github.com/quipucords/qpc/blob/master/docs/source/man.rst の qpc man ページを参照してください。コマンドラインインターフェイスの使用を開始する場合は、コマンドラインエントリーの qpc コマンドを dsc コマンドに置き換えます。

6.4. Discovery コマンドラインインターフェイスからのログアウト

サーバーからログアウトするコマンドにより、サーバーへのログイン時に作成されたトークンが削除されます。このトークンも毎日有効期限が切れます。

手順

  1. コマンドラインインターフェイスからログアウトするには、以下のコマンドを入力します。

    $ dsc server logout

第7章 Discovery の設定と保守

インストールが完了したら、Discovery を設定または維持するためにその他の手順を行う必要がある場合があります。インストール時に選択したオプションと、Discovery を使用する方法により、実行する必要のある設定タスクおよびメンテナンスタスクの種類が決まります。

詳細情報

SSH キーを認証方法として含む認証情報を使用してネットワークスキャンを実行する場合は、Discovery サーバーがキーファイル情報にアクセスできる必要があります。Discovery サーバーに SSH キーを追加する方法は、次の情報を参照してください。

7.1. ネットワークスキャン用の Discovery サーバーへの SSH キーの追加

ネットワークスキャンのソースおよび認証情報を設定する場合は、スキャンされるネットワークアセットに対して認証するのに使用する認証情報のタイプを選択します。認証情報に使用できるオプションの 1 つは、ユーザー名と SSH キーファイルで認証することです。このオプションを選択する場合は、Discovery がこれらのアセットに対して認証を行い、スキャン中に発生するプロセスを完了できるように、サーバー上の特定のディレクトリーに秘密鍵のコピーを追加する必要があります。

ネットワークスキャンに必要な認証情報を作成して改良するため、これらのステップを継続してメンテナンスタスクとして実行しなければならない場合があります。

重要

提供された各 SSH 秘密鍵は、Discovery サーバーのインストール中にサーバーコンテナー上の /sshkeys パスにマップされたディレクトリーにコピーする必要があります。つまり、SSH 秘密鍵は、コンテナーが検索するマウントポイントでファイルシステムにコピーする必要があります。このマウントポイントディレクトリーのデフォルトパスは、Discovery がインストールされているシステム上の "${HOME}"/.local/share/discovery/sshkeys です。このファイルパスは、discovery:/sshkeys のコンテナーへの共有ボリュームになります。

このプロセスが必要なのは、コンテナーの初期化中にコンテナーボリュームにマップする標準化されたマウントポイントがコンテナーに必要なためです。セキュリティー上の理由から、標準化されたマウントポイントを使用する必要があります。コンテナーは、ファイルシステム全体に完全にアクセスすることはできません。Discovery コマンドラインインターフェイスまたはグラフィカルユーザーインターフェイスを使用している場合は、リソースへのフルパスを使用すると、ファイルがファイルシステム上で有効なファイルではないことを示すエラーが発生します。このメッセージが表示されるのは、渡された完全パスではなく、独自のファイルシステムのパスでコンテナーが検索を行うためです。

Discovery ユーザーがグラフィカルユーザーインターフェイスを使用して、SSH を使用するネットワーク認証情報を作成すると、マウントポイントのディレクトリーの場所に必要なフィールドは SSH Key File フィールドです。コマンドラインインターフェイスの場合は、--sshkeyfile 引数です。これらのオプションの両方で、マウントポイントディレクトリーのデフォルト値は "${HOME}"/.local/share/discovery/sshkeys です。

手順

SSH キーファイルを Discovery サーバーに追加するには、次を行います。

  1. 選択したコピー方法を使用して、キーファイルから秘密鍵をコピーします。
  2. サーバーのインストール時に、このディレクトリーのデフォルトの場所である Discovery サーバーの "${HOME}"/.local/share/discovery/sshkeys ディレクトリーに秘密鍵を追加します。
  3. 関連する新しい認証情報が追加された場合など、認証方法として SSH キーファイルを使用するすべての認証情報に対して、必要に応じてこれらの手順を繰り返します。

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.