Sun Cluster のシステム管理 (Solaris OS 版)

第 2 章 Sun Cluster と RBAC

この章では、RBAC (Role-Based Access Control) について Sun Cluster に関連する範囲で説明します。次のトピックについて述べます。

RBAC の設定と Sun Cluster での使用

次の表を参考に、RBAC の設定と使用について確認するマニュアルを選んでください。RBAC を作成し、それを Sun Cluster で使用するための手順については、この章の後の方で説明します。

目的 

参考マニュアル 

RBAC の詳細を調べる 

『Solaris のシステム管理 (セキュリティサービス)』の第 8 章「役割と特権の使用 (概要)」

RBAC の設定、RBAC 要素の管理、RBAC の使用など 

『Solaris のシステム管理 (セキュリティサービス)』の第 9 章「役割によるアクセス制御の使用 (手順)」

RBAC の要素とツールの詳細を調べる 

『Solaris のシステム管理 (セキュリティサービス)』の第 10 章「役割によるアクセス制御 (参照)」

Sun Cluster RBAC の権限プロファイル

SunPlex Manager や、コマンド行で実行される一部の Sun Cluster コマンドとオプションは、認証に RBAC を使用します。Sun Cluster には、いくつかの RBAC 権限プロファイルが含まれています。これらの権限プロファイルをユーザーまたは役割に割り当てることで、Sun Cluster に対するさまざまなレベルのアクセス権をユーザーや役割に与えることができます。次に、Cluster ソフトウェアに含まれる権限プロファイルを示します。

権限プロファイル 

含まれる承認 

この承認で役割 ID に許可される作業 

Sun Cluster Commands 

なし。ただし、euid=0 指定で実行される Sun Cluster コマンドのリストが含まれます。

クラスタの構成と管理のための選り抜きの Sun Cluster コマンドを実行します。次にこれらのコマンドを示します。 

scgdevs(1M)

scswitch(1M) (選択オプション)

scha_control(1HA)

scha_resource_get(1HA)

scha_resource_setstatus(1H)

scha_resourcegroup_get(1HA)

scha_resourcetype_get(1HA)

Basic Solaris User 

この既存の Solaris 権限プロファイルには、Solaris の承認のほか次のものが含まれます。 

Basic Solaris User 役割 ID に許可されている作業のほか、次の作業を行えます。 

 

solaris.cluster.device.read

デバイスグループについての情報を読み取る 

  

solaris.cluster.gui 

SunPlex Manager にアクセスする 

  

solaris.cluster.network.read

IP マルチパスについての情報を読み取る 

  

solaris.cluster.node.read

ノード属性についての情報を読み取る 

  

solaris.cluster.quorum.read

定足数デバイスと定足数ステータスについての情報を読み取る 

  

solaris.cluster.resource.read

リソースとリソースグループについての情報を読み取る 

  

solaris.cluster.system.read

クラスタのステータスを読み取る 

  

solaris.cluster.transport.read

トランスポートについての情報を読み取る 

Cluster Operation 

solaris.cluster.appinstall

クラスタ化されたアプリケーションをインストールする 

  

solaris.cluster.device.admin

デバイスグループ属性についての管理作業を行う 

 

solaris.cluster.device.read

デバイスグループについての情報を読み取る 

  

solaris.cluster.gui 

SunPlex Manager にアクセスする 

  

solaris.cluster.install

クラスタリングソフトウェアをインストールする 

  

solaris.cluster.network.admin

IP マルチパス属性についての管理作業を行う 

  

solaris.cluster.network.read

IP マルチパスについての情報を読み取る 

  

solaris.cluster.node.admin

ノード属性についての管理作業を行う 

  

solaris.cluster.node.read

ノード属性についての情報を読み取る 

  

solaris.cluster.quorum.admin

定足数デバイス属性と定足数ステータス属性についての管理作業を行う 

  

solaris.cluster.quorum.read

定足数デバイスと定足数ステータスについての情報を読み取る 

  

solaris.cluster.resource.admin

リソース属性とリソースグループ属性についての管理作業を行う 

  

solaris.cluster.resource.read

リソースとリソースグループについての情報を読み取る 

  

solaris.cluster.system.admin

システムを管理する 

  

solaris.cluster.system.read

クラスタのステータスを読み取る 

  

solaris.cluster.transport.admin

トランスポート属性についての管理作業を行う 

  

solaris.cluster.transport.read

トランスポートについての情報を読み取る 

システム管理者 

この既存の Solaris 権限プロファイルには、Cluster Management プロファイルに含まれるものと同じ承認が入っています。 

Cluster Management 役割 ID に許可された作業と、その他のシステム管理作業を行えます。 

Cluster Management 

この権限プロファイルには、Cluster Operation プロファイルに含まれるものと同じ承認のほか、以下の承認が含まれます。 

