それぞれのメリットは何ですか。また、いつどちらを選ぶべきですか。これらをマージする必要がある状況はありますか?
一般的な使用例はありますか?
そして、MACはどうですか、それはどこに適合しますか?
RBAC(役割ベースのアクセス制御)は、ビジネス役割のリストを定義し、システム内の各ユーザーを1つ以上の役割に追加することに基づいています。その後、アクセス許可と特権が各ロールに付与され、ユーザーはロールのメンバーシップを介してそれらを受け取ります(グループとほぼ同じです)。アプリケーションは通常、特定のロールのメンバーシップについてユーザーをテストし、それに基づいてアクセスを許可または拒否します。
任意アクセス制御(DAC)により、ユーザーまたは管理者は特定のリソース(ファイル、レジストリキー、データベーステーブル、OSオブジェクトなど)にアクセス制御リスト(ACL)を定義できます。このリストにはエントリが含まれます(ACE)リソースにアクセスできる各ユーザーと、そのリソースに対する彼女の特権を定義します。
DACに対するRBACの主な利点は、管理が容易であることです。原則として、ユーザー数に関係なく、一元的に管理されるロールはほとんどなく、各ユーザーに適切なロールを付与するという問題があります。 DACとは対照的に、新しいユーザー(またはユーザーの変更、削除など)ごとに、アクセスする必要のあるすべてのリソースに移動し、それらをリストに追加する必要があります。
一方、DACは、多くの場合、より単純で、一般的にはより詳細です。また、DACモデルでは、データ所有者は誰がアクセス権を持っているか(データに対するアクセス許可がある場合)を決定し、リストにユーザーを追加または削除できます。
DACの非常に一般的な例は、Windowsファイルシステムです。一方、RBACの非常に一般的な例は、企業ファイルサーバー上のDACです。 "Sales" ActiveDirectoryグループのすべてのユーザーが、\ Sales \共有フォルダーにアクセスできます。より一般的には、WindowsのAdministratorsグループです。
MACは必須アクセス制御です。これは分類またはプライバシーレベルと見なすことができます。これは、軍事システムで最も頻繁に使用され、メインフレーム時代に使用されます。 Vista/Win7の整合性レベルなど、現在のOSはこれのフレーバーを実装していますが、あまり使用されていません。
違いを要約するには: