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

第 2 章 Sun Cluster と RBAC

この章では、役割に基づくアクセス制御 (RBAC) について Sun Cluster に関連する範囲で説明します。次のトピックについて述べます。

RBAC の設定と Sun Cluster での使用

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

作業 

参照先 

RBAC の詳細を調べる 

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

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

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

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

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

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

Sun Cluster Manager とコマンド行で実行する一部の Sun Cluster コマンドとオプションは、承認のために RBAC を使用します。RBAC の承認を必要とする Sun Cluster のコマンドとオプションは、次の承認レベルを 1 つ以上必要とします。Sun Cluster RBAC の権限プロファイルは、グローバルクラスタ内の投票ノードおよび非投票ノードの両方に適用されます。

solaris.cluster.read

一覧表示、表示、およびそのほかの読み取り操作の承認。

solaris.cluster.admin

クラスタオブジェクトの状態を変更する承認。

solaris.cluster.modify

クラスタオブジェクトのプロパティーを変更する承認。

Sun Cluster コマンドにより必要とされる RBAC の承認の詳細については、コマンドのマニュアルページを参照してください。

RBAC の権限プロファイルには 1 つ以上の RBAC の承認が含まれます。これらの権限プロファイルをユーザーまたは役割に割り当てることで、Sun Cluster に対するさまざまなレベルのアクセス権をユーザーや役割に与えることができます。次に、Sun Cluster ソフトウェアに含まれる権限プロファイルを示します。


注 –

次の表に示す RBAC の権限プロファイルは、以前の Sun Cluster リリースで定義された古い RBAC の承認を引き続きサポートします。


権限プロファイル 

含まれる承認 

役割に許可されたアクセス権 

Sun Cluster コマンド 

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

すべての Sun Cluster コマンドの次のサブコマンドを含めて、クラスタを構成および管理するために使用する一部の Sun Cluster コマンドの実行。 

  • list

  • show

  • status

scha_control(1HA)

scha_resource_get(1HA)

scha_resource_setstatus(1HA)

scha_resourcegroup_get(1HA)

scha_resourcetype_get(1HA)

Basic Solaris User 

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

 
 

solaris.cluster.read

Sun Cluster コマンドの一覧表示、表示、およびそのほかの読み取り操作の実行、ならびに Sun Cluster Manager GUI へのアクセス。 

Cluster Operation 

この権限プロファイルは Sun Cluster に固有で、次の承認が含まれています。 

 
 

solaris.cluster.read

Sun Cluster Manager にアクセスするだけでなく、一覧表示、表示、エクスポート、状態、およびその他の読み取り操作の実行。 

  

solaris.cluster.admin

クラスタオブジェクトの状態の変更。 

システム管理者 

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

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

Cluster Management 

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

Cluster Operation 役割 ID が実行できるのと同じオペレーションおよびクラスタオブジェクトのプロパティの変更を実行します。 

  

solaris.cluster.modify

 

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

この作業によって、Sun Cluster 管理権限プロファイルを持つ新しい RBAC の役割を作成し、この新しい役割にユーザーを割り当てます。

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

始める前に

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

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

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

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

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

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

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

    役割名

    役割の短縮名

    「フルネーム」

    正式名

    Description

    役割の説明

    役割 ID 番号

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

    役割のシェル

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

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

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

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

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

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

    サーバー

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

    パス

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

    追加

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

    削除

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


    注 –

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


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

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

  5. 「Finish (完了)」をクリックします。

  6. 端末ウィンドウを開き、root になります。

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

    新しい役割は、ネームサービスキャッシュデーモンを再起動するまで有効になりません。root になったあと、次のテキストを入力します。


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

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

  1. スーパーユーザーになるか、RBAC の承認 solaris.cluster.admin を提供する役割になります。

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

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

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

      この方法は緊急時にのみ使用します。

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

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

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

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


    # /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 :: <type primaryadmin password>

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 :: <type  primaryadmin password>

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 プロパティーの変更

ユーザーアカウントツールかコマンド行のいずれかを使用すると、ユーザーの RBAC プロパティーを変更できます。ユーザーの RBAC のプロパティーを変更するには、次のいずれかの手順を選択してください。

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

始める前に

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

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

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

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

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

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

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

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


      注 –

      ユーザーに権限プロファイルを直接割り当てることは避けてください。特権付きアプリケーションを実行するときは、ユーザーが役割を引き受けるようにしてください。このようにすると、ユーザーが特権を濫用できなくなります。


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

  1. スーパーユーザーになるか、RBAC 承認 solaris.cluster.modify を提供する役割になります。

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

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

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

      この方法は緊急時にのみ使用します。

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

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