[Breakout Session] BMW に見る AWS でのエンドツーエンドのコンプライアンスの実装 #AWSreInvent #COP331

2023.12.29

アノテーション 構築チームのいたくらです。
「Implementing end-to-end compliance on AWS, featuring BMW」に参加してきました。
本ブログではそのレポートをお届けします。

セッション情報

  • セッション ID : COP331
  • タイトル: Implementing end-to-end compliance on AWS, featuring BMW
  • スピーカー: Andres Silva, Matheus Arrais, Jens Kohl (BMW)
  • レベル: 300 - Advanced

セッションの概要

Today, organizations are challenged with balancing compliance and security requirements. In this session, walk through an end-to-end experience for defining and maintaining the security and compliance of your AWS resources. Learn about tools you can use to author and automate controls and review and remediate noncompliance in your environment. See how to integrate several services, such as AWS CloudFormation, AWS Config, AWS Security Hub, AWS Control Tower, and AWS Systems Manager to help you keep your resources compliant.

訳: 今日、企業はコンプライアンスとセキュリティ要件のバランスを取ることが課題となっています。このセッションでは、AWS リソースのセキュリティとコンプライアンスを定義し、維持するためのエンドツーエンドのエクスペリエンスについて説明します。コントロールを作成および自動化し、環境内のコンプライアンス違反を確認および修正するために使用できるツールについて学びます。AWS CloudFormation、AWS Config、AWS Security Hub、AWS Control Tower、AWS Systems Manager などの複数のサービスを統合して、リソースのコンプライアンスを維持する方法をご覧ください。

学べること

  • エンドツーエンドのコンプライアンスがなぜ重要なのか
  • エンドツーエンドのコンプライアンスを実装する方法

セッション内容

セッションは以下の流れで進みました。

  • エンドツーエンドのコンプライアンスとは何を意味するか
  • コンプライアンスの課題
  • エンドツーエンドのコンプライアンスを実装するにはどうすればいいか
    • BMW グループの具体例
  • まとめ

各セクションの内容について以下にまとめてみました。

エンドツーエンドのコンプライアンスとは何を意味するか

  • コンプライアンスと関連する概念は、ワークロード実行時だけでなく、ワークロード開発初期段階も含めてあらゆるステップで組み込まれる必要がある
  • エンドツーエンドとは、ワークロードやアプリケーションの開発初期~廃止までを意味する

コンプライアンスの課題

  • 顧客は「要件は分かっているが、どこから始めればいいか?」という課題がある
  • HIPAA、PCI など様々な規制要件があり、それらに対処して運用上のベストプラクティスを確立する必要がある
  • コンプライアンスを遵守して適切に統治された状態でイノベーションはできないという誤解があるが、そんなことはない
  • コンプライアンスを遵守して適切に統治された状態でイノベーションを加速させるための支援ツールが AWS にはある

エンドツーエンドのコンプライアンスを実装するにはどうすればいいか

以下の 5 つのポイントを実行すべき。

  • 決定: コンプライアンスのフレームワークを決定する
  • 作成: カスタムコンプライアンスポリシーを作成する
  • デプロイ: マルチリージョン、マルチアカウントをデプロイする
  • 検出: 非準拠リソースを視覚化して検出・通知する
  • 修復: 自動で非準拠リソースを修正する

決定

  • 最初に「どのフレームワークに準拠する必要があるのか、環境を管理するためにどのようなベストプラクティスを実装するかを理解する」必要がある
  • 前提として「責任共有モデル」を理解していることも重要
  • 責任共有モデルの一部として AWS Artifact から AWS が作成するコンプライアンスに必要な文章を抽出できることも知っておいた方が良い
  • 様々なコンプライアンスのフレームワークに慣れることも重要
  • 現状を理解するために、環境に対して自問自答する必要がある
  • 制御動作には主に 3 つのタイプがある
    • Detective : デプロイ、作成、変更されたとき、その変更が準拠していないことをすぐに検出できる
    • Preventive : 予防のためにアクションを禁止する
    • Proactive : プロビジョニングされる前にリソースをスキャンする
  • リソースがデプロイされる前であっても、リソースをスキャンして検証し、リソースの作成やデプロイを防止できるメカニズムを実装する必要がある

