Red Hat Training

A Red Hat training course is available for Red Hat Linux

31.3. SELinux ユーザーの IdM ユーザーへのマッピング

SELinux マップは、ローカルシステム上の SELinux ユーザーコンテキストをドメイン内の (単一または複数の) IdM ユーザーに関連付けます。SELinux マップは、SELinux ユーザーコンテキストと IdM ユーザー/ホストのペアという 3 つの部分で構成されています。この IdM ユーザー/ホストのペアは、以下のいずれかの方法で定義できます。明示的なホスト上の明示的なユーザー (またはユーザーおよびホストグループ) に設定するか、ホストベースのアクセス制御ルールを使って定義できます。

31.3.1. Web UI での設定

  1. トップメニューで Policy メインタブをクリックし、SELinux User Maps サブタブをクリックします。
  2. マッピングのリストで Add をクリックして新規マップを作成します。
  3. IdM サーバー設定で表示されるものと全く同一になるようにマップと SELinux ユーザーの名前を入力します。SELinux ユーザーの形式は、SELinux_username:MLS[:MCS] となります。
  4. Add and Edit をクリックして IdM ユーザー情報を追加します。
  5. ホストベースのアクセス制御ルールを設定するには、設定の General エリアでドロップダウンメニューからルールを選択します。ホストベースのアクセス制御ルールを使用すると、リモートユーザーがターゲットマシンにアクセスする際に使用するホストでアクセス制御が導入されます。割り当て可能なホストベースのアクセス制御ルールは、1 つのみです。

    注記

    ホストベースのアクセス制御ルールには、サービスだけでなく、ユーザーとホストも含める必要があります。
    別の方法では、UsersHosts のエリアでスクロールダウンし、Add をクリックしてユーザー、ユーザーグループ、ホスト、もしくはホストグループを SELinux マップに割り当てます。
    左側のユーザー (またはホストもしくはグループ) を選択し、右矢印 >> をクリックして Prospective コラムに移動します。Add をクリックして、それらをルールに追加します。

    注記

    ホストベースのアクセス制御ルールを提供するか、ユーザーおよびホストを手動で設定するかのどちらになります。両方のオプションを同時に使用することはできません。
  6. 上部の Update をクリックして、SELinux ユーザーマップへの変更を保存します。

31.3.2. コマンドラインでの設定

SELinux マップルールには、以下の 3 つの基礎的部分があります。
  • SELinux ユーザー (--selinuxuser)
  • SELinux ユーザーに関連付けられたユーザーもしくはユーザーグループ (--users または --groups)
  • SELinux ユーザーに関連付けられたホストもしくはホストグループ (--hosts または --hostgroups)
  • 代替方法として、ホストおよびユーザーを指定しているホストベースのアクセス制御ルール (--hbacrule)
selinuxusermap-add コマンドを使うと、すべての情報があるルールを 1 度で作成できます。selinuxusermap-add-user および selinuxusermap-add-host のコマンドを使用すると、ルール作成後にユーザーとホストをそれぞれ追加できます。

例31.3 新規 SELinux マップの作成

--selinuxuser の値は、IdM サーバー設定で表示される SELinux ユーザー名と全く同一にする必要があります。SELinux ユーザーの形式は、SELinux_username:MLS[:MCS] となります。
SELinux のマッピングが有効になるには、ユーザーおよびホストの両方 (または適切なグループ) を指定する必要があります。ユーザー、ホスト、およびグループのオプションは複数回使用するか、--option={val1,val2,val3} のように中括弧内でコンマ区切りにして 1 回の使用とすることができます。
[jsmith@server ~]$ ipa selinuxusermap-add --users=jsmith --users=bjensen --users=jrockford --hosts=server.example.com --hosts=test.example.com --selinuxuser="xguest_u:s0" selinux1

例31.4 ホストベースのアクセス制御ルールでの SELinux マップ作成

--hbacrule の値は、マッピングに使用するホストベースのアクセス制御ルールを特定します。ホストベースのアクセス制御ルールを使用すると、リモートユーザーがターゲットマシンにアクセスする際に使用するホストでアクセス制御が導入されます。また、リモートユーザーがターゲットマシンにログインすると、SELinux コンテキストが適用されます。
アクセス制御ルールでユーザーとホストの両方が適切に指定されると、SELinux マップは SELinux ユーザー、IdM ユーザー、およびホストの 3 つを構築できます。
指定可能なホストベースのアクセス制御ルールは、1 つのみです。
[jsmith@server ~]$ ipa selinuxusermap-add --hbacrule=webserver --selinuxuser="xguest_u:s0" selinux1
ホストベースのアクセス制御ルールは、「30章ホストベースのアクセス制御の設定」で説明しています。

例31.5 ユーザーを SELinuxマッピングに追加する

ユーザーとホストはマップの作成時に追加できますが、これらはルールの作成後にも追加できます。これを行うには、selinuxusermap-add-user または selinuxusermap-add-host のコマンドを使用します。
[jsmith@server ~]$ ipa selinuxusermap-add-user --users=jsmith selinux1
追加するホストベースのアクセス制御ルールは 1 つのみなので、ルール設定後にこれを追加するために、別のコマンドを使用する必要はありません。selinuxusermap-mod コマンドを --hbacrule オプションと使用すると、ホストベースのアクセス制御ルールが追加されるか、既存のものが上書きされます。

例31.6 ユーザーの SELinuxマッピングからの削除

特定のユーザーもしくはホストを SELinux マップから削除するには、selinuxusermap-remove-host または selinuxusermap-remove-user のコマンドを実行します。例を示します。
[jsmith@server ~]$ ipa selinuxusermap-remove-user --users=jsmith selinux1