Amazon Web Services ブログ
AWS Control Tower でコントロールを適用する際のベストプラクティス
マルチアカウント環境で効果的なガバナンスを実現し AWS のベストプラクティスや一般的なコンプライアンスフレームワークと連携させる作業は、複雑になることがあります。多くのお客様、特に規制の厳しい業界で事業を営むお客様は、リスクを特定し、サービス間の関係や依存関係に対処するための独自の統制を開発するために、時間とリソースを投資する必要があるという課題に直面しています。このプロセスによって、新しいサービスを実装する際のタイム・トゥ・バリュー (TTV) が長くなることがあります。
AWS Control Tower は、コンプライアンスドメイン全体にわたる包括的なコントロールをお客様に提供し、強固なコンプライアンスフレームワークの確立を促進します。AWS のベストプラクティスと業界標準に準拠しているため、コンプライアンスを確保しながら新しいサービスを迅速に確立できます。これらの統制を活用することで、組織はガバナンスプロセスを合理化し、AWS 環境で新しいサービスを採用する際の TTV を短縮できます。
このブログでは、社内標準や規制要件を遵守するのに役立つ、AWS Control Tower のコントロールを使用する際のベストプラクティスについて説明します。
ベストプラクティス
- 適切なコントロールを適用するために、ワークロードと OU を把握して評価する
アカウント内で運用されているワークロードと、確立されたビジネス目標を達成するための対応する要件、およびアカウントを組織単位(OU)に整理する根底にある理論的根拠を詳細に理解することが不可欠です。この理解は、必要な統制の範囲を決めるための指針となり、ワークロードとそのセキュリティ要件に沿った一貫した構造を確保します。 - コンプライアンスフレームワークとの連携を検討する
AWS Control Tower を利用することで、AWS のサービス、統制目標、コンプライアンスフレームワーク (NIST 800-53、CIS AWS Benchmark、PCI-DSS など) ごとに統制をグループ化し、規制対象の業界のお客様は特定のコンプライアンス目標を達成するコントロールを簡単に有効化できるようになります。
IT コンプライアンスフレームワークとの連携は、規制対象外の業界の組織にも大きなメリットをもたらします。明確なコンプライアンス義務はないかもしれませんが、そのようなフレームワークを採用することで、リスク管理の一貫性と再現性のある基盤を確立することができます。さらにこれらのフレームワークは、お客様の AWS 環境に合わせたセキュリティ設定のベストプラクティスを提供することで、すべてのお客様にメリットをもたらします。 - AWS Control Tower のコントロールを有効にする前に、その動作とメカニズムを理解する
AWS Control Tower は、コントロールがどのように実装されているかを完全に可視化するアーティファクトなどの、各コントロールに関する包括的な情報を提供します。- 予防コントロールは、セキュリティポリシーの違反につながる可能性のあるアクションを許可しません。これはサービスコントロールポリシー (SCP) によって実装されています。
- 検出コントロール は、ポリシー違反などのアカウント内の非準拠のリソースを検出し、ダッシュボードを通じてアラートを表示します。検出コントロールのステータスは「クリア」、「違反」、「無効」のいずれかで、AWS Control Tower で管理対象とするリージョンに適用されます。これらは AWS Config Rules によって実装されています。
- プロアクティブコントロールは、プロビジョニングの前に AWS CloudFormation を介してデプロイされたリソースをスキャンして、そのコントロールに準拠していることを確認します。準拠していないリソースはプロビジョニングされません。プロアクティブコントロールは、AWS CloudFormation Hooks と AWS CloudFormation Guard ルールを使用して実装されています。各プロアクティブコントロールでは、ポジティブテストケースとネガティブテストケースのリファレンスとして使用できるサンプルCloudFormationテンプレートアーティファクトが提供されています。プロアクティブコントロールのステータスは「PASS」「FAIL」または「SKIP」です。
- 予防コントロールを検討する前に、検出コントロールを適用する
検出コントロールを適用することで、アーキテクチャの弱点やあるべき姿とのギャップを特定して、セキュリティ態勢を評価・継続的に改善することができます。検出されるアラートの傾向の分析に基づいてターゲットを絞ったプロアクティブコントロールを適用すると、将来のコンプライアンス問題を防ぐこともできます。たとえば、S3 ブロックパブリックアクセス設定が有効になっているかどうかをチェックする検出コントロール「[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります」を有効にしてから、AWS CloudFormation 経由で非準拠の S3 バケットが作成されないようにするプロアクティブコントロール「[CT.S3.PR.1] Amazon S3 バケットには、パブリックアクセスをブロックする設定が必要です」を有効にします。 - non-production OU でコントロールをテストする
サンドボックス環境と開発環境では、通常、本番環境よりも頻繁に変更や更新が行われます。このような環境で最初にコントロールを適用することで、潜在的なリスクや構成ミスを早期に特定して軽減し、これらの問題が本番環境に伝播する可能性を減らすことができます。 - 有効化されているコントロールを継続的に監視・テストする積極的なアプローチを採用する
AWS CloudTrail のイベントログを監視して、統制違反を示す可能性のある異常を特定します。AWS Audit Manager を使用して自動評価を実施し、一般的なセキュリティおよびコンプライアンスフレームワークと照らし合わせてリソース構成を評価します。これにより、監査管理プロセス全体を簡素化し、統制上のギャップに対処することに集中できます。
AWS Identity and Access Management (IAM) Access Analyzer を使用してアクセスパターンを確認し、IAM 固有の統制に加えてどの予防コントロールを導入すべきかについて、情報に基づいた決定を下すことができます。「設定したら後は何もする必要がない」ではなく、継続的に確認することで、統制目標を効果的に実現できるという自信を得ることができます。 - Policy as Code 戦略を採用し、組織全体でピアレビューを実施する
AWS CloudFormation Hook と AWS CloudFormation Guard ルールを組み合わせた AWS Control Tower のプロアクティブコントロールを使用してください。Policy as Code は、ポリシー適用へのさらに効率的なアプローチを提供し、一貫性と自動化を促進します。また、中央の IT チームと開発チーム間のコラボレーションを促進することで障害を取り除き、開発者やエンジニアに透明性をもたらします。 - 3 種類すべてのコントロールを組み合わせて有効化する多層防御アプローチをとる
AWS Control Tower は、各コントロールの依存関係や関連性についての情報を提供します。関連するコントロールを評価し、環境に適用できるコントロールを有効化することで、多層的で回復力のあるコンプライアンス態勢を確立できます。セキュリティベースラインを保護するための予防コントロール、AWS CloudFormation を介して非準拠のリソースがデプロイされるリスクを軽減するプロアクティブコントロール、リソースの変化を継続的に監視して対応するための検出コントロールを組み合わせて使用します。
AWS Control Tower は AWS Security Hub と統合されており、AWS Control Tower から AWS Security Hub が用意した検出コントロールを有効化できます。有効化すると AWS Security Hub にサービスマネージド標準 (AWS Control Tower) のセキュリティ標準が作成され、コントロールの準拠状況を管理できます。AWS Security Hub の検出コントロールと AWS Control Tower の予防コントロールやプロアクティブコントロールを組み合わせ、それらをまとめて管理することが AWS Control Tower では可能です。 - コンプライアンス違反リソースの検出と修復を自動化する
セキュリティイベントの検出と修復を自動化することで、人的労力を削減し、エラーの可能性を最小限に抑えることができます。AWS Control Tower の検出コントロールと AWS Systems Manager Automation を組み合わせて活用してください。AWS Systems Manager による自動化により、さまざまなメンテナンス、デプロイ、修復タスクが簡素化され、運用が合理化され、効率が向上します。 - 独自のコントロールを作成して機能を拡張する
AWS Control Tower の管理するコントロールとは別に、追加のコントロールが必要な場合は、AWS Organizations 内のサービスコントロールポリシー (SCP) やカスタム AWS Config ルールなどのリソースを活用して追加のポリシーを定義できます。これらのポリシーは、AWS CloudFormation テンプレートを使用して AWS Organizations の組織にデプロイできます。さらに、AWS Config コンフォーマンスパックは、AWS 環境内のガバナンスと規制コンプライアンスを強化する汎用的なコンプライアンスフレームワークを提供します。コンフォーマンスパックは、コンプライアンスルールとそれに対応する修復アクションを 1 つのエンティティとしてまとめることで、ルールを大規模に展開する作業を効率化します。これにより、組織への独自コントロール導入プロセスが簡素化されます。
まとめ
管理者には、ガバナンスとアジリティのバランスを取るための包括的なアプローチを取り、AWS 環境を保護する際に適切なセキュリティ判断を下す責任があります。そのためには、セキュリティドメイン内で利用可能なツールやリソースを活用して、全体的なセキュリティ態勢を強化し、特定の要件や存在する可能性のある脆弱性に対処する必要があります。
言い換えると、多面的なアプローチを採用することで、管理者は包括的な保護を確保し、潜在的なリスクを効果的に軽減する必要があります。
AWS Control Tower のコントロールを適用するためのベストプラクティスに従うことで、ガバナンスプロセスを合理化し、AWS 環境で新しいサービスを導入する際の TTV を短縮できます。さらに、ビジネス目標とコンプライアンス目標を達成するために必要な統制の定義、マッピング、管理にかかる時間を短縮できます。
コントロールの有効化を開始するには、AWS マネジメントコンソールの AWS Control Tower サービスのコントロールライブラリにアクセスしてください。また、AWS Control Tower API を使用して、AWS CloudFormation、AWS Command Line Interface (AWS CLI)、AWS SDK、および AWS Cloud Development Kit (AWS CDK) を介してコントロールをプログラムで管理することもできます。各コントロールの固有のリソース識別子については、コントロールメタデータテーブルを参照してください。
AWS Control Tower のコントロールを Infrastructure as Code (IaC) としてデプロイする場合のその他のガイダンスについては、AWS Perspective Guidance カタログの「AWS CDK と AWS CloudFormation を使用して AWS Control Tower コントロールをデプロイおよび管理する」と「Terraform を使用して AWS Control Tower コントロールをデプロイおよび管理する」を参照してください。(訳註:日本のSAが公開しているセキュアなベースライン環境を展開するためのテンプレートである BLEA も理解において有用ですので是非ご参照ください)
本ブログの翻訳はソリューションアーキテクトの三厨が担当いたしました。原文はこちら。