誰に、どの資源への、どんな操作を許すかを決めるのが「アクセス制御」です。代表的なモデルであるRBAC・MAC・DAC、そして基本原則である最小権限について学びましょう。
アクセス制御って、要は『誰が何をしていいか』を決めるってこと?
そうよ。
アクセス制御は、主体(利用者やプロセス)が客体(ファイルやデータ)に対してできる操作を制限する仕組みね。
代表的なモデルが3つあるわ。
1つ目がDAC(任意アクセス制御)ですね。
ファイルの持ち主が、自分の判断でアクセス権を他人に与えられます。
そのとおり。
WindowsやUNIXのファイル権限がまさにDACよ。
柔軟だけど、所有者の判断次第だから、うっかり広い権限を与えてしまう危険もあるの。
じゃあ、持ち主が勝手に決められない方式もあるんですかぁ?
あるわ。
それがMAC(強制アクセス制御)よ。
システムが定めたセキュリティラベル(機密レベルなど)に従って、管理者以外は権限を変えられないの。
軍事や政府など高機密の環境で使われるわ。
厳しいけど、その分カッチリ守れるんだね。
3つ目は?
RBAC(ロールベースアクセス制御)です。
利用者個人ではなく『役割(ロール)』に権限を割り当て、利用者にはロールを付与します。
そう。
『経理担当』というロールに経理システムの権限をまとめておけば、異動してきた人にロールを1つ与えるだけで済むの。
管理が楽で、権限の付け間違いも減るわ。
会社で使うなら、RBACが実用的なんですねぇ。
ええ。
そしてどのモデルでも守るべき基本原則が最小権限の原則(need to know)よ。
業務に必要な最小限の権限しか与えない、という考え方ね。
余計な権限を持たせないってことか。
なんで大事なの?
権限が広いほど、その人のIDが乗っ取られたときの被害も、内部不正のリスクも大きくなるからよ。
だから使わない権限は削り、定期的に見直すの。
関連して、1人に権限を集中させない職務の分離という原則もありますね。
いい補足ね。
承認する人と実行する人を分けることで、不正やミスを牽制できるわ。
アクセス制御は『最小権限』を軸に設計するのが鉄則よ。
確認クイズ
資源の所有者ではなく、システムが定めたセキュリティラベルに基づいてアクセス可否を強制的に決定し、利用者が権限を変更できないアクセス制御モデルはどれか。
- DAC(任意アクセス制御)
- RBAC(ロールベースアクセス制御)
- MAC(強制アクセス制御)
- ABAC(属性ベースアクセス制御)
こたえを見る
正解: 3. MAC(強制アクセス制御)
セキュリティラベルに従いシステムが強制的に制御し、所有者が変更できないのはMACなので3が正しい。DACは所有者が裁量で権限を設定する方式、RBACは役割に権限を割り当てる方式で、いずれも所有者や管理者が権限を変更できる。ABACは属性(所属・時間帯など)に基づく方式で、ラベルによる強制制御という定義には合致しない。