Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Red Hat Satellite の管理

Red Hat Satellite 6.3

Red Hat Satellite の管理ガイド

Red Hat Satellite Documentation Team

概要

本ガイドでは、Red Hat Satellite 6 Server を設定および管理する手順について説明します。この作業を続行する前に、Red Hat Satellite 6 Server と必要なすべての Capsule Server を正常にインストールしておく必要があります。

第1章 Red Hat Satellite へのアクセス

1.1. Red Hat Satellite へのログイン

Red Hat Satellite のインストールと設定が終わったら、Web ユーザーインターフェースを使用して Satellite にログインし、追加の設定を行います。

Katello ルート CA 証明書のインストール

初めて Satellite にログインする場合は、デフォルトの自己署名証明書を使用しており、適切なルート CA 証明書がブラウザーにインストールされるまでこのブラウザーを Satellite に接続できないことを通知する警告が表示されることがあります。以下の手順を実行して、Satellite サーバー上でルート CA 証明書を特定し、ブラウザーにインストールします。

  1. http://satellite.example.com/pub を開きます。
  2. katello-server-ca.crt を選択します。
  3. 証明書をブラウザーにインポートします。

Satellite へのログイン:

  1. Web ブラウザーで以下のアドレスを使用して Satellite Server にアクセスします。

    https://satellite.example.com/

    Satellite Server の完全修飾ドメイン名を確認するには、hostname -f コマンドを使用します。

    # hostname -f
    重要

    Satellite に初めてアクセスする場合は、Web ブラウザーに信頼できない接続を警告するメッセージが表示されます。自己署名証明書を承認し、Satellite の URL をセキュリティー例外に追加し、設定を上書きします。この手順は、使用しているブラウザーによって異なる場合があります。

    この操作は、Satellite の URL が信頼できるソースであることを確認できる場合にのみ実行してください。

    Untrusted Connection Warning
  2. 設定プロセスで作成したユーザー名とパスワードを入力します。設定時にユーザーが作成されなかった場合、デフォルトのユーザー名は admin になります。デフォルトの管理者アカウント admin のパスワードを忘れてしまった場合は、「パスワードの変更」 を参照してください。

ログイン後

正常にログインすると、Satellite ダッシュボードに移動します。ダッシュボードには、Satellite と登録されたホストの概要が表示されます。詳細については、Red Hat Satellite コンテンツのダッシュボードの使用検索およびブックマーク を参照してください。

主なナビゲーションタブは以下のとおりです。

表1.1 ナビゲーションタブ

ナビゲーションタブ説明

すべてのコンテキスト

このタブをクリックすると、組織とロケーションが変更されます。組織やロケーションが選択されていない場合、デフォルト組織は 任意の組織 に、デフォルトロケーションは 任意のロケーション になります。このタブを使用して異なる値に変更します。

モニター

概要のダッシュボードおよびレポートを表示します。

コンテンツ

コンテンツ管理ツールを提供します。コンテンツビュー、アクティベーションキー、ライフサイクル環境などが含まれます。

コンテナー

コンテナー管理ツールを提供します。

ホスト

ホストインベントリーおよびプロビジョニング設定ツールを提供します。

設定

一般的な設定ツール、およびホストグループや Puppet データを含むデータを提供します。

インフラストラクチャー

Satellite 6 が環境と対話する方法を設定するツールを提供します。

Red Hat Insights

Red Hat Insights 管理ツールを提供します。

Red Hat Access

Red Hat ナレッジベース、Satellite ログファイル、サポートケースへのアクセスを提供します。

ユーザー名

ユーザーが個人情報を編集できるユーザー管理機能を提供します。

notfications1

環境に対する重要な変更が管理者に通知されるようにイベントの通知が表示されます。

管理

一般設定のほかに、ユーザーおよび RBAC 設定などの詳細設定を提供します。

1.2. パスワードの変更

以下の手順は、パスワードを変更する方法を示しています。

Red Hat Satellite パスワードの変更:

  1. 右上にあるユーザー名をクリックします。
  2. メニューから マイアカウント を選択します。
  3. 現在のパスワード フィールドに現在のパスワードを入力します。
  4. パスワード フィールドに新しいパスワードを入力します。
  5. 確認 フィールドに新しいパスワードを再入力します。
  6. 送信 ボタンをクリックして、新しいパスワードを保存します。

1.3. 管理ユーザーパスワードのリセット

以下の手順は、管理ユーザーパスワードをリセットする方法を示しています。

管理ユーザーパスワードのリセット

  1. Satellite Server がインストールされているマシンにログインします。
  2. 以下のコマンドを実行してパスワードをリセットします。

    # foreman-rake permissions:reset
    Reset to user: admin, password: qwJxBptxb7Gfcjj5
  3. Web インターフェースにログインして、パスワードを変更します。

1.4. ログインページでのカスタムメッセージの設定

ログインページにカスタムメッセージを設定するには、以下の手順を実行します。

  1. 管理 > 設定 に移動して、全般 タブをクリックします。
  2. ログインページフッターテキスト の横にある編集ボタンをクリックして、ログインページに表示させるテキストを入力します。たとえば、自社で必須とされる警告メッセージなどにすることができます。
  3. 保存 をクリックします。
  4. Satellite の web UI からログアウトして、ログインページで Satellite バージョン番号の下にカスタムテキストが表示されることを確認します。

1.5. noVNC コンソールの設定

Satellite web UI 内の noVNC コンソールを使って仮想マシンにアクセスするには、ブラウザーでネットワークポートと Satellite 証明書を設定する必要があります。Satellite で NoVNC コンソールを使用する方法については、『Red Hat Satellite Provisioning Guide』の Configuring the NoVNC Console セクションを参照してください。

第2章 Red Hat Satellite の起動および停止

Satellite は、コマンドラインから Satellite サービスを管理するために katello-service コマンドを提供します。このコマンドは Satellite のバックアップを作成する場合に役に立ちます。バックアップ作成に関する詳細は、「Satellite Server および Capsule Server のバックアップ」 を参照してください。

satellite-installer コマンドを使用して Satellite をインストールした後に、すべての Satellite サービスは自動的に起動され有効になります。これらのサービスのリストを表示するには、以下のコマンドを実行します。

# katello-service list

実行中のサービスのステータスを確認するには、以下のコマンドを実行します。

# katello-service status

すべての Satellite サービスを停止するには、以下のコマンドを実行します。

# katello-service stop

すべての Satellite サービスを起動するには、以下のコマンドを実行します。

# katello-service start

すべての Satellite サービスを再起動するには、以下のコマンドを実行します。

# katello-service restart

第3章 リソースのモニタリング

本章では、管理システムのモニタリングとレポーティングの設定方法について説明します。これには、ホストの設定やコンテンツビュー、コンプライアンス、サブスクリプションと現在登録されているホスト、プロモーションおよび同期が含まれます。

3.1. Red Hat Satellite コンテンツダッシュボードの使用

Red Hat Satellite コンテンツダッシュボードには、ホストの設定の概要やコンテンツビュー、コンプライアンスレポート、サブスクリプションと現在登録されているホストの状態についての概要や、プロモーションおよび同期の概要、さらに最新の通知一覧などを提供する各種ウィジェットが含まれています。

コンテンツダッシュボードにアクセスするには、モニター > ダッシュボード に移動します。ダッシュボードは、各ウィジェットをクリックして別の位置にドラッグすることで、配置を変更することができます。以下のウィジェットが利用できます。

ホスト設定の状態

最後のレポーティング期間におけるホストの設定状態およびそれに該当するホスト数。以下の表では、各設定状態を説明しています。

表3.1 ホスト設定の状態

アイコン状態説明

1

変更をエラーなく実行したホスト

最後のレポーティング期間に変更が正常に実行されたホスト。

2

エラー状態のホスト

最後のレポーティング期間にエラーが検出されたホスト。

3

直近 35 分間での良好なホストレポート

直近の 35 分間で変更を行わず、エラーがないホスト。

4

保留中の変更があるホスト

いくつかのリソースが適用されているものの、Puppet が noop モードで実行されるように設定されたホスト。

5

同期していないホスト

同期がされておらず、最後のレポーティング期間にレポートが受信されていないホスト。

6

レポートのないホスト

最後のレポーティング期間にレポートが受信されていないホスト。

7

警告が無効にされているホスト

監視対象外のホスト。

設定状態のいずれかをクリックすると、該当するホストが表示されます。

ホスト設定チャート
ホスト状態の割合と該当するホストのパーセンテージを示す円グラフ。
最新イベント

管理情報、製品、サブスクリプションの変更およびエラーに関するホストが生成するメッセージの一覧です。

すべてのユーザーに送信されるグローバル通知や、異常なアクティビティーまたはエラーを検出するためにこのセクションをモニターします。

実行分布 (直近 30 分)
デフォルトでは 30 分となっている直近の Puppet 間隔中の実行中 Puppet エージェントの分布状況を示すグラフです。このケースでは、各コラムで 3 分間にクライアントから受け取ったレポート数を示しています。
新規ホスト
最近作成されたホスト一覧。ホストをクリックすると、詳細が表示されます。
タスクのステータス
ステータスと結果別に分類される現在のすべてのタスクの概要です。タスク番号をクリックすると、対応するタスクの一覧が表示されます。
最新の警告/エラータスク
警告またはエラーにより停止している最新タスクの一覧です。タスクをクリックして詳細を確認してください。
検出されたホスト
検出プラグインによってプロビジョニングネットワークで検出されたベアメタルホストの一覧です。
最新のエラータ
Satellite に登録されているホストで利用できるすべてのエラータの一覧です。
コンテンツビュー
Satellite におけるすべてのコンテンツビューおよびそれらの公開状態の一覧です。
同期の概要
Satellite で有効にされているすべての製品またはリポジトリーおよびそれらの同期の状態の概要です。同期待ちになっている製品、同期されていない製品、同期が行われた製品はすべてこのセクションに一覧表示されます。
ホストサブスクリプションの状態

Satellite に登録されているホストによって現在使用されているサブスクリプションの概要です。サブスクリプションとはご購入いただいた証明書を指します。このサブスクリプションでホストのソフトウェア、アップグレード、およびセキュリティー修正などが利用できるようになります。以下の表はサブスクリプションの状態の種類を示しています。

表3.2 ホストのサブスクリプションの状態

アイコン状態説明

1229

無効

製品がインストールされていて、サブスクリプションが適切に使用されていないホストです。これらのホストには早急な対応が必要です。

1230

部分使用

サブスクリプションが使用されていて、有効なエンタイトルメントを持つホストですが、それらのエンタイトルメントは完全には使用されていません。これらのホストが予定通りに設定されていることを確認するために、これらのホストをモニターする必要があります。

1228

有効

有効なエンタイトルメントを有し、それらのエンタイトルメントを完全に使用しているホストです。

サブスクリプションタイプを選択し、選択したタイプのサブスクリプションに関連付けられたホストを表示します。

サブスクリプションのステータス
アクティブなサブスクリプションの数、次の 120 日で期限の切れるサブスクリプションの数、および最近期限切れになったサブスクリプションの数を表示する現在のサブスクリプション合計の概要です。
ホストコレクション
Satellite 内のすべてのホストコレクションとそれらの状態の一覧で、各ホストコレクション内のコンテンツホストの数なども含まれます。
Virt-who 設定の状態

環境内のホスト上で稼働している virt-who デーモンから受け取ったレポートの状態。以下の状態があります。

表3.3 Virt-who 設定状態

状態説明

レポートなし

virt-who 設定デプロイメント中にエラーが発生したか、設定がデプロイされていないか、もしくは予定された期間に virt-who が Foreman に接続できないか、いずれかのためにレポートが受信されていません。

変更なし

ハイパーバイザーが仮想マシン上で変更を検出していない、または virt-who が予定された期間中にレポートのアップロードに失敗したために、レポートが受信されていません。仮想マシンを追加したものの、設定が 変更なし 状態にある場合は、その virt-who が実行中か確認してください。

OK

予定期間中にエラーなしでレポートが受信されました。

設定合計数

virt-who 設定の合計数。

各状態の設定を表示するには、その設定状態をクリックします。

このウィジェットでは、変更のない最新の設定 にある 変更なし で最新の 3 つの設定も一覧表示されます。

最新のコンプライアンスレポート
最新のコンプライアンスレポート一覧。各コンプライアンスレポートでは、パス (P)、不合格 (F)、その他 (O) のルール数が表示されます。ホストをクリックすると、コンプライアンスレポートの詳細が表示されます。ポリシーをクリックすると、その詳細が表示されます。
コンプライアンスレポートの内訳
コンプライアンスレポートの状態の分布を示す円グラフ。
Red Hat Insights Actions
Red Hat Insights は Satellite に組み込まれたツールで、環境をチェックし、実行可能なアクションを提案します。アクションは、可用性、安定性、パフォーマンス、セキュリティーの 4 つに分けられます。
Red Hat Insights リスクサマリー

リスクレベルに応じたアクションの分布を示す表です。リスクレベルは、アクションの重要性と問題を発生させる可能性を示しています。リスクレベルには、低、中、高、重大があります。

注記

Satellite Web UI で表示される日付の形式を変更することはできません。

3.1.1. タスクの管理

Red Hat Satellite は、同期されたリポジトリー、適用されたエラータ、公開されたコンテンツビューなどの計画されたタスクまたは実行されたタスクのすべての詳細なログを保持します。ログを確認するには、モニター > タスク に移動します。このページから、特定のタスクを検索し、状態と詳細を確認し、(該当する場合は) エラーを出したタスクを再開できます。

タスクは Dynflow エンジンを使用して管理されます。リモートタスクには、必要に応じて調整できるタイムアウトが設定されます。

タイムアウト設定を調整するには、以下を実行します。

  1. 管理 > 設定 に移動します。
  2. 検索ボックスに %_timeout を入力し、検索 をクリックします。検索では、説明を含む 4 つの設定が返されます。
  3. のコラムで、数字の横にあるアイコンをクリックして編集します。
  4. 希望する秒数を入力したら、保存 をクリックします。
注記

低帯域幅の場合は %_finish_timeout 値の編集が役に立つ場合があります。待ち時間が長い場合は %_accept_timeout 値の編集が役立つことがあります。

タスクが初期化されると、Candlepin または Pulp などのタスクで使用されるすべてのバックエンドサービスについて正常に機能するかどうかがチェックされます。チェックにパスしない場合は、次のようなエラーを受信します。

There was an issue with the backend service candlepin: Connection refused – connect(2).

バックエンドサービスチェック機能で問題が発生する場合は、以下の方法で無効にできます。

サービスのチェックを無効にするには、以下を実行します。

  1. 管理 > 設定 に移動します。
  2. 検索ボックスに check_services_before_actions を入力し、検索 をクリックします。
  3. コラムでアイコンをクリックして値を編集します。
  4. ドロップダウンメニューから false を選択します。
  5. 保存 をクリックします。

第4章 検索およびブックマーク機能

Satellite Web UI は Web UI の大半のページで利用できる強力な検索機能を特長としています。この機能によって Satellite Server が管理するあらゆる種類のリソースを検索できます。検索では、フリーテキストと構文ベースのクエリーの両方を使用でき、クエリーは詳細な予測入力を使用して実行されます。検索クエリーは今後の再利用に備えてブックマークとして保存することができます。

4.1. 検索クエリーの構築

検索クエリーの入力を開始すると、現在のクエリーを補完する有効なオプションの一覧が表示されます。一覧からオプションを選択するか、補完機能を使用してクエリーを構築するか、または入力を継続するかのいずれかのオプションを選択できます。検索エンジンがフリーテキストを解釈する方法については、「フリーテキスト検索の使用」 を参照してください。

4.1.1. クエリーの構文

パラメーター演算子

検索に利用できるフィールド、リソースおよびクエリーが解釈される方法はコンテキスト、つまり検索を実行するページによって異なります。たとえば、「ホスト」ページの「ホストグループ」フィールドは「ホストグループ」ページの「名前」フィールドに相当します。またフィールドのタイプにより、利用可能な演算子および許可される値が決まります。すべての演算子の一覧については、演算子 を参照してください。値の形式についての説明は、 を参照してください。

4.1.2. 演算子

パラメーター の間で使用できるすべての演算子は以下の表に一覧表示されています。予測に基づいて構築されるクエリーで表示される可能性のある他の記号および特殊文字 (コロンなど) には特別な意味がなく、フリーテキストとして処理されます。

表4.1 検索で使用できる比較演算子

演算子ショートネーム説明

=

EQUALS

数値、時間的な値 (temporal value) またはテキストの値を受け入れます。テキストの場合、大文字と小文字が区別された完全一致が返されます。

hostgroup = RHEL7

!=

NOT EQUALS

~

LIKE

テキストまたは時間的な値 (temporal value) を受け入れます。大文字と小文字を区別しない一致を返します。1 文字の場合の _、ゼロを含む任意の数の文字の場合の % または たは * などのワイルドカードを受け入れます。ワイルドカードが指定されない場合、文字列はワイルドカードで囲まれている場合の様に処理されます (例: %rhel7%)。

hostgroup ~ rhel%

!~

NOT LIKE

>

GREATER THAN

数値、または時間的な値 (temporal value) を受け入れます。時間的な値の場合、演算子 > is は「later than (次の日付より後)」として、< は「earlier than (次の日付より前)」として解釈されます。どちらの演算子も EQUALS: >= <= と組み合わせることができます。

registered_at > 10-January-2017
検索結果では、指定された日付の後、つまり 2017 年 1 月 10 日から現在までの間に登録されたホストが返されます。

registered_at <= Yesterday
検索結果では、昨日または昨日よりも前に登録されたホストが返されます。

<

LESS THAN

^

IN

SQL の場合と同様に、値の一覧に対して式を比較します。値が含まれる一致または値の含まれない一致をそれぞれ返します。

release_version !^ 7

!^

NOT IN

HAS or set?

 

存在する値、または存在しない値をそれぞれ返します。

has hostgroup または set? hostgroup
「Puppet クラス」ページでは、検索は 1 つ以上のホストグループに割り当てられるクラスを返します。

not has hostgroup または null? hostgroup
ホストの概要が示される「ダッシュボード」では、検索はホストグループが割り当てられていないすべてのホストを返します。

NOT HAS or null?

 

記述された構文に従う単純なクエリーを組み合わせて、論理演算子の AND、OR および NOT を使用してより複雑なクエリーにすることができます。演算子の代替表記も使用できます。

表4.2 検索で使用できる論理演算子

演算子代替表記

and

&

&&

<空白文字>

class = motd AND environment ~ production

or

|

||

 

errata_status = errata_needed || errata_status = security_needed

not

!

 

hostgroup ~ rhel7 not status.failed

4.1.3. 値

テキストの値

空白文字を含むテキストは引用符で囲む必要があります。囲まないと、空白は AND 演算子として解釈されます。

例:

hostgroup = "Web servers"

検索は、「Web Servers」という名前の割り当て済みのホストグループと共にホストを返します。

hostgroup = Web servers

検索は、 %servers% に一致するフィールドを持つホストグループ Web のホストを返します。

時間の値

以下を含め、数多くの日付/時刻形式を使用できます。

  • "10 January 2017"
  • "10 Jan 2017"
  • 10-January-2017
  • 10/January/2017
  • "January 10, 2017"
  • 「Today」、「Yesterday」など。
警告

02/10/2017 または 10-02-2017 などのあいまいな日付形式を使用しないようにしてください。

4.3. ブックマークの管理

検索クエリーをブックマークとして保存し、再利用することもできます。ブックマークは削除したり、変更したりすることもできます。

ブックマークは、作成されたページでのみ表示されます。一部のページには、すべての アクティブ または 無効なホストなど、一般的な検索で使用可能なデフォルトのブックマークがあります。

4.3.1. ブックマークの作成

本セクションでは、検索クエリーをブックマークとして保存する方法について説明します。関連ページ用の検索クエリーのブックマークは、作成したそのページで保存する必要があります。たとえば、ホスト関連の検索クエリーは、ホストページで保存します。

ブックマークを作成するには、以下の手順に従います。

  1. ブックマークを作成するページに移動します。
  2. 検索 フィールドに保存する検索クエリーを入力します。
  3. 検索 ボタンの右側にある矢印を選択し、この検索をブックマーク を選択します。
  4. 名前 フィールドに 新規ブックマークの名前を入力します。
  5. 検索クエリー フィールドに正しい検索クエリーがあることを確認します。
  6. 公開 チェックボックスの設定を確認します。

    • 公開 にチェックを入れると、ブックマークが公開されて全ユーザーに見えるようになります。
    • 公開 のチェックを外すと、ブックマークが非公開となり、作成したユーザーのみに見えるようになります。
  7. 送信 をクリックします。

作成されたことを確認するには、検索 ボタンの右側にある矢印を選択してブックマーク一覧を表示するか、管理 > ブックマーク に移動してから、ブックマークの名前を ブックマーク 一覧で確認します。

4.3.2. ブックマークの削除

ブックマークは、ブックマークページで削除できます。

ブックマークの削除手順

  1. 管理 > ブックマーク に移動します。
  2. ブックマークページで、削除するブックマークの 削除 をクリックします。
  3. 確認ウィンドウが表示されたら、OK をクリックして削除を確認します。

