継続的モニタリングと脅威検出を組み込んだマルチテナントのガバナンス強化
エンタープライズでパブリッククラウドを利用すると、設定次第でどこからでもアクセス可能であるがためにガバナンスの確保が難しく、シャドーITのリスクが高まります。このようなリスクを前述の継続的モニタリングと脅威検出の思想を活用しつつ、セキュリティも含めたパブリッククラウドのガバナンスを確保しているGoldman Sachsの事例をご紹介します。
Goldman Sachsでは自社で2000近くのアカウントを保有しており、これらのアカウントについてガバナンスを維持しながら運用することはセキュリティ、コンプライアンス、コスト管理の観点で大きなチャレンジであったとのことです。
複数アカウントの一元管理をサポートするAWS Organization、各アカウントに存在するサービスごとの利用上限を管理するService Quotas、環境を自動構築する仕組みであるCloudFormationを組み合わせることでアカウントプロビジョニングのパイプラインを作成してアカウントの払い出しを自動化しています。

アカウントへのアクセス機能はAWS Single Sign-Onによりアクセス経路を一本化しています。監査機能はCloudTrailやConfigなどの各種監査および検出サービスの機能、アクセス制御機構はOrganizationのService Control Policyを用いることで各種機能の集約を実現しています。
アカウントの運用が開始した後には、あらかじめ定義されたConfigのカスタムルールを使って、環境がルールに準拠しているかが確認されています。加えて、ルール違反がある場合にはLambdaで通知ならびにルール違反の部位を修正する機能を実装していました。

先ほど紹介した継続的モニタリングと脅威検知を実践した形であると言えます。
コストについては請求情報をバケットに集約し、データ分析サービスであるAthenaにより分析を行っています。分析結果はバックエンドのシステムのインプットとすることで複数アカウントのコスト管理システムを実現していました。
多くのアカウントを抱える企業にとって「あるある」と言ったようなことが課題としてあげられており、マルチアカウントに悩む企業にとっては非常に有用なセッションでした。セッション後に各種ポリシーの更新などはプロジェクトに無断で行われるのかと聞いてみました。どうしてもプロジェクト個別になってしまうところもあるようで、こういった仕組みを作った後のアップデートはどこでも課題になるのだと感じました。
新機能を使ったセキュリティとガバナンスの強化
ここまで、セキュリティに関するAWSのアップデートと、発見的統制を実現する上での重要な要素である継続的モニタリングと脅威検出に関するセッションを紹介しました。今回のアップデートについても、システムの発見的統制をより強固にすることができる要素が含まれています。今回のアップデートで発表されたIAM Access Analyzerを組み込み、より効率的かつセキュアな環境を実現したMillennium Managementの事例を紹介します。
Millennium Managementでは、数百のアカウントを有しており、Goldman Sachsと同様にAWS Organizationでアカウント管理を行っています。また、独自のセキュリティフレームワークを確立し、発見的な統制と検出した脅威に関する修復機能を独自に実装しています。
IAMの作成やロールのアップデートにおけるセキュリティリスクの検出にはセキュリティ分析ツールであるAWS Zelkovaをベースに解析していました。しかし、AWS Zelkovaだけでは、自身のリソースが外部のアカウントなどの外部リソースからアクセス可能かを解析するために追加の検討や実装が必要であったとのことです。その課題を解決するソリューションとして、IAM Access Analyzerが導入したといいます。

IAM Access Analyzerだけでなく、これまでに紹介したGuardDutyなどの推論モデルやAIを使ったセキュリティサービス、従来の発見的統制をサポートするCloudWatchなどのモニタリングサービスやOrganizationによるセキュリティポリシーを組み合わせることで、よりセキュアな環境を実現していました。

次の写真がクロスアカウントの権限の検査を行う(CAP-V:Cross Account Permission Validator)アーキテクチャです。イベントを定期実行できるCloudWatch Eventsを使用してLambdaのジョブを実行し、AWS内のワークフロー作成サービスであるAWS Step Functionsで作成したワークフローを実行します。ワークフローの中で監視対象のアカウントのIAM Access Analyzerの結果を確認しています。クロスアカウントの不正な設定があればそれを検知し、通知や修復を行っています。

IAM Access Analyzerがリリースされるまでは、こういった機能を独自に実装するか、監視アカウントにIAMロールの作成やIAMポリシーの作成を制限するしかありませんでした。今までの機能を組み合わせることで、最小限の作りこみでユーザビリティとセキュリティを両立した事例であると言えます。
