第5章 ユーザーとロールの管理
ユーザーでは、システムを使用する各個人の一連の詳細情報を定義します。ユーザーにはデフォルトの組織と環境を割り当て、新しいエンティティーを作成する際にこれらのデフォルト値を自動的に使用することができます。また、ユーザーには 1 つ以上のロールを割り当てることもできます。これにより、ユーザーには組織と環境を参照および管理する権限が与えられます。ユーザーの使用の詳細については、「ユーザー管理」 を参照してください。
複数のユーザーのパーミッションは、ユーザーグループでまとめることにより一括して管理できます。また、ユーザーグループ自体をさらにグループ化してパーミッションの階層を作成できます。ユーザーグループの作成の詳細については、「ユーザーグループの作成と管理」 を参照してください。
ロールでは、一連のパーミッションおよびアクセスレベルを定義します。各ロールには、ロールに許可されたアクションを指定する 1 つ以上のパーミッションフィルターが含まれます。アクションは、リソースタイプに従ってグループ化されます。ロールが作成されたら、そのロールにはユーザーとユーザーグループを関連付けることができます。この場合は、ユーザーの大きなグループに同じ一連のパーミッションセットを割り当てることができます。Red Hat Satellite では、事前定義された一連のロールが提供され、「ロールの作成および管理」 で説明されているようにカスタムロールおよびパーミッションフィルターを作成することもできます。
5.1. ユーザー管理
管理者は、Satellite ユーザーを作成、変更、および削除できます。また、異なる ロール をユーザーやユーザーのグループに割り当てることで、アクセスパーミッションを設定することもできます。
5.1.1. ユーザーの作成
Satellite Web UI を使ってユーザーを作成します。
手順
- 管理 > ユーザー に移動します。
- ユーザーの作成 をクリックします。
- ログイン フィールドにユーザーのユーザー名を入力します。
- 名 および 姓 フィールドに、ユーザーの本当の姓名を入力します。
- Email アドレス フィールドに email アドレスを入力します。
- 説明 フィールドには、新規ユーザーの説明を加えます。
- 言語 一覧からユーザー用の言語を選択します。
タイムゾーン 一覧からタイムゾーンを選択します。
デフォルトでは、Satellite Server はユーザーのブラウザーの言語とタイムゾーンを使用します。
ユーザーのパスワードを設定します。
認証先 一覧から、ユーザー認証に使用するソースを選択します。
- 内部: Satellite Server 内でのユーザー管理を有効にします。
- LDAP または IdM: 13章外部認証の設定 の説明にある外部認証を設定します。
- パスワード フィールドに初期パスワードを入力して、確認 フィールドで再入力します。
- 送信 をクリックしてユーザーを作成します。
5.1.2. ユーザーへのロールの割り当て
Satellite web UI を使用してユーザーにロールを割り当てます。
手順
- 管理 > ユーザー に移動します。
ロールを割り当てるユーザーの ユーザー名 をクリックします。
注記ユーザーアカウントが表示されない場合は、現在適切な組織を表示しているかどうかを確認します。Satellite の全ユーザーを一覧表示するには、デフォルトの組織 をクリックしてから 任意の組織 をクリックします。
- ロケーション タブをクリックして、ロケーションが割り当てられていない場合は選択します。
- 組織 タブをクリックして、組織が割り当てられていることを確認します。
- ロール タブをクリックして利用可能なロールのリストを表示します。
ロール リストから割り当てるロールを選択します。
利用可能な全パーミッションを付与するには、管理 チェックボックスを選択します。
- 送信 をクリックします。
ユーザーに割り当てられたロールを参照するには、ロール タブをクリックします。割り当てられたロールは、選択された項目 に表示されます。割り当てたロールを削除するには、選択された項目 でロール名をクリックします。
5.1.3. SSH キー
ユーザーに SSH キーを追加すると、プロビジョニング中に SSH キーのデプロイメントが可能になります。
プロビジョニング中に SSH キーをデプロイする方法については、『プロビジョニングガイド』の「プロビジョニング中の SSH キーのデプロイ」を参照してください。
SSH キーおよびその作成方法についての詳細は、『Red Hat Enterprise Linux 7 システム管理者のガイド』の 鍵ベース認証の使用 を参照してください。
5.1.4. ユーザーの SSH キー管理
Satellite web UI からユーザーの SSH キーを追加または削除します。
Red Hat Satellite 管理ユーザーとして Web UI にログインするか、SSH キーの追加には create_ssh_key パーミッションを有効にしたユーザーとして、キーの削除には destroy_ssh_key パーミッションを有効にしたユーザーとしてログインしてください。
手順
- 管理 > ユーザー に移動します。
- ユーザー名 コラムから必要となるユーザーのユーザー名をクリックします。
SSH キー タブをクリックします。
SSH キーの追加
- 公開 SSH キーのコンテンツをクリップボードに用意します。
- SSH キーの追加 をクリックします。
- キー フィールドに公開 SSH キーのコンテンツをクリップボードから貼り付けます。
- 名前 フィールドに SSH キーの名前を入力します。
- 送信 をクリックします。
SSH キーの削除
- 削除する SSH キーの列にある 削除 をクリックします。
- 確認メッセージで OK をクリックします。
5.1.5. E メール通知
E メール通知は Satellite Server が定期的に作成するか、特定イベントの完了後に作成されます。定期通知は、毎日、毎週、または毎月のいずれかに送信することができます。
通知をトリガーするイベントは以下のとおりです。
- ホストのビルド
- コンテンツビューのプロモーション
- ホストが報告するエラー
- リポジトリーの同期
デフォルトでは、ユーザーには E メールは通知されません。通知のタイプや頻度などの基準に基づいて、ユーザーが通知を受信するように管理者が設定できます。
E メール通知を個人の E メールアドレスではなくグループの E メールアドレスに送信する場合は、グループの E メールアドレスと最小の Satellite パーミッションでユーザーアカウントを作成し、そのユーザーアカウントを必要な通知タイプにサブスクライブします。
Satellite Server は、デフォルトで送信メールが有効ではないため、メール設定を確認する必要があります。詳細は、『オンラインネットワークからの Satellite Server のインストール』の「Satellite Server で送信メールの設定」を参照してください。
5.1.6. E メール通知の設定
Satellite Web UI で E メール通知を設定します。
手順
- 管理 > ユーザー に移動します。
- 編集する ユーザー名 をクリックします。
- ユーザー タブで、メール フィールドの値を確認します。E メールは、このフィールドのアドレスに送信されます。
- 電子メール設定 タブで メールの有効化 を選択します。
通知タイプの横にあるドロップダウンメニューから、ユーザーが受信する通知を選択します。
注記メールクエリー テキストボックスに必要なクエリーを記入すると、Audit Summary 通知をフィルターすることができます。
送信 をクリックします。
通知メールのユーザーへの送信が開始されます。
5.1.7. E メールの配信テスト
E メールの配信を確認するには、テストメールをユーザーに送信します。メールが配信されれば、設定が適切であることを確認できます。
手順
- Satellite Web UI で、管理 > ユーザー に移動します。
- ユーザー名をクリックします。
E メール設定 タブで テスト E メール をクリックします。
ユーザーの E メールアドレスにすぐにテストメッセージが送信されます。
E メールが配信されれば、確認は完了です。配信されない場合は、以下の診断ステップを実行してください。
- ユーザーのメールアドレスを確認します。
- Satellite Server のメール設定を確認します。
- ファイアウォールおよびメールサーバーのログを調べます。
5.1.8. E メール通知のテスト
ユーザーが正常に E メール通知をサブスクライブしていることを確認するには、手動で通知をトリガーします。
手順
通知をトリガーするには、以下のコマンドを実行します。
# foreman-rake reports:<frequency>
frequency を以下のいずれかで置き換えます。
- daily (毎日)
- weekly (毎週)
- monthly (毎月)
これでサブスクライブしている全ユーザーに指定された頻度ですべての予定されている通知が配信されます。全ユーザーが通知を受信すれば、確認ができたことになります。
手動でトリガーした通知を個別ユーザーに送信することは、現在サポートされていません。
5.1.9. 通知タイプ
Satellite では以下の通知が作成されます。
- 監査サマリー: Satellite Server が監査した全アクティビティーのサマリー。
- ホストの構築: ホストが構築されるとこの通知が送信されます。
- ホストエラータアドバイザリー: ユーザーが管理するホストの適用およびインストール可能なエラータの概要。
- OpenSCAP ポリシーサマリー: OpenSCAP ポリシーレポートとその結果の概要。
- エラータのプロモート: コンテンツビューのプロモーション後にのみ送信される通知です。これには、プロモートされたコンテンツビューに登録された適用およびインストール可能なエラータの概要が含まれます。これにより、どのアップデートがどのホストに適用されたかを監視できます。
- Puppet エラー状態 : ホストが Puppet に関連するエラーを報告した後に送信される通知です。
- Puppet サマリー : Puppet レポートのサマリーです。
- エラータの同期 : リポジトリーの同期後にのみ送信される通知です。これには、同期で導入された新しいエラータの概要が含まれます。
5.2. ユーザーグループの作成と管理
5.2.1. ユーザーグループ
Red Hat Satellite では、ユーザーのグループにパーミッションを割り当てることができます。また、ユーザーグループを他のユーザーグループの集合として作成することもできます。外部認証ソースを使用している場合は、「外部ユーザーグループの設定」 で説明されているように Satellite ユーザーグループを外部ユーザーグループに対してマッピングできます。
ユーザーグループは組織コンテキストで定義されます。したがって、ユーザーグループにアクセスする前に組織を選択する必要があります。
5.2.2. ユーザーグループの作成
Satellite Web UI を使ってユーザーグループを作成します。
手順
- 管理 > ユーザーグループ に移動します。
- ユーザーグループの作成 をクリックします。
ユーザーグループ タブで、新規ユーザーグループの名前を指定し、グループメンバーを選択します。
- ユーザーグループ のリストから、以前に作成したユーザーグループを選択します。
- ユーザー のリストからユーザーを選択します。
- ロール タブで、ユーザーグループに割り当てるロールを選択します。または、管理者 チェックボックスを選択して利用可能なすべてのパーミッションを割り当てます。
- 送信 をクリックします。
5.2.3. ユーザーグループの削除
Satellite Web UI を使ってユーザーグループを削除します。
手順
- 管理 > ユーザーグループ に移動します。
- 削除するユーザーグループの右側にある 削除 をクリックします。
- 警告ボックスで、OK をクリックしてユーザーグループを削除します。
5.3. ロールの作成および管理
Red Hat Satellite では、標準的なタスクに十分なパーミッションとなる事前定義済みロール一式が提供されます ( 「Satellite で利用可能な事前定義済みロール」 を参照)。また、カスタムロールを設定し、1 つ以上のパーミッションフィルターをそれらに割り当てることもできます。パーミッションフィルターでは、特定のリソースタイプに許可されるアクションを定義します。特定の Satellite プラグインによりロールが自動的に作成されます。
5.3.1. ロールの作成
Satellite Web UI を使ってロールを作成します。
手順
- 管理 > ロール に移動します。
- ロールの作成 をクリックします。
- ロールの 名前 を記入します。
- 送信 をクリックして、新しいロールを保存します。
ロールにはパーミッションを含める必要があります。ロールの作成後は、「ロールへのパーミッションの追加」 に進んでください。
5.3.2. ロールのクローン作成
Satellite Web UI を使ってロールのクローンを作成します。
手順
- 管理 > ロール に移動して、必要なロールの右側にあるドロップダウンメニューから クローン を選択します。
- ロールの 名前 を記入します。
- 送信 をクリックしてロールのクローンを作成します。
- クローンされたロールの名前をクリックし、フィルター に移動します。
- 必要に応じて、パーミッションを編集します。
- 送信 をクリックして、新しいロールを保存します。
5.3.3. ロールへのパーミッションの追加
Satellite Web UI を使ってパーミッションをロールに追加します。
手順
- 管理 > ロール に移動します。
- 必要なロールの右側にあるドロップダウンリストから フィルターの追加 を選択します。
- ドロップダウンリストから リソースタイプ を選択します。(その他) グループには、どのリソースグループにも関連付けられていないパーミッションが含まれます。
- 選択するパーミションを パーミッション リストからクリックします。
- リソースタイプ での選択により、無制限 と 上書き のチェックボックスが表示されます。無制限 チェックボックスはデフォルトで選択され、選択されたタイプの全リソースにパーミッションが適用されます。無制限 チェックボックスを無効にすると、検索 フィールドが有効になり、Red Hat Satellite 6 の検索構文を使用して詳細なフィルタリングを指定できます。詳細については、「詳細なパーミッションフィルタリング」 を参照してください。上書き チェックボックスを有効にすると、新たなロケーションと組織を追加して、それらのロケーションや組織のリソースタイプにこのロールがアクセスできるようになります。また、すでに関連付けられたロケーションや組織をリソースタイプから削除して、アクセスを制限することもできます。
- 次へ をクリックします。
- 送信 をクリックして変更を保存します。
5.3.4. ロールのパーミションの表示
Satellite Web UI を使ってロールのパーミッションを表示します。
手順
- 管理 > ロール に移動します。
- ロールの右側にある フィルター をクリックして、フィルター ページを開きます。
フィルター ページでは、リソースタイプ別にグループ化されたロールに割り当てられたパーミッションの表が示されます。また、このページでは、Satellite システムで使用できるパーミッションとアクションの完全な表を生成できます。手順については、「パーミッションの完全テーブルの作成」 を参照してください。
5.3.5. パーミッションの完全テーブルの作成
Satellite Web CLI を使ってパーミッションテーブルを作成します。
手順
必要なパッケージがインストールされていることを確認します。Satellite Server で以下のコマンドを実行します。
# yum install tfm-rubygem-foreman*
以下のコマンドで Satellite コンソールを起動します。
# foreman-rake console
コンソールに以下のコードを挿入します。
f = File.open('/tmp/table.html', 'w') result = Foreman::AccessControl.permissions {|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
ファイルに保存されます。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>
-
Web ブラウザーで
/tmp/table.html
を開いて、表を確認します。
5.3.6. ロールの削除
Satellite Web UI を使ってロールを削除します。
手順
- 管理 > ロール に移動します。
- 削除するロールの右側にあるドロップダウンリストから 削除 を選択します。
- 警告ボックスで、OK をクリックしてロールを削除します。
5.3.7. ユーザーロールの例
- Satellite Administrator
- 管理システムおよびアプリケーションを含む、Satellite 全アイテムのアクセス制御がある最上位レベルの管理者ロールです。
- IT Operations Manager
- Satellite アイテムの表示パーミッションがある、読み取り専用ロールです。
- License Management Owner
- 組織およびレポートの表示パーミッションを含む、マニフェストとサブスクリプション管理のパーミッションがあるタスク特定のロールです。
- Quality Assurance
- 専用のテスト環境でテストを実行する環境およびロケーション固有のロールですが、その環境外のアイテムへのアクセスは限定されます。
ロール | リソースタイプ | パーミッション | フィルター |
---|---|---|---|
Satellite Administrator |
管理者 チェックボックスが選択されていることを確認してください。詳細は、「ユーザーへのロールの割り当て」 を参照してください。 |
事前設定のパーミッション | |
IT Operations Manager |
Viewer |
事前設定のパーミッション | |
License Management Owner |
その他 |
| |
製品とリポジトリー |
| ||
サブスクリプション |
| ||
Organization |
| ||
レポート |
| ||
Host |
| ||
Quality Assurance |
Organization |
| |
環境 |
| ||
その他 |
| ||
ホストクラス |
| ||
ホストグループ |
| ||
Host |
| ||
ロケーション |
| ||
Puppet クラス |
| ||
Capsule |
| ||
その他 |
| ||
製品とリポジトリー |
| ||
ホストクラス |
| ||
ライフサイクル環境 |
|
name ~ QA | |
コンテンツビュー |
|
name ~ ccv* |
5.3.8. Satellite で利用可能な事前定義済みロール
ロール | ロールで提供されるパーミッション[a] |
---|---|
Access Insights Admin |
Insights のルールの追加、編集。 |
Access Insights Viewer |
Insight レポートの表示。 |
Bookmarks manager |
ブックマークの作成、編集、および削除。 |
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 ロールの制限バージョン。 |
System admin |
このロールが割り当てられたユーザーは、ユーザーの作成や全ロールの割り当てが可能であるため、このロールは信頼できるユーザーにのみ割り当てるようにしてください。 |
Tasks manager |
Satellite タスクを表示および編集します。 |
Tasks reader |
Satellite タスクの表示のみが可能なロール。 |
Viewer |
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]
事前定義されたロールに関連付けられた一連の許可済みアクションは、「ロールのパーミションの表示」 で確認できます。
|
5.4. 詳細なパーミッションフィルタリング
5.4.1. 詳細なパーミッションフィルター
「ロールへのパーミッションの追加」 の説明にあるように、Red Hat Satellite では、リソースタイプの選択済みインスタンスに対する設定済みユーザーパーミッションを制限できます。これらの詳細なフィルターは Satellite データベースに対するクエリーであり、ほとんどのリソースタイプでサポートされています。
5.4.2. 詳細なパーミッションフィルターの作成
Satellite Web UI を使用して詳細なフィルターを作成します。
手順
フィルターの編集 ページの 検索 フィールドにクエリーを指定します。アクティブにするフィールドに対して 無制限 チェックボックスを選択解除します。クエリーの形式は以下のようになります。
field_name operator value
ここで、
- field_name は、問い合わせるフィールドを示します。利用可能なフィールド名の範囲はリソースタイプによって異なります。たとえば、Partition Table リソースタイプでは、クエリーパラメーターとして family、layout、および name が提供されます。
- operator は、field_name と value との間の比較タイプを指定します。適用可能な演算子の概要については、「詳細な検索に対してサポートされる演算子」 を参照してください。
- value は、フィルタリングに使用される値です。この値は、組織の名前などです。2 つの種類のワイルドカード文字がサポートされ、アンダースコア (_) は単一の文字を置換し、パーセント記号 (%) はゼロ以上の文字を置換します。
ほとんどのリソースタイプに対して、検索 フィールドは利用可能なパラメーターを示すドロップダウンリストを提供します。このリストは、検索フィールドにカーソルを置くと表示されます。多くのリソースタイプに対しては、and や not、has といった論理演算子を使用してクエリーを組み合わせることもできます。
Satellite では、検索条件はアクション作成には適用されません。たとえば、検索フィールドで create_locations アクションを name = "Default Location" 式で制限しても、ユーザーが新しく作成されたロケーションにカスタム名を割り当てることができないわけではありません。
5.4.3. 詳細なパーミッションフィルターの使用例
管理者は、選択されたユーザーが環境パスの特定の部分を変更することを許可できます。以下のフィルターを使用すると、アプリケーションライフサイクルの開発段階にあるコンテンツを使用して作業できますが、実稼働環境にプッシュされるとそのコンテンツにはアクセスできなくなります。
5.4.3.1. ホストリソースタイプのパーミッションの適用
以下のクエリーは、host-editors という名前のグループのホストに対してのみ、ホストのリソースタイプに指定されたパーミッションを適用します。
hostgroup = host-editors
以下のクエリーは、XXXX, Yyyy、または zzzz の文字列に名前が一致するレコードを返します。
name ^ (XXXX, Yyyy, zzzz)
また、選択された環境に対するパーミッションを制限することもできます。これを行うには、検索 フィールドに環境名を指定します。以下に例を示します。
Dev
検索 フィールドでより詳細なパーミッションフィルターを使用すると、特定の組織またはロケーションにユーザーパーミッションを制限できます。ただし、リソースタイプによっては、ロケーション および 組織 タブを提供する 上書き チェックボックスが、GUI の代わりとなります。これらのタブでは、利用可能な組織とロケーションのリストから選択できます。「組織固有のマネージャーロールの作成」 を参照してください。
5.4.3.2. 組織固有のマネージャーロールの作成
Satellite UI を使って org-1 という名前の単一の組織に制限されたマネージャーロールを作成する方法を示します。
手順
- 管理 > ロール に移動します。
- 既存の Organization admin ロールをクローンします。フィルター ボタンの横にあるドロップダウンリストから クローン を選択します。この結果、クローンされたロールの名前 (たとえば、org-1 admin) を挿入するよう求められます。
- ロールに関連付けるロケーションと組織をクリックします。
- 送信 をクリックしてロールを作成します。
- org-1 admin をクリックしてから フィルター をクリックし、関連付けられたフィルターを確認します。デフォルトのフィルターはほとんどのケースで機能しますが、編集 をクリックして各フィルターのプロパティーを変更することもできます。フィルターによっては、ロールを追加のロケーションと組織のリソースにアクセス可能としたい場合には、上書き オプションを有効にできます。たとえば、ドメイン リソースタイプを選択して 上書き オプションを選択し、ロケーション と 組織 タブを使って追加のロケーションと組織を選択すると、このロールに関連付けられていない追加のロケーションと組織のドメインにこのロールがアクセスできるようになります。新規フィルター をクリックして、新規フィルターをこのロールに関連付けることもできます。
5.4.4. 詳細な検索に対してサポートされる演算子
演算子 |
説明 |
and |
検索条件を組み合わせます。 |
not |
式を否定します。 |
has |
オブジェクトには指定したプロパティーが必要です。 |
演算子 |
説明 |
= |
Is equal to: テキストフィールド向けの、大文字と小文字を区別する等価比較。 |
!= |
Is not equal to: = 演算子の反転。 |
~ |
Like: テキストフィールド向けの、大文字と小文字を区別する頻出検索。 |
!~ |
Not like: ~ 演算子の反転。 |
^ |
In: テキストフィールド向けの、大文字と小文字を区別する等価比較。これは、Is equal to 比較とは別の SQL クエリーを生成し、複数値の値でより効果的なものです。 |
!^ |
Not in: ^ 演算子の反転。 |
>, >= |
Greater than、greater than or equal to: 数値フィールドに対してのみサポートされます。 |
<, ⇐ |
Less than、less than or equal to: 数値フィールドに対してのみサポートされます。 |