削除されたことを確認するには、ブックマークの名前がないことを ブックマーク 一覧で確認します。

第5章 ユーザーとロールの管理

ユーザーでは、システムを使用する各個人の一連の詳細情報を定義します。ユーザーにはデフォルトの組織と環境を割り当て、新しいエンティティーを作成する際にこれらのデフォルト値を自動的に使用することができます。また、ユーザーには 1 つ以上のロールを割り当てることもできます。これにより、ユーザーには組織と環境を参照および管理する権限が与えられます。ユーザーの使用の詳細については、「ユーザーの作成および管理」 を参照してください。

複数のユーザーのパーミッションは、ユーザーグループでまとめることにより一括して管理できます。また、ユーザーグループ自体をさらにグループ化してパーミッションの階層を作成できます。ユーザーグループの作成の詳細については、「ユーザーグループの作成と管理」 を参照してください。

ロールでは、一連のパーミッションおよびアクセスレベルを定義します。各ロールには、ロールに許可されたアクションを指定する 1 つ以上のパーミッションフィルターが含まれます。アクションは、リソースタイプに従ってグループ化されます。ロールが作成されたら、そのロールにはユーザーとユーザーグループを関連付けることができます。この場合は、ユーザーの大きなグループに同じ一連のパーミッションセットを割り当てることができます。Red Hat Satellite では、事前定義された一連のロールが提供され、「ロールの作成および管理」 で説明されているようにカスタムロールおよびパーミッションフィルターを作成することもできます。

5.1. ユーザーの作成および管理

Red Hat Satellite では、管理者はユーザーを作成、変更、および削除できます。また、ロールをユーザーに割り当てることによってアクセスパーミッションを設定することもできます。

5.1.1. ユーザーの作成

以下の手順は、ユーザーを作成する方法を示しています。

ユーザーの作成:

  1. 管理 > ユーザー に移動します。
  2. ユーザーの作成 をクリックします。
  3. ユーザー名 フィールドに、Web UI にログインする際に使用するユーザー名を入力します。
  4. および フィールドに、ユーザーの名前を入力します。
  5. Email アドレス フィールドに email アドレスを入力します。
  6. 説明 フィールドには、新規ユーザーの説明を加えます。
  7. オプションで、言語 のドロップダウンメニューから特定言語を選択します。デフォルトでは、ユーザーのブラウザーの言語設定を使用します。
  8. オプションで、タイムゾーン ドロップダウンメニューから特定のタイムゾーンを選択します。デフォルトでは、ユーザーのブラウザーのタイムゾーン設定を使用します。
  9. ユーザーのパスワードを設定します。

    • 認証先 ドロップダウンメニューから、ユーザーを認証するソースを選択します。内部 を選択すると、ユーザーを Satellite Server 内で管理できます。または、10章外部認証の設定 の説明にあるような LDAPIdM などの外部認証を設定することもできます。
    • パスワード フィールドに初期パスワードを入力して、確認 フィールドで再入力します。
  10. 送信 をクリックしてユーザーを作成します。
  11. ユーザー名を選択して、設定を進めます。
  12. 電子メール設定 タブでは、メールの有効化 にチェックを入れると、メール通知が有効になります。割り当てられたロールによって、通知オプションをここで設定できます。
  13. ロケーション タブでは、ユーザーがアクセス可能となるロケーションを選択します。ユーザーに複数のロケーションを割り当てる場合は、ログインのデフォルト ドロップダウンメニューからユーザーログイン時のデフォルトのロケーションを選択できます。それ以外の場合は、ユーザーログイン時のロケーションは、任意のロケーション で選択します。
  14. 組織 タブでは、ユーザーがアクセス可能となる組織を選択します。ユーザーに複数の組織を割り当てる場合は、ログインのデフォルト ドロップダウンメニューからユーザーログイン時のデフォルトの組織を選択できます。それ以外の場合は、ユーザーログイン時のロケーションは、任意の組織 で選択します。
  15. ロール タブでは、ユーザーに必須のロールを選択します。
  16. SSH キー タブでは、SSH 公開キーを追加できますが、ユーザーが保存されるまでは追加できません。
  17. 送信 をクリックして変更を保存します。

5.1.2. ユーザーの編集

以下の手順は、既存ユーザーの詳細を編集する方法を示しています。

既存ユーザーの編集:

  1. 管理 > ユーザー に移動します。
  2. 変更するユーザーのユーザー名をクリックします。ユーザーに関する全般情報が右側に表示されます。
  3. ユーザー タブで、ユーザーのユーザー名、名、姓、電子メールアドレス、デフォルトロケーション、デフォルト組織、言語、およびパスワードを変更できます。
  4. ロケーション タブで、割り当てられたユーザーのロケーションを変更できます。
  5. 組織 タブで、割り当てられたユーザーの組織を変更できます。
  6. ロール タブで、割り当てられたユーザーのロールを変更できます。
  7. 送信 をクリックして変更を保存します。

5.1.3. ユーザーへのロールの割り当て

デフォルトでは、新しいユーザーにはロールが割り当てられません。以下の手順は、ユーザーに 1 つ以上のロールを割り当てる方法を示しています。事前定義されたロールから選択するか、「ロールの作成」 で説明されているようにカスタムロールを定義できます。同様の手順はユーザーグループにも適用できます。

ユーザーへのロールの割り当て:

  1. 管理 > ユーザー をクリックします。作成されたユーザーアカウントが表示されない場合は、現在適切な組織を表示していることを確認します。Satellite ですべてのユーザーを一覧表示するには、デフォルトの組織 をクリックしてから 任意の組織 をクリックします。組織ビューは すべてのコンテキスト に変更されます。
  2. 変更するユーザーのユーザー名をクリックします。ユーザーに関する全般情報が右側に表示されます。
  3. ロケーション タブをクリックして、ロケーションが割り当てられていない場合は選択します。
  4. 組織 タブをクリックして、組織が割り当てられていることを確認します。
  5. ロール タブをクリックして利用可能な割り当て済みロールのリストを表示します。
  6. ロール リストで、ユーザーに割り当てるロールを選択します。リストには、事前定義されたロールとカスタムロールが含まれます (表5.1「Red Hat Satellite で利用可能な事前定義済みロール」 を参照)。または、管理者 チェックボックスを選択して、選択されたユーザーに利用可能なすべてのパーミッションを割り当てます。
  7. 保存 をクリックします。

ユーザーに割り当てられたロールを参照するには、ロール タブをクリックします。割り当てられたロールは、選択された項目 に表示されます。ロールを削除するには、選択された項目 でロール名をクリックすると、削除されます。

5.1.4. ユーザーへの SSH キーの追加

以下の手順では、公開 SSH キーを既存のユーザーに追加する方法について説明します。これにより、プロビジョニング中に SSH キーのデプロイメントが可能になります。

プロビジョニング中に SSH キーをデプロイする方法については、『Red Hat Satellite Provisioning Guide』 の Deploying SSH Keys during Provisioning を参照してください。

SSH キーおよびその作成方法についての詳細は、『Red Hat Enterprise Linux 7 システム管理者のガイド』の 鍵ベース認証の使用 を参照してください。

注記

Red Hat Satellite 管理ユーザーとして Web UI にログインするか、create_ssh_key パーミッションを有効にするようにしてください。

ユーザーへの SSH キーの追加

  1. 公開 SSH キーのコンテンツをクリップボードに用意します。
  2. 管理 > ユーザー に移動します。
  3. ユーザー名 コラムからユーザー名をクリックします。
  4. SSH キー タブを選択します。
  5. SSH キーの作成 をクリックします。
  6. キー フィールドに公開 SSH キーのコンテンツを貼り付けます。
  7. 名前 フィールドに SSH キーの名前を入力します。
  8. 送信 をクリックします。キーの送信が成功すると、確認通知が表示されます。

5.1.5. ユーザーから SSH キーを削除する

以下の手順では、公開 SSH キーを既存のユーザーから削除する方法について説明します。

ユーザーからの SSH キーの削除

  1. destroy_ssh_key パーミッションを有効にして、管理ユーザーとして Satellite web UI にログインします。
  2. 管理 > ユーザー に移動します。
  3. ユーザー名 コラムからユーザー名をクリックします。
  4. SSH キー タブを選択します。
  5. 削除する SSH キーの列にある 削除 をクリックします。
  6. プロンプトで OK をクリックします。削除が成功したことを示す確認メッセージが表示されます。

5.1.6. 電子メール通知の設定

電子メール通知は、ユーザーごとに設定し、デフォルトでは有効になりません。電子メール通知を個人の電子メールアドレスではなくグループの電子メールアドレスに送信する場合は、グループの電子メールアドレスと最小の Satellite パーミッションでユーザーアカウントを作成し、そのユーザーアカウントを必要な通知タイプにサブスクライブします。

重要

Satellite Server は、デフォルトでは送信電子メールを有効にしないため、電子メール設定を確認する必要があります。詳細は『Red Hat Satellite Installation Guide』の Configuring Satellite Server for Outgoing Emails を参照してください。

電子メール通知の設定:

  1. 管理 > ユーザー に移動します。
  2. 編集する ユーザー名 をクリックします。
  3. ユーザー タブで、電子メールアドレス フィールドを確認します。有効な電子メールアドレスがあることを確認します。このアドレスはユーザーアカウントに関連付けられ、以下のステップで選択する通知が送信されます。
  4. 電子メール設定 タブをクリックし、メールの有効化 を選択してメール通知を有効にします。
  5. ユーザーが受信する通知を選択します。

    • 監査の概要 は、Satellite Server が監査した全アクティビティーのサマリーです。この通知を有効にするには、ドロップダウンメニューから電子メールの頻度を 毎日毎週、または 毎月 のいずれかで選択します。関連するクエリーフィールドにクエリーを入力すると、含まれる監査アクティビティーを絞り込むことができます。
    • ホストの構築 は、ホストが構築された際に送信される通知です。この通知を有効にするには、ドロップダウンメニューから 購読する を選択します。
    • ホストエラータアドバイザリー は、ユーザーが管理するホストの適用およびインストール可能なエラータの概要です。この通知を有効にするには、ドロップダウンメニューから電子メールの頻度を 毎日毎週、または 毎月 のいずれかで選択します。
    • ホストエラータアドバイザリーは、OpenSCAP ポリシーレポートとその結果の概要です。この通知を有効にするには、ドロップダウンメニューから電子メールの頻度を 毎日毎週、または 毎月 のいずれかで選択します。
    • エラータのプロモート は、コンテンツビューのプロモーション後にのみ送信される通知です。これには、プロモートされたコンテンツビューに登録された適用およびインストール可能なエラータの概要が含まれます。この場合は、どのアップデートがどのホストに適用されたかを監視できます。この通知を有効にするには、ドロップダウンメニューから 購読する を選択します。
    • Puppet エラー状態 は、ホストが Puppet に関連するエラーを報告した後に送信される通知です。この通知を有効にするには、ドロップダウンメニューから 購読する を選択します。
    • Puppet サマリーは、Puppet レポートのサマリーです。この通知を有効にするには、ドロップダウンメニューから電子メールの頻度を 毎日毎週、または 毎月 のいずれかで選択します。
    • エラータの同期 は、リポジトリーの同期後にのみ送信される通知です。これには、同期で導入された新しいエラータの概要が含まれます。この通知を有効にするには、ドロップダウンメニューから 購読する を選択します。
  6. 送信 をクリックします。

電子メール配信テスト

ユーザーアカウントに関連付けられた電子メールアドレスへの電子メール配信をテストするには、Satellite Web UI を開き、管理 > ユーザー に移動し、ユーザー名をクリックして、電子メール設定 タブをクリックして、電子メールのテスト をクリックします。ユーザーの電子メールアドレスにテスト電子メールメッセージがすぐに送信されます。メッセージが受信されない場合は、最初にユーザーの電子メールアドレスを確認し、次に Satellite Server の電子メール設定を確認します。さらに、ファイアウォールとメールサーバーのログを調べる必要がある場合もあります。

電子メール通知のテスト

選択した電子メール通知の購読が有効であることを確認するために、定期的な通知がリクエストに応じて送信されるようにすることができます。ただしこれは、指定された頻度で送信される予定の全通知に適用されるので、該当するメールを購読している全ユーザーに影響します。個別のユーザーにリクエストに応じて送信することは、現在サポートされていません。

通知を適用するには、Satellite Server で以下のコマンドを実行します。

# foreman-rake reports:frequency

frequency の部分は、以下のいずれかの頻度で置き換えます。

  • daily (毎日)
  • weekly (毎週)
  • monthly (毎月)

5.1.7. ユーザーの削除

以下の手順は、既存のユーザーを削除する方法を示しています。

ユーザーの削除:

  1. メインメニューで 管理 > ユーザー をクリックして、ユーザー ページを開きます。
  2. 削除するユーザー名の右側にある 削除 リンクをクリックします。
  3. 警告ボックスで、OK をクリックしてユーザーを削除します。

5.2. ユーザーグループの作成と管理

Red Hat Satellite では、ユーザーのグループにパーミッションを割り当てることができます。また、ユーザーグループを他のユーザーグループのコレクションとして作成することもできます。外部認証ソースを使用している場合は、「外部ユーザーグループの設定」 で説明されているように Satellite ユーザーグループを外部ユーザーグループに対してマップできます。

ユーザーグループは組織コンテキストで定義されます。したがって、ユーザーグループにアクセスする前に組織を選択する必要があります。

5.2.1. ユーザーグループの作成

以下の手順では、ユーザーグループを作成する方法を示します。

ユーザーグループの作成:

  1. 管理 > ユーザーグループ に移動します。
  2. ユーザーグループの作成 をクリックします。
  3. ユーザーグループ タブで、新規ユーザーグループの名前を指定し、グループメンバーを選択します。

    • ユーザーグループ のリストから、以前に作成したユーザーグループを選択します。
    • ユーザー のリストからユーザーを選択します。
  4. ロール タブで、ユーザーグループに割り当てるロールを選択します。または、管理者 チェックボックスを選択して利用可能なすべてのパーミッションを割り当てます。
  5. 送信 をクリックします。

5.2.2. ユーザーグループの削除

以下の手順では、既存のユーザーグループを削除する方法を示します。

ユーザーグループを削除する手順

  1. 管理 > ユーザーグループ に移動します。
  2. 削除するユーザーグループの右側にある 削除 をクリックします。
  3. 警告ボックスで、OK をクリックしてユーザーグループを削除します。

5.3. ロールの作成および管理

Red Hat Satellite では、標準的なタスクに十分なパーミッションを持つ一連の事前定義済みロールが提供されます (表5.1「Red Hat Satellite で利用可能な事前定義済みロール」 を参照)。また、カスタムロールを設定し、1 つ以上のパーミッションフィルターをそれらに割り当てることもできます。パーミッションフィルターでは、特定のリソースタイプに許可されるアクションを定義します。特定の Satellite プラグインによりロールが自動的に作成されます。

表5.1 Red Hat Satellite で利用可能な事前定義済みロール

ロールロールで提供されるパーミッション[a]

Access Insights Admin

Insights のルールの追加、編集。

Access Insights Viewer

Insight レポートの表示。

Boot disk access

起動ディスクのダウンロード。

Compliance manager

SCAP コンテンツファイル、コンプライアンスポリシー、テーラリングファイルの表示、作成、編集、破棄。コンプライアンスレポートの表示。

Compliance viewer

コンプライアンスレポートの表示。

Create ARF report

コンプライアンスレポートの作成。

Default role

他のロールに関係なく、各ユーザーに与えられる一連のパーミッション。

Discovery Manager

検出されたホストを表示、プロビジョニング、編集、および破棄し、検出ルールを管理します。

Discovery Reader

ホストと検出ルールを表示します。

Edit hosts

ホストを表示、作成、編集、破棄、および構築します。

Edit partition tables

パーティションテーブルを表示、作成、編集、および破棄します。

Manager

管理者のロールに似ているが、グローバル設定の編集パーミッションがありません。Satellite web UI では、グローバル設定は、管理 > 設定 にあります。

Organization admin

組織ごとに定義された管理者ロール。このロールでは、他の組織のリソースは表示できません。

Red Hat Access Logs

ログビューアーとログを表示します。

Remote Execution Manager

完全リモート実行パーミッションのあるロール。ジョブテンプレートの編集も含まれます。

Remote Execution User

リモート実行ジョブを実行します。

Site manager

Manager ロールの制限バージョン。

Tasks manager

Satellite タスクを表示および編集します。

Tasks reader

Satellite タスクの表示のみが可能なロール。

ビューワ

Satellite 構造、ログ、レポートおよび統計の各要素の設定を表示できる機能を提供する受動的なロール。

View hosts

 ホストの表示のみが可能なロール。

Virt-who Manager

完全な virt-who パーミッションのあるロール。

Virt-who Reporter

virt-who が生成したレポートを Satellite にアップロードできます。virt-who を手動で設定して、限定的な virt-who パーミッションを持つユーザーロールが必要な場合に使用できます。

Virt-who Viewer

virt-who 設定の表示ができます。このロールでは、既存の virt-who 設定 を使用した virt-who インスタンスのデプロイができます。

[a] 事前定義されたロールに関連付けられた一連の許可済みアクションは、Viewing Permissions of a Role で説明されているように特権ユーザーが参照できます。

5.3.1. ユーザーロールの例

Satellite 管理者
管理システムおよびアプリケーションを含む、Satellite 全アイテムのアクセス制御がある最上位レベルの管理者ロールです。
IT オペレーションマネージャー
Satellite アイテムの表示パーミッションがある、読み取り選択ロールです。
ライセンス管理所有者
組織およびレポートの表示パーミッションを含む、マニフェストとサブスクリプション管理のパーミッションがあるタスク特定のロールです。
品質保証
専用のテスト環境でテストを実行する環境およびロケーション固有のロールですが、その環境外のアイテムへのアクセスは限定されます。

表5.2 ユーザーロール設定の例

ロールリソースタイプパーミッションフィルター

Satellite 管理者

管理者 チェックボックスが選択されていることを確認してください。詳細は、ユーザーへのロールの割り当て: を参照してください。

事前設定のパーミッション

 

IT オペレーションマネージャー

ビューワ

事前設定のパーミッション

 

ライセンス管理所有者

その他

access_dashboard
my_organizations
view_statistics

 

製品とリポジトリー

view_products

 

サブスクリプション

view_subscriptions
attach_subscriptions
unattach_subscriptions
import_manifest
delete_manifest

 

組織

view_organizations

 

レポート

view_reports

 

ホスト

view_hosts

 

品質保証

組織

view_organizations

 

環境

view_environments
create_environments
edit_environments
destroy_environments
import_environments

 

その他

view_tasks
view_statistics
access_dashboard

 

ホストクラス

edit_classes

 

ホストグループ

view_hostgroups
edit_hostgroups

 

ホスト

view_hosts
create_hosts
edit_hosts
destroy_hosts
build_hosts
power_hosts
console_hosts
ipmi_boot_hosts
puppetrun_hosts

 

ロケーション

view_locations

 

Puppet クラス

view_puppetclasses

 

Capsule

view_smart_proxies
view_smart_proxies_autosign
view_smart_proxies_puppetca

 

その他

my_organizations

 

製品とリポジトリー

view_products

 

ホストクラス

edit_classes

 

ライフサイクル環境

view_lifecycle_environments
edit_lifecycle_environments
promote_or_remove_content_views_to_environments

name ~ QA

コンテンツビュー

view_content_views
create_content_views
edit_content_views
publish_content_views
promote_or_remove_content_views

name ~ ccv*

5.3.2. ロールの作成

以下の手順は、ロールを作成する方法を示しています。

ロールの作成:

  1. 管理 > ロール に移動します。
  2. 新規ロール をクリックします。
  3. ロールの 名前 を記入します。
  4. 送信 をクリックして、新しいロールを保存します。

目的を達成するために、ロールにはパーミッションを含める必要があります。ロールの作成後は、「ロールへのパーミッションの追加」 に進んでください。

注記

既存のロールをクローンすると、ロール作成の時間を節約できます (特に、既存のパーミッションセットに基づく新しいロールを作成する場合)。ロールをクローンするには、 管理 > ロール に移動し、コピーするロールの右側にあるドロップダウンリストから クローン を選択します。新しいロールの名前を選択し、必要に応じてパーミッションを変更します。

5.3.3. ロールへのパーミッションの追加

以下の手順はパーミッションをロールに追加する方法を示しています。

ロールへのパーミッションの追加:

  1. 管理 > ロール に移動します。
  2. 必要なロールの右側にあるドロップダウンリストから フィルターの追加 を選択します。
  3. ドロップダウンリストから リソースタイプ を選択します。(その他) グループには、どのリソースグループにも関連付けられていないパーミッションが含まれます。
  4. 選択するパーミションを パーミッション リストからクリックします。
  5. リソースタイプ での選択により、無制限上書き のチェックボックスが表示されます。無制限 チェックボックスはデフォルトで選択され、選択されたタイプの全リソースにパーミッションが適用されます。無制限 チェックボックスを無効にすると、検索 フィールドが有効になり、Red Hat Satellite 6 の検索構文を使用して詳細なフィルタリングを指定できます。詳細については、「詳細なパーミッションフィルタリング」 を参照してください。上書き チェックボックスを有効にすると、新たなロケーションと組織を追加して、それらのロケーションや組織のリソースタイプにこのロールがアクセスできるようにできます。また、既に関連付けられたロケーションや組織をリソースタイプから削除して、アクセスを制限することもできます。
  6. 次へ をクリックします。
  7. 送信 をクリックして変更を保存します。

