セッションタイトル: Least privilege: Move beyond default service accounts
スピーカー: Ian Lewis
なお、スピーカーのIanさんは、今年の2月の我々主催イベントで登壇いただいた方です。
Nextに登場されるようなすごい方に登壇いただき、さらに感謝!
Intro to IAM & Service Account
IAMは「誰が」、「何をできるのか」、「どのリソースで」をコントロールするものです。
クラウドでの基盤となるようなサービスです。
アカウントとしては、個人向けのユーザー、ユーザーをグルーピングしたグループ、アプリケーション向けのサービスアカウントが挙げられます。
サービスアカウント
以下のような特徴を持ちます。
- メールアドレスで識別
- 簡単にアタッチ
- アカウントキーで認証可能
ロールとパーミッション
別のセッションでも触れられてましたが、Basic権限には非常に多くのパーミッションが付与されています。
過剰な権限は多くのセキュリティリスクを伴ってしまいます。
Default Service Account
Default Service Accountには以下のような特徴が挙げられます。
- 自動的に割り当てられる
- 簡単に始めるには便利
- だいたい権限過剰
- デプロイサービスでしばしば過剰権限
「Default Compute Service Account」や「Cloud Build Service Account」などがあります。
最小権限の原則
「それぞれのシステムはそのシステムの仕事に合わせて、必要なパーミッションのみを持つべきである」と言った意味合いです。
Blast Radiusの制限や、ラテラルムーブメントの抑止の効果があります。
「Blast Radius」とは直訳すると爆発範囲のような意味で、ここではセキュリティ攻撃を受けた場合の被害範囲になります。
Practical Attacks
実践的な攻撃事例のご紹介です。
こちらは、以前に別のブログでも紹介させていただいたものになります。
Customer Service Account & Roles
セキュアにサービスアカウントを利用するにはカスタムで作成しましょう。
- 目的ごとに作成
- ロールもカスタムで
- 最小権限に
自動的な最小権限
組織ポリシー
以下のようなガードレール構築に有効です。
- 特定のリソース作成を抑止
- フォルダなど階層リソースの利用
- セキュリティベースラインの徹底に有効
例としては以下のようなものが挙げられます。
Cloud Security Command Center (CSCC)
以下のような活用ができます。
- IAMレコメンデーションのレビュー
- AIによる検出事項のサマライズ
- PubSubを使った検出事項の自動修復
Policy Analyzer
適切な プリンシパル、ロール、パーミッションにマッチするよう、IAMポリシーをクエリできます。
結果を出力して解析します。
まとめ
サービスを試用してみるときなどに、サッと利用できるデフォルトサービスアカウントは非常に便利ですが、本番環境で使い続けるには多くのリスクを伴います。
カスタムで作成して、最小権限による利用に切り替えていきましょう!