MEGAZONEブログ
AWSでエンドツーエンドのコンプライアンスを実現する、BMW をフィーチャー
Implementing end-to-end compliance on AWS, featuring BMW
Pulisher : Strategic Tech Center ソ・ジョンス
Description : BMWに適用されたControl Tower機能について紹介するセッション。
はじめに
最近、多くの企業が様々なAWSプロジェクトを進めながらサービス別に環境別にアカウントを作成し、一貫したComplianceとセキュリティ要件について多くの悩みを抱えるようになり、その過程でAWS Control Towerに多くの関心を持ち、メガゾンクラウドにお問い合わせくださいます。BMWにControl Towerが適用されたということで、彼らはどんな点について悩んだのか気になり、セッションを申し込みました。
セッションの概略紹介
AWSが考えるend-to-end complianceの定義と、その目標を達成するためにどのような課題に直面していたのか、そしてend-to-end complianceを実装するためにどのような技術を使用したのかについて説明し、デモも行いました。
end-to-end Complianceとは、Complianceが適用される時点が運用のみに適用されるのではなく、アカウントのライフサイクル(サービスのためにアカウントが作成され、サービス終了のためにアカウントとリソースを削除するサイクル)全体にComplianceが適用されなければならないことを意味します。
Complianceが直面している課題は、守るべきことは分かっているが、どのように遵守するか、そしてイノベーションのスピードに影響を与えずに迅速に適用できるかということです。
一般的に企業は1~10個のアカウントでプロジェクトを開始しますが、すぐに数百個のアカウントに増加し、マルチアカウントを効率的に管理するためのAWSランディングゾーンが必要になります。AWS Control TowerはAWSランディングゾーンソリューションをサービスしたもので、マルチアカウントに一貫したComplianceが適用され、適用されたComplianceの状態もモニタリングすることができます。
AWS Control Towerには3つのスタイルのControl(旧Guardrail)を提供します。
ControlとはアカウントにComplianceが一貫して適用されるように行動を防止したり、検出したり、事前予防をすることを指し、検出(Detective)とはアカウントにリソースが作成/修正/削除時にComplianceを遵守しているかどうかを継続的に確認し、未遵守時にお知らせします。
防止(Preventive)は、ある行動を全く実行できないようにSCP(Service control policies)を利用して強制化します。 そのため、コンプライアンス状態が常にコンプライアンスになるしかありません。
事前予防(Proactive)はリソースをCloudFormationリソースを作成/修正/削除する前に
スキャン(CloudFormation hooks)して許可された場合だけリソースを操作するようにします。AWS Control Towerには500個のControlを基本提供し、追加でCustomで作成することも可能です。
end-to-end complianceを実装するための最初の方法はComplianceを遵守するためにどのようなフレームワーク(HITRUST, HIPAA, Nist)が必要かについて議論しましたが、この部分は会社やビジネスで適用すべきcomplianceの識別程度と考えればいいと思います。
運用におけるセキュリティの脅威とコストと時間を減らすために実装してComplianceが適切かどうかテストするよりも、事前にProactiveやPreventiveを適用して適切なものだけ適用されるようにする方法を適用する方が良いです。
マルチリージョン、アカウントに一貫してComplianceが適用されたかどうかを確認するためには、Config ruleを使用して違反された項目を検出し、AWS Config Aggregatorを使用して一つのアカウントに全てのRecording及び検出項目を集め、違反された項目のうち自動的に措置可能な部分は自動的に措置可能にすることで運営を簡素化します。
AWS Config Aggregatorで複数のアカウント、複数のリージョンから一つのアカウントに集めたNon Compliant項目をAWS ConfigもしくはSecurity Hubを通じて簡単に識別することができます。
セッションではAWS Systems Managerを通じて検出されたNon Compliantリソースを処理する方法について説明しましたが、実際に現場ではAWS LambdaやStep Functionsを利用して処理する方法も使います。
セッションを終えて
AWS Control Towerを使用する上で「Complianceを一貫して遵守できる」というアプローチはよく見かけますが、本セッションはComplianceを一貫して遵守するために考慮すべき項目は何であり、「Control Towerを使用しなければならない」ということで終わらないという点で新鮮に感じました。