属性ベースアクセス制御【ABAC】Attribute-Based Access Control
概要

アクセス主体(通常は利用者)の属性には所属部署や役職、雇用形態などが含まれる。アクセス対象(通常はデータやファイル)の属性には機密区分や作成者、更新日時などがある。アクセス環境の属性にはアクセス元の時間帯や場所、利用端末の種類などが該当し、これらを組み合わせて可否を判定する。
例えば、「経理部に所属する社員が、社内ネットワークから業務時間内にアクセスした場合のみ財務資料の閲覧を許可する」といった条件を設定できる。同じ部署の社員でも、残りの条件を満たしていない状況ではアクセスは拒否される。
従来から使われてきた方式に、利用者に割り当てた役割(ロール)ごとに権限をまとめて管理する「RBAC」(Role-Based Access Control:ロールベースアクセス制御)がある。役割の数が少ないうちは運用しやすいが、組織の規模が拡大し役割の種類や組み合わせが増えると、権限設定は複雑になりやすい。属性ベースアクセス制御は属性の組み合わせで判定するため、時間や場所、端末、データの分類といった条件を柔軟に反映でき、状況に応じた動的な制御がしやすくなる。
属性ベースアクセス制御では操作の内容やアクセス時の状況を細かく指定できる点が他の方式と大きく異なる。例えば、社外秘の文書について、社内からの閲覧のみを許可し、社外からの印刷やダウンロードを禁止するといった細かな制御も可能である。このような特徴から、クラウドサービスやリモートワーク環境など、多様な利用者や端末を前提とする情報システムでの採用が進んでいる。
一方で、利用する属性の種類やポリシーの数が増えるほど設計や管理は複雑になる。属性情報を常に正確な状態で保つ必要があり、人事システムや端末管理システムとの連携が求められる場合もある。運用の難易度は用いる属性やルールの内容によって変わるため、導入にあたっては対象システムの規模や用途に応じた設計が必要となる。