5.3.4. ロールのパーミションの表示

以下の手順は、既存のロールに割り当てられたパーミションを表示する方法を示しています。

ロールに関連付けられたパーミッションの表示:

  1. 管理 > ロール に移動します。
  2. ロールの右側にある フィルター をクリックして、フィルター ページを開きます。

フィルター ページでは、リソースタイプ別にグループ化されたロールに割り当てられたパーミッションの表が示されます。また、このページでは、Satellite システムで使用できるパーミッションとアクションの完全な表を生成できます。手順については、パーミッションの完全な表の作成: を参照してください。

パーミッションの完全な表の作成:

  1. 必要なパッケージがインストールされていることを確認します。Satellite Server で以下のコマンドを実行します。

    # yum install tfm-rubygem-foreman*
  2. 以下のコマンドで Satellite コンソールを起動します。

    # foreman-rake console

    コンソールに以下のコードを挿入します。

    f = File.open('/tmp/table.html', 'w')
    
    result = Foreman::AccessControl.permissions.sort {|a,b| a.security_block <=> b.security_block}.collect do |p|
          actions = p.actions.collect { |a| "<li>#{a}</li>" }
          "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>"
    end.join("\n")
    
    f.write(result)

    上記の構文により、パーミッションの表が作成され、/tmp/table.html ファイルに保存されます。

  3. Ctrl + D を押して、Satellite コンソールを終了します。/tmp/table.html の最初の行に以下のテキストを挿入します。

    <table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>

    /tmp/table.html の最後に以下のテキストを追加します。

    </table>
  4. Web ブラウザーで /tmp/table.html を開いて、表を確認します。

5.3.5. ロールの削除

以下の手順は、既存のロールを削除する方法を示しています。

ロールの削除:

  1. 管理 > ロール に移動します。
  2. 削除するロールの右側にあるドロップダウンリストから 削除 を選択します。
  3. 警告ボックスで、OK をクリックしてロールを削除します。

5.4. 詳細なパーミッションフィルタリング

「ロールへのパーミッションの追加」 で説明されているように、Red Hat Satellite では、リソースタイプの選択済みインスタンスに対する設定済みユーザーパーミッションを制限できます。これらの詳細なフィルターは Satellite データベースに対するクエリーであり、ほとんどのリソースタイプでサポートされています。

詳細なフィルターを作成するには、フィルターの編集 ページの 検索 フィールドにクエリーを指定します。アクティブにするフィールドに対して 無制限 チェックボックスを選択解除します。クエリーの形式は以下のようになります。

field_name operator value

ここで、

  • field_name は、問い合わせるフィールドを示します。利用可能なフィールド名の範囲はリソースタイプによって異なります。たとえば、Partition Table リソースタイプでは、クエリーパラメーターとして familylayout、および name が提供されます。
  • operator は、field_namevalue との間の比較タイプを指定します。適用可能な演算子の概要については、表5.3「詳細な検索に対してサポートされる演算子」 を参照してください。
  • value は、フィルタリングに使用される値です。この値は、組織の名前などです。2 つの種類のワイルドカード文字がサポートされ、アンダースコア (_) は単一の文字を置換し、パーセント記号 (%) はゼロ以上の文字を置換します。

ほとんどのリソースタイプに対して、検索 フィールドは利用可能なパラメーターを示すドロップダウンリストを提供します。このリストは、検索フィールドにカーソルを置くと表示されます。多くのリソースタイプに対しては、and 演算子と or 演算子を使用してクエリーを組み合わせることもできます。

たとえば、以下のクエリーは、host-editors という名前のグループのホストに対してのみ、ホストのリソースタイプに指定されたパーミッションを適用します。

hostgroup = host-editors

以下のクエリーは、XXXX, Yyyy、または zzzz の文字列に名前が一致するレコードを返します。

name ^ (XXXX, Yyyy, zzzz)

また、選択された環境に対するパーミッションを制限することもできます。これを行うには、検索 フィールドに環境名を指定します。以下に例を示します。

Dev

管理者として、選択されたユーザーが環境パスの特定の部分を変更することを許可できます。上記のフィルターを使用すると、アプリケーションライフサイクルの開発段階にあるコンテンツを使用して作業できますが、実稼働環境にプッシュされるとそのコンテンツにはアクセスできなくなります。

注記

Satellite では、検索条件はアクション作成には適用されません。たとえば、検索フィールドで create_locations アクションを name = "Default Location" 式で制限しても、ユーザーが新しく作成されたロケーションにカスタム名を割り当てることができないわけではありません。

検索 フィールドでより詳細なパーミッションフィルターを使用すると、特定の組織またはロケーションにユーザーパーミッションを制限できます。ただし、リソースタイプによっては、ロケーション および 組織 タブを提供する 上書き チェックボックスが、GUI の代わりとなります。これらのタブでは、利用可能な組織とロケーションのリストから選択できます。例5.1「組織に固有なマネージャーロールの作成」 を参照してください。

例5.1 組織に固有なマネージャーロールの作成

この例では、org-1 という名前の単一の組織に制限されたマネージャーロールを作成する方法を示します。

  1. 管理 > ロール に移動します。
  2. 既存の Organization admin ロールをクローンします。フィルター ボタンの横にあるドロップダウンリストから クローン を選択します。この結果、クローンされたロールの名前 (たとえば、org-1 admin) を挿入するよう求められます。
  3. ロールに関連付けるロケーションと組織をクリックします。
  4. 送信 をクリックしてロールを作成します。
  5. org-1 admin をクリックしてから フィルター をクリックし、関連付けられたフィルターを確認します。デフォルトのフィルターはほとんどのケースで機能しますが、編集 をクリックして各フィルターのプロパティーを変更することもできます。フィルターによっては、ロールを追加のロケーションと組織のリソースにアクセス可能としたい場合には、上書き オプションを有効にできます。たとえば、ドメイン リソースタイプを選択して 上書き オプションを選択し、ロケーション組織 タブを使って追加のロケーションと組織を選択すると、このロールに関連付けられていない追加のロケーションと組織のドメインにこのロールがアクセスできるようになります。新規フィルター をクリックして、新規フィルターをこのロールに関連付けることもできます。

第6章 セキュリティーコンプライアンスの管理

セキュリティーコンプライアンス管理は、セキュリティーポリシーの定義、それらのポリシーへのコンプライアンスの監査、およびコンプライアンス違反のインスタンスの解決などを行う継続的なプロセスです。コンプライアンス違反は、組織の設定管理ポリシーに基づいて管理されます。セキュリティーポリシーは、ホスト固有のものから業界共通のものまでに及ぶため、ポリシー定義には柔軟姓が必要になります。

6.1. セキュリティーコンテンツの自動化プロトコル

Satellite 6 では、Security Content Automation Protocol (SCAP) を使ってセキュリティー設定ポリシーを定義します。たとえば、セキュリティーポリシーは、Red Hat Enterprise Linux を実行するホストの場合に SSH 経由のログインを root アカウントに許可しないように指定することが可能です。Satellite 6 では、管理対象の全ホストについて、コンプライアンスの監査とレポーティングをスケジュールすることができます。SCAP についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。

6.1.1. SCAP コンテンツ

SCAP コンテンツは、ホストのチェックに使用される設定およびセキュリティーベースラインが含まれるデータストリーム形式のコンテンツです。チェックリストは extensible checklist configuration description format (XCCDF) および open vulnerability and assessment language (OVAL) の脆弱性に記述されます。ルール とも呼ばれるチェックリスト項目は、システム項目の必要な設定を表します。たとえば、どのユーザーも root ユーザーアカウントを使用して SSH 経由でホストにログインできないように指定することができます。ルールは 1 つ以上のプロファイルに分類でき、複数のプロファイルで 1 つのルールを共有できるようにすることができます。SCAP コンテンツはルールとプロファイルの両方で構成されています。

SCAP コンテンツは、作成することも、ベンダーから取得することも可能です。Red Hat Enterprise Linux 用にサポートされるプロファイルは scap-security-guide パッケージで提供されます。SCAP コンテンツの作成については本ガイドで扱いませんが、独自のコンテンツをダウンロードし、デプロイし、変更し、作成する方法についての詳細は、Red Hat Enterprise Linux 7 セキュリティーガイド または Red Hat Enterprise Linux 6 セキュリティーガイド を参照してください。Red Hat Enterprise Linux と共に提供される SCAP コンテンツは SCAP 仕様 1.2 に準拠しています。

Satellite 6 の OpenSCAP コンポーネントと共に提供されるデフォルトの SCAP コンテンツは、Red Hat Enterprise Linux のバージョンによって異なります。

  • Red Hat Enterprise Linux 6 には、Red Hat Enterprise Linux 6 向けのコンテンツがインストールされます。
  • Red Hat Enterprise Linux 7 には、Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 の両方向けのコンテンツがインストールされます。

6.1.2. XCCDF プロファイル

XCCDF プロファイルは、ホストまたはホストグループの評価に使用されるチェックリストです。プロファイルは、業界標準またはカスタム標準への準拠を確認するために作成されます。

Satellite 6 で提供されるプロファイルは、OpenSCAP project から取得できます。

利用可能な XCCDF プロファイルを一覧表示するには、Satellite web UI で ホスト > SCAP コンテンツ に移動します。

6.2. SCAP コンテンツの設定

6.2.1. OpenSCAP Puppet モジュールのインポート

OpenSCAP コンテンツを Puppet 環境にインポートするには、監査する各ホストを Puppet 環境に関連付ける必要があります。

  1. 設定 > 環境 に移動します。
  2. satellite.example.com からの環境のインポート をクリックします。
  3. 監査するホストに関連付けられた Puppet 環境のチェックボックスを選択します。

    Puppet 環境が存在しない場合は、production 環境のチェックボックスを選択します。

  4. 更新 をクリックします。

6.2.2. 追加の SCAP コンテンツのアップロード

追加の SCAP コンテンツは、各自で作成したものか他から取得したものかを問わず、Satellite Server にアップロードできます。SCAP コンテンツは、ポリシーに適用される前に Satellite Server にインポートされる必要があります。たとえば、Red Hat Enterprise Linux 7.2 リポジトリーで利用可能な scap-security-guide RPM パッケージには、Payment Card Industry Data Security Standard (PCI-DSS) バージョン 3 向けのプロファイルが含まれます。このコンテンツは、オペレーティングシステムのバージョン固有ではないため、Red Hat Enterprise Linux 7.2 を実行していない場合でも Satellite Server にアップロードできます。

デフォルト OpenSCAP コンテンツのロード

  • 以下のコマンドで、OpenSCAP コンテンツを Satellite Server にロードします。

    # foreman-rake foreman_openscap:bulk_upload:default

追加の SCAP コンテンツのアップロード

  1. Satellite Server Web にログインします。
  2. ホスト > SCAP コンテンツ に移動して、新規 SCAP コンテンツ をクリックします。
  3. タイトル テキストボックスに、RHEL 7.2 SCAP Content などのタイトルを入力します。
  4. ファイルの選択 をクリックしてから、SCAP コンテンツファイルが含まれるロケーションに移動し、開く を選択します。
  5. 送信 をクリックします。

SCAP コンテンツファイルが正常にロードされると、Successfully created RHEL 7.2 SCAP Content (RHEL 7.2 SCAP コンテンツが正常に作成されました) といったメッセージが表示され、SCAP コンテンツ のリストに新規のタイトルが含まれます。

6.3. コンプライアンスポリシーの管理

6.3.1. コンプライアンスポリシー

コンプライアンスポリシー とも呼ばれる定期監査は、XCCDF プロファイルに対して指定したホストのコンプライアンスをチェックするスケジュールタスクです。スキャンのスケジュールは Satellite Server で指定され、スキャンはホストで実行されます。スキャンが完了すると、Asset Reporting File (ARF) が XML 形式で生成され、Satellite Server にアップロードされます。スキャンの結果はコンプライアンスポリシーダッシュボードで確認できます。コンプライアンスポリシーでは、スキャンされるホストに変更はなされません。SCAP コンテンツには、関連付けられたルールのあるいくつかのプロファイルが含まれますが、デフォルトではポリシーは含まれません。

6.3.2. ポリシーの作成

以下の手順に従ってコンプライアンスポリシーを作成します。ここでは 、指定された時間にロケーションおよびホストまたはホストグループのいずれかに適用される SCAP コンテンツとプロファイルを指定します。

ポリシーを作成するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動して、新規ポリシー をクリックしてからウィザードのステップに従います。
  2. ポリシーの名前、説明 (オプション) を入力してから 次へ をクリックします。
  3. 適用する SCAP コンテンツおよび XCCDF プロファイルを選択してから 次へ をクリックします。
  4. ポリシーを適用する時間を指定してから 次へ をクリックします。

    期間 のドロップダウンメニューから、毎週毎月、または カスタム を選択します。

    • 毎週 を選択したら 平日 ドロップダウンリストから曜日を選択します。
    • 毎月 を選択したら 日付 フィールドで日付を指定します。
    • カスタム を選択したら Cron 行 フィールドに有効な Cron 式を入力します。

      Custom オプションでは、毎週 もしくは 毎月 オプションよりもスケジュールに柔軟性を持たせることができます。

  5. ポリシーを適用するロケーションを選択してから 次へ をクリックします。
  6. ポリシーを適用する組織を選択してから 次へ をクリックします。
  7. ポリシーを適用するホストグループを選択してから 送信 をクリックします。

Puppet エージェントが選択したホストグループに属するホスト、またはポリシーが適用されているホストで実行される場合、OpenSCAP クライアントがインストールされ、Cron ジョブがポリシーの指定されたスケジュールと共に追加されます。SCAP コンテンツ タブでは、すべてのターゲットホストのディレクトリー /var/lib/openscap/content/ に配信される SCAP コンテンツの名前を指定します。

6.3.3. ポリシーの表示

以下の手順に従って、特定の OpenSCAP コンテンツおよびプロファイルの組み合わせによって適用されるルールのプレビューを行います。これはポリシーを計画する際に便利です。

ポリシーを表示するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ガイドの表示 をクリックします。

6.3.4. ポリシーの編集

以下の手順に従ってポリシーを編集します。編集されたポリシーは、次に Puppet エージェントが Satellite Server で更新をチェックする際にホストに適用されます。これはデフォルトで 30 分ごとに実行されます。

ポリシーを編集するには、以下を実行します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ポリシーの名前の右側にあるドロップダウンリストから、編集 を選択します。
  3. 必要な属性を編集します。
  4. 送信 をクリックします。

編集されたポリシーは、次に Puppet エージェントが Satellite Server で更新をチェックする際にホストに適用されます。これはデフォルトで 30 分ごとに実行されます。

6.3.5. ポリシーの定義

以下の手順を実行して既存のポリシーを削除します。

  1. Satellite web UI で、ホスト > ポリシー に移動します。
  2. ポリシーの名前の右側にあるドロップダウンリストから、削除 を選択します。
  3. 確認メッセージで OK をクリックします。

6.3.6. ホストへのポリシーの追加

ホストにポリシーを追加するには、以下の手順に従います。

  1. Satellite web UI で、ホスト > すべてのホスト に移動します。
  2. ポリシーを追加するホストを選択します。
  3. アクションの選択 をクリックします。
  4. リストから コンプライアンスポリシーの割り当て を選択します。
  5. 新規パネルで、利用可能なポリシー一覧から適切なポリシーを選択し 送信 をクリックします。

6.4. テーラリングファイル

テーラリングファイルを使うと、既存の OpenSCAP ポリシーを分岐したり書き換えたりせずにカスタマイズすることができます。テーラリングファイルは、ポリシー作成時や更新時にポリシーに割り当てることができます。

6.4.1. テーラリングファイルの作成

テーラリングファイルは SCAP Workbench を使用して作成することができます。SCAP Workbench ツールについての詳細は、Customizing SCAP Security Guide for your use-case を参照してください。

6.4.2. テーラリングファイルのアップロード

テーラリングファイルをアップロードするには、以下の手順に従います。

テーラリングファイルのアップロード

  1. Satellite Server Web にログインします。
  2. ホスト > コンプライアンス - テーラリングファイル に移動して、新規 テーラリングファイル をクリックします。
  3. 名前 テキストボックスに、名前を入力します。
  4. ファイルの選択 をクリックしてから、SCAP DataStream テーラリングファイルが含まれるロケーションに移動し、開く を選択します。
  5. 送信 をクリックして、選択したテーラリングファイルをアップロードします。

6.4.3. テーラリングファイルのポリシーへの割り当て

テーラリングファイルをポリシーに割り当てるには、以下の手順に従います。

テーラリングファイルのポリシーへの割り当て

  1. Satellite Server Web にログインします。
  2. ホスト > コンプライアンス - ポリシー に移動します。
  3. 新規ポリシー、または既存のコンプライアンスポリシーがある場合は、新規コンプライアンスポリシー をクリックします。
  4. 名前 テキストボックスに名前を入力して 次へ をクリックします。
  5. ドロップダウンメニューから Scap コンテンツ を選択します。
  6. ドロップダウンメニューから XCCDF プロファイル を選択します。
  7. ドロップダウンメニューから テーラリングファイル を選択します。
  8. ドロップダウンメニューから テーラリングファイル内の XCCDF プロファイル を選択します。

    テーラリングファイルは複数の XCCDF プロファイルを含めることが可能なため、XCCDF プロファイルの選択が重要になります。

  9. 次へ をクリックします。
  10. ドロップダウンメニューから 期間 を選択します。
  11. ドロップダウンメニューから 平日 を選択して、次へ をクリックします。
  12. 選択したアイテム ウィンドウに移動させる ロケーション を選択して、次へ をクリックします。
  13. 選択したアイテム ウィンドウに移動させる 組織 を選択して、次へ をクリックします。
  14. 選択したアイテム ウィンドウに移動させる ホストグループ を選択して、送信 をクリックします。

6.5. コンプライアンスのモニター

コンプライアンスのモニターは、監査が実行されていることを確認し、コンプライアンス違反を特定するための継続的なタスクです。Red Hat Satellite 6 は一元化したコンプライアンスのモニターと管理を可能にします。Satellite の管理下にあるホストについては、カスタムスケジュールに基づいてコンプライアンス状況のチェックが行われ、詳細が Satellite Server によって照合されます。コンプライアンスダッシュボードでは、ホストのコンプライアンスの概要を示し、ポリシーの範囲内の各ホストの詳細を表示できます。コンプライアンスレポートでは、各ホストの適用可能なポリシーへのコンプライアンスの詳細な分析を行います。この情報を利用して、各ホストが提示するリスクを評価し、ホストのコンプライアンスを確保するために必要なリソースをより効果的に管理できます。

SCAP を使用してコンプライアンスをモニターする際の共通の目的には以下が含まれます。

  • ポリシーコンプライアンスの表示
  • コンプライアンスの変更の検知

Satellite web UI は、これらの目的を達成するために必要なすべての情報を提供します。コンプライアンスポリシーダッシュボードでポリシーのコンプライアンス状況を検証します。コンプライアンスレポートの履歴を確認するか、または変更のメール通知をサブスクライブするかのいずれかによって、ポリシーコンプライアンスにおける変更を検出します。

6.5.1. コンプライアンスポリシーダッシュボード

コンプライアンスポリシーダッシュボードは、ホストのポリシーへのコンプライアンス状況の概要を示します。コンプライアンスポリシーのダッシュボードを表示するには、Satellite web UI を開いてから ホスト > ポリシーに移動し、ポリシーの名前をクリックします。ダッシュボードでは以下の情報が提供されます。

  • ホストのポリシーへのコンプライアンス状況のハイレベルビューを表示するリングチャート
  • ホストのポリシーコンプライアンス状況についての統計の内訳 (表形式)
  • 各ホストのポリシーの最新レポートへのリンク

ダッシュボードビューは、ホストのコンプライアンス状況の統計的な概要を表示するため、コンプライアンスの管理をここから開始することができます。コンプライアンス違反として評価されたすべてのホストについては、Failed (失敗)の統計でコンプライアンスタスクの優先付けに使用できるメトリックを提供します。未監査 として検出されたホストも、それらの状況が不明なために優先する必要があります。

Compliance Policy Dashboard

6.5.2. コンプライアンスレポートの概要

コンプライアンスレポートは、ホストに対して実行されるポリシーの出力です。すべてのコンプライアンスレポートを一覧表示するには、Satellite web UI を開いてから ホスト > レポート に移動します。各レポートには、ポリシーごとに合格または不合格となったルールの合計数が含まれます。デフォルトでは、レポートは日付の降順で一覧表示されます。並べ替え順序を変更するには、並べ替える列のラベルをクリックします。次に、その同じラベルをもう一度クリックして降順または昇順のいずれかに変更します。個別のレポートを表示するには、レポートを表示 をクリックします。ホストの全レポート、またはホストのサブセットを表示するには、検索 フィールドを使用します。コンプライアンスレポートを削除するには、レポートを表示 の横にある矢印をクリックして、削除 を選択します。

