アクセス制御とは、制限付きの場所や情報にアクセスする権限を誰に付与するかを決めるために設計された一連のルールのことです。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
アクセス制御とは、情報、ツール、物理的な場所へのアクセスを制限するための一連のポリシーを指すセキュリティ用語です。
この記事では、情報へのアクセス制御に焦点を当てていますが、物理的なアクセス制御は、全体的なコンセプトを理解する上で有用な比較対象となります。
物理的アクセス制御とは、物理的な場所へのアクセスを誰に許可するかを制御する一連のポリシーのことです。物理的アクセス制御の実例としては、以下のようなものがあります。
こうした例において、人物またはデバイスは、一連のポリシーに従って、制限付きの物理的な場所に誰がアクセスできるかを決めます。たとえば、ホテルのカードキースキャナーは、ホテルのカードキーを持つ承認された宿泊客についてのみアクセスを許可します。
情報へのアクセス制御とは、データやそのデータを操作するためのソフトウェアへのアクセスを制限するものです。例としては、以下のようなものがあります。
いすれのケースにおいても、ソフトウェアはデジタル情報へのアクセスする必要のあるユーザーを認証して承認するのに使用されます。認証と承認は、論理的アクセス制御にとって不可欠な構成要素です。
認証(Authentication) は、ある人が本人であることを確認するセキュリティの手法であり、承認(Authorization)は、各ユーザーにどのレベルのアクセスを許可するかを決定するプロセスのことです。
たとえば、ホテルにチェックインする旅行者を思い浮かべてください。フロントで宿泊登録するとき、予約した本人かどうかを確認するためにパスポートや運転免許証などの身分証の提示を求められます。これが認証の一例です。
ホテルの従業員が宿泊客を認証すると、宿泊客は限られた権限を持つキーカードを受け取ります。これは認証の一例です。宿泊客のキーカードを使用すると、自分の部屋、宿泊客用のエレベーター、プールへ行くことができますが、他の宿泊客の部屋に入ったり業務用のエレベーターを使うことはできません。一方、ホテルの従業員は、宿泊者よりも多くのエリアに出入りする権限があります。
コンピューターとネットワークシステムは、よく似た認証および承認の制御を備えています。ユーザーはメールアカウントまたはオンラインバンキングアカウントにサインインするとき、本人しか知りえないログイン名とパスワードを組み合わせて使用します。ソフトウェアはこの情報を使用してユーザーを認証します。一部のアプリケーションには、ほかよりも厳格な承認要件を備えています。パスワードだけで十分であるという人もいれば、二要素認証さらには指紋認証や顔認証のような生体認証を求める人もいます。
一度認証されると、ユーザーはアクセスを許可された情報のみを見ることができます。オンラインバンキングの場合、ユーザーは自分個人の銀行口座に関連する情報しか見ることができません。一方、銀行のファンドマネージャーは、同じアプリケーションにログインして、銀行の全体的な財務情報に関するデータを見ることができます。銀行は非常に機密性の高い個人情報を扱うため、誰もデータに自由にアクセスできる人はいません。銀行の頭取やセキュリティ責任者でさえ、個々の顧客の全データにアクセスするには、セキュリティプロトコルを通過する必要があるかもしれません。
認証プロセスが完了すると、ユーザ承認は次のいずれかの方法で決定されます。
強制アクセス制御(MAC):強制アクセス制御では、個別のユーザーと、そのユーザーに対してアクセスが許可されているリソース、システム、またはデータについて、厳格なセキュリティポリシーを設定します。これらのポリシーは一人の管理者によって管理されます。個々のユーザーには、既存のポリシーに反する方法で権限を設定、変更、または取り消す権限は与えられていません。
この仕組みでは、主体(ユーザ)と対象(データ、システム、その他のリソース)の両方に同様のセキュリティ属性が割り当てられなければ、相互にやりとりすることはできません。先ほどの例で言えば、銀行の頭取が顧客データファイルにアクセスするためには、適切なセキュリティクリアランスが必要なだけでなく、システム管理者は、頭取がそれらのファイルを閲覧したり変更したりできるように指定する必要があります。一見、重複しているように見えますが、特定のデータやリソースにアクセスしただけでは、ユーザーが不正な行為を行えないようになっています。
ロールベースのアクセス制御(RBAC): ロールベースのアクセス制御は、グループ(銀行の従業員などの定義されたユーザーの集合)とロール(銀行の窓口や支店長が実行するような定義されたアクションの集合)を基に権限を設定します。個々のユーザーは、それぞれの役割に割り当てられたアクションを実行することができ、必要に応じて複数の役割を割り当てることもできます。MACと同様、ユーザーは自分のロールに割り当てられたアクセス制御のレベルを変更することはできません。
例えば、銀行の窓口のロールを与えられた従業員は、口座取引を処理し、新規顧客の口座を開設する権限を与えられる可能性があります。一方、支店長は複数のロールを持ち、口座取引の処理や顧客口座の開設の他、新入社員への銀行窓口用のロールを割り当てる権限が与えられているかもしれません。
任意アクセス制御(DAC):ユーザーは(通常はシステム管理者または既存のアクセス制御リストによって)オブジェクトへのアクセス許可が与えられると、そのユーザーは必要に応じて他のユーザーにアクセス権を付与することができます。ただし、このユーザーはシステム管理者の厳しい監視を受けることなくセキュリティ設定を決定し、権限を共有することができるため、セキュリティ上の脆弱性をもたらす可能性があります。
どのユーザー認証方法が組織にとって最も適切かを評価する際には、セキュリティニーズを考慮する必要があります。一般的に、高いレベルのデータ機密性を必要とする組織(政府機関、銀行など)は、MACのような、より厳格なアクセス制御を選択し、より柔軟性がありユーザーまたはロールベースのパーミッションを好む組織は、RBACやDACシステムを選択する傾向があります。
情報へのアクセス制御のための代表的なツールとして、仮想プライベートネットワーク(VPN)があります。VPNとは、リモートユーザーがあたかもプライベートネットワークに接続しているかのように、インターネットにアクセスできるようにするサービスです。企業ネットワークでは、地理的に離れた場所にある内部ネットワークへのアクセス制御を管理するために、VPNを使用することがよくあります。
たとえば、サンフランシスコとニューヨークにオフィスを持っていて、全世界に散らばって仕事をする従業員を抱えている会社があるとします。そうした会社は、従業員がいる物理的な場所に関係なく、VPNを使用してすべての従業員が自社ネットワークに安全にログインできるようにすることができます。VPNに接続することは、公共のWi-Fiネットワークに接続する従業員をオンパス・アタックから保護するのにも役立ちます。
また、VPNにはいくつか欠点もあります。例えば、VPNはパフォーマンスに悪影響を及ぼします。VPNに接続している場合、ユーザーが送受信するすべてのデータパケットは、宛先に到着するまでに余分な距離を移動しなければなりません。これは、各リクエストとレスポンスが宛先に到着する前に VPN サーバーに到達しなければならないためです。このプロセスは、しばしば遅延を増大させます。
一般にVPNはネットワークセキュリティに対してAll-or-Nothing方式を適用します。VPNは認証を行うという目的には適していますが、きめ細かなアクセス制御を行うという目的には適していません。組織が従業員ごとに異なるレベルのアクセス権限を付与したい場合、複数のVPNを使用しなければなりません。これにより複雑さが増すにもかかわらず、依然としてZero Trustセキュリティの要件を満たすことができません。
Zero Trustセキュリティとは、ネットワーク境界(ソフトウェア定義の境界)の内側にいるか外側にいるかに関係なく、内部リソースにアクセスしようとしているすべての人物とデバイスのIDの厳格な検証を必要とするセキュリティモデルのことです。また、Zero Trustセキュリティはマイクロセグメンテーションを利用します。マイクロセグメンテーションとは、ネットワークの個々の部分へのアクセスを個々に管理するために、セキュリティ境界を小さなゾーンに細かく切り分ける(セグメンテーションする)ことを言います。
今日、多くの企業はVPNをCloudflare Zero Trustのような「Zero Trust」セキュリティソリューションに置き換えています。Zero Trustセキュリティソリューションは、VPNを使用することのデメリットを避けながら、オフィス勤務の従業員と在宅勤務の従業員の両方のアクセス制御を管理するのに使用できます。
利用開始
アクセス管理について
ゼロトラストについて
VPNリソース
用語集