| Tyzohブログ - ikarashiさんのエントリ |
ikarashiさんのエントリ配信 |
2005/12/02
![]() |
RBAC ってなに?
執筆者: ikarashi (2:05 pm)
|
ちょっと気になったので,RBAC について. kawabe さんのブログ「カルテ管理システム(11/21) -- RBAC」や「RBAC(Role-based Access Control)を超えて...」を読んで,改めて RBAC について簡単に書いてみることにしました.. RBAC とは "Role Based Access Control" の略で,アクセスの主体(Subject)の"Role" に応じて,客体(Object)へのアクセス権限を決めようというものです. 「アクセス制御」の(歴史的に)最も有名なモデルは,Bell と LaPadula によって定義された「Bell-LaPadulaモデル(BLPモデル)」だと思いますが,このモデルは,米国国防総省によって軍事機密を守るために開発されたもので,秘匿性モデルに分類されます. 機密レベルが上位の者が下位の者に機密を漏らすことを阻止するために考えられたモデルで,下位の者が上位に報告(write)することは出来るけれども,上位の者が下位に漏洩(write)できないように考えられています.「権限」という考え方で考えると上位になるほど権限が大きくなるように思われるかもしれませんが,BLPモデルではそれよりも機密の漏洩に主眼を置き,そのため「秘匿性モデル」と呼ばれています. 現在は廃止されていますがTCSEC ("Trusted Computer System Evaluation Criteria",通称オレンジブック)という評価基準の最高位基準では,この Bell-LaPadulla の実装が義務付けられています.(TCSEC に代わり現在は JIS X 5070 (ISO/IEC 15408)が使用されています) 「上位の権限」という考えに基づいたモデルは「完全性モデル」と呼ばれ,不正な更新の阻止に主眼が置かれています.このモデルには,Bibaモデルなどがあります. 近年では,現実の世界において,より複合的な組織やグループの形成,個人の役割の多重化などが進む中で,コンピュータシステムの世界もこれに合わせて役割によって権限の範囲を設定するモデルが主流になってきています.役割を元に権限を設定することから,Role Based Access Control と呼ばれ,RBAC(アールバック)と略記します.さまざまなRBACモデルが提案されていますが,現在はNIST(National Institute of Standards and Technology)によって提案されたRBACモデルがANSIで承認され,標準となっています. RBACでは,一般ユーザの役割と権限の制御だけでなく,管理者の権限も分割することが出来ます.たとえば,Webサービスのプロセスや資源を管理する者と,ログを管理するもの,ユーザの管理をする者などに分けて必要な権限を与えるということが可能です.このような考え方を最少特権と呼びます.すなわち役割(ロール)に応じた必要な権限を最小限に与えるという考え方です. このような役割と権限の割り当て方針をアクセス制御ポリシーと呼び,アクセス制御ポリシーに従ってアクセス制御の管理を行う者を,一般のシステム管理者と区別して情報セキュリティ管理者と呼ぶ場合があります. RBAC と似たようなモデルに,TE(Type Enforcement)というものがあります. TEとは,アクセス制御のための行列を定義して,対象物に操作を行おうとする主体のアクセスを制御するモデルです.厳密にはRBACとは異なりますが,同一視する場合もあります.TEでは,操作する側の主体の属する「ドメイン」と,操作される側の対象の属する「タイプ」を定義し,それらを行列で表して,許可される操作を記述します. セキュアOSとして注目されているSE-Linuxは,RBACとTEを実装しています. IPA(独立行政法人 情報処理推進機構)から「アクセス制御に関するセキュリティポリシーモデルの調査(2005/04/08)」が報告されていますので,興味のある方は一読されると良いと思います. |
Trackback is not accepted now.
投稿された内容の著作権はコメントの投稿者に帰属します。





Rinza
開発日記