Cluster Operation 役割 ID に許可されている作業のほか、以下の作業を行えます。 

  

solaris.cluster.device.modify

デバイスグループ属性を変更する 

  

solaris.cluster.gui 

SunPlex Manager にアクセスする 

  

solaris.cluster.network.modify

IP Network Multipathing 属性を変更する 

  

solaris.cluster.node.modify

ノード属性を変更する 

  

solaris.cluster.quorum.modify

定足数デバイス属性と定足数ステータス属性を変更する 

  

solaris.cluster.resource.modify

リソース属性とリソースグループ属性を変更する 

  

solaris.cluster.system.modify

システム属性を変更する 

  

solaris.cluster.transport.modify

トランスポート属性を変更する 

Sun Cluster 管理権限プロファイルによる RBAC 役割の作成と割り当て

役割を作成するには、Primary Administrator 権利プロファイルが割り当てられている役割になるか、root ユーザーとして実行する必要があります。

表 2–1 「管理役割を追加 (Add Administrative)」ウィザード: ダイアログボックスとフィールド

ダイアログボックス 

フィールド 

フィールドの説明 

手順 1: 役割名を入力します。  

役割名 

役割の短縮名 

 

役割の正式名称 

正式名 

 

説明 

役割の説明 

 

役割 ID 番号 

役割の UID。自動的に増分する 

 

役割のシェル 

役割に使用できるプロファイルシェル: Administrator の C シェル、Administrator の Bourne シェル、または Administrator の Korn シェル 

 

役割のメーリングリストを作成 

この役割に割り当てられているユーザーのメーリングリストを作成する 

手順 2: 役割パスワードを入力します。  

役割パスワード 

******** 

 

パスワードの確認 

******** 

手順 3: 役割権利を選択します。  

有効な権利 / 許可された権利 

役割の権利プロファイルの割り当てまたは削除を行う 

同一のコマンドを複数回入力しても、エラーにはならない。ただし、権利プロファイルでは、同一のコマンドが複数回発生した場合、最初のコマンドに割り当てられた属性が優先され、後続の同一コマンドはすべて無視される。順番を変更するときは、上矢印または下矢印を使用する 

手順 4: ホームディレクトリを選択します。ホームディレクトリの選択 

サーバー 

ホームディレクトリのサーバー 

 

パス 

ホームディレクトリのパス 

手順 5: この役割にユーザーを割り当てます。(Step 5: Assign users to this role)ユーザーの役割への割り当て 

ノードを追加します。 

この役割を引き受けるユーザーを追加する。同じスコープ内でユーザーでなければならない 

 

削除 

この役割が割り当てられているユーザーを削除する 

Procedure管理役割ツールを使用して役割を作成する方法

手順
  1. 管理役割ツールを起動します。

    Solaris Management Console を起動し、管理役割ツールを実行します。これについては、『Solaris のシステム管理 (セキュリティサービス)』「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。次に、「ユーザー」ツールコレクションを開いて、「管理役割 (Administrative Roles)」アイコンをクリックします。

  2. 「管理役割を追加 (Add Administrative)」ウィザードが起動します。

    「アクション (Action)」メニューから「管理役割を追加 (Add Administrative Role)」を選択して、「管理役割を追加 (Add Administrative)」ウィザードを起動します。

  3. Cluster Management 権限プロファイルが割り当てられる役割を作成します。

    「次へ (Next)」および「戻る (Back)」ボタンを使用して、ダイアログボックスを移動します。ただし、すべての必要なフィールドに入力がなされるまで、「次へ (Next)」ボタンはアクティブになりません。最後に、入力したデータを確認するダイアログボックスが表示されます。前のダイアログボックスに戻って入力を変更するか、「完了 (Finish)」をクリックして新しい役割を保存します。表 2–1 に、ダイアログボックスの要約を示します。


    注 –

    このプロファイルは、役割に割り当てられるプロファイルリストの先頭に置く必要があります。


  4. 新しく作成した役割に、SunPlex Manager 機能や Sun Cluster コマンドを使用する必要があるユーザーを割り当てます。

    useradd(1M) コマンドを使って、ユーザーアカウントをシステムに追加します。ユーザーのアカウントに役割を割り当てるには、-P オプションを使用します。

  5. [完了]をクリックして終了します。

  6. 端末ウィンドウを開いてスーパーユーザーになり、ネームサービスキャッシュデーモンを起動して停止します。

    新しい役割は、ネームサービスキャッシュデーモンを再起動するまで有効になりません。スーパーユーザーで、次のように入力します。


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    

Procedureコマンド行から役割を作成する方法