作成

■ AWS Control Tower について

  • コンプライアンスを実装するためにどのような制御動作を実装する必要があるか決まった、ではどう始めればいいか? ⇒ AWS Control Tower から始めることをお勧めする
  • AWS Control Tower は、マルチアカウント環境をセットアップして管理する最も簡単な方法
  • Control Tower によって展開されたコントロール、管理されたコントロールが存在する
  • 現在、500 を超えるコントロールが Control Tower によって管理されている
  • コントロールは組織単位の上位にあるため、その組織単位下のあらゆる種類のアカウントが、その特定の管理対象コントロールの対象となる
  • コントロールは有効にするだけですぐに使用可能
  • Control Tower には、これらのコントロールを備えたアカウントを自動的に作成する方法が用意されている
  • Control Tower には、全体的なコンプライアンスステータスを確認するためのダッシュボードもある

■ AWS Security Hub の AWS Control Tower 統合について

  • 180 以上の AWS の基本的なセキュリティのベストプラクティスコントロールを提供
  • AWS Control Tower が管理するすべてのリージョンの OU 全体にわたって、新しい標準内の個別のコントロールを有効化可能
  • コントロールオーナーが Security Hub となっているコントロールを有効にするとき、コントロールの対象となるアカウントで Security Hub が有効になっていない場合は、Control Tower によって有効になる
  • ドリフト検出も可能なため、全体的にコンプライアンスを遵守していることを把握するために非常に重要

■ AWS Config について

  • Config は AWS リソースのあらゆる変更を追跡するサービス
  • Config がリソースを追跡し、リソースなどが変更されるたびに設定項目(CI)と呼ばれるものが生成される
  • CI が生成されるたび、Config ルールが CI がコンプライアンスルールに則っているか評価する
  • この仕組みは大量の AWS サービスで使用されている
  • これらのサービスの利点を享受するためには Config を有効にする必要がある

■ AWS CloudFormation hooks について

  • hooks は基本的に、実際にプロビジョニングされる前に AWS リソースの構成を検査する
  • 非準拠のリソースが見つかった場合、AWS CloudFormation は失敗として返すか、失敗状況に応じて警告を返す

■ Proactive AWS Config rules について

  • CI/CD, CFN 向け
  • 非準拠リソースを作成前に特定する
  • 作成したルールは、検出的/プロアクティブルールとして機能する
  • aws configservice start-resource-evaluation コマンドを実行して CloudFormation Guard で実装した Config ルールを作成可能

■ AWS CloudFormation Guard について

  • 初期段階でコードのコンプライアンス状況をチェックするための事前の制御を実装することで、シフトレフト文化への移行を開始してほしい
  • AWS で実装する場合、AWS CloudFormation Guard を使用する
  • これはポリシーをコードとして記述できるオープンソースツールで、カスタムルールを実装可能
  • CloudFormation に限定せず、あらゆる JSON / YAML形式のデータ(Kubernetes Files、Terraform など)を評価可能
  • Lambda が不要なため、作成と展開が簡単
  • cfn-guard validate --data <評価したいテンプレート> --rules <作成したルール> --type CFNTemplate と実行するだけでチェック可能

デプロイ

  • すべてのアカウントで Config を有効にする
  • Control Tower を使用している場合は Control Tower と Config が連携して動作するため追加設定は不要
  • Control Tower を使用していない場合は Systems Manager のクイックセットアップや CloudFormation スタックセットを使用して実現可能
  • Config Aggregator を利用してデータを集約する必要がある
  • 適合パックを使用して Config ルールコレクションを組織全体に簡単に展開可能