ホストのポリシーコンプライアンスを管理する際には、一定期間コンプライアンスの変更をモニターすることが役立ちます。検索 フィールドを使用してレポートの一覧を 1 つ以上のホストに限定し、変更を手動で評価します。または、通知メールを設定することもできます。

6.5.3. コンプライアンスレポートの検索

コンプライアンスレポートの検索フィールドを使用して、レポートの一覧の範囲を制限することができます。ホストのサブセットに範囲を狭めることにより、最も必要とされるリソースを重点的に確認することができます。フィルターを適用するには、検索 フィールドに検索条件を入力し、Enter を押すか、または 検索 をクリックします。実行される検索では大文字と小文字が区別されません。空の 検索 フィールドをクリックすると、利用可能な検索パラメーターが一覧表示されます。

利用可能な検索演算子の詳細については、表5.3「詳細な検索に対してサポートされる演算子」 を参照してください。andnot および has の論理演算子を使用して複雑なクエリーを作成することができます。正規表現は有効な検索条件ではありませんが、単一の検索式で複数のフィールドを使用することが可能です。

論理演算子

  • not: 式を否定します。
  • has: オブジェクトには指定したプロパティーが必要です。
  • and: 検索条件を組み合わせます。

検索ユースケース

以下の検索条件では、6 つ以上のルールがパスしなかったコンプライアンスレポートを検索します。

failed > 5

以下の検索条件では、ホスト名に文字列 prod- が含まれるホストで、2015 年 11 月 5 日より後に作成されたコンプライアンスレポートが検索されます。

host ~ prod- AND date > "Nov 5, 2015"

以下の検索条件により、1 時間前より compliance_policy rhel7_audit を使用して生成されたすべてのレポートが検索されます。

"1 hour ago" AND compliance_policy = date = "1 hour ago" AND compliance_policy = rhel7_audit

すべての 利用可能なコンプライアンスレポートを再び一覧表示するには、検索 条件を削除してから、Enter を押すか、検索 をクリックします。

検索をブックマークして、同じ検索条件を再び適用することができます。

検索をブックマークするには、以下を実行します。

  1. 検索条件を適用します。
  2. 検索 リストから、この検索をブックマーク を選択します。
  3. 名前 フィールドに入力します。

    ブックマークをこの Satellite インスタンスの他のユーザーが利用できるようにするには、公開 チェックボックスを選択します。

  4. 送信 をクリックします。

ブックマークを使用するには、ホスト > レポート に移動し、検索 ボタンの横にあるドロップダウン項目をクリックしてから、ブックマークをクリックします。

6.5.4. コンプライアンスレポートの表示

ホスト > レポート に移動して、特定ホストの列にある レポートの表示 をクリックします。

コンプライアンスレポートは以下のセクションで構成されています。

  • はじめに
  • Evaluation Characteristics (評価特性)
  • Compliance and Scoring (コンプライアンスおよびスコアリング)
  • Rule Overview (ルールの概要)

6.5.4.1. Evaluation Characteristics (評価特性)

このセクションでは、評価されたホスト、評価に使用されたプロファイル、および評価の開始と終了を含む、特定のプロファイルに対する評価についての詳細情報を提供します。参照用として ホストの IPv4、IPv6、および MAC アドレスも一覧表示されます。

評価特性

Target machine
評価されるホストの完全修飾ドメイン名 (FQDN) です。例: test-system.example.com
Benchmark URL
ホストの評価に使用される SCAP コンテンツの URL です。例: /var/lib/openscap/content/1fbdc87d24db51ca184419a2b6f
Benchmark ID
ホストの評価に使用されるベンチマークの ID です。ベンチマークはプロファイルのセットです。例: xccdf_org.ssgproject.content_benchmark_RHEL_7
Profile ID
ホストの評価に使用されるプロファイルの ID です。例: xccdf_org.ssgproject_content_profile_rht-ccp
Started at
ISO 8601 形式で示される評価が開始された日時です。例: 2015-09-12T14:40:02
Finished at
ISO 8601 形式で示される評価の終了日時です。例: 2015-09-12T14:40:05
Performed by
評価をホストに実行したローカルのアカウント名です。例: root

6.5.4.2. Compliance and Scoring (コンプライアンスおよびスコアリング)

このセクションでは、ホストがプロファイルのルールに準拠しているかどうかの概要、重大度別の非コンプライアンスの内訳、およびパーセンテージで示される全体のコンプライアンススコアを示します。ルールへのコンプライアンスがチェックされなかった場合には、ルール結果その他として分類されます。

6.5.4.3. Rule Overview (ルールの概要)

このセクションでは、階層的に示されるルールと共にすべてのルールの詳細とコンプライアンスの結果を示します。

コンプライアンスレポートに組み込まれるルールの一覧を制限するためにチェックボックスを選択したり、クリアしたりします。たとえば、非コンプライアンスを重点的にレビューする場合には、pass および informational チェックボックスをクリアします。

すべてのルールを検索するには、検索 フィールドに条件を入力します。検索は、入力時に動的に適用されます。検索 フィールドは、単一のプレーンテキストの検索用語のみを受け入れ、それは大文字と小文字を区別しない検索に適用されます。検索の実行時には、説明が検索条件に一致するルールのみが一覧表示されます。検索フィルターを削除するには、検索条件を削除します。

各結果の説明については、結果 コラムに示されるステータスの上にカーソルを移動します。

6.5.4.4. ルール結果の検査

ホストがルールのコンプライアンスに失敗した理由を判別するには、ルールのタイトルをクリックします。次に開かれるウィンドウでは、ルールの説明 (該当する場合は、ホストのコンプライアンスを確保する方法が含まれる)、ルールの根拠、および場合によっては修復スクリプトを含む追加情報が提供されます。

警告

推奨される修復操作やスクリプトのいずれについても、まずそれらを実稼働ではない環境でテストしてから実装するようにしてください。

6.5.5. コンプライアンスのメール通知

Satellite Server は、Openscap policy summary(Openscap ポリシー概要) のメール通知をサブスクライブするすべてのユーザー宛に OpenSCAP 概要メールを送信します。通知メールをサブスクライブする方法については、「電子メール通知の設定」 を参照してください。ポリシーが実行されるたびに、Satellite は直前の実行との比較で結果をチェックし、変更がないかどうかを確認します。メールは各サブスクライバーがリクエストする頻度で送信され、各ポリシーの概要と直近の結果の概要を提供します。

OpenSCAP の概要 メールメッセージには、以下の情報が含まれます。

  • 対象とする期間の詳細。
  • すべのホストの合計 (状況別): 変更済み、準拠、および非準拠。
  • 各ホストの表形式の内訳と、合格、失敗、変更済み、または結果が不明な場合などのルールの合計を含む最新ポリシーの結果。

6.6. OpenSCAP でサポートされる仕様

以下の仕様が OpenSCAP でサポートされています。

タイトル説明バージョン

XCCDF

Extensible Configuration Checklist Description Format

1.2

OVAL

Open Vulnerability and Assessment Language

5.11

-

Asset Identification

1.1

ARF

Asset Reporting Format

1.1

CCE

Common Configuration Enumeration

5.0

CPE

Common Platform Enumeration

2.3

CVE

Common Vulnerabilities and Exposures

-

CVSS

Common Vulnerability Scoring System

2.0

第7章 Satellite Server および Capsule Server のバックアップと復元

本章では、災害発生時に Red Hat Satellite デプロイメントと関連データを維持するために必要な最小限なバックアップ手順と復元手順について説明します。デプロイメントでカスタム設定を使用する場合は、バックアップおよび災害復旧ポリシーを策定する際にこれらの手順を考慮する必要があります。

7.1. Satellite Server および Capsule Server のバックアップ

本セクションでは、Satellite Server または Capsule Server とすべての関連データのバックアップを satellite-backup スクリプトで作成する方法について説明します。バックアップは、異なる場所に作成することが推奨されます。また、別のシステムの別のストレージデバイスにバックアップすることが強く推奨されます。バックアップ中は Satellite サービスが利用できなくなります。バックアップは、cron を使用して稼働率が低い時間にスケジュールすることができます。例7.1「毎週の完全バックアップの後に毎日の増分バックアップが実行される場合」 を参照してください。

前提条件

  • スケジュールされたバックアップを計画する際には、同じ時間に他のタスクが他の管理者によってスケジュールされないようにしてください。これは、管理者が異なる場所とタイムゾーンで働いている場合に特に重要です。
  • バックアップを暗号化するか、安全な場所に移動し、ホストへの不正アクセスや損害のリスクを最小化します。
注記

Red Hat Enterprise Linux 7 システム管理者のガイド』 にある システムバックアップおよびリカバリー セクションで説明されている従来のバックアップ方法を使用することもできます。スナップショットまたは従来のバックアップを作成する際には、すべてのサービスを停止してください (satellite-backup スクリプトの使用時を除く):

# katello-service stop

スナップショットまたは従来のバックアップを作成したら、サービスを起動します。

# katello-service start

7.1.1. バックアップサイズの予測

完全なバックアップは、MongoDB、PostgreSQL、および Pulp のデータベースファイルと Satellite 設定ファイルの非圧縮アーカイブを作成します。Satellite サービスが利用できない時間を短縮するため、圧縮はアーカイブの作成後に実行されます。その結果、完全なバックアップでは、以下のデータを保存するための領域が必要となります。

  • 非圧縮の Satellite データベースおよび設定ファイル。
  • 圧縮された Satellite データベースおよび設定ファイル。
  • バックアップを確実にするため、予測領域全体の 20% を追加。

バックアップサイズの予測

  1. du コマンドを入力して、Satellite データベースおよび設定ファイルを含む非圧縮ディレクトリーを保存するために必要な領域を予測します。以下に例を示します。

    # du -csh /var/lib/mongodb /var/lib/pgsql/data /var/lib/pulp \
    /etc /root/ssl-build /var/www/html/pub /opt/puppetlabs
    480G	/var/lib/mongodb
    100G    /var/lib/pgsql/data
    100G	/var/lib/pulp
    680G    total
    37M	/etc
    900K	/root/ssl-build
    100K	/var/www/html/pub
    2M	/opt/puppetlabs
    680GB   total

    この例では、非圧縮のバックアップデータは合計 680 GB を占有します。

    注記

    /opt/puppetlabs ディレクトリーは Puppet 4 に使用されます。Puppet 3 には /var/lib/puppet を使用します。

  2. 圧縮データを保存するために必要な領域を計算します。

    表7.1「バックアップデータ圧縮率」 は、バックアップで使用されるすべてのデータアイテムの圧縮率を提示します。

    表7.1 バックアップデータ圧縮率

    データ型ディレクトリー比率結果例

    MongoDB データベースファイル

    /var/lib/mongodb

    10 - 15%

    480 GB → 420 GB

    PostgreSQL データベースファイル

    /var/lib/pgsql/data

    15 - 20%

    100 GB → 80 GB

    Pulp RPM ファイル

    /var/lib/pulp

    -

    (非圧縮)

    設定ファイル

    /etc
    /root-ssl/build
    /var/www/html/pub
    /opt/puppetlabs

    5 - 10%

    50 MB → 45 MB

    この例では、圧縮されたバックアップデータは合計 500 GB を占有します。

  3. バックアップの保存に必要な領域を計算します。圧縮および非圧縮のバックアップデータの予測値を合計し、バックアップを確実にするために合計値の 20% をさらに追加します。

    この例では、非圧縮および圧縮のバックアップデータに 680 GB と 500 GB の合計 1180 GB が必要です。240 GB の予備領域もあわせ、1420 GB がバックアップの場所に割り当てられる必要があります。

7.1.2. Satellite Server および Capsule Server の完全バックアップの実行

Red Hat Satellite 6.3 では、satellite-backup スクリプトを使用してバックアップを作成し、復元します。使用方法を表示するには、以下のコマンドを使用します。

# satellite-backup --help

Satellite 6.2.8 からは、satellite-backup を実行すると、指定したバックアップディレクトリーにタイムスタンプの付いたサブディレクトリーが作成されます。satellite-backup スクリプトではバックアップは上書きされないので、バックアップまたは増分バックアップから復元する際には、適切なディレクトリーまたはサブディレクトリーを選択する必要があります。このスクリプトは、必要に応じてサービスを停止したり、再開したりします。

Satellite Server または Capsule Server の完全オフラインバックアップの実行

以下の手順では、完全なオフラインバックアップが実行されます。このバックアッププロセス中は、Satellite サービスが利用できなくなります。

警告

Satellite Server および Capsule Server の他のユーザーに、すべての変更を保存するよう指示して、バックアップ中は Satellite サービスが利用できないことを警告してください。バックアップと同じ時間に他のタスクがスケジュールされていないことを確認してください。

  1. バックアップの場所に、バックアップを保存するための十分なディスク領域があることを確認します。詳細は 「バックアップサイズの予測」 を参照してください。
  2. バックアップスクリプトを実行します。

    # satellite-backup backup_directory

    satellite-backup スクリプトを実行すると、バックアップに影響を与える可能性があるすべてのサービスが停止し、バックアップが実行され、必要なサービスが再起動されます。スクリプトでは、バックアップファイルを作成する際にターゲットディレクトリーが存在しない場合、ターゲットディレクトリーが作成されます。

    コピーするデータのサイズが原因で、このプロセスが完了するには長い時間がかかることがあります。

7.1.3. Pulp コンテンツなしでのバックアップの実行

Pulp コンテンツなしでのバックアップの実行:

この手順では、オフラインバックアップが実行されますが、Pulp ディレクトリーの内容は除外されます。このバックアップは、デバッグに役に立ち、Pulp データベースのバックアップに時間を費やさずに設定ファイルへのアクセスを提供することを目的としています。Pulp コンテンツを含まないディレクトリーから復元することはできません。

警告

Satellite Server および Capsule Server の他のユーザーに、すべての変更を保存するよう指示して、バックアップ中は Satellite サービスが利用できないことを警告してください。バックアップと同じ時間に他のタスクがスケジュールされていないことを確認してください。

  1. バックアップの場所に、バックアップを保存するための十分なディスク領域があることを確認します。詳細は 「バックアップサイズの予測」 を参照してください。
  2. バックアップスクリプトを実行します。

    # satellite-backup --skip-pulp-content backup_directory

    satellite-backup スクリプトを実行すると、バックアップに影響を与える可能性があるすべてのサービスが停止し、バックアップが実行され、必要なサービスが再起動されます。スクリプトでは、バックアップファイルを作成する際にターゲットディレクトリーが存在しない場合、ターゲットディレクトリーが作成されます。

7.1.4. 増分バックアップの実行

増分バックアップの実行:

この手順では、前回のバックアップ以降のすべての変更のオフラインバックアップを実行します。完全バックアップを土台として使用して最初の増分バックアップを実行します。少なくとも最後に正常に完了した完全バックアップと復元する増分バックアップの完全なシーケンスを保持します。

警告

Satellite Server および Capsule Server の他のユーザーに、すべての変更を保存するよう指示して、バックアップ中は Satellite サービスが利用できないことを警告してください。バックアップと同じ時間に他のタスクがスケジュールされていないことを確認してください。

  1. バックアップの場所に、バックアップを保存するための十分なディスク領域があることを確認します。詳細は 「バックアップサイズの予測」 を参照してください。
  2. バックアップスクリプトを実行します。

    Pulp コンテンツがある場合:

    # satellite-backup backup_directory --incremental backup_directory/previous_time-stamped_subdirectory

    Pulp コンテンツがない場合:

    # satellite-backup backup_directory --skip-pulp-content --incremental backup_directory/previous_time-stamped_subdirectory

    satellite-backup スクリプトを実行すると、バックアップに影響を与える可能性があるすべてのサービスが停止し、バックアップが実行され、必要なサービスが再起動されます。スクリプトでは、バックアップファイルを作成する際にターゲットディレクトリーが存在しない場合、ターゲットディレクトリーが作成されます。前回のバックアップよりも古いバックアップを土台として使用し、対応する増加分を使用して増分バックアップを実行できます。

7.1.5. 例 - 毎週の完全バックアップの後に毎日の増分バックアップが実行される場合

例7.1 毎週の完全バックアップの後に毎日の増分バックアップが実行される場合

以下のサンプルスクリプトでは、日曜日に完全バックアップを実行し、その他の曜日では増分バックアップを実行します。バックアップは $YEAR-$WEEK という名前のサブディレクトリーに保存されます。各サブディレクトリーには、前の週の日曜日からの完全バックアップと、それ以降の増分バックアップが含まれ、ます。このスクリプトでは、cron ジョブが毎日必要になります。

#!/bin/bash -e
export PATH=/sbin:/bin:/usr/sbin:/usr/bin
DESTINATION=/var/backup
YEAR=$(date +%Y)
WEEK=$(date +%-V)
if [[ $(date +%w) == 0 ]]; then
  satellite-backup $DESTINATION/$YEAR-$((WEEK + 1)) --assumeyes
