適材適所でクラウドを使い分ける企業が増えている。ここで課題になるのがクラウドごとの違いだ。AWS(アマゾン・ウェブ・サービス)、Google Cloud Platform(GCP)、Microsoft Azureはサービスのラインアップが似ているが、用語やサービスの構造、利用できる機能などに差異がある。本連載ではテーマ別に各クラウドの特徴を取り上げ、違いを浮き彫りにしていく。第10回から第12回はセキュリティ対策の基本となる「アクセス制御」をテーマに解説する。第10回ではMicrosoft Azureを取り上げる。

 本連載「3大クラウド十番勝負」の第1回から第3回のテーマである「始め方」では、クラウドを利用する際に最初にするべきこととしてユーザーや権限の管理の重要性について紹介しました 第1回「3大クラウドの違いを徹底理解、セキュリティの初期設定に注意したいAWS」 第2回「AWSとはかなり違うネットワーク仕様、独特のリソース管理にも注意したいGCP」 第3回「Azureの肝はクラウド版Active Directory、3大クラウドの違いを完全理解」 。今回(第10回)から第12回では、各クラウドにおける具体的なアクセス制御管理について解説します。

 アクセス制御は、サービスのリソースに対して、誰(ユーザーもしくはサービス)がどういった権限(読み取り、書き込み、削除)を有しているかを管理する機能です。この機能によって、あるユーザーがあるリソースに何らかの操作をした際に、その操作を許可するのか拒否するのかを決めます。セキュリティの中核で、必ず利用する機能となります。アクセス制御を体系的に理解し、適切な権限管理ができるようになれば、クラウドを使いこなすハードルは格段に下がります。

(出所:123RF)
(出所:123RF)

 ただし、アクセス制御はクラウドごとに独特の概念があり、要点がつかみづらいと感じる人も多いでしょう。あるクラウドのアクセス制御の概念を他のクラウドにそのまま流用しようとすると設定がうまくいかなかったり、意図した通りに動かなかったりと、初心者が必ずつまずく“難所”になっています。今回は、Microsoft Azureのアクセス制御について、要点を説明します。

まずは5つのアクセス制御モデルを押さえる

 アクセス制御の目的は、ユーザーが必要な情報に対して必要な権限でアクセスできるようにして、情報漏洩を防止することです。したがって

  • 必要な情報のみにアクセスできること(必知事項の原則)
  • 必要な権限のみが付与されること(最小権限の原則)
が、セキュリティ原則の基本となります。

 適切なアクセス制御は、不正行為だけでなく、ユーザーの過失防止にもつながります。組織だけでなく、ユーザーにとっても重要です。最初に、セキュリティ原則を実現するための一般的な5つのアクセス制御モデルを紹介します。クラウドのユーザーやリソースに対して、これらのいずれかのモデルでアクセス制御をします。

(1)任意アクセス制御(DAC:Discretionary Access Control)

 リソースの所有者がアクセスポリシーを決めるモデル。誰がどういう権限を持つかを個々のリソースの所有者がそれぞれ決定する。分かりやすいモデルであるが、リソースの数が多くなると、誰がどのリソースに対してどういう権限を持っているかの管理が煩雑になる。

(2)強制アクセス制御(MAC:Mandatory Access Control)

 管理者がアクセスポリシーを決めるモデル。誰がどういう権限を持つかを、管理者がシステム全体で決めて、一元的に制御する。リソースに対して誰がどういう権限を持っているかを一元管理できるので統制が取れ、セキュリティも担保しやすい。その一方で、管理者が全てを決めるため、柔軟性に欠ける。

(3)アイデンティティーベースアクセス制御(IBAC:Identity Based Access Control)

 リソースに対する許可/拒否をリソースのアクセス制御リスト(ACL:Access Control List)で管理し、ユーザーのアイデンティティー(ID)に対してアクセスを制御するモデル。ユーザーの管理とアクセス制御リストの管理を分離できるため、柔軟性が高くなる。一方、アクセス制御リストの管理は煩雑になる。

(4)ロールベースアクセス制御(RBAC:Role Based Access Control)

 ユーザーとリソースの関係性を定義するのではなく、それぞれの間にロール(役割)を用意し、ユーザーとロールの割り当て、リソースに対するロールの権限をそれぞれ定義してアクセスを制御するモデル。リソースに対するロールの権限を一元的に管理するので統制が取れる。加えて、割り当てるロールによって権限の柔軟な変更ができる。ただし、個々のユーザーやリソースに対して細かく制御しようとすると、管理しなければならないロールの数が増加する。

(5)属性ベースアクセス制御(ABAC:Attribute Based Access Control)

 ユーザーやリソースの属性に応じてアクセスを制御するモデル。実現したいアクセス制御の条件に合致するようユーザーやリソースに属性を付与したり、特定の属性に対するアクセスを許可/拒否したりできる。加えて、環境などの動的な属性も利用できるため、細かな制御が可能となる。

クラウドではRBACかABACの採用が望ましい

 3大クラウドは様々なサービスが提供されており、多様なリソースを利用することになります。加えて、近年は個人情報や機密情報をクラウド上で扱うことも増えています。任意アクセス制御(DAC)や強制アクセス制御(MAC)、アイデンティティーベースアクセス制御(IBAC)だけでは、クラウドの柔軟性、多様性、迅速性を低下させずにセキュリティを担保することが難しくなっています。

 今後、ほとんどの組織で、クラウドの利用規模は年々増えていくと考えられます。その前提で考えると、ユーザーの管理とリソースへのアクセス制御管理のバランスが取れたロールベースアクセス制御(RBAC)や、属性ベースアクセス制御(ABAC)を採用することが望ましいでしょう。

 クラウド事業者は一般に、ユーザーのアイデンティティー管理とリソースへのアクセス制御を統合した「アイデンティティーアクセス管理(IAM:Identity and Access Management)」機能を提供しています。基本的には、この機能を利用して企業ポリシーに準拠したアクセス制御を実現することになります。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。