3.3. グローバル登録を使用したホストの登録
Satellite で curl または wget コマンドを生成し、このコマンドをホストで実行することで、ホストを Satellite に登録できます。この方法では、グローバル登録 テンプレートと Linux host_init_config default テンプレートの 2 つのプロビジョニングテンプレートを使用します。これにより、ホスト登録プロセスを完全に制御できます。
より高い柔軟性が必要な場合は、デフォルトのテンプレートをカスタマイズすることもできます。詳細は、「登録テンプレートのカスタマイズ」 を参照してください。
3.3.1. 登録用のグローバルパラメーター リンクのコピーリンクがクリップボードにコピーされました!
登録用に次のグローバルパラメーターを設定できます。
Configure > Global Parameters に移動すると、Satellite Web UI でパラメーターを表示できます。
-
host_registration_insightsパラメーターは、insightsスニペットで使用されます。このパラメーターがtrueに設定されていると、登録時にホストに Red Hat Lightspeed クライアントがインストールされ、有効になります。このパラメーターをfalseに設定すると、Satellite は Red Hat Lightspeed クライアントのインストールと登録を防止します。デフォルト値はtrueです。パラメーター値をオーバーライドする場合は、パラメーターのタイプをbooleanに設定します。 -
host_registration_insights_inventoryパラメーターは、インベントリーのアップロードを制御します。このパラメーターをtrueに設定すると、Red Hat Hybrid Cloud Console にアップロードされる Red Hat Lightspeed インベントリーレポートにホストが含まれます。パラメーターがfalseに設定されている場合、ホストは Red Hat Lightspeed インベントリーレポートのアップロードから除外されます。Red Hat Lightspeed クライアントにホストを登録せずにインベントリーデータをアップロードするには、host_registration_insightsパラメーターをfalseに設定し、host_registration_insights_inventoryをtrueに設定します。 -
host_packagesパラメーターは、ホストにパッケージをインストールするためのものです。 -
host_registration_remote_executionパラメーターは、remote_execution_ssh_keysスニペットで使用されます。このパラメータがtrueに設定されていると、登録によりホストでリモート実行が有効になります。デフォルト値はtrueです。 -
remote_execution_ssh_keys、remote_execution_ssh_user、remote_execution_create_user、remote_execution_effective_user_methodパラメーターはremote_execution_ssh_keysスニペットで使用されます。詳細は、スニペットを参照してください。
Hosts > Templates > Provisioning Templates で、Satellite Web UI のスニペットに移動できます。
3.3.2. ホスト登録の設定 リンクのコピーリンクがクリップボードにコピーされました!
Satellite Server または Capsule Server に登録できるようにホストを設定します。設定管理ツールを使用して、複数のホストを一度に設定できます。
前提条件
- ホストはサポートされているオペレーティングシステムを使用している必要がある。詳細は、「登録時にサポートされるクライアント」 を参照してください。
- Satellite Server および Capsule Server のシステムクロックは、ネットワーク全体で同期する必要があります。システムクロックが同期されていない場合、SSL 証明書の検証が失敗する可能性があります。たとえば、時間管理には Chrony スイートを使用できます。
手順
ホスト上で時刻同期ツールを有効にして起動します。ホストは、Satellite Server および Capsule Server と同じ NTP サーバーと同期する必要があります。
# systemctl enable --now chronydホストが安全な登録呼び出しを行えるように、ホストに SSL CA ファイルをデプロイします。
- そのためには、Administer > Settings > Authentication に移動し、SSL CA file 設定を見つけて、Satellite が CA ファイルを保存する場所を検出します。
-
たとえば
scpを使用して、SSL CA ファイルをホストに安全に転送します。 - SSH を使用してホストにログインします。
証明書をトラストストアにコピーします。
# cp My_SSL_CA_file.pem /etc/pki/ca-trust/source/anchorsトラストストアを更新します。
# update-ca-trust
3.3.3. Satellite Web UI を使用してホストを登録する リンクのコピーリンクがクリップボードにコピーされました!
登録テンプレートを使用して、Satellite Web UI からホストを登録できます。これにより、登録プロセス中にさまざまな統合機能やホストツールを設定することもできます。
前提条件
- Satellite アカウントに Register hosts ロールが割り当てられているか、同等のパーミッションを持つロールがある。
- 登録するホストで root 権限がある。
-
登録するホストに
curlまたはwgetのいずれかがインストールされている。 - 登録用のホストが設定されている。詳細は、「ホスト登録の設定」 を参照してください。
- ホストのアクティベーションキーがある。詳細は、コンテンツの管理 の アクティベーションキーの管理 を参照してください。
-
オプション: ホストを Red Hat Lightspeed に登録する場合は、
rhel-8-for-x86_64-baseos-rpmsリポジトリーとrhel-8-for-x86_64-appstream-rpmsリポジトリーを同期し、アクティベーションキーで使用できるようにしておく。これは、ホストにinsights-clientパッケージをインストールするために必要です。 - ホストのオペレーティングシステムバージョン用の Red Hat Satellite Client 6 リポジトリーが、Satellite Server 上で同期され、使用するアクティベーションキーで有効になっている。詳細は、コンテンツの管理 の コンテンツのインポート を参照してください。このリポジトリーは、リモート実行プルクライアント、Puppet エージェント、Tracer、およびその他のツールに必要です。
Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。
重要Capsule Server を Satellite Server 上の信頼できるプロキシーのリストに追加することが重要です。
詳細は、Capsule Server のインストール の ホストの登録とプロビジョニングのための Capsule の設定 を参照してください。
- Satellite Server または Capsule Server が HTTP プロキシーの背後にある場合は、接続に HTTP プロキシーを使用するようにホストでサブスクリプションマネージャーを設定します。詳細は、Red Hat ナレッジベース の How to access Red Hat Subscription Manager (RHSM) through a firewall or proxy を参照してください。
手順
- Satellite Web UI で、Hosts > Register Host に移動します。
登録ホストの設定方法を入力します。
Host Group リストからホストグループを選択した場合、次のフィールドはホストグループの値を継承します。
- オペレーティングシステム
- アクティベーションキー
- Lifecycle environment
- ロードバランサーの背後にある Capsule は、Satellite Web UI でホストのコンテンツソースとして選択された Capsule よりも優先されます。
- General タブの Activation Keys フィールドに、ホストに割り当てるアクティベーションキーを 1 つ以上入力します。
必要なその他の登録詳細を指定します。利用可能な設定は次のとおりです。
- General タブの Capsule フィールドで、ホストを登録する Capsule を選択できます。ロードバランサーの背後にある Capsule は、Satellite Web UI でホストのコンテンツソースとして選択された Capsule よりも優先されます。
-
wgetコマンドを使用してホストを登録する場合は、General タブの Download utility フィールドでwgetを選択できます。デフォルトでは、Satellite はcurlコマンドを生成します。 General タブで Insecure オプションを選択すると、最初の呼び出しを insecure にします。この最初の呼び出し中に、ホストは Satellite から CA ファイルをダウンロードします。ホストは、この CA ファイルを使用して Satellite に接続するため、今後のすべての呼び出しは安全になります。
Red Hat は、セキュアでない呼び出しを回避することを推奨します。
Satellite とホスト間のネットワークに存在する攻撃者が最初の安全でない呼び出しから CA ファイルを取得すると、攻撃者はホストとの間の API 呼び出しの内容と JSON Web Token (JWT) にアクセスできるようになります。そのため、登録中の SSH キーのデプロイを選択した場合、攻撃者は SSH キーを使用してホストにアクセスできます。
- Advanced タブの Repositories フィールドでは、登録を実行する前に追加するリポジトリーをリスト表示できます。アクティベーションキーでリポジトリーを指定する場合は、リポジトリーを指定する必要はありません。
- Advanced タブでは、リモート実行、Red Hat Lightspeed、およびインストールするパッケージを設定できます。
Advanced タブの Token lifetime (hours) フィールドで、Satellite が認証に使用する JSON Web Token (JWT) の有効期間を変更できます。このトークンの有効期間は、生成された登録コマンドが機能する期間を定義します。
Satellite では、登録用コマンドを作成したユーザーの権限が、そのホストの認可設定に影響する点に注意してください。ユーザーが追加のパーミッションを失ったり取得したりすると、JWT のパーミッションも変わってきます。そのため、トークン期間中にユーザーのパーミッションを削除、ブロック、または変更しないでください。
JWT の範囲は登録エンドポイントのみに制限されているため、その他の場所では使用できません。
注記Satellite は、ID でリソースを検索するパラメーターを含む登録コマンドを生成します。登録コマンドを編集して、次のリソースをタイトルで検索できます。
- 組織
-
URL フラグメントの例:
organization=My%20Organizationまたはorganization=My+Organization - Location
-
URL フラグメントの例:
location=My%20Locationまたはlocation=My+Location - Host group
ホストグループがネストされている場合は、スラッシュ文字 (
/) で区切られた親グループを含めます。URL フラグメントの例:
hostgroup=Parent%20Group%2FMy%20Host%20Group- オペレーティングシステム
-
URL フラグメントの例:
operatingsystem=My%20Operating%20Systemまたはoperatingsystem=My+Operating+System
パラメーター値は URL エンコードされている必要があります。
-
Generate をクリックして
curlコマンドを生成します。 -
登録するホストで、
curlコマンドをrootとして実行します。登録が完了すると、登録テンプレートの設定時に指定したホストグループに割り当てられた Ansible ロールがホスト上で実行されます。
次のステップ
- Tracer を使用して古いサービスとアプリケーションの監視を設定するには、ホストの管理 の ホスト上での Tracer の設定 を参照してください。
3.3.4. Hammer CLI を使用してホストを登録する リンクのコピーリンクがクリップボードにコピーされました!
Hammer CLI と登録テンプレートを使用してホストを登録できます。これにより、登録プロセス中にさまざまな統合機能やホストツールを設定することもできます。
前提条件
- Satellite アカウントに Register hosts ロールが割り当てられているか、同等のパーミッションを持つロールがある。
- 登録するホストで root 権限がある。
-
登録するホストに
curlまたはwgetのいずれかがインストールされている。 - 登録用のホストが設定されている。詳細は、「ホスト登録の設定」 を参照してください。
- ホストのアクティベーションキーがある。詳細は、コンテンツの管理 の アクティベーションキーの管理 を参照してください。
-
オプション: ホストを Red Hat Lightspeed に登録する場合は、
rhel-8-for-x86_64-baseos-rpmsリポジトリーとrhel-8-for-x86_64-appstream-rpmsリポジトリーを同期し、アクティベーションキーで使用できるようにしておく。これは、ホストにinsights-clientパッケージをインストールするために必要です。 - ホストのオペレーティングシステムバージョン用の Red Hat Satellite Client 6 リポジトリーが、Satellite Server 上で同期され、使用するアクティベーションキーで有効になっている。詳細は、コンテンツの管理 の コンテンツのインポート を参照してください。このリポジトリーは、リモート実行プルクライアント、Puppet エージェント、Tracer、およびその他のツールに必要です。
Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。
重要Capsule Server を Satellite Server 上の信頼できるプロキシーのリストに追加することが重要です。
詳細は、Capsule Server のインストール の ホストの登録とプロビジョニングのための Capsule の設定 を参照してください。
- Satellite Server または Capsule Server が HTTP プロキシーの背後にある場合は、接続に HTTP プロキシーを使用するようにホストでサブスクリプションマネージャーを設定します。詳細は、Red Hat ナレッジベース の How to access Red Hat Subscription Manager (RHSM) through a firewall or proxy を参照してください。
手順
-
hammer host-registration generate-commandを使用して、ホストを登録するための登録コマンドを生成します。 登録するホスト上で、
rootとして登録コマンドを実行します。詳細は、Hammer CLI のヘルプ
hammer host-registration generate-command --helpを参照してください。
次のステップ
- Tracer を使用して古いサービスとアプリケーションの監視を設定するには、ホストの管理 の ホスト上での Tracer の設定 を参照してください。
3.3.5. Satellite API を使用してホストを登録する リンクのコピーリンクがクリップボードにコピーされました!
Satellite API と登録テンプレートを使用してホストを登録できます。これにより、登録プロセス中にさまざまな統合機能やホストツールを設定することもできます。
前提条件
- Satellite アカウントに Register hosts ロールが割り当てられているか、同等のパーミッションを持つロールがある。
- 登録するホストで root 権限がある。
-
登録するホストに
curlまたはwgetのいずれかがインストールされている。 - 登録用のホストが設定されている。詳細は、「ホスト登録の設定」 を参照してください。
- ホストのアクティベーションキーがある。詳細は、コンテンツの管理 の アクティベーションキーの管理 を参照してください。
-
オプション: ホストを Red Hat Lightspeed に登録する場合は、
rhel-8-for-x86_64-baseos-rpmsリポジトリーとrhel-8-for-x86_64-appstream-rpmsリポジトリーを同期し、アクティベーションキーで使用できるようにしておく。これは、ホストにinsights-clientパッケージをインストールするために必要です。 - ホストのオペレーティングシステムバージョン用の Red Hat Satellite Client 6 リポジトリーが、Satellite Server 上で同期され、使用するアクティベーションキーで有効になっている。詳細は、コンテンツの管理 の コンテンツのインポート を参照してください。このリポジトリーは、リモート実行プルクライアント、Puppet エージェント、Tracer、およびその他のツールに必要です。
Satellite Server の代わりに Capsule Server を使用する場合は、Capsule Server が適切に設定されていることを確認してください。
重要Capsule Server を Satellite Server 上の信頼できるプロキシーのリストに追加することが重要です。
詳細は、Capsule Server のインストール の ホストの登録とプロビジョニングのための Capsule の設定 を参照してください。
- Satellite Server または Capsule Server が HTTP プロキシーの背後にある場合は、接続に HTTP プロキシーを使用するようにホストでサブスクリプションマネージャーを設定します。詳細は、Red Hat ナレッジベース の How to access Red Hat Subscription Manager (RHSM) through a firewall or proxy を参照してください。
手順
-
POST
/api/registration_commandsリソースを使用します。
次のステップ
- Tracer を使用して古いサービスとアプリケーションの監視を設定するには、ホストの管理 の ホスト上での Tracer の設定 を参照してください。
3.3.6. Ansible を使用してホストを登録する リンクのコピーリンクがクリップボードにコピーされました!
Ansible Playbook と登録テンプレートを使用してホストを登録し、登録プロセス中にさまざまなインテグレーション機能とホストツールを設定できます。
手順
redhat.satellite.registration_commandモジュールを使用します。詳細は、
ansible-doc redhat.satellite.registration_commandの Ansible モジュールのドキュメントを参照してください。
3.3.7. ホスト登録中にカスタムコードを実行する リンクのコピーリンクがクリップボードにコピーされました!
事前に定義された名前のスニペットを作成することで、登録プロセスをカスタマイズできます。
Global Registration テンプレートには、これらのスニペットが自動的に含まれます。したがって、テンプレートを編集する必要はありません。
登録にカスタム手順を追加するには、次のスニペットの 1 つまたは両方を作成します。
before_registration-
このスニペットは、ホストを Satellite に登録する前に、
Global Registrationテンプレートによって読み込まれ、実行されます。 after_registration-
このスニペットは、ホストを Satellite に登録した後、
Global Registrationテンプレートによって読み込まれ、実行されます。
スニペットに正確な名前を付けるようにしてください。正確な名前を指定しない場合は、Global Registration テンプレートでスニペットを読み込むことができません。
前提条件
-
Satellite アカウントには、
view_provisioning_templates、create_provisioning_templates、assign_organizations、およびassign_locationsの権限を付与するロールがある。 - 特定の組織と場所のコンテキストを選択しておく。
手順
- Satellite Web UI で、Hosts > Templates > Provisioning Templates に移動します。
- Create Template をクリックします。
-
Name フィールドに、必要なスニペットの名前を入力します
(before_registrationまたはafter_registration)。 - テンプレートエディターでスニペットを作成します。
- Type タブで、Snippet を選択します。
- Locations タブで、スニペットを必要な場所に割り当てます。
- Organizations タブで、スニペットを必要な組織に割り当てます。
- Submit をクリックします。
関連情報
3.3.8. 登録テンプレートのカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
プロビジョニングテンプレートを編集することで、登録プロセスをカスタマイズできます。
Satellite のデフォルトテンプレートはすべてロックされている点に注意してください。登録テンプレートをカスタマイズする場合は、デフォルトのテンプレートのクローンを作成し、クローンを編集する必要があります。
Red Hat がサポートするのは、編集されていないオリジナルのテンプレートのみです。カスタマイズされたテンプレートは、Red Hat がリリースした更新を受け取りません。
登録プロセスでは、以下のプロビジョニングテンプレートを使用します。
-
グローバル登録 テンプレートには、ホストを Satellite に登録するための手順が含まれています。このテンプレートは、ホストが
/registerSatellite API エンドポイントにアクセスするとレンダリングされます。 - Linux host_init_config default テンプレートには、登録後にホストの初期設定を行う手順が含まれます。
手順
- Hosts > Templates > Provisioning Templates に移動します。
- 編集するテンプレートを検索します。
- 必要なテンプレートの行で、Clone をクリックします。
- 必要に応じてテンプレートを編集します。詳細は、付録B テンプレート作成リファレンス を参照してください。
- Submit をクリックします。
- Administer > Settings > Provisioning に移動します。
必要に応じて次の設定を変更します。
- Default Global registration template の設定で、カスタムのグローバル登録テンプレートを指定します。
- Default 'Host initial configuration' template の設定で、カスタムの初期設定テンプレートを指定します。
3.3.9. 登録トークンの無効化 リンクのコピーリンクがクリップボードにコピーされました!
グローバルホスト登録で登録コマンドを生成すると、Satellite は、ホストから Satellite Server への登録呼び出しを承認する時に使用される一意の JSON Web Token (JWT) も生成します。必要に応じて、以前に発行された JWT を無効にできます。
JWT は、登録コマンドを生成したユーザーにバインドされます。
ユーザーは JWT の有効期間をカスタム設定できます。有効期間が長すぎる場合、または JWT が侵害された場合、JWT はセキュリティーリスクが発生する可能性があります。この懸念を軽減するために、Satellite 管理者または適切な権限のあるユーザーは、既存の JWT を無効化できます。
ユーザーを無効化することで、登録トークンを一時的に無効にすることもできます。ユーザーを再度有効にすると、ユーザーは登録トークンを引き続き使用できるようになります。
3.3.9.1. Satellite Web UI を使用して独自の JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Satellite Web UI から、現在のユーザーのすべての登録 JSON Web トークンを無効できます。
手順
- Satellite Web UI で、上部バーのユーザーメニューをクリックし、My Account を選択します。
- Registration Tokens タブを選択します。
- Invalidate JWTs をクリックします。
- 確認ウィンドウで、Confirm をクリックします。
検証
-
Satellite Web UI に、
Successfully invalidated registration tokens.とのメッセージが表示されます。
3.3.9.2. Hammer CLI を使用して独自の JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Hammer CLI を使用して、現在のユーザーのすべての登録 JSON Web トークンを無効にできます。
手順
すべての登録トークンを無効にします。
$ hammer user registration-token invalidate --user-id My_User_ID
3.3.9.3. Satellite API を使用して独自の JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Satellite API を使用して、現在のユーザーのすべての登録 JSON Web トークンを無効にできます。
手順
DELETE/api/users/:user_id/registration_tokensリソースを使用します。詳細は、
https://satellite.example.com/apidoc/v2.htmlにある完全な API リファレンスを参照してください。
3.3.9.4. Satellite Web UI を使用して他のユーザーの JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Satellite Web UI から、1 人以上のユーザーのすべての登録 JSON Web トークンを無効にできます。
前提条件
-
Satellite ユーザーに
edit_users権限を付与するロールがある。Satellite Web UI の場合、view_users権限も割り当てられている。
手順
- Satellite Web UI で、Administer > Users に移動します。
- 登録トークンを無効にするユーザーの行で、アクションメニューから Invalidate JWTs を選択します。
- 確認ウィンドウで、Confirm をクリックします。
検証
-
Satellite Web UI に、
Successfully invalidated registration tokens for the user.のメッセージが表示されます。
3.3.9.5. Hammer CLI を使用して他のユーザーの JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Hammer CLI を使用して、1 つまたは複数のユーザーの登録 JSON Web トークンをすべて無効にできます。
前提条件
-
Satellite ユーザーに
edit_users権限を付与するロールがある。Satellite Web UI の場合、view_users権限も割り当てられている。
手順
単一ユーザーのすべての登録トークンを無効にします。
$ hammer user registration-token invalidate --user-id User_ID複数のユーザーのすべての登録トークンを無効にします。
$ hammer user registration-token invalidate-multiple --search "My_Search_Query"
3.3.9.6. API を使用して他のユーザーの JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Satellite API を使用して、1 つまたは複数のユーザーの登録 JSON Web トークンをすべて無効にできます。
前提条件
-
Satellite ユーザーに
edit_users権限を付与するロールがある。Satellite Web UI の場合、view_users権限も割り当てられている。
手順
-
DELETE/api/users/:user_id/registration_tokensリソースを使用して、1 つのユーザーの登録トークンをすべて無効にします。 -
DELETE/api/registration_tokens?search= url-encoded-search-queryリソースを使用して、複数のユーザーの登録トークンをすべて無効にします。
3.3.9.7. すべてのユーザーの JWT を無効にする リンクのコピーリンクがクリップボードにコピーされました!
Satellite Web UI で、全ユーザーの登録 JSON Web トークンをすべて一度に無効にできます。
前提条件
-
Satellite ユーザーには、
view_usersおよびedit_users権限を付与するロールがある。
手順
- Satellite Web UI で、Administer > Users に移動します。
- Invalidate JWTs for all users をクリックします。
- 確認ウィンドウで、Confirm をクリックします。
検証
-
Satellite Web UI に、
Successfully invalidated registration tokens for all users.のメッセージが表示されます。