else
  LAST=$(ls -td -- $DESTINATION/$YEAR-$WEEK/*/ | head -n 1)
  satellite-backup $DESTINATION/$YEAR-$WEEK --incremental "$LAST" --assumeyes
fi
exit 0

satellite-backup スクリプトでは、PATH 内に /sbin ディレクトリーおよび /usr/sbin ディレクトリーを置く必要があることに注意してください。

7.1.6. オンラインバックアップの実行

オンラインバックアップの実行

以下の手順では、Satellite Server または Capsule Server が稼働中に完全バックアップを実行します。Pulp データベースに影響を与える手順がある場合は、Pulp 部分のバックアップ手順は、変更がなくなるまで繰り返されます。Pulp データベースのバックアップが通常は Satellite バックアップの中で最も時間のかかる部分であるため、バックアップ中は Pulp データベースを変更しないことが 強く 推奨されます。変更が加えられると、Pulp の部分のバックアップがやり直しとなるため、バックアップ全体が長くなります。

重要

Satellite 6 では、PostgreSQL および MongoDB の 2 つのデータベースシステムを使用しています。PostgreSQL と MongoDB には、継続して同期しておく必要のあるレコードがあります。

--online-backup オプションはすべてのサービスを実行したままにするので、バックアップ実行中にデータが修正される可能性があります。バックアップ中には、データベースが変更されたかどうかを確認する基本的なチェックが行われます。変更がなされたことが確認されると、スクリプトはデータベース部分のバックアップを再度開始します。このチェックは基本的なものでしかなく、バックアップスクリプトの実行中にデータベースに変更がなされたことを確実に検証するものではありません。また、データベースに継続的に変更がなされる場合は、このチェックによりループが発生する可能性もあります。

「スナップショットバックアップの実行」 の説明にあるように、実稼働環境ではスナップショットのバックアップが推奨されます。実稼働環境でオンラインバックアップを使用する場合は、バックアップ中に変更がないようにしてください。

警告

Satellite Server および Capsule Server の他のユーザーに、すべての変更を保存するよう指示して、バックアップ中は Satellite サービスが利用できないことを警告してください。バックアップと同じ時間に他のタスクがスケジュールされていないことを確認してください。

  1. バックアップの場所に、バックアップを保存するための十分なディスク領域があることを確認します。詳細は 「バックアップサイズの予測」 を参照してください。
  2. バックアップスクリプトを実行します。

    # satellite-backup --online-backup /tmp/backup_directory

7.1.7. スナップショットバックアップの実行

スナップショットバックアップでは、Pulp、MongoDB、および PostgreSQL ディレクトリーの論理ボリュームマネージャー (LVM) のスナップショットを使用します。実際のバックアップは、オンラインバックアップの場合と同様に、実行中の Satellite からではなく、LVM スナップショットから作成され、一貫性のないバックアップを作成するリスクを減らします。スナップショットバックアップは完全なオフラインバックアップよりも迅速なので、Satellite のダウンタウンを短縮することができます。このため、バックアップ時間が長くかかる、高度に設定された Satellite サーバーのバックアップに適しています。

スナップショットバックアップの実行

この手順では、スナップショットバックアップを実行します。これは、他の satellite-backup サブコマンドと合わせることが可能ですが、online-backup は除きます。

前提条件

  • システムがスナップショットするディレクトリーに LVM を使用していること (/var/lib/pulp//var/lib/mongodb/、および /var/lib/pgsql/)。
  • 関連ボリュームグループ (VG) の空きディスクスペースが、スナップショットのサイズの 3 倍あること。正確に言うと、VG には、新規スナップショットを受け入れるために十分な、メンバーの論理ボリューム (LV) に予約されていないスペースが必要になります。また、LV のいずれかには、バックアップディレクトリー用の十分な空きスペースが必要になります。
  • ターゲットのバックアップディレクトリーが、スナップショットを作成するディレクトリー以外の LV にあること。
警告

Satellite Server および Capsule Server の他のユーザーに、すべての変更を保存するよう指示して、バックアップ中は Satellite サービスが利用できないことを警告してください。バックアップと同じ時間に他のタスクがスケジュールされていないことを確認してください。

バックアップスクリプトを実行します。

# satellite-backup --snapshot backup_directory

satellite-backup スクリプトは、バックアップに影響を与える可能性があるすべてのサービスを停止します。バックアップが正常に実行されると、全サービスが再起動され、LVM スナップショットが削除されます。

7.2. バックアップからの Satellite Server または Capsule Server の復元

本セクションでは、「Satellite Server および Capsule Server のバックアップ」 の手順で作成されたバックアップデータから Red Hat Satellite Server または Red Hat Capsule Server を復元する方法について説明します。このプロセスでは、バックアップを生成したサーバーと同じサーバーでバックアップが復元されます。元のシステムが利用できない場合は、同じ設定でシステムのプロビジョニングを行なってください (特に、ホスト名は同じである必要があります)。

前提条件

  • 適切なインスタンスを復元していることを確認します。Red Hat Satellite インスタンスでホスト名、設定が同一であり、メジャーバージョンが元のシステムと同じである必要があります。
  • root で、satellite-restore スクリプトを実行することを確認します。
  • すべての SELinux コンテキストが適切であることを確認します。以下のコマンドを入力して、適切な SELinux コンテキストを復元します。

    # restorecon -Rnv /

完全バックアップからの Satellite Server または Capsule Server の復元

  1. Satellite 6 を『Installation Guide』の Installing Satellite Server に従ってインストールします。
  2. バックアップデータを Satellite のローカルファイルシステム (/tmp/ または /var/tmp/) にコピーします。Satellite Server または Capsule Server のベースシステムにこのデータを格納するのに十分な領域と、復元後にバックアップ内に含まれる /etc//var/ ディレクトリー内のすべてのデータを格納するのに十分な領域があることを確認します。

    du -sh directory_name コマンドを実行すると、ディレクトリーが使用している領域を確認することができます。df -h directory_name コマンドでは、空き容量が確認できます。--total オプションを追加すると、複数ディレクトリーの結果の合計を確認できます。

  3. 復元スクリプトを実行します。

    # satellite-restore backup_directory

    ここでの backup_directory は、バックアップデータを含むディレクトリーまたはサブディレクトリーになります。ターゲットディレクトリーは、アーカイブ内の設定ファイルから読み取られます。復元の試行時にターゲットディレクトリーが存在しない場合は、エラーが発生し、適切なディレクトリーを指定するよう求められます。コピーするデータのサイズが大きいと、復元プロセスには時間がかかることがあります。増分バックアップが存在する場合は、増分バックアップからの Satellite Server または Capsule Server の復元 を参照してください。

このプロセスが完了したら、すべてのサービスが実行され、Satellite Server または Capsule Server が使用できるようになります。

増分バックアップからの Satellite Server または Capsule Server の復元

  1. Satellite 6 を『Installation Guide』の Installing Satellite Server に従ってインストールします。
  2. 完全バックアップからの Satellite Server または Capsule Server の復元 の説明に従って、直近の完全バックアップを復元します。
  3. バックアップデータを Satellite のローカルファイルシステム (/var/tmp/satellite-backup/ など) にコピーします。Satellite Server または Capsule Server のベースシステムにこのデータを格納するのに十分な領域と、復元後にバックアップ内に含まれる /etc//var/ ディレクトリー内のすべてのデータを格納するのに十分な領域があることを確認します。
  4. 復元スクリプトを実行します。

    # satellite-restore backup_directory_X

    ここでの backup_directory_X は増分バックアップが含まれるタイムスタンプ付きのディレクトリーまたはサブディレクトリーになります。増分バックアップ作成時と同じ順序で増分バックアップを復元します (たとえば、backup_directory_1backup_directory_2)。ターゲットディレクトリーは、アーカイブ内の設定ファイルから読み取られます。復元の試行時にターゲットディレクトリーが存在しない場合は、エラーが発生し、適切なディレクトリーを指定するよう求められます。

このプロセスが完了したら、すべてのサービスが実行され、Satellite Server または Capsule Server が使用できるようになります。

7.3. 仮想マシンのスナップショットを使用した Capsule Server のバックアップと復元

Capsule Server のバックアップには、以下の 3 つの方法があります。

  • 「Satellite Server および Capsule Server のバックアップ」 にある satellite-backup スクリプトを使った方法。この satellite-backup スクリプトは、ご使用の Capsule Server が物理マシンである場合に便利です。Capsule Server が仮想マシンの場合でもこのスクリプトは使用できますが、作成されるのはマシン自体ではなく、データのバックアップのみになります。
  • Red Hat Enterprise Linux 7 システム管理者のガイド』 にある システムバックアップおよびリカバリー セクションで説明されている従来のバックアップ方法。
  • 以下で説明する、Capsule Server のある仮想マシンのスナップショットをその仮想マシン上で使用する方法。 この方法は、「スナップショットバックアップの実行」 で説明されているスナップショットのバックアップとは別であることに注意してください。

Capsule Server が仮想マシンである場合、スナップショットから復元することができます。復元元となるスナップショットは、毎週作成することが推奨されます。失敗した場合は、新規 Capsule Server を再インストールまたは設定し、Satellite Server からデータベースコンテンツを同期します。

注記

スナップショットまたは従来のバックアップを作成する際には、すべてのサービスを停止してください (satellite-backup スクリプトの使用時を除く)。

# katello-service stop

スナップショットまたは従来のバックアップを作成したら、サービスを起動します。

# katello-service start

スナップショットまたは従来のバックアップがあり場合は、そこから復元を実行し、以下の説明に従って Satellite Server から同期します。

必要な場合は、新規 Capsule Server をデプロイします。ホスト名が以前のものと同じであることを確認してください。その後に Capsule 証明書をインストールします。これは Satellite Server にもある場合があり、パッケージ名が -certs.tar で終わるものです。もしくは、新規に作成します。『Installation Guide』の Installing Capsule Server にある手順に従い、web UI で Capsule Server が Satellite Server に接続されたことを確認します。この後に、以下の手順で Satellite Server から同期します。

外部 Capsule からの同期

  1. 外部 Capsule から同期 するには、web UI で関連する組織とロケーションを選択するか、任意の組織任意のロケーション を選択します。
  2. インフラストラクチャー > Capsules (スマートプロキシー) に移動し、同期する Capsule 名をクリックします。
  3. 概要 タブで 同期 を選択します。

7.4. Satellite Server および Capsule Server の名前変更

Satellite Server または Capsule Server の名前変更には、satellite-change-hostname スクリプトを使用します。Red Hat Satellite にはホスト名への参照が含まれており、それらの変更はこのスクリプトを使用して行います。Satellite Server の名前を変更すると、その Satellite Server 自体とすべての Capsule Server、さらに Satellite Server に登録されているすべてのホストに影響があります。Capsule Server の名前を変更すると、その Capsule Server 自体とそこに登録されている全ホストに影響があります。

警告

名前変更プロセスを実行すると、変更対象の Satellite Server 上の全サービスがシャットダウンされます。名前変更が完了すると、全サービスが再開されます。

7.4.1. Satellite Server の名前変更

Satellite Server のホスト名は、Satellite Server のコンポーネント、すべての Capsule Server、および Satellite Server に登録されている全ホストが通信用に使用しています。このため、Satellite Server の名前を変更すると、これらの参照を更新する必要があります。

外部認証を使用している場合は、satellite-change-hostname スクリプトの実行後に、外部認証向けに Satellite Server を再設定する必要があります。satellite-change-hostname スクリプトは、Satellite Server 用の外部認証を破棄してしまいます。外部認証の設定については、10章外部認証の設定 を参照してください。

前提条件

  • (オプション) Satellite Server にカスタムの X.509 証明書がインストールされている場合は、ホスト名で新規証明書を取得する必要があります。全ホストを Satellite Server に再登録すると、新規証明書がインストールされます。カスタム X.509 証明書の取得については、『Red Hat Satellite Installation Guide』の Configuring Satellite Server with a Custom Server Certificate を参照してください。
  • Satellite Server のバックアップ。satellite-change-hostname スクリプトを実行すると、Satellite Server に不可逆的な変更を行います。名前変更プロセスが失敗した場合は、バックアップから復元してください。詳細は、「 Identity Management の使用」 を参照してください。

Satellite Server の名前変更

  1. Satellite Server で satellite-change-hostname スクリプトを実行し、新しいホスト名と Satellite 認証情報を提供します。

    # satellite-change-hostname new_satellite --username admin \
    --password password

    名前変更が成功すると、***** Hostname change complete! ***** というメッセージが表示されます。

  2. (オプション) Satellite Server の新しいホスト名用に新規の X.509 証明書を取得している場合は、Satellite インストールスクリプトを実行して証明書をインストールします。カスタム X.509 証明書のインストールについては、『Red Hat Satellite Installation Guide』の Configuring Satellite Server with a Custom Server Certificate を参照してください。
  3. 全 Capsule Server と Satellite Server に登録済みのホストで、ブートストラップ RPM を再インストールし、ホストを Satellite Server に再登録します。以下の例では、組織と環境の値をご使用の環境のものに置き換えてください。

    1.  

      # yum remove -y katello-ca-consumer*
    2.  

      # rpm -Uvh http://new-satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    3.  

      # subscription-manager register --org="Default_Organization" \
      --environment="Library" \
      --force

    このステップでは、Red Hat Satellite のリモート実行機能の使用が推奨されます。詳細は、『Managing Hosts』の Configuring and Running Remote Commands を参照してください。

  4. すべての Capsule Server、および Satellite Server に登録されている全ホストに再度サブスクリプションをアタッチして、サブスクリプションをリフレッシュします。

    1.  

      # subscription-manager refresh
    2.  

      # yum repolist

    このステップでは、Red Hat Satellite のリモート実行機能の使用が推奨されます。詳細は、『Managing Hosts』の Configuring and Running Remote Commands を参照してください。

  5. 全 Capsule Server で、Satellite インストールスクリプトを再実行して、新規ホスト名への参照を更新します。

    # satellite-installer --foreman-proxy-content-parent-fqdn new-satellite.example.com \
    --foreman-proxy-foreman-base-url  https://new-satellite.example.com \
    --foreman-proxy-trusted-hosts new-satellite.example.com
  6. Satellite Server で、コンテンツを各 Capsule Server に同期します。

    1. すべての Capsule Server を ID 番号で一覧表示します。

      # hammer capsule list
    2. 各 Capsule Server に以下のコマンドを入力します。

      # hammer capsule content synchronize --id capsule_id_number

7.4.2. Capsule Server の名前変更

Capsule Server のホスト名は、Satellite Server のコンポーネント、すべての Capsule Server、および Capsule Server に登録されている全ホストが参照しています。このため、Capsule Server の名前を変更すると、これらの参照を更新する必要があります。

前提条件

  • オプション: Capsule Server 用の新規の X.509 カスタム証明書ファイル。カスタム X.509 証明書の取得については、『Red Hat Satellite Installation Guide』の Configuring Capsule Server with a Custom Server Certificate を参照してください。
  • Capsule Server のバックアップ。satellite-change-hostname スクリプトを実行すると、Capsule Server に不可逆的な変更を行います。名前変更プロセスが失敗した場合は、バックアップから復元してください。

    Red Hat Satellite では、Capsule Server 用のネイティブのバックアップ方法が提供されていません。詳細は、7章Satellite Server および Capsule Server のバックアップと復元 を参照してください。

Capsule Server の名前変更

  1. Satellite Server で、新規証明書アーカイブファイルを作成します。

    1. デフォルトの Satellite Server 証明書を使用している場合は、以下を実行します。

      # capsule-certs-generate --capsule-fqdn new-capsule.example.com \
      --certs-tar /root/new-capsule.example.com-certs.tar

      .tar ファイルへの完全パスを必ず入力するようにしてください。

    2. Capsule Server でカスタムの X.509 証明書を使用している場合は、『Red Hat Satellite Installation Guide』の Create the Capsule Server’s Certificate Archive File を参照してください。
  2. Satellite Server 上で、証明書アーカイブファイルを Capsule Server にコピーし、プロンプトが出たら、root ユーザーのパスワードを提供します。この例では、アーカイブファイルは root ユーザーのホームディレクトリーにコピーされますが、別の場所にコピーすることもできます。

    # scp /root/new-capsule.example.com-certs.tar root@capsule.example.com:
  3. Capsule Server で satellite-change-hostname スクリプトを実行し、新しいホスト名と Satellite 認証情報、および証明書アーカイブファイル名を提供します。

    # satellite-change-hostname new_capsule --username admin \
    --password password \
    --certs-tar /root/new-capsule.example.com-certs.tar

    .tar ファイルへの完全パスを必ず入力するようにしてください。

    名前変更が成功すると、***** Hostname change complete! ***** というメッセージが表示されます。

  4. (オプション) Capsule Server の新しいホスト名で新規の X.509 証明書を取得している場合は、Satellite インストールスクリプトを実行して証明書をインストールします。カスタム X.509 証明書のインストールについては、『Red Hat Satellite Installation Guide』の Configuring Satellite Server with a Custom Server Certificate を参照してください。
  5. Capsule  Server に登録済みのホストで、ブートストラップ RPM を再インストールし、ホストを Capsule Server に再登録します。以下の例では、組織と環境の値をご使用の環境のものに置き換えてください。

    # yum remove -y katello-ca-consumer*
    # rpm -Uvh http://new-capsule.example.com/pub/katello-ca-consumer-latest.noarch.rpm
    # subscription-manager register --org="Default_Organization" \
    --environment="Library" \
    --force

    このステップでは、Red Hat Satellite のリモート実行機能の使用が推奨されます。詳細は、『Managing Hosts』の Running Jobs on Hosts を参照してください。

  6. Capsule Server に登録されている全ホストに再度サブスクリプションをアタッチして、サブスクリプションをリフレッシュします。

    # subscription-manager refresh
    # yum repolist
  7. Capsule Server の名前を変更します。

    1. Satellite web UI で、インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
    2. リストで Capsule Server を見つけ、その行の 編集 をクリックします。
    3. 名前URL フィールドが Capsule Server の新規ホスト名に一致するように変更して、送信 をクリックします。
  8. DNS サーバーで、Capsule Server の新規ホスト名用のレコードを追加し、古いホスト名のレコードを削除します。

第8章 Satellite Server のメンテナンス

本章では、関連するログファイルに関する情報、デバッグロギングを有効にする方法、サポートケースを開き、関連するログ tar ファイルを添付する方法、Red Hat Insight を使用してシステムを積極的に診断する方法を含む Red Hat Satellite Server のメンテナンス方法について説明します。

8.1. ログとレポート機能

Red Hat Satellite は、システム情報を通知とログファイルの形式で提供します。

表8.1 報告およびトラブルシューティング向けのログファイル

ログファイルログファイルの内容の説明

/var/log/candlepin

サブスクリプションの管理

/var/log/foreman

Foreman

/var/log/foreman-proxy

Foreman プロキシー

/var/log/httpd

Apache HTTP サーバー

/var/log/foreman-installer/satellite

Satellite インストーラー

/var/log/foreman-installer/capsule

Capsule Server インストーラー

/var/log/libvirt

仮想化 API

/var/log/mongodb

Satellite データベース

/var/log/pulp

Celerybeat および Celery 起動要求メッセージ。起動が完了したら、メッセージは /var/log/messages に記録されます。

/var/log/puppet

設定管理

/var/log/rhsm

サブスクリプションの管理

/var/log/tomcat6 および /var/log/tomcat

それぞれ Red Hat Enterprise Linux 6 と Red Hat Enterprise Linux 7 向けの Apache Web サーバーメッセージ

/var/log/messages

pulp、rhsm、および goferd に関連する他のさまざまなログメッセージ

foreman-tail コマンドを使用して、Satellite に関連する多くのログファイルを追跡することもできます。foreman-tail -l を実行すると、追跡するプロセスとサービスがリストされます。

Red Hat Enterprise Linux 7 の場合は、journal を使用してより広範なロギング情報を得ることができます。詳細については、Using the Journal[1] を参照してください。

8.2. デバッグロギングの有効化

本セクションでは、デバッグロギングを有効にして Satellite 6.3 の詳細なデバッグ情報を提供する方法について説明します。デバッグロギングにより、最も詳細なログ情報が提供され、Satellite 6.3 とそのコンポーネントで発生する可能性がある問題のトラブルシューティングが簡単になります。また、特定のロギングのために個別ロガーを有効または無効にすることもできます。

デバッグロギングを有効にするには、/etc/foreman/settings.yaml ファイルを変更します。

  1. ロギングレベルを "debug" に設定する

    デフォルトでは、ロギングレベルは以下のように info に設定されます。

    :logging:
      :level: info

    これらの行を以下のように変更します。

    :logging:
      :level: debug
  2. 個別ロギングタイプを選択する

    デフォルトでは、/etc/foreman/settings.yaml の最後は以下のようになります。

    # Individual logging types can be toggled on/off here
    :loggers:

    /etc/foreman/settings.yaml ファイルを以下のように変更します。

    :loggers:
      :ldap:
        :enabled: true
      :permissions:
        :enabled: true
      :sql:
        :enabled: true
  3. Katello サービスを再起動します。

    # katello-service restart

ロガーとそのデフォルト値の完全なリスト

:app:
    :enabled: true
:ldap:
    :enabled: false
:permissions:
    :enabled: false
:sql:
    :enabled: false

8.3. ログファイルからの情報の収集

ログファイルから情報を収集するには以下の 2 つのユーティリティーがあります。

表8.2 ログ収集ユーティリティー

コマンド説明

foreman-debug

foreman-debug コマンドは、Red Hat Satellite とそのバックエンドサービスの設定およびログファイルデータとシステム情報を収集します。この情報は収集され、tar ファイルに書き込まれます。デフォルトでは、出力される tar ファイルは、/tmp/foreman-debug-xxx.tar.xz に格納されます。

また、foreman-debug コマンドは、過去 60 日間に実行されたタスクをエクスポートします。デフォルトでは、出力される tar ファイルは、/tmp/task-export-xxx.tar.xz に格納されます。このファイルが見当たらない場合は、/tmp/task-export.log ファイルで、タスクのエクスポートが失敗した理由を確認できます。

詳細情報については、foreman-debug --help を実行してください。

このコマンドの実行時にはタイムアウトがありません。

sosreport

sosreport コマンドは、Red Hat Enterprise Linux システムから設定および診断情報 (実行中のカーネルバージョン、ロードされたモジュール、システムおよびサービス設定ファイルなど) を収集するツールです。また、このコマンドは外部プログラムを実行して (たとえば、foreman-debug -g)、Satellite 固有の情報を収集し、この出力を tar ファイルに格納します。

デフォルトでは、出力 tar ファイルは /var/tmp/sosreport-XXX-20171002230919.tar.xz にあります。詳細については、sosreport --help を実行するか、https://access.redhat.com/solutions/3592: What is a sosreport and how can I create one? を参照してください。

sosreport コマンドは foreman-debug -g を呼び出し、500 秒後にタイムアウトします。Satellite Server のログファイルが大きい場合や多くの Satellite タスクがある場合、サポートエンジニアはサポートケース作成時に sosreportforeman-debug の出力を必要とすることがあります。

重要

foreman-debugsosreport では、情報を収集する間にパスワード、トークン、キーなどのセキュリティー情報が削除されます。ただし、tar ファイルには依然として Red Hat Satellite Server についての機密情報が含まれる可能性があります。Red Hat では、この情報をパブリックではなく特定の受信者に直接送信することを推奨します。

8.4. サポートケースでのログファイルの使用

本章で説明されたログファイルと他の情報を使用して独自にトラブルシューティングを行ったり、サポートが必要な場合は、これらの情報と他の多くのファイルとともに診断および設定情報を取得して Red Hat サポートに送信することができます。

Red Hat サポートでサポートケースを作成するには 2 つの方法があります。サポートケースは、Satellite Web UI またはカスタマーポータルから直接作成できます。

8.5. 未使用タスクのクリーニング

未使用タスクをクリーンアップすると、データベース内のディスクスペースを削減し、ディスク増加率を制限することができます。クリーニングを定期的に実行すると、 Satellite のバックアップがより短時間で完了し、全体的なパフォーマンスも上がります。

未使用タスクのクリーニング

インストーラーには、cron ジョブが自動で古いタスクを削除するようにする機能があります。意図しないタスクのクリーンアップを避けるために、この機能はデフォルトでは有効になっていません。

  1. cron ジョブを有効にします。

    # satellite-installer --foreman-plugin-tasks-automatic-cleanup true
  2. デフォルトでは、cron ジョブは毎日午後 7 時 45 分に実行するようにスケジュールされています。この時間を変更するには、--foreman-plugin-tasks-cron-line パラメーターの値を変更します。

    # satellite-installer --foreman-plugin-tasks-cron-line "00 15 * * *"

    上記のコマンドでは、cron ジョブが毎日午後 3 時に実行されるようになります。cron のフォーマットについての詳細は、man 5 crontab を参照してください。

全タスクが削除される頻度の変更と、cron ジョブの詳細な設定は、/etc/foreman/plugins/foreman-tasks.yaml ファイルのコンテンツを変更して行います。

8.6. 完全なディスクからのリカバリー

以下の手順では、Pulp データベースのある論理ボリューム (LV) に空きスペースがない場合の解決方法について説明します。

完全なディスクからのリカバリー

  1. 実行中の Pulp タスクを完了させます。新たなタスクは開始しないでください。ディスクに空きスペースがないため、失敗することになります。
  2. /var/lib/pulp ディレクトリーのある LV に十分な空きスペースがあることを確認します。以下のような方法があります。

    1. 孤立したコンテンツを削除します:

      # foreman-rake katello:delete_orphaned_content RAILS_ENV=production

      これは 1 週間ごとに実行されるので、多くのスペースが解放されるわけではありません。

    2. できるだけ多くのリポートのダウンロードポリシーを 即時 から オンデマンド に変更し、ダウンロード済みパッケージを削除します。手順については、カスタマーポータルの Red Hat ナレッジソリューション How to change syncing policy for Repositories on Satellite 6.2 from "Immediate" to "On-Demand" を参照してください。
    3. /var/lib/pulp ディレクトリーのある LV 上のファイルシステムを拡張します。詳細は、論理ボリュームマネージャーの管理論理ボリュームのファイルシステムの拡張 を参照してください。

      注記

      (ext3、ext4、または xfs などの) 通常外のファイルシステムを使用している場合は、そのファイルシステムをアンマウントして使用されていない状態にする必要があります。その場合、以下を実行します。

      • Katello を停止します。
      # katello-service stop
      • LV 上のファイルシステムを拡張します。
      • Katello サービスを再起動します。
      # katello-service start
  3. ディスクに空きスペースがないために Pulp タスクが失敗していた場合は、それらのタスクを再実行します。

8.7. MongoDB からのディスク領域の確保

MongoDB データベースは、特に負荷の高いデプロイメントにおいて、ディスク領域を大幅に使用できます。以下の手順では、このディスク領域の一部を確保する方法を説明しています。

前提条件

MongoDB からのディスク領域の確保

  1. MongoDB シェルにアクセスします。

    # mongo pulp_database
  2. 修復前の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  3. 現在の MongoDB データベースに 2 GB を足したサイズに相当する空のディスク領域があることを確認します。MongoDB データベースを含むボリュームに十分な領域がない場合、別のボリュームをマウントし、これを修復に使用することができます。
  4. 修復コマンドを入力します。

    > db.repairDatabase()

    データベースのサイズによっては、修復コマンドは、その他すべての操作をブロックし、完了までに長い時間がかかる場合があることに注意してください。

  5. 修復後の MongoDB のディスク領域の使用量を確認します。

    > db.stats()
  6. Pulp サービスを開始します。

    # systemctl start goferd httpd pulp_workers pulp_celerybeat \
    pulp_resource_manager pulp_streamer

8.8. Red Hat Satellite からのカスタマーポータルサービスへのアクセス

Red Hat Access の事前インストール済みプラグインを使用すると、Satellite Web UI 内から複数の Red Hat カスタマーポータルサービスにアクセスできます。

Red Hat Access プラグインは以下のサービスを提供します。

  • Search: Satellite Web UI 内からカスタマーポータルのソリューションを検索します。
  • Logs: 問題解決に役に立つログファイルの特定の部分 (スニペット) を送信します。これらのログスニペットは Red Hat カスタマーポータルの診断ツールチェーンに送信します。
  • Support: Satellite Web UI 内で、作成されたサポートケースにアクセスしたり、作成されたサポートケースを変更したり、新しいサポートケースを作成したりします。
注記

Red Hat カスタマーポータルのリソースにアクセスするには、Red Hat カスタマーポータルのユーザー ID とパスワードを使ってログインする必要があります。

8.8.1. Red Hat Access プラグインでのソリューションの検索

Red Hat Access プラグインは、Red Hat カスタマーポータルで利用できるソリューションデータベースを参照する検索機能を提供します。

Red Hat Satellite Server からのソリューション検索:

  1. 画面右上で、Red Hat Access > 検索 をクリックします。
  2. 必要に応じて、Red Hat カスタマーポータルにログインします。右上のメインパネルで Log In (ログイン) をクリックします。

    注記

    Red Hat カスタマーポータルのリソースにアクセスするには、Red Hat カスタマーポータルのユーザー ID とパスワードを使ってログインする必要があります。

  3. Red Hat Search フィールドに検索クエリーを入力します。検索結果が左側の 推奨項目 リストに表示されます。
  4. 推奨項目 リストでソリューションをクリックします。ソリューションの記事がメインパネルに表示されます。

8.8.2. Red Hat Access プラグインでのログの使用

ログファイルビューアーを使用すると、ログファイルを表示し、ログの一部を分離できます。また、カスタマーポータルの診断ツールでログの一部を送信して、問題解決のサポートを受けることもできます。

Red Hat Satellite Server からのログ診断ツールの使用:

  1. 画面右上で、Red Hat Access > ログ をクリックします。
  2. 必要に応じて、Red Hat カスタマーポータルにログインします。右上のメインパネルで ログイン をクリックします。

    注記

    Red Hat カスタマーポータルのリソースにアクセスするには、Red Hat カスタマーポータルのユーザー ID とパスワードを使ってログインする必要があります。

  3. 左側にあるファイルツリーで、ログファイルを選択し、ファイル名をクリックします。
  4. ファイルの選択 をクリックします。ポップアップウィンドウに、ログファイルの内容が表示されます。
  5. ログファイルで、診断するテキストセクションを強調表示すると、Red Hat 診断 ボタンが有効になります。
  6. Red Hat 診断 をクリックします。これにより、強調表示された情報が Red Hat カスタマーポータルに送信され、提供されたログ情報に近似するソリューションが提供されます。
  7. ソリューションの結果によって、以下のいずれかに従います。

    • ソリューションが問題に一致する場合は、ソリューションをクリックし、必要な手順を実行して問題のトラブルシューティングを行います。
    • ソリューションが問題に一致しない場合は、サポートケースを新規作成 をクリックします。サポートケースには、ログファイルの強調表示されたテキストが入力されます。「Red Hat Access プラグインを使用した既存サポートケースの作成」 を参照してください。

8.8.3. Red Hat Access プラグインを使用した既存サポートケースの表示

Red Hat Access プラグインを使用すると、Red Hat Satellite Server から既存のサポートケースを表示できます。

Red Hat Satellite Server から既存サポートケースを表示:

  1. 画面右上で、Red Hat Access > サポート > マイケース をクリックします。
  2. 必要に応じて、Red Hat カスタマーポータルにログインします。右上のメインパネルで ログイン をクリックします。

    注記

    Red Hat カスタマーポータルのリソースにアクセスするには、Red Hat カスタマーポータルのユーザー ID とパスワードを使ってログインする必要があります。

  3. 以下のいずれかを実行し、既存のケースの中から特定のサポートケースを検索します。

    • 検索 フィールドにキーワードまたはフレーズを入力します。
    • ドロップダウンリストから、特定の ケースグループ を選択します。ケースグループ は、ユーザーの組織により Red Hat カスタマーポータル内で定義されています。
    • ケースのステータスを選択します。
  4. 検索結果から特定のサポートケースを選択し、ケース ID をクリックすると、サポートケースが表示されます。

8.8.4. Red Hat Access プラグインを使用した既存サポートケースの編集

Red Hat Access プラグインを使用して、Red Hat Satellite Server から既存のサポートケースを編集することができます。

Red Hat Satellite Server Web UI からのサポートケースの更新:

  1. 「Red Hat Access プラグインを使用した既存サポートケースの表示」 の手順を完了します。
  2. サポートケースで、マークされたセクションにスクロールダウンし、以下のことを行います。

    • 添付ファイル: システムからローカルファイルを添付します。分かりやすくするために、ファイル名を追加してください。

      注記

      ファイル名は 80 文字未満にしてください。Web UI を使用してアップロードする添付ファイルの最大サイズは 250 MBです。ファイルのサイズがそれよりも大きい場合は、FTP を使用します。

    • ケースコメント: グローバルサポートサービスに相談するケースに関する更新情報を追加します。情報の追加後に コメントの追加 をクリックします。

8.8.5. Red Hat Access プラグインを使用した既存サポートケースの作成

Red Hat Access プラグインを使用して、Red Hat Satellite Server から新規サポートケースを作成できます。

Red Hat Satellite Server を使用した新規サポートケースの作成:

  1. 画面右上で、Red Hat Access > サポート > 新規ケース をクリックします。
  2. 必要に応じて、Red Hat カスタマーポータルにログインします。右上のメインパネルで Log In (ログイン) をクリックします。

    注記

    Red Hat カスタマーポータルのリソースにアクセスするには、Red Hat カスタマーポータルのユーザー ID とパスワードを使ってログインする必要があります。

  3. 製品 および 製品バージョン フィールドは、自動入力されます。以下のフィールドに入力します。

    • 概要 — 問題の簡単な概要を記載します。
    • 詳細 — 問題の詳細を記載します。

      提供した概要に基づいて、推奨されるソリューションがメインパネルに表示されます。

  4. 次へ をクリックします。
  5. 以下のように適切なオプションを選択します。

    • 重大度 — チケットの緊急度に応じて 4 (低)、3 (通常), 2 (高)、または 1 (緊急) を選択します。
    • ケースグループ — 通知する必要があるメンバーに応じて、サポートケースに関連付けられたケースグループを作成します。Red Hat Satellite でケースグループを選択します。カスタマーポータル内でケースグループを作成します。
  6. sosreport の出力と必要なファイルを添付します。ファイルの詳細を追加し、ローカルファイルの添付 をクリックします。

    注記
    • 大規模なログファイルまたは多くの Satellite タスクがある場合は、foreman-debug の出力も添付することが推奨されます。
    • ファイル名は 80 文字未満にしてください。Web UI を使用してアップロードする添付ファイルの最大サイズは 250 MBです。ファイルのサイズがそれよりも大きい場合は、FTP を使用します。
  7. 送信 をクリックします。システムによりケースがカスタマーポータルにアップロードされ、ケース番号が提供されます。

Red Hat ナレッジベースの https://access.redhat.com/articles/445443: Red Hat Access の Red Hat Support Tool の記事には、追加情報、例、および動画チュートリアルが含まれます。

8.9. Satellite Server での Red Hat Insights の使用

Red Hat Insights を使用すると、セキュリティー違反、パフォーマンスの低下、および安定性の消失に関連するシステムとダウンタイムを積極的に診断できます。ダッシュボードを使用して、安定性、セキュリティー、またはパフォーマンスの主要なリスクを素早く特定できます。また、カテゴリー別に分類したり、影響度および解決方法の詳細を表示したり、影響を受けたシステムを調べたりすることができます。

Red Hat Insights は、デフォルトで Satellite Server にインストールされます。Insights を Satellite Server で使用する前に、Red Hat Insights に移動して、Satellite 6 をクリックし、事前インストールチェックや Satellite Server の登録を行います。

8.10. Web UI での Satellite Server の監視

Satellite Server Web UI の 概要 ページで、以下の概要情報が確認できます。

  • システムステータス (Capsule、利用可能なプロバイダー、コンピュートリソース、およびプラグインを含む)
  • サポート情報
  • システム情報
  • バックエンドシステムの状態
  • インストールされたパッケージ

概要 ページに移動するには:

  • Satellite Server web UI の右上で 管理 > 概要 をクリックします。
注記

Pulp の失敗後は、同期の遅延のため、最大 10 分間 Pulp のステータスが エラー ではなく、OK と表示される場合があります。

第9章 Capsule Server のモニタリング

以下の項では、Satellite Web UI を使用して、保守とトラブルシューティングに役に立つ Capsule 情報を見つける方法について説明します。

9.1. 一般的な Capsule 情報の表示

インフラストラクチャー > Capsules (スマートプロキシー) に移動して、Satellite Server に登録された Capsule Server の表を表示します。表に含まれる情報には以下の質問に対する回答が含まれます。

Capsule Server は稼働していますか?
これは、ステータス 列で緑色のアイコンにより示されます。赤色のアイコンは、非アクティブな Capsule を示します。その Capsule をアクティベートするには、Capsule Server で service foreman-proxy restart コマンドを使用します。
どのサービスが Capsule Server で有効であるか?
機能 コラムで、Capsule がたとえば DHCP サービスを提供するかどうかや Pulp ノードとして動作するかどうかを確認できます。Capsule の機能はインストール中に有効にしたり、後で設定したりできます。詳細については、『Red Hat Satellite Installation Guide』の Installing Capsule Server を参照してください。
Capsule Server はどの組織およびロケーションに割り当てられているか?

Capsule サーバーは複数の組織およびロケーションに割り当てることができますが、現在選択された組織に属する Capsule のみが表示されます。すべての Capsule をリストするには、左上隅にあるコンテキストメニューから 任意の組織 を選択します。

Capsule 設定の変更後に、アクション コラムのドロップダウンメニューから 更新 を選択して Capsule の表を最新状態にしてください。

詳細情報を表示するには Capsule 名をクリックします。概要 タブでは、Capsule の表にある情報と同じものを見つけることができます。さらに、以下の質問に回答することができます。

どのホストが Capsule Server によって管理されているか?
関連するホストの数は 管理対象ホスト ラベルの横に表示されます。関連するホストの詳細を表示するには、その数をクリックします。
どれくらいのストレージ容量が Capsule Server で利用可能であるか?
/var/lib/pulp/var/lib/pulp/content、および /var/lib/mongodb で Pulp コンテンツが使用しているストレージ容量が表示されます。また、Capsule で利用可能な残りのストレージ容量を確認できます。

9.2. サービスのモニタリング

インフラストラクチャー > Capsules (スマートプロキシー) に移動して、選択された Capsule の名前をクリックします。サービス タブでは、DNS ドメインのリストや Pulp ワーカーの数などの、Capsule サービスに関する基本的な情報を見つけることができます。ページの外観は、Capsule Server で有効なサービスによって異なります。より詳細なステータス情報を提供するサービスには Capsule ページで専用のタブが用意されることがあります (「Puppet の監視」 を参照)。

9.3. Puppet の監視

インフラストラクチャー > Capsules (スマートプロキシー) に移動し、選択した Capsule 名をクリックします。 Puppet タブでは、以下を確認できます。

  • 全般 サブタブで、Puppet イベントの概要、最新の Puppet 実行の概要、関連するホストの同期ステータス 。
  • 環境 サブタブで、Puppet 環境のリスト。

Puppet CA タブでは、以下の情報を確認できます。

  • 全般 サブタブで、証明書ステータスの概要と自動署名エントリーの数。
  • 証明書 サブタブで、Capsule に関連する CA 証明書の表。ここでは、証明書失効データを調べたり、取り消し をクリックして証明書をキャンセルしたりすることができます。
  • エントリーの自動署名 サブタブで、自動署名エントリーのリスト。ここでは、新規 をクリックしてエントリーを作成したり、削除 をクリックしてエントリーを削除したりできます。

第10章 外部認証の設定

外部認証を使用することにより、外部 ID プロバイダーのユーザーグループメンバーシップからユーザーとユーザーグループのパーミッションを派生させることができます。したがって、これらのユーザーを作成したり、グループメンバーシップを Satellite Server で手動で保守したりする必要はありません。Red Hat Satellite では、外部認証を設定する 4 つの一般的なシナリオがサポートされます。

  • Lightweight Directory Access Protocol (LDAP) サーバーを外部 ID プロバイダーとして使用するシナリオ。LDAP は、一元的に保存された情報にネットワークを介してアクセスするために使用されるオープンプロトコルセットです。詳細については、「LDAP の使用」 を参照してください。LDAP を使用して IdM または AD サーバーに接続できますが、セットアップでは、Satellite の Web UI でのサーバー検出、フォレスト間信頼、または Kerberos を使用したシングルサインオンはサポートされません。
  • Red Hat Enterprise Linux Identity Management (IdM) サーバーを外部 ID プロバイダーとして使用するシナリオ。IdM は、ネットワーク環境で使用される個別 ID、認証情報、および権限を管理します。詳細については、「 Identity Management の使用」 を参照してください。
  • フォレスト間 Kerberos 信頼を介して IdM に統合された Active Directory (AD) を外部 ID プロバイダーとして使用するシナリオ。詳細については、「フォレスト間信頼での Active Directory の使用」 を参照してください。
  • 直接 AD を外部 ID プロバイダーとして使用するシナリオ。詳細については、「Active Directory の直接的な使用」 を参照してください。

上記のシナリオでは、Satellite Server にアクセスを提供します。また、Satellite でプロビジョニングされたホストを IdM レルムと統合することもできます。Red Hat Satellite には、レルムまたはドメインプロバイダーに登録されたシステムのライフサイクルを自動的に管理するレルム機能があります。詳細については、「プロビジョンされたホストの外部認証」 を参照してください。

10.1. LDAP の使用

10.1.1. TLS での セキュア LDAP (LDAPS) の設定

注記

本セクションでは直接 LDAP 統合について説明しますが、Red Hat では SSSD を使用し、IdM、AD、または LDAP サーバーに対して SSSD を設定することを推奨しています。これらの設定については、本書の他の箇所で説明しています。

Red Hat Satellite で TLS を使用してセキュアな LDAP 接続 (LDAPS) を確立する必要がある場合は、最初に、接続する LDAP サーバーで使用された証明書を使用し、以下で説明しているように Satellite Server のベースオペレーティングシステムでそれらの証明書を信頼済みとして指定します。LDAP サーバーで中間認証局との証明書チェーンが使用される場合は、すべての証明書を取得するためにチェーンのすべてのルートおよび中間証明書が信頼済みである必要があります。この時点でセキュアな LDAP を必要としない場合は、LDAP 認証の設定: に進みます。

LDAP サーバーから証明書を取得する

Active Directory 証明書サービスを使用する場合は、ベース 64 エンコード X.509 形式を使用してエンタープライズ PKI CA 証明書をエクスポートします。Active Directory サーバーでの CA 証明書の作成およびエクスポートについては、How to configure Active Directory authentication with TLS on Satellite 6.3 を参照してください。

LDAP サーバー証明書を、Satellite Server がインストールされた Red Hat Enterprise Linux システム上の一時的な場所にダウンロードし、作業が終了したら削除します (たとえば、/tmp/example.crt)。ファイル名拡張子 .cer.crt は慣習にすぎず、DER バイナリーまたは PEM ASCII 形式の証明書を示すことがあります。

LDAP サーバーから証明書を信頼する

Red Hat Satellite Server では、LDAP 認証用の CA 証明書は /etc/pki/tls/certs/ ディレクトリー内の個別ファイルである必要があります。

install コマンドを使用して適切なパーミッションでインポート済み証明書を /etc/pki/tls/certs/ ディレクトリーにインストールします。

# install /tmp/example.crt /etc/pki/tls/certs/

root で以下のコマンドを実行して、LDAP サーバーから取得した example.crt 証明書を信頼します。

# ln -s example.crt /etc/pki/tls/certs/$(openssl x509 -noout -hash -in /etc/pki/tls/certs/example.crt).0

httpd サービスを再起動します。

  • Red Hat Enterprise Linux 6 の場合:

    # service httpd restart
  • Red Hat Enterprise Linux 7 の場合:

    # systemctl restart httpd

10.1.2. LDAP を使用するよう Red Hat Satellite を設定する

Web UI を使用して LDAP 認証を設定するには以下の手順を実行します。Satellite の Web UI で Kerberos を使用したシングルサインオン機能が必要な場合は、代わりに IdM および AD 外部認証を使用する必要があることに注意してください。これらのオプションの詳細については、Using Identity Management または Using Active Directory を参照してください。

LDAP 認証の設定:

  1. allow Network Information System (NIS) サービスブール値を true に設定して SELinux により送信 LDAP 接続が中止されるのを防ぎます。

    • Red Hat Enterprise Linux 6 の場合:

      # setsebool -P allow_ypbind on
    • Red Hat Enterprise Linux 7 の場合:

      # setsebool -P nis_enabled on
  2. 管理 > LDAP 認証 に移動します。
  3. 新規認証ソース をクリックします。
  4. LDAP サーバータブで LDAP サーバーの名前、ホスト名、ポート、およびサーバータイプを入力します。デフォルトポートは 389、デフォルトサーバータイプは POSIX です (認証サーバーのタイプに応じて FreeIPA または Active Directory を選択することもできます)。TLS 暗号化接続に対しては、LDAPS チェックボックスを選択して暗号化を有効にします。ポートは LDAPS のデフォルト値である 636 に変更されるはずです。
  5. アカウント タブでアカウント情報とドメイン名の詳細を入力します。説明と例については、「LDAP 設定の説明と例」 を参照してください。
  6. マッピング属性 タブで LDAP 属性を Satellite 属性にマップします。ログイン名、名、姓、電子メールアドレス、および写真の属性をマップできます。例については、「LDAP 設定の説明と例」 を参照してください。
  7. ロケーション タブで、左側の表からロケーションを選択します。選択したロケーションは、LDAP 認証ソースから作成されたユーザーに割り当てられ、初回ログイン以降、利用可能となります。
  8. 組織 タブで、左側の表から組織を選択します。選択した組織は、LDAP 認証ソースから作成されたユーザーに割り当てられ、初回ログイン以降、利用可能となります。
  9. 送信 をクリックします。

この時点で Satellite Server は LDAP サーバーを使用するよう設定されました。Satellite でアカウントを自動作成 を選択しなかった場合は、ユーザーの作成を参照してユーザーアカウントを手動で作成します。そのオプションを選択した場合、LDAP ユーザーは LDAP アカウントおよびパスワードを使用して Satellite にログインできます。最初にログインした後に、ロールは手動で割り当てる必要があります。Satellite でユーザーアカウントに適切なロールを割り当てるには、ユーザーへのロールの割り当て を参照してください。

10.1.3. LDAP 設定の説明と例

以下の表は、Account タブの各設定の説明を示しています。

表10.1 アカウントタブの設定

設定説明

アカウント

LDAP サーバーへの読み取りアクセスを持つ LDAP ユーザー。ユーザー名は、サーバーで匿名の読み取りが許可されている場合は必要ありません。許可されていない場合は、ユーザーのオブジェクトへの完全パスを使用します。以下に例を示します。

uid=$login,cn=users,cn=accounts,dc=example,dc=com

$login 変数には、ログインページで入力されたユーザー名がリテラル文字列として格納されます。この値は、変数が展開されたときにアクセスされます。

この変数は、LDAP ソースからの外部ユーザーグループとは使用できません。ユーザーがログインしていない場合、Satellite はグループリストを取得する必要があります。匿名または専用サービスユーザーを使用してください。

アカウントパスワード

アカウント フィールドで定義されたユーザーの LDAP パスワード。アカウント$login 変数を使用している場合は、このフィールドを空白にすることができます。

ベース DN

LDAP ディレクトリーの最上位のドメイン名。

グローバルベース DN

グループが含まれる LDAP ディレクトリーツリーの最上位のドメイン名。

LDAP フィルター

LDAP クエリーを制限するフィルター。

オンザフライ登録

このオプションが選択された場合は、LDAP ユーザーが初めて Satellite にログインしたときに、Satellite ユーザーアカウントが自動的に作成されます。 Permissions Denied の警告が表示されることがあります。その場合は、ユーザーは Satellite 管理者に連絡してユーザーアカウントに適切なロールを関連付けてもらう必要があります。

Usergroup sync

このオプションが選択された場合は、ユーザーがログインしたときにユーザーのユーザーグループメンバーシップが自動的に同期されます。これにより、メンバーシップは常に最新の状態になります。このオプションが選択されない場合は、Satellite で Cron ジョブを使用してグループメンバーシップを定期的 (デフォルトでは 30 分ごと) に同期します。詳細については、外部ユーザーグループの設定: を参照してください。

以下の表は、異なる種類の LDAP 接続の設定例を示しています。以下のすべての例では、ユーザーおよびグループのエントリーに対してバインド、読み取り、および検索のパーミッションを持つ redhat という名前の専用サービスアカウントを使用します。LDAP 属性名では大文字と小文字が区別されることに注意してください。

表10.2 Active Directory LDAP 接続の設定例

設定値例

アカウントユーザー名

DOMAIN\redhat

アカウントパスワード

P@ssword

ベース DN

DC=example,DC=COM

グループベース DN

CN=Users,DC=example,DC=com

ログイン名属性

userPrincipalName

名属性

givenName

ラストネーム属性

sn

メールアドレス属性

mail

注記

userPrincipalName では、ユーザー名にスペースを使用できます。ログイン名属性 sAMAccountName (上記の表にはリストされていない) は、レガシー Microsoft システムとの後方互換性を提供します。sAMAccountName では、ユーザー名にスペースを使用できません。

表10.3 FreeIPA または Red Hat Identity Management LDAP 接続の設定例

設定値例

アカウントユーザー名

uid=redhat,cn=users,cn=accounts,dc=example,dc=com

ベース DN

dc=example,dc=com

グループベース DN

cn=groups,cn=accounts,dc=example,dc=com˙

ログイン名属性

uid

名属性

givenName

ラストネーム属性

sn

メールアドレス属性

mail

表10.4 POSIX (OpenLDAP) LDAP 接続の設定例

設定値例

アカウントユーザー名

uid=redhat,ou=users,dc=example,dc=com

ベース DN

dc=example,dc=com

グループベース DN

cn=employee,ou=userclass,dc=example,dc=com˙

ログイン名属性

uid

名属性

givenName

ラストネーム属性

sn

メールアドレス属性

mail

10.2. Identity Management の使用

以下の方法のいずれかを選択します。

10.2.1. Identity Management の直接的な使用

本項では、Red Hat Satellite Server と IdM サーバーを統合する方法とホストベースアクセス制御を有効にする方法を示します。

前提条件

Satellite Server は Red Hat Enterprise Linux 7.1 または Red Hat Enterprise Linux 6.6 以降で実行する必要があります。

本章の例では、IdM と Satellite の設定が分かれていることを前提とします。ただし、両方のサーバーに対して管理者権限を持っている場合は、Linux ドメイン ID、認証、およびポリシーガイド[2] で説明されているように、IdM を設定できます。

Satellite Server のベースオペレーティングシステムは、組織の IdM 管理者によって IdM ドメインに登録されている必要があります。

Satellite Server での IdM 認証の設定:

  1. 以下のように、IdM サーバー上で Satellite Server のホストエントリーを作成し、ワンタイムパスワードを生成します。

    # ipa host-add --random hostname
    注記

    IdM 登録を完了するには、生成されたワンタイムパスワードをクライアントで使用する必要があります。

    ホスト設定プロパティーの詳細については、Linux ドメイン ID、認証、およびポリシーガイド[3] を参照してください。

  2. 以下のように、Satellite Server 向けの HTTP サービスを作成します。

    # ipa service-add servicename/hostname

    ホスト設定プロパティーの詳細については、Linux ドメイン ID、認証、およびポリシーガイド[4] を参照してください。

  3. Satellite Server で、IdM 登録を設定するために、root で以下のコマンドを実行します。

    # ipa-client-install --password OTP

    OTP を、IdM 管理者により提供されたワンタイムパスワードに置き換えます。

  4. Satellite Server が Red Hat Enterprise Linux 7 上で実行されている場合は、以下のコマンドを実行します。

    # subscription-manager repos --enable rhel-7-server-optional-rpms

    インストーラーは、オプションのリポジトリー rhel-7-server-optional-rpms (Red Hat Enterprise Linux 7 の場合) に含まれるパッケージに依存します。Red Hat Enterprise Linux 6 の場合、必要なすべてのパッケージは base リポジトリーに含まれます。

  5. 以下のコマンドを実行します。

    # satellite-installer --foreman-ipa-authentication=true

    このコマンドは、Satellite のフレッシュインストールに限定されません。既存の Satellite インストールを変更するためにも使用できます。

  6. Katello サービスを再起動します。

    # katello-service restart

この時点で、外部ユーザーは IdM 認証情報を使用して Satellite にログインできます。この場合、ユーザー名とパスワードを使用して直接 Satellite Server にログインするか、設定された Kerberos シングルサインオンを利用し、クライアントマシンでチケットを取得して、自動的にログインすることを選択できます。また、ワンタイムパスワードを使用した 2 要素認証 (2FA OTP) もサポートされます。IdM 内のユーザーが 2FA 向けに設定され、Satellite Server が Red Hat Enterprise Linux 7 上で実行されている場合、このユーザーは OTP で Satellite に対して認証することもできます。オプションで、次の手順に進んでホストベースアクセス制御 (HBAC) を設定します。

HBAC ルールでは、IdM ユーザーがアクセスすることを許可されたドメイン内のマシンを定義します。選択されたユーザーが Satellite Server にアクセスすることを防ぐよう IdM サーバー上で HBAC を設定できます。この方法では、ログインが許可されないユーザーのデータベースエントリーを Satellite が作成することを防ぐことができます。HBAC の詳細については、Linux ドメイン ID、認証、およびポリシーガイド[5] を参照してください。

HBAC の設定:

  1. HBAC サービスおよびルールを IdM サーバーで作成し、リンクします。以下の例では、satellite-prod という PAM サービス名を使用しています。IdM サーバー上で以下のコマンドを実行してください。

    $ ipa hbacsvc-add satellite-prod
    $ ipa hbacrule-add allow_satellite_prod
    $ ipa hbacrule-add-service allow_satellite_prod --hbacsvcs=satellite-prod
  2. サービス satellite-prod へのアクセスを持つユーザーと Satellite Server のホスト名を追加します。

    $ ipa hbacrule-add-user allow_satellite_prod --user=username
    $ ipa hbacrule-add-host allow_satellite_prod --hosts=the-satellite-fqdn

    または、allow_satellite_prod ルールにホストグループとユーザーグループを追加します。

  3. ルールのステータスを確認するために、以下のコマンドを実行します。

    $ ipa hbacrule-find satellite-prod
    $ ipa hbactest --user=username --host=the-satellite-fqdn --service=satellite-prod
  4. IdM サーバーで allow_all rule が無効であることを確認します。他のサービスに影響を与えずにこれを行う方法については、Red Hat カスタマーポータル上の記事 How to configure HBAC rules in IdM[6] を参照してください。
  5. Satellite Server での IdM 認証の設定: で説明されているように、Satellite Server で IdM 統合を設定します。Satellite Server で、root として PAM サービスを定義します。

    # satellite-installer --foreman-pam-service=satellite-prod

10.2.2. LDAP 認証での Identity Management の使用

シングルサインオンサポートなしで外部認証ソースとして Identity Management を使用する場合の詳細については、「LDAP の使用」 を参照してください。

10.3. Active Directory の使用

以下の方法のいずれかを選択します。

10.3.1. フォレスト間信頼での Active Directory の使用

Kerberos を使用すると、2 つの異なるドメインフォレスト間の関係を定義するフォレスト間信頼を作成できます。ドメインフォレストはドメインの階層構造です。フォレストは AD と IdM によって形成されます。AD と IdM との間での有効な信頼関係により、AD のユーザーは一連の認証情報を使用して Linux ホストおよびサービスにアクセスできます。フォレスト間信頼の詳細については、Windows 統合ガイド[7] を参照してください。

Satellite 側から見ると、設定プロセスは、フォレスト間信頼を設定せずに IdM サーバーと統合することと同じです。Satellite Server は IPM ドメインで登録し、「 Identity Management の使用」 で説明されているように統合する必要があります。IdM サーバーで、以下の追加の手順を実行する必要があります。

  1. HBAC 機能を有効にするために、外部グループを作成し、AD グループをその外部グループに追加します。新しい外部グループを POSIX グループに追加します。この POSIX グループを HBAC ルールで使用します。
  2. AD ユーザーの追加属性を転送するよう sssd を設定します。これらの属性を /etc/sssd/sssd.confnss セクションと domain セクションに追加します。

    [nss]
    user_attributes=+mail, +sn, +givenname
    
    [domain/EXAMPLE]
    ldap_user_extra_attrs=mail, sn, givenname

10.3.2. Active Directory の直接的な使用

本セクションでは、直接 Active Directory (AD) を Satellite Server の外部認証ソースとして使用する方法を示します。直接 AD 統合は、Satellite Server が、ID が格納された AD ドメインに直接参加することを意味します。推奨されるセットアップは 2 つの手順から構成され、最初に AD サーバーを使用した Satellite Server の登録 で説明されているように AD を使用して Satellite を登録し、次に GSS-proxy との直接 AD 統合の設定 で説明されているように GSS-proxy を使用して AD 統合を完了します。

Apache での Kerberos 認証の従来のプロセスでは、Apache プロセスが keytab ファイルへの読み取りアクセスを持っている必要があります。GSS-Proxy を使用すると、Kerberos 認証機能を保持しつつ keytab ファイルへのアクセスを削除することにより Apache サーバーに対してより厳密な権限の分離を行えます。AD を Satellite の外部認証ソースとして使用する場合は、keytab ファイルのキーがホストキーと同じであるため、GSS-proxy を実装することが推奨されます。

注記

AD 統合では、Red Hat Satellite Server を Red Hat Enterprise Linux 7.1 以降にデプロイする必要があります。

Satellite Server のベースオペレーティングシステムとして動作する Red Hat Enterprise Linux で以下の手順を実行します。本セクションの例では、EXAMPLE.ORG が AD ドメインの Kerberos レルムです。手順を完了すると、EXAMPLE.ORG レルムに属するユーザーは Satellite Server にログインできます。

前提条件

GSS-proxy と nfs-utils がインストールされていることを確認します。

# yum install gssproxy nfs-utils

AD サーバーを使用した Satellite Server の登録:

  1. 必要なパッケージをインストールします。

    # yum install sssd adcli realmd ipa-python-compat
  2. AD サーバーを使用して Satellite Server を登録します。以下のコマンドを実行するには、管理者パーミッションが必要な場合があります。

    # realm join -v EXAMPLE.ORG

AD サーバーを使用して Satellite を登録したら、satellite-installer コマンドを使用して GSS-proxy との直接 AD 統合を設定できます。これは、すでにインストールされた Satellite に対して行ったり、Satellite のインストール中に行ったりすることができます。Apache ユーザーは keytab ファイルへのアクセスを持たない必要があることに注意してください。また、Apache ユーザーの実効ユーザー ID (id apache を実行して確認可能) をメモしてください。以下の手順では、例として UID 48 を使用します。

GSS-proxy との直接 AD 統合の設定:

  1. デフォルトでは、satellite-installer コマンドが IdM 統合に設定されます。この設定を変更するには、以下の内容で /etc/ipa/default.conf ファイルを作成します。

    [global]
    server = unused
    realm = EXAMPLE.ORG
  2. 以下の内容で /etc/net-keytab.conf ファイルを作成します。

    [global]
    workgroup = EXAMPLE
    realm = EXAMPLE.ORG
    kerberos method = system keytab
    security = ads
  3. 以下のコマンドを使用して HTTP 向け keytab ファイルを作成します。

    # KRB5_KTNAME=FILE:/etc/gssproxy/http.keytab net ads keytab add HTTP -U administrator -d3 -s /etc/net-keytab.conf

    このコマンドを実行すると、AD サーバーから HTTP サービス keytab ファイルが取得され、/etc/gssproxy/http.keytab に格納されます。このファイルは root ユーザーおよびグループによって所有されるようにしてください。

    # chown root:root /etc/gssproxy/http.keytab
  4. 以下の行を /etc/krb5.conf ファイルの先頭に挿入します。

    includedir /var/lib/sss/pubconf/krb5.include.d/
  5. /etc/httpd/conf/http.keytab に空の keytab ファイルを作成します。

    # touch /etc/httpd/conf/http.keytab
  6. 以下のコマンドを実行します。

    # satellite-installer --foreman-ipa-authentication=true
  7. gssproxy サービスを起動して、有効にします。

    # systemctl restart gssproxy.service
    # systemctl enable gssproxy.service
  8. Apache サーバーが GSS-proxy を使用するよう設定するように、以下の内容で /etc/systemd/system/httpd.service ファイルを作成します。

    .include /lib/systemd/system/httpd.service
    [Service]
    Environment=GSS_USE_PROXY=1

    変更をサービスに適用します。

    # systemctl daemon-reload
  9. httpd サービスを起動して、有効にします。

    # systemctl restart httpd.service

    Apache サーバーが実行中であり、クライアントに有効な Kerberos チケットがある場合、サーバーに対して HTTP 要求を行うユーザーは認証されます。

この時点でユーザーは Satellite UI でアクセス認証情報を入力せずにブラウザーの Kerberos SSO がログインできるよう設定できます。Firefox ブラウザーの設定の詳細については、システムレベルの認証ガイド を参照してください。Internet Explorer ブラウザーを使用している場合は、ローカルイントラネットまたは信頼できるサイトのリストに Satellite Server を追加し、Enable Integrated Windows Authentication (統合 Windows 認証を使用する) 設定を有効にします。詳細については、Internet Explorer のドキュメンテーションを参照してください。

注記

直接 AD 統合では、IdM を介した HBAC は利用できません。代わりに、管理者が AD 環境でポリシーを一元管理することを可能にする Group Policy Objects (GPO) を使用できます。GPO と PAM サービス間の適切なマッピングを行うには、以下の sssd 設定を使用します。

access_provider = ad
ad_gpo_access_control = enforcing
ad_gpo_map_service = +foreman

ここでの、foreman は PAM サービス名です。GPO の詳細については、Windows 統合ガイド[8] を参照してください。

10.3.3. LDAP 認証での Active Directory の使用

シングルサインオンサポートなしで外部認証ソースとして Active Directory に接続する場合の詳細については、「LDAP の使用」 を参照してください。設定例については、How to configure Active Directory authentication with TLS on Satellite 6 を参照してください。

10.4. 外部ユーザーグループの設定

外部ソースを介して認証されたユーザーは、最初にログインしたときに Satellite Server で自動的に作成されます。これは、Satellite GUI で手動で作成されたユーザーグループにマップする必要がある外部ユーザーグループには適用されません。外部ユーザーグループのメンバーは、自動的に Satellite ユーザーグループのメンバーになり、関連するパーミッションを受け取ります。

前提条件

外部ユーザーグループの設定は、外部認証の種類によって異なります。

  • LDAP ソースを使用している場合は、LDAP 認証が適切に設定されていることを確認します。管理 > LDAP 認証 に移動して、既存のソースを参照および変更します。LDAP ソースの作成手順については、「LDAP の使用」 を参照してください。使用する LDAP グループ名をメモします。
注記

LDAP ソースから外部ユーザーグループを使用している場合は、アカウントユーザー名の代わりに $login 変数を使用できません。匿名または専用サービスユーザーを使用する必要があります。

  • 10章外部認証の設定 の説明のように Satellite が IdM または AD サーバーで登録されている場合は、使用する外部ユーザーグループをメモします。外部ユーザーのグループメンバーシップを見つけるには、Satellite で id コマンドを実行します。

    # id username

    ここでの username は、外部グループメンバーの名前です。Satellite では、外部グループを設定する前に、少なくとも 1 人の外部ユーザーが初めて認証する必要があります。また、外部認証ソースには少なくとも 1 人のユーザーが存在する必要があります。

外部ユーザーグループの設定:

  1. 管理 > ユーザーグループ に移動して、新規ユーザーグループ をクリックします。
  2. ユーザーグループ タブで、新規ユーザーグループの名前を指定します。ユーザーは、外部ユーザーグループの更新時に自動的に追加されるため、選択しないでください。
  3. ロール タブで、ユーザーグループに割り当てるロールを選択します。または、管理者 チェックボックスを選択して利用可能なすべてのパーミッションを割り当てます。
  4. 外部グループ タブで、外部ユーザーグループの追加 をクリックして、認証ソース ドロップダウンメニューから認証ソースを選択します。

    名前 フィールドに LDAP または外部グループの名前を指定します。

  5. 送信 をクリックします。
重要

ユーザーログイン時に自動的に LDAP ソースがユーザーグループメンバーシップを同期するように設定することができます。このオプションが設定されていない場合、LDAP ユーザーグループは、LDAP 認証ソースを (デフォルトでは 30 分ごとに) 同期するスケジュールされたタスク (cron ジョブ) により自動的に更新されます。LDAP 認証ソースのユーザーグループがスケジュールされたタスクの間の時間に変更された場合、ユーザーは間違った外部ユーザーグループに割り当てられる可能性があります。この問題は、スケジュールされたタスクが実行されたときに自動的に修正されます。また、foreman-rake ldap:refresh_usergroups を実行したり、Web UI で外部ユーザーグループを更新したりすることにより LDAP ソースを手動で更新することもできます。

IdM または AD に基づいた外部ユーザーグループは、グループメンバーが Satellite にログインした場合のみ更新されます。Satellite GUI で外部ユーザーグループのユーザーメンバーシップを変更することはできません。このような変更はグループの次回更新時に上書きされます。外部ユーザーに追加パーミッションを割り当てるには、外部マッピングが指定されていない内部ユーザーグループにそのユーザーを追加します。次に、必要なロールをそのグループに割り当てます。

10.5. プロビジョンされたホストの外部認証

本項では、プロビジョニングされたホストを認証するために IdM 統合を設定する方法について説明します。最初に Satellite または Capsule Server で IdM レルムサポートを設定し、次にホストを IdM レルムグループに追加します。

10.5.1. Red Hat Satellite Server または Capsule Server での IdM レルムサポートの設定

プロビジョニングされたホストに対して IdM を使用するには、最初に Red Hat Satellite Server または Red Hat Satellite Capsule Server を設定します。

前提条件

  • Satellite Server がコンテンツ配信ネットワークに登録されているか、または独立した Capsule Server が Satellite Server に登録されています。
  • Red Hat Identity Management などのレルムまたはドメインプロバイダーが設定されています。

Red Hat Satellite Server または Capsule Server での IdM レルムサポートの設定:

  1. Satellite Server または Capsule Server に以下のパッケージをインストールします。

    # yum install ipa-client foreman-proxy ipa-admintools
  2. IdM クライアントとして Satellite Server (または Capsule Server) を設定します。

    # ipa-client-install
  3. Satellite Server または Capsule Server の Red Hat Identity Management で realm-capsule ユーザーと関連ロールを作成します。

    # foreman-prepare-realm admin realm-capsule

    foreman-prepare-realm を実行して、Capsule Server と使用するよう IdM サーバーを準備します。これにより、Satellite に必要なパーミッションを持つ専用ロールと、そのロールを持つユーザーが作成され、keytab ファイルが取得されます。この手順では Identity Management サーバー設定の詳細が必要になります。

    コマンドが正常に実行されると、以下のコマンド出力が表示されるはずです。

    Keytab successfully retrieved and stored in: freeipa.keytab
    Realm Proxy User:    realm-capsule
    Realm Proxy Keytab:  /root/freeipa.keytab
  4. /root/freeipa.keytab/etc/foreman-proxy ディレクトリーに移し、ユーザーの foreman-proxy に所有者設定を行います。

    # mv /root/freeipa.keytab /etc/foreman-proxy
    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/freeipa.keytab
  5. Satellite Server または Capsule Server のどちらを使用しているかに応じてレルムを設定します。

    • Satellite Server で統合された Capsule Server を使用している場合は、レルムを設定するために satellite-installer を使用します。

      # satellite-installer --foreman-proxy-realm true \
      --foreman-proxy-realm-keytab /etc/foreman-proxy/freeipa.keytab \
      --foreman-proxy-realm-principal realm-capsule@EXAMPLE.COM \
      --foreman-proxy-realm-provider freeipa
      注記

      これらのオプションは、Red Hat Satellite Server を初めて設定する場合にも実行できます。

    • 外部の Capsule Server を使用している場合は、レルムを設定するために satellite-installer --scenario capsule を使用します。

      # satellite-installer --scenario capsule \
      --foreman-proxy-realm true \
      --foreman-proxy-realm-keytab /etc/foreman-proxy/freeipa.keytab \
      --foreman-proxy-realm-principal realm-capsule@EXAMPLE.COM \
      --foreman-proxy-realm-provider freeipa
  6. ca-certificates パッケージの最新バージョンがインストールされ、IdM 認証局が信頼されていることを確認します。

    # cp /etc/ipa/ca.crt /etc/pki/ca-trust/source/anchors/ipa.crt
    # update-ca-trust enable
    # update-ca-trust
  7. (オプション) すでに存在する Satellite Server または Capsule Server で IdM を設定している場合は、設定の変更を反映するために以下の手順も実行する必要があります。

    1. foreman-proxy サービスを再起動します。

      # service foreman-proxy restart
    2. Satellite Server にログインし、インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
    3. IdM 用に設定した Capsule Server の右側にあるドロップダウンメニューをクリックし、機能の更新 を選択します。
  8. 最後に、Satellite Server ユーザーインターフェースで新規のレルムエントリーを作成します。

    1. インフラストラクチャー > レルム に移動し、メインページの右側にある 新規レルム をクリックします。
    2. 以下のサブタブのフィールドに値を入力します。

      • レルム サブタブで、レルム名、使用するレルムの種類、およびレルムプロキシーを指定します。
      • ロケーション サブタブで、新規レルムを使用する予定のロケーションを選択します。
      • 組織 サブタブで、新規レルムを使用する予定の組織を選択します。
    3. 送信 をクリックします。

これで Satellite Server または Capsule Server は、IdM に自動的に登録されるホストをプロビジョニングできるようになりました。次のセクションでは、ホストを IdM ホストグループに自動的に追加する手順について説明します。

10.5.2. IdM ホストグループへのホストの追加

Red Hat Enterprise Linux Identity Management (IdM) では、システムの属性に基づいて自動メンバーシップルールをセットアップできます。Red Hat Satellite のレルム機能は、管理者に対し、Red Hat Satellite ホストグループを IdM パラメーター「userclass」にマップする機能を提供します。これにより、管理者は automembership を設定することができます。

ネスト化されたホストグループが使用される場合、それらは Red Hat Satellite ユーザーインターフェースに表示され、IdM サーバーに送信されます。たとえば、"Parent/Child/Child" のように表示されます。

注記

Satellite Server または Capsule Server はアップデートを IdM サーバーに送信しますが、automembership のルールは、初期登録時にのみ適用されます。

IdM ホストグループへのホストの追加:

  1. IdM サーバー上で、ホストグループを作成します。

    # ipa hostgroup-add hostgroup_name
    Description: hostgroup_description
    ----------------------------
    Added hostgroup "hostgroup_name"
    ----------------------------
    Host-group: hostgroup_name
    Description: hostgroup_description

    ここで、

    • hostgroup_name はホストグループの名前です。
    • hostgroup_description はホストグループの説明です。
  2. automembership のルールを作成します。

    # ipa automember-add --type=hostgroup automember_rule
    ----------------------------------
    Added automember rule "automember_rule"
    ----------------------------------
    Automember Rule: automember_rule

    ここで、

    • automember-add は automember グループとしてグループにフラグを立てます。
    • --type=hostgroup は、ターゲットグループがユーザーグループではなく、ホストグループであることを特定します。
    • automember_rule は、automember ルールの特定に使用する名前です。
  3. userclass 属性に基づいて automembership の条件を定義します。

    # ipa automember-add-condition --key=userclass --type=hostgroup --inclusive-regex=^webserver hostgroup_name
    ----------------------------------
    Added condition(s) to "hostgroup_name"
    ----------------------------------
    Automember Rule: automember_rule
    Inclusive Regex: userclass=^webserver
    ----------------------------
    Number of conditions added 1
    ----------------------------

    ここで、

    • automember-add-condition により、グループメンバーを特定するための正規表現の条件を追加することができます。
    • --key=userclass はキー属性を userclass に指定します。
    • --type=hostgroup は、ターゲットグループがユーザーグループではなく、ホストグループであることを特定します。
    • --inclusive-regex= ^webserver は、一致する値を特定するための正規表現パターンです。
    • hostgroup_name はターゲットホストグループの名前です。

システムが Satellite Server の hostgroup_name ホストグループに追加されると、そのシステムは、Identity Management サーバーの "hostgroup_name" ホストグループに自動的に追加されます。IdM ホストグループは、HBAC (ホストベースアクセス制御)、sudo ポリシー、およびその他の IdM 機能を許可します。

第11章 Satellite Server のカスタマイズ

Red Hat Satellite Server は、ユーザーインターフェースプラグインの追加と、オーケストレーションおよび Rails イベントによりトリガーされたフックの使用で拡張できます。一部のプラグインはデフォルトでインストールされますが、追加のプラグインは Red Hat リポジトリーとアップストリームから RPM パッケージとしてインストールできます。

Satellite 用のプラグインには通常、RPM パッケージ名に foreman という語が含まれており、Capsule 用のプラグインには、名前に smart_proxy が含まれています。yum info または rpm -qi を使用して、RPM パッケージの説明を表示し、プラグインを確認します。アップストリームプラグインの詳細については、Foreman web サイトの Plugins セクションで確認してください。

Red Hat では、API はサポートしていますが、アップストリームプラグイン自体はサポートしません。一部のフックは RPM パッケージとして提供され、シェルスクリプトとして作成できるフックもあります。これにより、シェルスクリプトの知識がある管理者は、Ruby と Rails を使用せずに Satellite の機能を拡張することが可能になります。

11.1. プラグインの追加

設定されたリポジトリーから利用可能なプラグインをリストするには、Satellite Server 上で root として、パッケージ名の一部を使用して検索することができます。例を示します。

# yum search rubygem-foreman
Loaded plugins: product-id, search-disabled-repos, subscription-manager
=================== N/S matched: rubygem-foreman ==============================
tfm-rubygem-foreman-redhat_access.noarch : Foreman engine to access Red Hat knowledge base and manage support cases.
tfm-rubygem-foreman-tasks.noarch : Tasks support for Foreman with Dynflow integration
tfm-rubygem-foreman_abrt.noarch : Display reports from Automatic Bug Reporting Tool in Foreman
tfm-rubygem-foreman_bootdisk.noarch : Create boot disks to provision hosts with Foreman
output truncated

Satellite に現在インストールされているプラグインを表示するには、root で以下のコマンドを入力します。

# yum list installed | grep rubygem-foreman | grep foreman

Capsule に現在インストールされているプラグインを表示するには、root で以下のコマンドを入力します。

# yum list installed | grep proxy

新しいプラグインを追加するには、パッケージをインストールし、Foreman を再起動します。たとえば、Templates プラグインをインストールするには、root で以下のコマンドを入力します。

# yum install tfm-rubygem-foreman_templates

Katello サービスを再起動して、プラグインを登録します。

# katello-service restart

他のプラグインについての情報は、Foreman web サイトの Popular Plugins および List of Plugins セクションを参照してください。

重要

Foreman フックがインストール、設定されている場合は、Satellite の診断やサポートを Red Hat では実行できません。Foreman フックは自己責任でご使用ください。

Red Hat では、プラグイン API はサポートしていますが、特定のアップストリームプラグイン自体のサポートは提供していません。Foreman フックは Satellite でのワークフローを変更する可能性があります。このため、Red Hat からサポートを受ける場合には、Red Hat サポートがフックすべてを削除するよう依頼する場合があります。

Foreman フックは、Satellite 移行プロセスでは移行できません。つまり、アップグレード前にフックを削除し、Satellite アップグレードが正常に機能していることを確認した後に、ご自分でフックを元に戻していただく必要があります。

Foreman リポジトリーからのプラグインの追加

Foreman リポジトリーは、http://yum.theforeman.org/plugins から入手できます。各 Foreman リリースには、その特定のバージョンと互換性があるプラグインを含む独立したリポジトリーが利用可能です。Foreman のバージョンと互換性があるプラグインをシステムにインストールします。使用している Foreman のリリースを調べるには、以下のコマンドを入力します。

$ rpm -q foreman
foreman-1.7.2.53-1.el7sat.noarch

以下のように Foreman リポジトリーを設定します。

# /etc/yum.repos.d/foreman-plugins.repo
[foreman-plugins]
name=Foreman plugins
baseurl=http://yum.theforeman.org/plugins/1.10/el_X_/x86_64/
enabled=1
gpgcheck=0

ここでの X は、Red Hat Enterprise Linux 6 か 7 に応じて 6 または 7 にします。使用中の Foreman のリリースに合わせて URL のバージョン番号を変更します。パッケージは現在 GPG 署名されていないことに注意してください。

  1. 検索機能を使用してプラグインのパッケージを見つけます。たとえば、名前に "discovery" という単語があるプラグインを検索するには、以下のコマンドを実行します。

    # yum search discovery

    または、プラグインの名前のプラグインドキュメンテーションを確認します。

  2. たとえば、以下のようにパッケージをインストールします。

    # yum install tfm-rubygem-foreman_discovery
  3. Katello サービスを再起動して、プラグインを登録します。

    # katello-service restart

11.2. Foreman フックの使用

Foreman のホストオーケストレーションはフックで拡張することで、追加のタスクを実行できるようになります。Foreman フックを使用すると、ホストの作成時やホストのプロビジョニングの完了時などのオーケストレーションイベントが発生するときに、スクリプトをトリガーできます (どのような実行可能ファイルでも使用できます)。また、フックはスクリプトとともに Foreman オブジェクトの標準的な Rails コールバックに組み込むことができます。

注記

Foreman フックは Satellite のワークフローを変更できるため、Red Hat からサポートを得るためにすべてのフックを削除するよう求められることがあります。また、Foreman フックはアップグレードの前に削除し、Satellite が期待どおり動作していることを確認した後に復元する必要があります。

Foreman フックは、デフォルトでインストールされる tfm-rubygem-foreman_hooks パッケージにより提供されます。必要な場合は、パッケージがインストールされ、最新の状態であることを確認するために、root で以下のコマンドを入力します。

# yum install tfm-rubygem-foreman_hooks
Loaded plugins: product-id, search-disabled-repos, subscription-manager
Package tfm-rubygem-foreman_hooks-0.3.9-2.el7sat.noarch already installed and latest version
Nothing to do

Foreman フックは /usr/share/foreman/config/hooks/ に格納されます。各 Foreman オブジェクトには 1 つのサブディレクトリーを作成する必要があります (各イベント名には他のサブディレクトリーが作成されます)。Foreman オブジェクトは、ホストまたはネットワークインターフェースである場合があります。フックへのパスは以下のようになります。

/usr/share/foreman/config/hooks/object/event/hook_script

たとえば、ホストでオペレーティングシステムのインストールが完了した後にフックをアクティベートするためにサブディレクトリーを作成するには、以下のようにコマンドを入力します。

# mkdir -p /usr/share/foreman/config/hooks/host/managed/before_provision/

スクリプトをダウンロードし、適切な名前が指定されたディレクトリーがすでに作成されている場合は、以下のように install コマンドを使用して SELinux コンテキストが正しいことを確認します。

install hook_script /usr/share/foreman/config/hooks/object/event/hook_script

または、イベントサブディレクトリーに直接スクリプトを作成した場合は、root で以下のコマンドを入力して SELinux コンテキストを適用します。

# restorecon -RvF /usr/share/foreman/config/hooks

SELinux コンテキストは Red Hat Enterprise Linux 6 の場合は bin_t、Red Hat Enterprise Linux 7 の場合は foreman_hook_t です。スクリプトは制限のある状態で実行されるため、一部のアクションが SELinux によって拒否される場合があることに注意してください。SELinux により拒否されたアクションを確認するには、aureport -a を実行するか、/var/log/audit/audit.log を調べます。

SELinux の問題のデバッグと audit2allow ユーティリティーの使用の詳細については、以下のトピックを参照してください。

  • Red Hat Enterprise Linux 6 の場合は、Fixing Problems[9] を参照してください。
  • Red Hat Enterprise Linux 7 の場合は、Fixing Problems[10] を参照してください。

Foreman フックを作成してロガーコマンドを使用

このフックスクリプトは、Foreman が新しいサーバーをプロビジョニングするたびに追加のログメッセージを作成します。

  1. Satellite Server ベースシステムでディレクトリー構造を作成します。

    # mkdir -p /usr/share/foreman/config/hooks/host/managed/before_provision/
  2. 以下のようにスクリプトを作成します。

    # vi /usr/share/foreman/config/hooks/host/managed/before_provision/_10__logger.sh
    #!/bin/bash/
    logger $1 $2

    ファイル名 _logger.sh の前の数値の接頭辞 10 により、同じサブディレクトリー内のスクリプトの実行順序が決定されます。ニーズに合わせてこの接頭辞を変更します。

  3. スクリプトの所有者を foreman に変更します。

    # chown foreman:foreman _10__logger.sh
  4. ユーザーによる実行を許可するためにスクリプトのパーミッションを変更します。

    # chmod u+x _10__logger.sh
  5. SELinux コンテキストが /usr/share/foreman/config/hooks ディレクトリー内のすべてのファイルで正しいことを確認します。

    # restorecon -RvF /usr/share/foreman/config/hooks/
  6. foreman ユーザーが logger コマンドを使用できるようにするために、以下のルールを /etc/sudoers ファイルに追加します。

    # vi /etc/sudoers
    foreman ALL=(ALL) NOPASSWD:/usr/bin/logger
  7. Katello サービスを再起動して、フックを登録します。

    # katello-service restart

各 Foreman または Rail オブジェクトにはフックを含めることができます。/usr/share/app/models/ ディレクトリーを確認するか、利用可能なモデルの完全なリストを取得するために、以下のコマンドを入力します。

# foreman-rake console
>
ActiveRecord::Base.descendants.collect(&:name).collect(&:underscore).sort
=> ["audited/adapters/active_record/audit", "compute_resource", "container",
output truncated

このコマンド出力は、Foreman フックで使用されない可能性が高いいくつかの技術的な表 ("active_record" や "habtm" など) も一覧表示します。一般的に使用されるものは以下のとおりです。

  • host
  • report

11.2.1. オーケストレーションイベント

Foreman は、オブジェクトが作成、更新、および破棄された際に、ホストおよびネットワークインターフェース (オブジェクトと呼ばれます) 向けのオーケストレーションタスクをサポートします。これらのタスクは Web UI でユーザーに表示されます。タスクが失敗した場合は、アクションのロールバックが自動的にトリガーされます。オーケストレーションフックには優先度を割り当てることができるため、組み込みオーケストレーション手順の前または後 (たとえば、DNS レコードがデプロイされる前) にオーケストレーションフックを呼び出すことができます。

フックをイベントに追加するには、以下のイベント名を使用します。

  • create
  • update
  • destroy

11.2.2. Rails イベント

(上述したオーケストレーションをサポートする) ホストと NIC 以外のものに対するフックの場合は、標準的な Rails イベントを使用できます。各イベントには "before" フックと "after" フックがあります。提供される最も興味深いイベントは以下のとおりです。

  • after_create
  • before_create
  • after_destroy
  • before_destroy

ホストオブジェクトでは、以下の 2 つの追加コールバックを使用できます。

  • host/managed/after_build は、ホストがビルドモードになると開始されます。
  • host/managed/before_provision は、ホストで OS のインストールが完了すると、開始されます。

Rails イベントの完全なリストについては、Ruby on Rails ActiveRecord::Callbacks[11] ドキュメンテーションの「Constants」を参照してください。

11.2.3. フックの実行

フックは Foreman サーバーのコンテキスト (したがって、通常は foreman ユーザー下) で実行されます。最初の引数は常にイベント名であり、スクリプトを複数のイベントディレクトリーにシンボリックリンクすることを可能にします。2 つ目の引数はフックされたオブジェクトの文字列表現 (たとえば、ホストのホスト名) です。

~foreman/config/hooks/host/managed/create/50_register_system.sh create foo.example.com

フックオブジェクトの JSON 表現は標準入力で渡されます。この JSON は v2 API ビューによって生成されます。jgrep でこれを読み取るユーティリティーは examples/hook_functions.sh で提供され、ほとんどのユーザーにとっては、このユーティリティースクリプトを source コマンドで実行するだけで十分です。それ以外の場合は、パイプバッファーが満杯になり、Foreman スレッドがブロックされることを防ぐために、標準入力を閉じることが推奨されます。

echo '{"host":{"name":"foo.example.com"}}' \
  | ~foreman/config/hooks/host/managed/create/50_register_system.sh \
       create foo.example.com

イベントディレクトリー内の各フックは、アルファベット順に実行されます。オーケストレーションフックの場合は、フックのファイル名の整数接頭辞が優先度値として使用されます。このため、DNS、DHCP、VM 作成、および他のタスクに関連して実行するタイミングが影響を受けます。

11.2.4. フックの失敗とロールバック

フックが失敗し、ゼロ以外のリターンコードで終了した場合は、イベントがログに記録されます。Rails イベントの場合は、他のフックの実行が続行されます。オーケストレーションイベントの場合は、失敗によってアクションが中止され、ロールバックが実行されます。別のオーケストレーションアクションが失敗した場合は、そのアクションをロールバックするためにフックが再び呼び出されることがあります。この場合は、最初の引数が適切に変更されるため、スクリプトで処理する必要があります (たとえば、"create" フックは、あとでロールバックする必要がある場合、"destroy" とともに呼び出されます)。

付録A パラメーターの設定

本セクションでは、管理 > 設定 ページのパラメーターについて説明します。

プロビジョニング タブ:

名前ジェネレーターのタイプ
新規ホスト作成時のホスト名の生成方法を指定します。デフォルトの Random-based オプションでは、使用可能ではあるものの必須ではない、一意のランダムなホスト名を生成します。多くのホストを作成し、命名方法が分からないユーザーには便利です。MAC-based オプションは、ベアメタルのホストのみになります。ホストを削除してから、後で作成すると、MAC アドレスをベースにした同じホスト名が付けられます。サーバーを再利用し、常に同じホスト名にしたい場合に便利です。Off オプションでは、名前生成関数が無効になり、ホスト名フィールドは空白になります。
Safemode レンダリング
プロビジョニングテンプレートのセーフモードでのレンダリングを有効にします。デフォルトのオプションは Yes で、こちらが推奨されます。変数と Satellite 内でホワイトリスト化されていないオブジェクトへのアクセスを拒否します。これを No に設定すると、テンプレート機能を使用するパーミッションがあるユーザーは、テンプレートやパラメーター、スマート変数を編集することで、いかなるオブジェクトにもアクセスすることが可能になり得ます。こうなると、ユーザーは Satellite Server で完全なリモートコード実行が可能になり、すべての認証が無効になることになります。特に大企業では、このオプションは安全ではありません。

全般 タブ:

DB キャッシュの修正
Satellite は、パーミッションとロールのキャッシュを保持します。これをYes に設定すると、Satellite は、次回再起動時にこのキャッシュを再作成します。デフォルトのオプションは、No です。
Gravatar の使用
これを Yes に設定すると、Satellite は、https://gravatar.com のメールアドレスとユーザーのメールアドレスを一致させてユーザーのアバターを表示します。デフォルトのオプションは No で、セキュリティーのためにこちらが推奨されます。

法律上の通知

Copyright © 2018 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, 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 Software Collections 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.