役割によるアクセス制御 (RBAC: role-based access control) データベースを、Solaris Management Console (SMC) のグラフィカルインタフェースの「ユーザー」ツールから管理することができるようになりました。SMC についての詳細は、Solaris Management Console の概要 を参照してください。RBAC では以下の機能が更新されています。
execution profiles という用語が使用されなくなり、権利プロファイル (rights profiles) に置き換えられました。グラフィカルインタフェース上では「権利 (rights)」、コマンド行およびファイル内では profiles とも呼ばれます。
承認とセキュリティ属性を備えたコマンドに加え、権利プロファイルが他の権利プロファイルを含むことができるようになりました。複数の従属する権利プロファイルに同じコマンドが現れる場合、ファイル内の最初の出現が優先されます。
policy.conf(4) ファイルが、デフォルトで権利プロファイルを割り当てられるようにするキーワード PROFS_GRANTED を認識できるようになりました。
次の図は、拡張されたユーザー属性がどのようにユーザーに提供されるかを示します。
user_attr データベースは、表示されている属性を含み、またコンマ (,) で区分されたプロファイル名のリストを含んでいます。プロファイルの内容は、prof_attr ファイル (プロファイル識別情報、そのプロファイルに割り当てられた承認、従属プロファイルを含む) と exec_attr ファイル (ポリシーを識別し、関連するセキュリティ属性を備えたコマンドを含む) に分けられます。auth_attr ファイルは SMC ツールに承認情報を提供します。user_attr を使用してユーザーに直接承認を割り当てることはできますが、これは推奨されない方法であることに注意してください。policy.conf ファイルは、すべてのユーザーに割り当てられるデフォルトの属性を提供します。
たとえば、Printer Management 権利プロファイルが 1 つのユーザーまたは役割に割り当てられると、そのユーザーまたは役割の user_attr エントリはキーワードと値のペア (profiles=Printer Management) を含みます。prof_attr ファイルは以下の行でこのプロファイルを定義します。また、ヘルプファイルと承認も指定します。
Printer Management:::Manage printers, daemons, spooling:help=RtPrntAdmin.html;auths=solaris.admin.printer, / solaris.admin.printer.modify,solaris.admin.printer.delete
exec_attr ファイルでは、次の行が有効なユーザー ID = lp を Printer Management プロファイル内のコマンド /usr/sbin/accept に割り当てます。
Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp
次の表は、承認を使用するコマンドのリストです。
表 6–1 コマンドとその承認
コマンド |
関連する承認 |
---|---|
at(1) |
solaris.jobs.user |
atq(1) |
solaris.jobs.admin |
crontab(1) |
solaris.jobs.user, solaris.jobs.admin |
allocate(1M) |
solaris.device.allocate, solaris.device.revoke |
deallocate(1M) |
solaris.device.allocate, solaris.device.revoke |
list_devices(1M) |
solaris.device.revoke |
rdate(1M) |
solaris.system.date |
smcron(1M) |
solaris.jobs.admin, solaris.jobs.user |
smdiskless(1M) |
solaris.admin.dcmgr.clients, solaris.admin.dcmgr.read |
smexec(1M) |
solaris.profmgr.read, solaris.profmgr.write |
smgroup(1M) |
solaris.admin.usermgr.read, solaris.admin.usermgr.write |
smmultiuser(1M), smuser(1M) |
solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate |
smmaillist(1M) |
solaris.admin.usermgr.read, solaris.admin.usermgr.write |
smosservice(1M) |
solaris.admin.dcmgr.admin, solaris.admin.dcmgr.read |
smprofile(1M) |
solaris.profmgr.read, solaris.profmgr.write |
smrole(1M) |
solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate |