クラウド運用における責任共有(共同責任)モデルとは?Microsoft Azureを例に解説
働き方改革や新型コロナウィルスの感染拡大防止のため、テレワークが急速に拡大しました。そしてテレワークの普及に伴い、クラウドサービスの利用も急速に増加しています。クラウドサービスには、大きく分けて「IaaS(「Infrastructure as a Service」)」「PaaS(「Platform as a Service」)」「SaaS(「Software as a Service」)」という3つのサービスモデルがあります。各サービスの特徴を理解して利用することで、効果的・効率的な業務遂行につながるでしょう。
一方、クラウドサービス利用にはセキュリティ管理を確実に行うことが求められます。自社ですべてを管理していればすべての管理責任は自社ですが、クラウドサービスを使用する場合はそれとは異なります。サービス提供者は、サービス提供者の管理責任と利用者の管理責任の範囲を明確にした「セキュリティの行動責任モデル(責任共有モデル)」を採用しており、Microsoft AzureやAWS(Amazon Web Service)、GCP(Google Cloud Platform)など、各社それぞれに責任範囲を明示・公開しているのです。
責任共有モデルとは?
クラウドサービス利用が拡大する前、企業のシステムは自社で設備を所有・管理するパターン(オンプレミス)が多く見られました。自社の情報システム部門や情報子会社が、ネットワーク、ストレージ、サーバなどのインフラから、ミドルウェア・アプリ・データなどアプリ層まで一貫して管理・運用するパターンがよくある運用体制だったのです。この際、当然ながら、セキュリティ事故など管理上の不具合はすべて自社の責任となります。
クラウドサービス利用が拡大している昨今では、時間や場所、アクセス元のデバイスを問わずクラウド上のデータにアクセスすることが可能です。その結果、業務上のさまざまなデータ(個人情報、企業の経営情報、技術情報など)がインターネット上でやり取りされることにより、常に情報漏洩や不正侵入によるウィルス感染などのセキュリティリスクにさらされています。もし、セキュリティ事故が発生した場合はどうなるでしょうか。事故が発生した企業の管理責任が問われ、直接的なダメージ(金銭的なダメージ)だけにとどまらず、企業のイメージにまで大きなダメージを受けることになってしまいます。そして、その影響は計り知れないでしょう。
クラウドサービスは「IaaS」「PaaS」「SaaS」など、複数のサービス提供形態が存在します。それぞれ提供するサービスの範囲が違うため、当然ながらサービス事業者と利用者側の責任範囲も異なるものです。例えば「IaaS」の場合は「ネットワーク」「ストレージ」など、インフラと呼ばれる範囲をサービス提供者側が管理責任を持っています。このように、サービス提供者側がすべて管理・保証してくれるわけではないという点に注意が必要です。
クラウドサービスの責任共有モデルに基づく責任範囲
クラウドサービスの代表的な形態である「IaaS」「PaaS」「SaaS」について、サービス事業者と利用者、それぞれにどのような責任範囲があるか見てみましょう。
IaaS
IaaSは「Infrastructure as a Service」の略で、サーバ、ストレージ、ネットワークなどから仮想環境まで、アプリケーションの稼働環境を含まないインフラを提供するサービスです。IaaSの場合、責任範囲はOSが稼働する環境までをサービス事業者が責任を持ち、OS、ミドルウェア、アプリケーション等のソフトウェア部分を利用者が責任を持ちます。
PaaS
PaaSは「Platform as a Service」の略で、IaaSの領域にOSとミドルウェア、アプリケーション稼働環境までを加えたプラットフォームを事業者が提供するものです。PaaSの場合、責任範囲はアプリケーション稼働環境までをサービス事業者が責任を持ち、アプリケーションとそのデータを利用者が責任を持ちます。
SaaS
SaaSは「Software as a Service」の略で、PaaSの領域にアプリケーションの領域を加えたサービスを事業者が提供するものです。SaaSの場合、責任範囲はインフラ部分からアプリケーションの稼働領域までほぼ全ての領域の責任を事業者が持ちます。利用者はそこで稼働するデータ管理に責任を持ちます。
「IaaS」より「PaaS」、「PaaS」より「SaaS」とサービス事業者の責任範囲は大きくなり、利用者の責任範囲は小さくなります。ただし、利用者の設定によりシステムの挙動が変わる部分については利用者の責任です。例えば「PaaS」以上で提供されるセキュリティ機能(データバックアップ、認証、データ暗号化、ファイアウォール、ログ管理など)やOSのセキュリティパッチ適用、ユーザー権限の管理はセキュリティに関連するため、利用者が理解して正しく利用する必要があります。
一般的な責任共有モデルに基づく責任範囲は上記内容ですが、詳細を確認すると、厳密にはサービス事業者によって違いがあります。
Microsoft Azureの責任共有モデルに基づく責任範囲
クラウドサービスの代表的なサービスである、Microsoft の 「Azure」について、公式情報を基に具体的にどのように責任範囲が定義されているかご紹介します。
Microsoft Azureの責任範囲
1.物理インフラ全般(サーバ、ネットワーク、データセンターなど)
Azureでは世界中に100以上の施設を展開し、ある特定の国・地域に偏ることなくグローバルに分散しています。世界中に58のリージョンを備え、140の国/地域でサービスを提供しています。(2022年6月現在)
リージョンとは、複数のデータセンターをネットワーク経由で相互に接続したものです。これは、複数のデータセンターを束ねた仮想データセンターと呼ぶとイメージしやすいでしょう。
リージョンは複数のデータセンターで構成されていますが、構成するデータセンターをさらに物理的に離れた複数の「可用性ゾーン」に分けています。これらの可用性ゾーンは、リージョン内の物理的に分離された場所であり、「電源」「冷却手段」「ネットワーク」を備えた1つまたは複数のデータセンターからなるものです。可用性ゾーンのメリットはデータの保存場所について、地域的な制約のある利用者の要求に柔軟に応えることができます。利用者はリージョンと可用性ゾーンを組み合わせることで、「高可用性」「ディザスター」「リカバリー」「バックアップ」を可能にすることができます。
物理的なセキュリティについては、データが保管されている可用性ゾーン、リージョンへの物理アクセスを厳密に制御する手法でデータセンターを設計・構築、運営されています。承認されていないユーザーが物理的アクセス権を取得するリスクを低減させるために物理的なセキュリティを階層化する手法を採用しており、以下の5つが物理的なセキュリティレイヤーです。
- アクセスの申請と承認
- 施設の周辺
- 建物の玄関
- 建物の内部
- データセンターの各階
これらセキュリティレイヤーでそれぞれアクセスの申請や承認を行い、承認・合格した場合にのみ物理的なアクセスが許可されます。
2. BCP(事業継続計画)
BCPとは企業が自然災害や大火災、テロ攻撃などの緊急事態に遭遇した場合において、事業資産の損害を最小限に抑え、事業を継続するための計画です。Microsoft Azureにおいては「回復性」として定義されています。障害が1つのハードウェア ノードの障害、ラックレベルの障害からデータセンターの停止や大規模なリージョンの停止など大きな障害であっても、回復性を向上させることが可能です。
ただし、どのようにBCPを定義して可用性のある構成にするかは、利用者側の選択、設定、環境構築によります。そのため、「Microsoft Azureを使用する=BCPまで含めたサービスを利用する」ということではない点に注意が必要です。
3.OS(PaaSの場合)
可用性に関するソリューションサービスを組み合わせることで、仮想サーバを複数のハードウェア ノードに分散配置したり、可用性ゾーンを使用してリージョン内の複数の物理的な場所で稼働させたりすることで、アプリケーションとデータの保護を行うことができます。上記BCPと同様に、ディザスターリカバリーをどのレベルで実現させるかはユーザー側の選択次第です。
利用者の責任範囲
PaaSの場合、物理的な設備(データセンター、電源)及びインフラ部分(ラック設備、稼働筐体)、仮想環境、OSまでがMicrosoft Azure側の責任となり、それ以外のアプリケーションとデータ(以下の1と2)については利用者の責任範囲です。ただ、Microsoft Azure側だけではなく利用者側も責任を負う必要のある部分があります。
具体的には、ネットワーク設定とアクセス権設定(以下の3、4)が該当します。これは利用者固有のポリシーに基づき設定が必要なため、Microsoft Azure側では設備・機能としての管理はできますが、設定について管理することはできません。この設定を適切な判断のもとに行わないと、セキュリティ事故を発生させてしまう可能性のある非常に大切な部分です。
- データ
- アプリケーション
- ネットワーク設定
- アクセス権設定
利用者はデータアクセスに関する適切な権限設定(1)、アプリケーション利用に関する適切な権限設定(2)、外部との通信において経路・プロトコルの適切な設定(3)、保有ファイルに関する適切な権限設定(4)を考慮することで、セキュリティレベルを保つことができます。
▼参考
・クラウドにおける共同責任
https://docs.microsoft.com/ja-jp/azure/security/fundamentals/shared-responsibility
・Microsoft Azure の施設、建物、および物理上のセキュリティ
https://docs.microsoft.com/ja-jp/azure/security/fundamentals/physical-security
・Microsoft Azure の回復性
https://docs.microsoft.com/ja-jp/azure/availability-zones/overview
・Microsoft Azure における事業継続マネジメント
https://docs.microsoft.com/ja-jp/azure/availability-zones/business-continuity-management-program
まとめ
クラウドサービスの利用拡大は民間だけでなく、政府が提唱する「クラウドファースト【クラウドバイデフォルト】」により、公的機関でも利用拡大することが予想されるでしょう。その理由のひとつに、自ら管理する領域が少ないため本来の業務に人的資源を集中することができるという点が挙げられます。
ただし、「IaaS」なのか「PaaS]なのか「SaaS」なのか、その形態によってサービス事業者と利用者の間での責任範囲が変わります。また、利用者の設定により発生した不具合、事故については完全に利用者側の責任です。そのため、十分に業務要件を考慮しクラウドサービスを利用する必要があります。
TDシネックスではクラウド関係のソリューションを多数取り扱っています。Microsoft Azureの導入などクラウドサービスのご利用を検討される際は、ぜひ以下の問い合わせフォームからお問い合わせください。
お問い合わせフォーム
https://www.synnex.co.jp/vendor/microsoft/azure/
[筆者プロフィール]
おじかの しげ
https://twitter.com/shige_it_coach
東京近郊の中堅SIerに20年勤務する、インフラ系システムエンジニア。インフラ環境構築からOS、ミドル導入、構築、運用。最近はインフラ関係だけではなく、WEBアプリ開発など幅広く業務を経験。