コンピュータセキュリティにおいて、裁量アクセス制御(DAC)は、信頼できるコンピュータシステム評価基準[ 1 ] (TCSEC)によって定義されたアクセス制御の一種であり、主体やグループが属するIDに基づいてオブジェクトへのアクセスを制限する手段です。この制御は、特定のアクセス権限を持つ主体が、強制アクセス制御によって制限されない限り、その権限を(間接的に)他の主体に渡すことができるという意味で裁量的です。
裁量アクセス制御は、強制アクセス制御(MAC)と対比して議論されることが多い。システム全体に強制アクセス制御がない場合、そのシステムは「裁量的」または「純粋に裁量的な」アクセス制御を備えていると言われることがある。一方、システムはMACとDACの両方を同時に実装することも可能であり、DACは主体間で転送可能なアクセス制御のカテゴリを指し、MACは最初のカテゴリに制約を課すアクセス制御のカテゴリを指す。
実際のところ、この用語の意味はTCSEC標準で与えられた定義ほど明確ではありません。なぜなら、TCSECのDACの定義は実装を強制していないからです。少なくとも2つの実装があります。所有者による実装(広く普及している例)と機能による実装です。[ 2 ]
DACという用語は、すべてのオブジェクトにはオブジェクトへのアクセス権限を制御する所有者が存在するという前提のもとで一般的に使用されています。これは、多くのシステムが実際に所有者の概念を用いてDACを実装しているためと考えられます。しかし、TCSECの定義では「所有者」について明示的に言及されていないため、アクセス制御システムがTCSECのDAC定義を満たすために、所有権の概念を厳密に必要とするわけではありません。
このDAC実装では、ユーザー(所有者)はポリシー決定やセキュリティ属性の割り当てを行うことができます。分かりやすい例として、Unixのファイルモードがあります。これは、ユーザー、グループ、その他のそれぞれについて、3ビットごとに書き込み、読み取り、実行を表します(追加の特性を示す別のビットが前置されます)。
別の例として、能力システムは、主体が自身のアクセス権を他の主体に譲渡することを許可するため、裁量的な制御を提供すると説明されることがありますが、能力ベースのセキュリティは、根本的には「主体の身元に基づいて」アクセスを制限することではありません。一般的に、能力システムは「他の主体」に権限を渡すことを許可しません。権限を渡したい主体は、まず受け取る主体へのアクセス権を持っている必要があり、主体は通常、最小権限の原則に従って、厳密に限定された主体セットにのみアクセスできます。