IAM Recommender を使用して手間をかけずに最小権限を実現する
Google Cloud Japan Team
※この投稿は米国時間 2020 年 8 月 4 日に、Google Cloud blog に投稿されたものの抄訳です。
クラウドの導入が進むにつれて、クラウド リソースの増加が加速しています。そして、それらのリソースにアクセスして変更するために人間やワークロードに付与される権限も増えています。このため、権限が不正使用されて組織のセキュリティが侵害される恐れなど、潜在的なリスクが懸念されます。
こうしたリスクを軽減するには、人間やワークロードに対して必要なときにのみ、必要な権限だけを付与するのが理想的です。セキュリティ上のこのベスト プラクティスを「最小のアクセス権限」といいます。
残念ながら、Google ではこのプラクティスが十分に実践されていません。実際に Google の内部調査では、90 日間の観察期間中に、管理者から付与された権限のほとんどが使用されていませんでした。最小権限を実現するには、不要な、したがって削除するのが安全な高リスクの権限を特定する必要があります。この投稿では、最小権限をスケーラブルに確立するうえでの課題を示し、初期段階で何をすべきかのベスト プラクティスをいくつか紹介して、IAM Recommender がどのように役立つかを見ていきます。
最小権限の基本
最小権限を確立する最初のステップは、各ユーザーが現在持っている権限と最近使用した権限を把握することです。次に、このユーザーが今後必要とする可能性のある権限を把握します。こうすると、手作業で権限を 1 つずつ割り当てていくという思考錯誤ループを避けることができます。それを把握したら、さまざまなメンバーやプロジェクトでロールを再利用できるように Identity and Access Management(IAM)ポリシーを策定する方法を決める必要があります。最後に、ポリシーを変更して余分な権限を削除したり、権限の使用状況をこまめにモニタリングしたりすることが今後必要になります。
とはいえ、これを実現するのはそう簡単ではありません。
最小権限をスケーラブルに実現する
この問題を解決するうえで主な課題となるのは、最小権限をスケーラブルかつ効率的に実現するにはどうすればよいかを理解することです。Google Cloud における Google のミッションは、データに基づくトランスフォーメーションを通して、あらゆる組織がビジネスを再考する能力を高めるように支援することです。Google の目標は、クラウド上のセキュリティ エクスペリエンスを向上させるようなトランスフォーメーションです。つまり、データに基づくインテリジェンスでリソースの安全性を確保しながら、開発者が速いスピードで革新を実現できることです。
Next ‘19 で初めて IAM Recommender を紹介して以来、Google は Uber や Veolia Group など多数の大組織と協働しています。それらの組織は IAM 提案を活用し、業務環境の安全性を高めながら、付与される権限の数を削減することに成功しました。IAM Recommender は現在、新しい Active Assist ポートフォリオの一部として一般提供されています。こうして IAM ポリシーを状況に合わせて安全かつ効果的に変更する能力を備えることで、最小権限に向けた皆様の取り組みが促進され、手動操作にかかる労力が減ります。
フランスのリソース管理会社である Veolia Group は、世界中で 171,000 人の従業員を雇用し、Google Cloud で約 87,000 件のプロジェクトを管理しています。Veolia は IAM Recommender からのデータを活用して本番環境プロジェクトのワンタイム クリーンアップ エクササイズを立ち上げました。こうしてリスクをより良く理解し、プロジェクト所有者の意思決定を支援しています。
「IAM Recommender のおかげで、最初のクリーンアップ エクササイズで本番環境から 120 万個の権限が削減されました。これにより、1,000 を超えるユーザーとサービス アカウントが保護され、攻撃が成功する可能性が低減されました。」 - Veolia Group
Veolia の取り組みの詳細については、Google Cloud Next ‘20: OnAir のブレイクアウト セッション Policy Intelligence を使用して最小権限の原則に沿ったアクセス制御を実現するで確認できます。
Uber などのお客様は、IAM Recommender に基づいて安全機構を自動化する革新的なソリューションを開発しています。IAM Recommender を活用している Uber では、どのロールを自動削除できるか、またどのロールを手動チェックすべきかを決定するリスクエンジンを使用して、編集者ロールを毎日削除しています。すべての変更に関して JIRA チケットがオープンされ、こうして監査可能性と追跡可能性が確保されます。
「IAM Recommender のおかげで、GCP インフラストラクチャ内で過剰に割り当てられた権限が大量に特定され、最小権限の実現により一歩近づくことができました。」 - Uber
Uber のアーキテクチャの詳細については、IAM Recommender を使用して権限を最小化するブレイクアウト セッションで確認できます。
始めるためのベスト プラクティス
Uber や Veolia などとの共同作業を通して、最小権限の実現プロセスを容易にするいくつかのベスト プラクティスが見つかりました。
#1 ラテラル ムーブメント(横移動)の脅威を軽減する
皆様の組織に複数のプロジェクトがある場合、おすすめの出発点は、優先順位付けのフレームワークを開発することです。こうしてさまざまな推奨事項の重要度またはランキングを定め、どれを最初に適用すべきかを理解できます。まず、プロジェクトやサービス アカウントで iam.service.actAs 権限を割り当てるロール バインディングを調べることをおすすめします。この権限により、プリンシパルはサービス アカウントとしてコードを実行でき、これを利用して、プリンシパルが本来アクセスできないようなリソースにもアクセスできます。こうすることで、サービス アカウントのなりすましによるラテラル ムーブメントの脅威から保護できます。
#2 従来のロールから移行する
従来型の所有者(roles/owner)ロールと編集者(roles/editor)ロールの使用はおすすめできません。IAM Recommender を使用して、より粒度の細かいロールにアクセスを限定してください。IAM Recommender は、このような従来型のロールからより小さな多数のロールへの移行経路を提供します。これは特に、デフォルトで編集者ロールを与えられるサービス アカウントにとって重要です。
#3 ビッグデータ分析を使用して推奨事項を分析する
現在、BigQuery との統合を直ちに使用できます。これにより、すべての推奨事項を BigQuery テーブルにエクスポートして、データポータルなどの Google ツールを使ってさらに分析できます。このテクニックを使用して、組織全体のカスタム レポートを作成できます。たとえば、本番環境ワークロードでのオーバー プロビジョニングを確認する場合や、特定のサービス アカウントの権限使用状況を分析する場合に、簡単に行うことができるようになりました。
#4 レビューのガバナンス プロセスを確立する
これらの推奨事項を、ID ガバナンスおよび管理またはアクセス認定ツールにエクスポートします。これにより、四半期ごとのリソース所有者やユーザー マネージャーの認証が高速化されます。
#5 自動化の候補となるユースケースを特定する
初期クリーンアップが完了したら、自動化の候補となるユースケースを特定します。たとえば、所有者や編集者のロールを持つメンバーや孤立ユーザーなどが考えられます。これにより、エンジニアやプロジェクト所有者は手間を省くことができ、多くを要請しすぎたりミスを犯したりする心配がなくなります。データには最初から説得力があるので、余分な権限を自動的に除去できるはずです。その後、リスクに対する認識を高め、スピードとセキュリティのバランスがうまく取れるように文化を変えていくことができます。
詳細については、IAM Recommender のベスト プラクティスのページをご覧ください。
詳細
クラウドが普及する前は、最小権限にまで縮小したいと思ったら、ロール検索ツールやスプレッドシートにデータを入力して、チームが何週間もかけて分析していたことでしょう。Google はこのすべての時間と労力をカットしました。これらの推奨事項は ML で生成され、すぐに適用できます。データの収集や相関などの高負荷処理はすべてバックエンドで行われます。
この仕組みに関する動画を以下に示します。
Google の取り組みの背景情報については、Google のブログ「IAM の推奨事項を実現するセキュリティ分析」(The security analytics that deliver IAM recommendations)で参照いただけます。Cloud IAM Recommender を基に機械学習モデルを確認する(Exploring the machine learning models behind Cloud IAM Recommender)でも詳細を確認できます。
IAM Recommender と Active Assist の詳細については、以下のリンクをクリックしてください。Google のお客様がどのように最小権限を実現したかを直接見るには、Google Cloud Next ‘20: OnAir のいずれかのセッションに参加してください。
- Uber: IAM Recommender を使用して権限を最小化する
- Veolia: Policy Intelligence を使用して最小権限の原則に沿ったアクセス制御を実現する
- Active Assist: 複雑なクラウドをシンプルに管理
-Google Cloud プロダクト マネージャー Abhi Yadav / Google Cloud ソフトウェア エンジニア Liang Zhang