AWSクラウドプラクティショナー資格取得に向けた学習記録、ついに第10弾です!
今回は、特定のサービスというよりは、AWSを利用する上での「考え方の根幹」となる、超重要なコンセプトを復習していきます。特に「責任共有モデル」や「IAMロール」、「監視と監査の違い」など、試験で必ず問われるのに混同しやすいテーマを重点的に掘り下げます。
ここを理解すれば、多くの問題で自信を持って回答できるようになるはずです。それでは、核心に迫っていきましょう!
1. AWS責任共有モデル
▼ 復習ポイント
EC2インスタンス上に構築したアプリケーションで、OSのセキュリティパッチを適用する責任は誰にあるか。
- 正解:お客様(ユーザー)
- 自分の回答:AWS
【解説】
これはAWSの最も基本的な考え方である「責任共有モデル」を理解しているかが問われる問題です。
-
責任共有モデルとは?:
- AWSとお客様で、セキュリティに関する責任を分担しましょう、という考え方です。
-
AWSの責任: クラウドのセキュリティ(Security of the Cloud)
- 物理的なデータセンター、サーバー、ネットワーク機器、そしてAWSの各種サービスを動かすための基盤ソフトウェアなどを保護する責任。
-
お客様の責任: クラウドにおけるセキュリティ(Security in the Cloud)
- データ、OS・ミドルウェアの設定、IAMによる権限管理、ネットワークトラフィックの暗号化など、クラウド上で自身が構築・利用するものに対する責任。
-
今回のケースでは?:
- EC2はIaaS(Infrastructure as a Service)に分類されます。AWSは物理サーバーや仮想化のレイヤー(ハイパーバイザー)までを管理しますが、その上で動くOS(ゲストOS)やアプリケーション、データの管理はお客様の責任範囲です。
- したがって、OSのセキュリティパッチ適用や、ウイルス対策ソフトの導入などは、私たちが責任を持って行う必要があります。
-
サービスによる責任範囲の違い:
- 例えば、マネージドサービスであるRDS(PaaS)の場合、OSのパッチ適用はAWSが担当してくれます。
- S3(PaaS/SaaS)のようなサービスでは、インフラのことはほぼ全てAWSに任せることができます。
- このように、利用するサービスによって責任分界点が異なることを理解しておくのが非常に重要です。
2. EC2インスタンスへの安全な権限付与
▼ 復習ポイント
EC2インスタンス上で動くアプリケーションが、S3バケットのデータを読み取る必要がある。最も安全に権限を付与する方法はどれか。
- 正解:IAMロールを利用する
- 自分の回答:IAMユーザーのアクセスキーをEC2内に保存する
【解説】
AWSサービスに対してプログラムからアクセス許可を与える際の、セキュリティベストプラクティスを問う問題です。これは絶対に覚えておきましょう!
-
IAMロール:
- 役割: AWSサービス(EC2やLambdaなど)や他のユーザーに、一時的な権限を付与するための「役割」です。
- 仕組み: EC2インスタンスにIAMロールをアタッチすると、アプリケーションは一時的なセキュリティ認証情報を自動的に取得できます。この認証情報は定期的に更新されるため、非常に安全です。
- なぜ安全か?: アクセスキーのような長期的な認証情報をコードやインスタンス内に保存する必要が一切ありません。これが最大のメリットです!
-
IAMユーザーのアクセスキーはなぜNG?:
- IAMユーザーのアクセスキーとシークレットアクセスキーは、一度発行すると無期限で有効な長期的な認証情報です。
- これをEC2インスタンス内にハードコーディングしたり、設定ファイルに保存したりすると、もしインスタンスが不正アクセスされた場合に、認証情報が漏洩し、アカウント乗っ取りなどの深刻なセキュリティ事故に繋がる可能性があります。
- そのため、プログラムからAWSサービスを利用する際は、IAMロールを使うのが鉄則です。
「AWSリソースにはIAMロール、人間にはIAMユーザー」と覚えておきましょう!
3. 操作履歴の監査とリソースの監視
▼ 復習ポイント
「誰が、いつ、どのS3バケットを削除したか」という操作履歴を調査する必要がある。どのサービスを利用すべきか。
- 正解:AWS CloudTrail
- 自分の回答:Amazon CloudWatch
【解説】
「監視」という言葉の範囲が広く、CloudWatchとCloudTrailの役割を混同してしまう、という典型的な問題です。それぞれの得意分野をしっかり区別しましょう。
-
AWS CloudTrail:
- 役割: AWSアカウントの統制(ガバナンス)、コンプライアンス、運用監査、リスク監査を行うためのサービスです。
- 記録するもの: アカウント内で行われたAPIコール(操作)のログ。
- わかること: **「誰が(Who)」「いつ(When)」「どこから(Where)」「何を(What)」**したか。
-
今回のケースでは?: 「S3バケットの削除」は
DeleteBucketというAPIコールに該当します。CloudTrailを見れば、この操作を実行した犯人(IAMユーザーやロール)を特定できます。まさに「探偵」や「監査役」のようなサービスです。
-
Amazon CloudWatch:
- 役割: AWSリソースとアプリケーションのパフォーマンス監視や正常性監視を行うサービスです。
- 記録するもの: CPU使用率やネットワークI/Oといったメトリクス(性能指標)、アプリケーションが出力するログ、リソースの状態変化(イベント)。
- わかること: 「リソースがどのように動いているか(How)」。
- 例: 「EC2のCPU使用率が80%を超えたらアラートを出す」「Webサーバーのアクセスログを収集・分析する」といった用途で使います。こちらは「医者」や「計器盤」のイメージですね。
「操作の監査ならCloudTrail、性能の監視ならCloudWatch」と覚えておけば、もう迷うことはありません!
まとめ
今回の復習では、AWSの土台となる以下の3つのコンセプトを学びました。
- 責任共有モデル: 利用するサービスによって、AWSと自分の責任範囲が変わることを意識する!
- IAMロール: AWSサービスに権限を与えるなら、迷わずIAMロールを使う!
- CloudTrail vs CloudWatch: 操作履歴の監査(Who, What)はCloudTrail、性能監視(How)はCloudWatch!
これらの概念は、多くのシナリオ問題の基礎となります。しっかり理解して、応用問題にも対応できるようにしておきましょう。