■ BMW グループのお話

  • BMW はお客様にプレミアムな経験を提供することに真剣に取り組んでいる
  • 「プレミアムな経験」の一例は「インテリジェントパーソナルアシスタント」
  • それを実現するためには、大量のデータを使用および活用すると同時に、データのプライバシーを確保することが必要
  • 実際に、お客様の運転スタイル・交通状況・利用可能な充電ステーション・その他のデータに応じて、電気自動車で最適化されたルートを提供
  • 2,000 万台の車両から 1 日に 120 億件のリクエストが作成される
  • この 120 億のリクエストは、1,000 のマイクロサービスによって処理される
  • 全体として、1 日あたり 110 テラバイトのトラフィックが生成されるが、99.95% の信頼性を保っている
  • このレベルの規模のコンプライアンスをどのように確保するかが課題
  • 以下のステップを実施した
    • 1.既存のルールを充実させる
      • 評価した結果が返ってくるが、その問題は何か、どうすればその問題を修正できるかなどをドキュメント化した
    • 2.優先順位の高いルールを視覚化
      • 上記のナレッジベースに優先順位の高いルールとその解決方法を追加し、ダッシュボードを作成
    • 3.新しいルールを特定し、ルールセットを拡張
      • Guard DSL 言語を使用して新しいルールをコーディング
  • エンドツーエンドのワークフローを要約すると、前述のように Trusted Advisor と Config から始めた
  • 現在はこのようなフライホイールで、エンドツーエンドのコンプライアンスを確保できている

  • また、このフライホイールを高速化するためにクラウドアシスタント生成 AI ボットを構築した
  • 例えば、この AI ボットを使用して今より小さいインスタンスタイプに変更することが可能

検出

  • Config Aggregator のコンプライアンスダッシュボードやインベントリーダッシュボードを使用して洞察力に富んだ情報を確認可能
  • 生成 AI を活用した Advanced Query がリリースされ、自然言語で記述した内容が SQL 構文クエリに変換できるようになった
  • 以前よりあらゆる種類の非準拠リソースを簡単に検索して調査可能となった

修復

  • 非準拠であることが検出されたらできるだけ早く修正すべき
  • しかしすべてをすぐに修正できるわけではない
  • 自動で修正できるものは自動で修正すべき
  • 自動修正には AWS Systems Manager や Lambda 関数を使用する
    • 修復オプションとして Automation を Config ルールに関連付ける
    • EventBridge によってトリガーが検出されたときに Lambda 関数を起動し、自動化を実行するルールを使用可能

まとめ

  • AWS Control Tower の使用を検討し、予防的制御に移行する前に、まず検出的制御と予防的制御を確立する
  • 制御目標をセキュリティ フレームワークに合わせる
  • コードとしてのポリシーを使用し、適用前のレビューを強制する
  • Control Tower が管理するコントロールが利用できない場合は、カスタム AWS Config ルールを使用する
  • アカウントまたは組織でカスタムルール用の適合パックを使用する
  • 管理を容易にするために、AWS CloudFormation Guard ポリシーを使用する
  • 予防的制御を使用してセキュリティベースラインを保護する
  • プロアクティブな制御を使用して、非準拠リソースが展開されるのを防ぐ

所感

コンプライアンスを実装するために企業がどのようなサイクルを回すべきかが分かりやすくまとまっているセッションでした。
Jens Kohl 氏の BMW グループがコンプライアンスの課題に対してどのような対策を講じてきたかの話が具体的で、他の企業も参考になると思いました。
本編はデモ画面を使っての説明がいくつか入っており、より分かりやすくなっているので、興味が湧いたら是非ご覧ください。
AWS re:Invent 2023 - Implementing end-to-end compliance on AWS, featuring BMW (COP331) - YouTube

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。
「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。
現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社 WEB サイトをご覧ください。