アクセス制御とは? 制御方式の種類や機能をわかりやすく解説

「誰が、どの情報にアクセスできるのか」は、情報セキュリティを考える上で重要な要素です。情報は、今や企業の持つ重要な資産です。適切に管理し、守っていかなければなりません。アクセス制御を行うための方法を知り、適切にコントロールしていきましょう。
本記事では、アクセス制御の基本的な考え方から、代表的な4つの制御方式、認証・認可・監査といった主要な機能について解説します。
アクセス制御とはデータやネットワークにアクセスできるユーザーを制御・管理すること
アクセス制御とは、ある特定のデータやネットワークについて、アクセスできるユーザーを制御・管理することです。
例えば、個人のSNSのアカウントにログインするためには、IDとパスワードの入力が求められます。これも、アクセス制御の1つです。アクセス制御を行えば、意図しない他人がデータやネットワークに入り込んでしまうことを防げます。
企業でも同様に、下記のような様々なアクセス制御が行われています。
- アクセス制御の例
-
- 特定のチームメンバーだけが利用できるチャットシステム
- 特定の業務に従事しているスタッフだけがアクセスできるマニュアル
- 従業員は誰でも申請できるが、管理者しか承認できない経費精算システム
これらはすべて、アクセス制御に該当します。アクセス制御がされていなかったら、誰でも業務外の情報にアクセスできてしまいます。自由にアクセスし操作できてしまうことで、予期せぬトラブルやデータの改変が起こる可能性もあるでしょう。
アクセス制御によって操作範囲やアクセスできる人間を限定することは、混乱を防いでスムーズに業務を進めるためにも役立ちます。
アクセス制御の4種類の方式
アクセス制御は、誰がどのように設定を行うかという観点から、4つの方式に分けられます。それぞれの方式には異なる特徴とメリットがあるため、一概にどれが優れていると断言することはできません。管理する情報の内容に合わせて選択する必要があるため、4つの方式の内容を詳しく確認していきましょう。
| 名称 | 概要 |
|---|---|
| 任意アクセス制御(DAC) | ファイルを作成したユーザー自身がアクセス制御を行う |
| 強制アクセス制御(MAC) | 管理者のみがアクセス制御を行う |
| ロールベースアクセス制御(RBAC) | それぞれのユーザーの役割に応じて権限を設定する |
| 属性ベースアクセス制御(ABAC) | ユーザーやリソース、環境の属性に基づいて複雑なアクセス制御のルールを設定する |
任意アクセス制御(DAC)
任意アクセス制御(DAC:Discretionary Access Control)は、ファイルを作成したユーザー自身がアクセス制御を行う方法です。
例えば、自身が作成したファイルについて、「自分以外の編集は認めないが、チームメンバーの閲覧は認める」「自分と直属の部下◯◯さん以外の閲覧を認めない」といった権限を付与することができます。
任意アクセス制御は、一般的に広く活用されている便利な方法です。ただし、一人ひとりのユーザーにアクセス制御を任せることになるため、セキュリティ性は高くありません。
この方式のメリットは、権限設定の自由度が高く、作成者が随時変更できることで業務の効率性を向上できる可能性がある点です。例えば、プロジェクト用の共有ファイルについて、プロジェクトリーダーは必要な権限を都度メンバーに付与することができます。作成者にアクセス権限の設定権がなければ、このように迅速かつ柔軟に権限を変更するのは難しいと言えるでしょう。
一方で、この方式にはデメリットもあります。情報管理が各ファイル所有者の裁量に委ねられるため、設定のばらつきや設定ミスが起きやすく、情報漏洩リスクが高まりかねません。例えば、「作成者が異動・退職した後も作成者に広い権限が残ったままになる」「意図しない共有リンクが有効のまま放置される」「従業員が企業方針と異なる許可設定をしてしまう」といった事態が挙げられます。そのため、アクセス権限の設定内容に関する定期的な棚卸しを行い、管理者がチェックすることが重要です。
強制アクセス制御(MAC)
任意アクセス制御がユーザーにアクセス制御を任せる方法であるのに対し、強制アクセス制御(MAC:Mandatory Access Control)は、管理者のみがアクセス制御を行える方法です。
強制アクセス制御では、事前に想定したアクセス以外のすべてが拒否されます。
この方式では、管理者が定めたラベルに基づき、アクセス可否を機械的に判定します。例えば、ユーザーと情報の双方に「レベル1」「レベル2」のような強弱を付け、例えば「レベル1のユーザーはレベル1の情報の閲覧・作成・編集・削除ができるが、レベル2の情報は閲覧のみ」「レベル2のユーザーはレベル2の情報について閲覧・作成・編集・削除ができる」といった形で、アクセスを制御する方式です。
この方式には、高いセキュリティを保てるというメリットがある一方で、ユーザーごとの細かな権限調整がしにくい点はデメリットと言えるでしょう。そのため、業務上、アクセス権限のルールについてシンプルなルールを設けるのが難しく、どうしても例外を盛り込む必要があるような組織では、運用負荷が高まりがちです。軍事やインフラなど、厳格な区分管理が前提となるような領域で採用されるイメージで捉えると、わかりやすいかもしれません。
ロールベースアクセス制御(RBAC)
任意アクセス制御と強制アクセス制御の中間程度のセキュリティレベルを持つ制御方法が、ロールベースアクセス制御(RBAC:Role-Based Access Control)です。
これは、それぞれのユーザーの役割に応じて権限を設定する方法で、部署ごとや役職ごとにアクセスできる情報を制御します。「営業部のみ閲覧・編集可能な顧客リスト」「課長職以上が閲覧できる管理マニュアル」などが該当します。
この方式の特徴は、強制アクセス制御のように管理者がアクセス権限の強弱を集中的に管理する考え方を取り入れつつ、役割に応じて権限を追加できる柔軟性がある点です。例えば、開発部の従業員に「普段は開発部のアクセス権限しか持たないが、新規プロジェクトに参加するため、その営業プロジェクト用の役割を一時的に付与して営業関連データにもアクセスできるようにする」といった対応もできるようになります。
この方式のメリットは、高いセキュリティを保ちつつも役割ベースで柔軟に権限を付与できるため、バランスのとれたアクセス制御を行いやすいことです。一方で、役割の定義と各役割に必要な権限の洗い出しに時間と専門知識が必要になるため、場合によっては適切な権限設定ができず過大な権限付与につながりかねない点はデメリットです。
属性ベースアクセス制御(ABAC)
属性ベースアクセス制御(ABAC:Attribute Based Access Control)は、ユーザーやリソース、環境の属性に基づいて複雑なアクセス制御のルールを設定する方式です。ロールベースアクセス制御などと比べると、役割以外の属性も含めてアクセス条件を設定するため、より柔軟かつ細かなポリシー設定が可能です。
属性ベースアクセス制御では、ユーザーの役職・部署といったユーザーの属性、保護対象となるデータの種類などのリソースの属性、データにアクセスする場所・時間などの環境の属性といった複数の属性情報から、あらかじめ定義されたポリシーに従ってアクセスを許可するか判断します。例えば、「部署が営業部で、勤務時間内かつ社内ネットワークからのアクセスに限り、営業資料へのアクセスを許可する」といったようなルールを設定します。
この方式のメリットは、柔軟なアクセス権限の設定ができるため、組織が大規模で多様な利用者・システムが存在していても状況に応じて適切なアクセス制御ができる点です。
例えば、テレワークを導入していて、クラウドサービスを利用した社外からの業務データへのアクセスも必要となる環境では、役割だけでアクセス可否を判断する方式では不十分なケースもあります。紛失した端末を拾った攻撃者が従業員を装い、社外から不正アクセスを行うようなケースを想定すると、役割ベースのアクセス制御だけでは攻撃を防ぐのは困難です。時間や場所などの様々な条件を組み合わせ、適切なアクセスかどうかを判断するような制御が必要になります。
属性ベースアクセス制御であれば、このようなケースでも不正アクセスのリスクを低減できる最適なアクセス条件を設定することが可能です。
一方で、この方式にはデメリットもあります。一般的に属性やポリシーの設計が複雑になりがちなため、権限の管理を効率化できる運用ルールの設定やツールの導入が不可欠です。また、属性に関する情報の正確性・最新性を保てるようなID管理体制を整備しなければなりません。
アクセス制御の3つの機能
アクセス制御は、「認証」「認可」「監査」という機能によって行われます。それぞれの機能は単体で使うだけでなく、併用することも可能です。3つの機能には下記のような違いがありますので、それを踏まえて活用していきましょう。
| 項目 | 概要 |
|---|---|
| 認証 | アクセスできるユーザーかどうかの確認を行うこと。ID・パスワードによる認証や、SMS認証や生体認証などが例 |
| 認可 | あらかじめ定められた条件を満たすユーザーだけが、情報やシステムにアクセスできるようにすること。特定の部署や従業員に権限を与えるといったケースなどが例 |
| 監査 | 認証や認可によるアクセス制御のログを、保存・管理すること。アクセスそのものを制御する機能ではなく、アクセス制御が正しく行われているかどうかを確認できる機能 |
認証
認証とは、アクセスできるユーザーかどうかの確認を行うアクセス制御のことです。下記のようなアクセス制御は、すべて認証に該当します。
- 認証に該当するアクセス制御の例
-
- IDとパスワードを入力してログインするマイページやSNS
- PINコードを入力することでアクセスできるシステム
- システムの操作を行うためのSMS認証
- 指紋認証や顔認証などの生体認証システム
認証は、個人が利用するサービスでも企業活動でも、幅広く活用されているシステムです。ただし、アクセスしてよいユーザーかどうかを判断する条件が簡単なものだと、アクセス制御を突破されてしまう可能性があります。
例えば、IDとパスワードだけの認証では、それらが流出しただけで不正アクセスを許してしまうことになるのです。こうした危険を防ぐために、IDとパスワードにSMS認証や生体認証を組み合わせて、二重、三重のアクセス制御を行うケースもあります。
とはいえ、アクセス制御を厳しくすれば、その分アクセスに時間がかかり、利便性が損なわれます。利便性とセキュリティのバランスを考えることが大切です。
認可
認可は、あらかじめ定められた条件を満たすユーザーだけが、情報やシステムにアクセスできるようにすることです。例えば、「総務部所属、社員番号◯◯に対してアクセス権限を付与する」といったケースが該当します。
また、アクセスの可否に加えて、何ができるかを決めることもできます。「総務部所属、社員番号◯◯は閲覧のみ可能」「総務部長、社員番号××は閲覧と編集が可能」といったように、それぞれの権限を設定して利用を制限できるのです。
監査
監査とは、認証や認可によるアクセス制御のログを、保存・管理することです。アクセスそのものを制御する方法ではありませんが、ログを確認することでアクセス制御が正しく行われているかどうかを確認できます。
認証や認可によるアクセス制御を行ったとしても、それが完全に機能しているかどうかはわかりません。隙をついて不正アクセスが行われていないかどうかを確認し、万一の際には早急に発見・対処するためには、監査という機能が必須です。
アクセス制御システムを企業に導入する際のポイント
企業のアクセス制御では、それぞれの部署が扱う情報やシステムに応じて、どの程度の制御を設定するべきかを決める必要があります。
最初に、どの制御方式を利用するのか、どのような基準で権限を付与するのかを検討することが必要です。その際には、業務効率とセキュリティのバランスがとれた、適切なアクセス制御を設定することが大切です。
管理する対象の範囲、不正アクセス検知時の対応なども考慮して、自社の業務に合ったシステムを選びましょう。
アクセス制御システムで管理業務を効率化しよう
企業の情報を守り、不正な操作を防ぐためには、適切なアクセス制御が必要不可欠です。自社の各部署で、業務内容に適したアクセス制御を行っているかどうか、あらためて確認することから始めるのがお勧めです。
認証、認可、監査という3つの機能を適切に組み合わせて、堅牢な管理体制を作り、様々なリスクに備えましょう。
「MaLion」シリーズのファイルアクセス監視では、各種ファイルの操作状況(読み込み、書き込み、移動、コピー、名称変更、削除)を監視することができます。セキュリティポリシーに反する操作に対しては、実行を制限すると共に、不正アクセス者に対する警告の表示が可能です。セキュリティレベルの向上に、ぜひ「MaLion」シリーズをご活用ください。
