AWS CLF(Cloud Practitioner)対策

責任共有モデル

このレッスンを終えると、ある障害や設定ミスについて「責任を負うのは AWS か利用者か」をその場で線引きできるようになります。CLF-C02 で最も出題される考え方です。

自分でサーバーを1台建てるなら

自宅やオフィスにサーバーを1台置いて Web サイトを動かす場面を思い浮かべてください。あなたがやることは山ほどあります。機械を買ってラックに載せる、電源と回線を引く、部屋に鍵をかける、OS を入れる、パッチを当てる、ファイアウォールの穴を絞る、アプリを載せる、データをバックアップする。壊れたディスクを差し替えるのもあなたです。つまり全部があなたの責任でした。

AWS を使うと、この一覧の上半分を AWS が引き取ります。データセンターの建物、警備、電源、空調、物理サーバー、ストレージ装置、AWS のリージョンをつなぐネットワーク、そして仮想化基盤。これらを AWS が運用します。残った下半分、つまりあなたがクラウドの中に置いたものは、引き続きあなたの責任です。この分担を責任共有モデルと呼びます。

2つの言い方を覚える

試験ではこの2つの言い回しがそのまま出ます。

  • AWS は セキュリティ・オブ・ザ・クラウド(クラウド「の」セキュリティ)を担う
  • 利用者は セキュリティ・イン・ザ・クラウド(クラウド「の中」のセキュリティ)を担う

具体的に並べると次のとおりです。

項目責任を負うのは
データセンターの物理的な入退室管理AWS
ハードウェアの故障交換、廃棄ディスクの破砕AWS
仮想化基盤(ハイパーバイザー)とマネージドサービスの基盤AWS
EC2 に載せた OS のパッチ適用利用者
セキュリティグループの通信許可の設定利用者
IAM のユーザー管理とアクセス権限の設計利用者
S3 バケットを公開にするか非公開にするか利用者
データそのものと、その暗号化の判断利用者

覚え方はひとつだけです。データはどんな場合でも利用者の責任。AWS は預かった箱を守りますが、箱に何を入れて誰に見せるかを決めるのはあなたです。

サービスの種類で線が動く

ここが差がつくところです。責任の線は固定ではなく、使うサービスの抽象度によって上下します。

  • IaaS(Amazon Elastic Compute Cloud、通称 EC2 など)では線が低い位置にあります。OS から上はまるごと利用者が見ます。ゲスト OS の更新、ミドルウェアの設定、アプリの脆弱性すべてです。
  • PaaS(Amazon Relational Database Service、通称 RDS や AWS Lambda など)では線が上がります。OS のパッチ当てや DB エンジンのマイナーバージョン更新は AWS 側の仕事になり、利用者はデータ、アクセス権限、接続元の絞り込みに集中します。
  • SaaS(Amazon Chime のような完成品サービス)では線がさらに上がり、利用者に残るのはほぼアカウント管理とデータの取り扱いだけになります。

ただし、どの層でも利用者から離れないものが3つあります。データ、アクセス管理(IAM)、クライアント側の設定です。

試験ではこう出る

出題者は言葉を置き換えて聞いてきます。

  • 「ゲスト OS へのパッチ適用は誰の責任か」→ EC2 の話なら利用者。RDS の話なら AWS。同じ「パッチ」でもサービス名で答えが反転します
  • 「物理サーバーの廃棄」「施設の入退室」「ハードウェアの保守」→ 全部 AWS
  • 「S3 のデータが誰でも見られる状態になっていた」→ バケットの公開設定は利用者。AWS の障害ではありません
  • 「データの暗号化をするかどうか」→ 利用者。ただし暗号化を実行する仕組み(AWS Key Management Service)を提供するのは AWS
  • 「AWS のグローバルインフラストラクチャ」という語が出たら AWS 側を指す合図です

まとめ

  • AWS はクラウド「の」セキュリティ、利用者はクラウド「の中」のセキュリティを負う
  • 物理・基盤・仮想化は AWS、OS より上とデータと権限は利用者
  • 線の位置は IaaS より PaaS、PaaS より SaaS のほうが上にある
  • どの層でもデータとアクセス管理は利用者から離れない
  • 迷ったら「サービス名は何か」を先に確かめる。答えはサービスの抽象度で決まる
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

ある企業が Amazon RDS でデータベースを運用しています。データベースエンジンのパッチ適用について、責任共有モデル上の責任を負うのは誰ですか。