この章では、RBAC (Role-Based Access Control) について Sun Cluster に関連する範囲で説明します。次のトピックについて述べます。
次の表を参考に、RBAC の設定と使用について確認するマニュアルを選んでください。RBAC を作成し、それを Sun Cluster で使用するための手順については、この章の後の方で説明します。
目的 |
参考マニュアル |
---|---|
RBAC の詳細を調べる | |
RBAC の設定、RBAC 要素の管理、RBAC の使用など | |
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 |
トランスポート属性を変更する |
役割を作成するには、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)ユーザーの役割への割り当て |
ノードを追加します。 |
この役割を引き受けるユーザーを追加する。同じスコープ内でユーザーでなければならない |
|
削除 |
この役割が割り当てられているユーザーを削除する |
管理役割ツールを起動します。
Solaris Management Console を起動し、管理役割ツールを実行します。これについては、『Solaris のシステム管理 (セキュリティサービス)』の「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。次に、「ユーザー」ツールコレクションを開いて、「管理役割 (Administrative Roles)」アイコンをクリックします。
「管理役割を追加 (Add Administrative)」ウィザードが起動します。
「アクション (Action)」メニューから「管理役割を追加 (Add Administrative Role)」を選択して、「管理役割を追加 (Add Administrative)」ウィザードを起動します。
Cluster Management 権限プロファイルが割り当てられる役割を作成します。
「次へ (Next)」および「戻る (Back)」ボタンを使用して、ダイアログボックスを移動します。ただし、すべての必要なフィールドに入力がなされるまで、「次へ (Next)」ボタンはアクティブになりません。最後に、入力したデータを確認するダイアログボックスが表示されます。前のダイアログボックスに戻って入力を変更するか、「完了 (Finish)」をクリックして新しい役割を保存します。表 2–1 に、ダイアログボックスの要約を示します。
このプロファイルは、役割に割り当てられるプロファイルリストの先頭に置く必要があります。
新しく作成した役割に、SunPlex Manager 機能や Sun Cluster コマンドを使用する必要があるユーザーを割り当てます。
useradd(1M) コマンドを使って、ユーザーアカウントをシステムに追加します。ユーザーのアカウントに役割を割り当てるには、-P オプションを使用します。
[完了]をクリックして終了します。
端末ウィンドウを開いてスーパーユーザーになり、ネームサービスキャッシュデーモンを起動して停止します。
新しい役割は、ネームサービスキャッシュデーモンを再起動するまで有効になりません。スーパーユーザーで、次のように入力します。
# /etc/init.d/nscd stop # /etc/init.d/nscd start |
次のいずれかの役割の作成方法を選択します。
ローカルスコープの役割を作成する場合、roleadd(1M) コマンドを使用して、新しいローカル役割とその属性を指定します。
また同じくローカルスコープの役割を作成する場合、user_attr(4) ファイルを編集して、ユーザーに type=role を追加することもできます。
この方法は、入力ミスが発生しやすいため、緊急時以外はできるだけ使用しないでください。
ネームサービスの役割を作成する場合は、smrole(1M) コマンドを使用して、新しい役割とその属性を指定します。
このコマンドは、スーパーユーザー、またはその他の役割を作成できる役割による認証を必要とします。smrole コマンドは、すべてのネームサービスに適用でき、Solaris 管理コンソールサーバーのクライアントとして動作します。
ネームサービスキャッシュデーモンを起動して停止します。
新しい役割は、ネームサービスキャッシュデーモンを再起動するまで有効になりません。スーパーユーザーで次のように入力します。
# /etc/init.d/nscd stop # /etc/init.d/nscd start |
次のコマンドシーケンスは、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 |
ユーザーのプロパティーを変更するには、ユーザーツールコレクションをスーパーユーザーとして実行するか、Primary Administrator 権利プロファイルが割り当てられている役割を持つ必要があります。
ユーザーアカウントツールを起動します。
ユーザーアカウントツールを実行するためには、Solaris Management Console を起動する必要があります。これについては、『Solaris のシステム管理 (セキュリティサービス)』の「Solaris 管理コンソールで役割を引き受ける方法」を参照してください。次に、「ユーザー」ツールコレクションを開いて、「ユーザーアカウント (User Accounts)」アイコンをクリックします。
ユーザーアカウントツールが起動すると、既存のユーザーアカウントのアイコンが表示区画に表示されます。
変更するユーザーアカウントのアイコンをクリックして、「アクション (Action)」メニューから「プロパティー (Properties)」を選択するか、ユーザーアカウントのアイコンをダブルクリックします。
変更するプロパティーのダイアログボックスで、適切なタブを次のように選択します。
ユーザーに割り当てられた役割を変更するときは、「役割 (Role)」タブをクリックして、変更する役割を「有効な役割 (Available Roles)」または「割り当てられた役割 (Assigned Roles)」列に移動します。
ユーザーに割り当てられた権利プロファイルを変更するときは、「権利 (Rights)」タブをクリックして、変更する権利プロファイルを「有効な権利 (Available Rights)」または「許可された権利 (Assigned Rights)」列に移動します。
権利プロファイルは、できるだけユーザーに直接割り当てないでください。特権付きアプリケーションを実行するときは、ユーザーが役割を引き受けるようにしてください。通常のユーザーが、特権を不正に使用できないようにするためです。
次のように適切なコマンドを使用します。
ローカルスコープに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更する場合は、 usermod(1M) コマンドを使用します。
また同じくローカルスコープに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更する場合は、user_attr ファイルを編集することもできます。
この方法は、入力ミスが発生しやすいため、緊急時以外はできるだけ使用しないでください。
ネームサービスに定義されたユーザーに割り当てられている承認、役割、または権利プロファイルを変更するときは、smuser(1M) コマンドを使用します。
このコマンドは、スーパーユーザー、またはユーザーファイルを変更できる役割による認証を必要とします。smuser コマンドは、すべてのネームサービスに適用でき、Solaris 管理コンソールサーバーのクライアントとして動作します。