手順
  1. スーパーユーザーになるか、ほかの役割を作成できる役割になります。

  2. 次のいずれかの役割の作成方法を選択します。

    • ローカルスコープの役割を作成する場合、roleadd(1M) コマンドを使用して、新しいローカル役割とその属性を指定します。

    • また同じくローカルスコープの役割を作成する場合、user_attr(4) ファイルを編集して、ユーザーに type=role を追加することもできます。

      この方法は、入力ミスが発生しやすいため、緊急時以外はできるだけ使用しないでください。

    • ネームサービスの役割を作成する場合は、smrole(1M) コマンドを使用して、新しい役割とその属性を指定します。

      このコマンドは、スーパーユーザー、またはその他の役割を作成できる役割による認証を必要とします。smrole コマンドは、すべてのネームサービスに適用でき、Solaris 管理コンソールサーバーのクライアントとして動作します。

  3. ネームサービスキャッシュデーモンを起動して停止します。

    新しい役割は、ネームサービスキャッシュデーモンを再起動するまで有効になりません。スーパーユーザーで次のように入力します。


    # /etc/init.d/nscd stop
    # /etc/init.d/nscd start
    

例 2–1 smrole コマンドを使用してカスタムの Operator 役割を作成する

次のコマンドシーケンスは、smrole コマンドを使用して役割を作成します。この例では、新しい Operator 役割が作成され、標準の Operator 権利プロファイルと Media Restore 権利プロファイルが割り当てられます。


% su primaryadmin 
# /usr/sadm/bin/smrole add -H myHost -- -c "Custom Operator" -n oper2 -a johnDoe \
-d /export/home/oper2 -F "Backup/Restore Operator" -p "Operator" -p "Media Restore"

Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <primaryadmin パスワードを入力する>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password ::<type oper2 password>

# /etc/init.d/nscd stop
# /etc/init.d/nscd start

新しく作成した役割およびその他の役割を表示するには、次のように smrole コマンドに list オプションを指定します。


# /usr/sadm/bin/smrole list --
Authenticating as user: primaryadmin

Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: <primaryadmin パスワードを入力する>

Loading Tool: com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost
Login to myHost as user primaryadmin was successful.
Download of com.sun.admin.usermgr.cli.role.UserMgrRoleCli from myHost was successful.
root                    0               Super-User
primaryadmin            100             Most powerful role
sysadmin                101             Performs non-security admin tasks
oper2                   102             Custom Operator

ユーザーの RBAC プロパティーの変更

ユーザーのプロパティーを変更するには、ユーザーツールコレクションをスーパーユーザーとして実行するか、Primary Administrator 権利プロファイルが割り当てられている役割を持つ必要があります。

Procedureユーザーアカウントツールを使用してユーザーの RBAC プロパティーを変更する方法

手順
  1. ユーザーアカウントツールを起動します。

    ユーザーアカウントツールを実行するためには、Solaris Management Console を起動する必要があります。これについては、『Solaris のシステム管理 (セキュリティサービス)』「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。次に、「ユーザー」ツールコレクションを開いて、「ユーザーアカウント (User Accounts)」アイコンをクリックします。

    ユーザーアカウントツールが起動すると、既存のユーザーアカウントのアイコンが表示区画に表示されます。

  2. 変更するユーザーアカウントのアイコンをクリックして、「アクション (Action)」メニューから「プロパティー (Properties)」を選択するか、ユーザーアカウントのアイコンをダブルクリックします。

  3. 変更するプロパティーのダイアログボックスで、適切なタブを次のように選択します。

    • ユーザーに割り当てられた役割を変更するときは、「役割 (Role)」タブをクリックして、変更する役割を「有効な役割 (Available Roles)」または「割り当てられた役割 (Assigned Roles)」列に移動します。

    • ユーザーに割り当てられた権利プロファイルを変更するときは、「権利 (Rights)」タブをクリックして、変更する権利プロファイルを「有効な権利 (Available Rights)」または「許可された権利 (Assigned Rights)」列に移動します。


      注 –

      権利プロファイルは、できるだけユーザーに直接割り当てないでください。特権付きアプリケーションを実行するときは、ユーザーが役割を引き受けるようにしてください。通常のユーザーが、特権を不正に使用できないようにするためです。


Procedureコマンド行からユーザーの RBAC プロパティーを変更する方法

手順
  1. スーパーユーザーになるか、ユーザーファイルを変更できる役割を引き受けます。

  2. 次のように適切なコマンドを使用します。

    • ローカルスコープに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更する場合は、 usermod(1M) コマンドを使用します。

    • また同じくローカルスコープに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更する場合は、user_attr ファイルを編集することもできます。

      この方法は、入力ミスが発生しやすいため、緊急時以外はできるだけ使用しないでください。

    • ネームサービスに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更するときは、smuser(1M) コマンドを使用します。

      このコマンドは、スーパーユーザー、またはユーザーファイルを変更できる役割による認証を必要とします。smuser コマンドは、すべてのネームサービスに適用でき、Solaris 管理コンソールサーバーのクライアントとして動作します。