AWS SAA 試験勉強(3日目)
投稿日:2026/03/03
AWS 認定ソリューションアーキテクト – アソシエイト(SAA-C03)において、セキュリティは単なる一分野ではなく、すべての設計の「大前提」です。
今回は、アクセス制御の要である IAM と、データを守る 暗号化(KMS)、そして監査について整理します。
1. IAM(Identity and Access Management)の4要素
「誰が(Who)」「何に(What)」「どうやって(How)」アクセスできるかを管理します。
- IAM ユーザー: 人やアプリケーションに割り当てる個別の実体。
- IAM グループ: ユーザーの集合。部署単位などで一括して権限を管理する際に使用。
- IAM ロール: 特定の「役割」を定義したもの。一時的に権限を貸し出すイメージ。
- IAM ポリシー: 具体的な許可内容を記述した JSON ドキュメント。
権限評価のゴールデンルール
- 明示的な拒否(Explicit Deny):一つでも「Deny」があれば、他がどうあれアクセス拒否。
- デフォルト拒否:明示的な「Allow」がない限り、アクセスは拒否される。
- 最小権限の原則:必要最低限の権限のみを付与する。
2. 実践的なアクセス制御:IAM ロールの活用
SAA試験で最も問われるのが、「アクセスキーを直接使わない」 という設計です。
ケース1:EC2からS3へファイルをアップロードしたい
- バッドプラクティス: EC2内のプログラムに「アクセスキー/シークレットキー」をハードコードする。
- ベストプラクティス: 「IAM ロール」 を作成し、EC2インスタンスにアタッチする。
- メリット:キーが漏洩するリスクがなく、AWSが自動で一時的な認証情報を更新してくれます。
ケース2:別のアカウント(A社からB社)のリソースを操作したい
- クロスアカウントアクセス: 信頼ポリシー(Trust Policy)を使用して、別アカウントのユーザーにロールの引き受け(AssumeRole)を許可します。
3. データの暗号化と KMS
「保存データの暗号化(Encryption at Rest)」は、エンタープライズ設計では必須です。
KMS(Key Management Service)
暗号鍵をフルマネージドで管理するサービスです。
- カスタマー管理キー(CMK): ユーザーが作成・管理する鍵。ローテーション設定や詳細な権限管理が可能。
S3のサーバーサイド暗号化(SSE)比較
試験では、鍵を「誰が管理するか」で正解が変わります。
| 方式 | 鍵の管理 | 特徴 |
|---|---|---|
| SSE-S3 | AWS (S3側) | 最も簡単。追加料金なし。 |
| SSE-KMS | AWS (KMS) | 監査ログ(CloudTrail)に残るため、エンタープライズ向け。 |
| SSE-C | ユーザー | 鍵を自身で管理。AWSには鍵を渡さない。 |
4. ネットワークセキュリティと「VPCエンドポイント」
セキュリティはIAMだけでは完結しません。通信経路の安全も問われます。
- VPCエンドポイント (Gateway/Interface):
- S3やDynamoDBへの通信を、インターネット(パブリック空間)を経由させず、AWSの内部ネットワークだけで完結させます。
- 試験のキーワード:「トラフィックをインターネットに公開したくない」「セキュリティコンプライアンス」
5. 監査・監視サービスの使い分け
「何かあったときに後から追えるか」という監査の視点です。
- AWS CloudTrail: 「誰が・いつ・どのAPIを叩いたか」を記録。犯人探しや操作ログ用。
- AWS Config: 「リソースの設定がどう変わったか」を記録。設定の違反(例:S3が公開設定になったなど)を検知。
- Amazon GuardDuty: マシン学習を用いた脅威検知(不正なログイン試行など)。
試験頻出の対策パターン
- 「最も安全にEC2からAWSサービスを操作するには?」
- 回答:IAMロールを使用する。
- 「機密データの管理で、アクセスログを詳細に残したい」
- 回答:SSE-KMS + CloudTrail。
- 「ルートユーザーのセキュリティを最大化したい」
- 回答:ハードウェアMFA(多要素認証)の有効化。
- 「S3への通信をVPC内に閉じ込めたい」
- 回答:VPCエンドポイント(ゲートウェイ型)の利用。
まとめ(3日目の振り返り)
セキュリティの設計は「多層防御」が基本です。
IAMで「人」を縛り、KMSで「データ」を隠し、VPCエンドポイントで「経路」を隠す。