EKSとコンテナのセキュリティ設計 ECRスキャン・IRSA・Pod Identity・ネットワークポリシーを組み合わせる
SCS-C02では、コンテナ環境のセキュリティを、イメージからランタイムまで多層で設計する力が問われます。この記事では、EKSを中心に「イメージ・実行権限・ネットワーク」の3つの観点で整理します。
覚え方は「イメージ・実行権限・ネットワーク」の3つの観点
イメージは脆弱性のないものだけを使うこと、実行権限はPodごとに最小権限のIAMロールを持たせること、ネットワークはPod間の通信を制限することです。要件文の「脆弱性を検出」「Podごとに権限を分けたい」「Pod間の通信を制御したい」が対応します。
イメージ:ECRのスキャン
ECRの基本スキャンはプッシュ時に既知のCVEを検出します。拡張スキャンはAmazon Inspectorと連携し、継続的にイメージの脆弱性を再評価し、新しく公開された脆弱性にも対応します。デプロイ後も新しい脆弱性を継続して検出したい場合は拡張スキャンを選びます。
実行権限:IRSAとEKS Pod Identity
ノードのIAMロールを全Podで共有すると、不要な権限まで全Podに渡ってしまいます。IRSAはサービスアカウントにIAMロールを関連付け、Pod単位で最小権限を実現します。EKS Pod Identityは、OIDCプロバイダーの設定が不要で、ロールの信頼ポリシーをクラスターをまたいで再利用でき、運用が簡単です。「Podごとに異なるS3バケットだけを許可する」といった要件の答えです。
ネットワークとログ
Kubernetesのネットワークポリシーで、Pod間の許可する通信を限定します。Pod用のセキュリティグループを使えば、VPCレベルの制御も可能です。コントロールプレーンのログ(監査ログなど)はCloudWatch Logsへ送信し、GuardDutyのEKS保護で不審な操作を検知します。
| 方式 | 権限の単位 | 特徴 |
|---|---|---|
| ノードのIAMロール | ノード上の全Pod | 権限が広がりやすく非推奨 |
| IRSA | Pod(サービスアカウント) | OIDCプロバイダーの設定が必要 |
| EKS Pod Identity | Pod(サービスアカウント) | 設定が簡単で再利用しやすい |
チェックリスト
- ECRの基本スキャンと拡張スキャンの違いを説明できる
- ノードのロールを共有する危険性を言える
- IRSAとPod Identityの違いを説明できる
- ネットワークポリシーとコントロールプレーンログの役割を言える
まとめ
コンテナのセキュリティは「イメージ・実行権限・ネットワーク」で整理し、Podごとの権限分離にはIRSAかPod Identityと覚えましょう。 理解度の確認にはクイズが便利です。試験範囲や申し込みの最新情報はAWS認定 公式ページもあわせて確認してください。
SCS(セキュリティ) におすすめの教材
要点整理から攻略する AWS認定 セキュリティ−専門知識 改訂2版
AWS認定 セキュリティ−専門知識 SCS-C02 練習問題集
AWS認定SCS(SCS-C03)対策トレーニングコース
AWS認定SCS 本番模試(4回分/260問)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。