■ 問題
ある企業では、機密性の高い静的コンテンツをグローバルに配信するWEBアプリケーションをAWS上に構築しています。あなたはソリューションアーキテクトとして、このアプリケーションに対してAmazon CloudFrontを利用してディストリビューションを構成しています。要件としては、ユーザーがアプリケーションにデータをアップロードする際に機密データを保護する設定が必要です。また、特定のアプリケーションにのみ機密データへのアクセスを許可する必要があります。
この要件を満たすことができる、最適なソリューションはどれでしょうか。
◾️選択肢
- Amazon CloudFrontのフィールドレベル暗号化を実施して、アップロード時の暗号化を実施する。
- AWS Global Acceleratorを利用して、アップロード時の暗号化を実施する。
- Amazon CloudFrontにAWS KMSを適用して、アップロード時の暗号化を実施する。
- オリジンプロトコル設定をビューワープロトコルポリシーにおいてHTTPS Onlyを設定して、アップロード時の暗号化を実施する。
ここから際は正解と解説になります。
■ 正解
✅ Amazon CloudFrontのフィールドレベル暗号化を実施して、アップロード時の暗号化を実施する。
■ 構成イメージ
ユーザー(アップロード)
│
▼
CloudFront(エッジ)
┌────────────────────────────┐
│ フィールドレベル暗号化 │
│ └ 機密データを暗号化 │
└──────────┬───────────────┘
│(暗号化されたまま転送)
▼
アプリケーションサーバー
┌────────────────────────────┐
│ 特定アプリのみ復号可能 │
│ (秘密鍵を保持) │
└──────────┬───────────────┘
▼
データ保存(暗号化状態維持)■ 全体的な説明
✔ オプション1(正解)
Amazon CloudFrontのフィールドレベル暗号化を実施して、アップロード時のデータの暗号化を実施することで、ユーザーによるデータアップロード時の暗号化に対するセキュリティレイヤーを追加することができます。
さらに、フィールドレベル暗号化では
・特定フィールドのみ暗号化
・特定アプリのみ復号可能
という制御が可能です。
👉 「アップロード時保護 + アクセス制御」両方満たす
■ フィールドレベル暗号化のポイント
通信暗号化(HTTPS)
↓
データ自体も暗号化(CloudFront)
↓
特定アプリのみ復号可能
👉 通信だけでなく「中身」も守る
■ 不正解の理由
❌ オプション2(Global Accelerator)
- ネットワーク最適化サービス
- パフォーマンス向上目的
👉 暗号化機能ではない
❌ オプション3(KMS)
- 鍵管理サービス
- CloudFrontのアップロード暗号化では使わない
👉 用途が違う
❌ オプション4(HTTPS Only)
ユーザー ↔ CloudFront の通信を暗号化
👉 できること
- 通信保護(TLS)
👉 できないこと
- データ単位の暗号化
- アプリ単位アクセス制御
◾️一発で覚える
CloudFrontセキュリティ通信守る → HTTPS
データ守る → フィールドレベル暗号化■ まとめ
機密データをアップロード時に保護し、特定のアプリケーションのみアクセス可能にするには、CloudFrontのフィールドレベル暗号化が最適である。
この問題は
👉 「通信暗号化」と「データ暗号化」の違い
を理解しているかを問う超頻出パターンです。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK