AWS Control Tower
ユーザーガイド

AWS Control Tower のガードレール

ガードレールは、AWS 環境全体に継続的なガバナンスを提供する高レベルのルールです。これは、わかりやすい形式で表されます。ユーザーが Landing Zone において AWS アカウントで作業を実行すると、ユーザーはガードレールの対象となります。

各ガードレールの動作は防止または検出のいずれかです。

  • 予防 – 予防的ガードレールにより、アカウントのコンプライアンスが維持されるようになります。予防的ガードレールの動作のステータスは、適用または無効です。予防的ガードレールは、サービスコントロールポリシーおよび AWS Lambda 関数を使用してポリシー違反を防止します。予防的ガードレールは、すべての AWS リージョンでサポートされています。

  • 検出 – 発見的ガードレールにより、アカウント内のリソースのコンプライアンス違反が検出されます。検出の動作のステータスは、クリアまたは違反です。発見的ガードレールでは、ポリシー違反が検出され、ダッシュボードを使用してアラートが提供されます。発見的ガードレールは、AWS Control Tower でサポートされている AWS リージョンでのみ適用されます。

AWS Control Tower には、必須のガードレールと強く推奨されるガードレールが用意されています。新しい Landing Zone を作成すると、デフォルトですべての必須のガードレールが適用され、強く推奨されるガードレールは有効化されません。

ガードレールを使用すると、ポリシーの目的を表すことができます。AWS Control Tower では、予防制御または検出制御を実装して、AWS アカウント全体におけるリソースのコンプライアンスを管理および監視します。たとえば、[Disallow public read access to S3 buckets (S3 バケットへのパブリック読み取りアクセスを禁止する)] を有効にして、OU 下のすべてのアカウントに対してすべての S3 バケットへのパブリック読み取りアクセスを拒否します。組織単位でガードレールを有効にすると、そのガードレールが OU 下のすべての子アカウントに適用されます。

ガードレールの実装:

  • 予防的ガードレールは、AWS Organizations の一部であるサービスコントロールポリシー (SCP) を使用して実装されます。

  • 発見的ガードレールは、AWS Config ルールと AWS Lambda 関数を使用して実装されます。

考慮事項

ガードレールを使用する際、以下の点を考慮してください。

  • Landing Zone を作成した後、Landing Zone 内のすべてのリソースはガードレールの対象となります。

  • AWS Control Tower を使用して作成された OU には、ガードレールが適用されます。Landing Zone の外部で作成された OU にはガードレールを適用できないため、AWS Control Tower コンソールに OU は表示されません。

  • Account Factory を使用して作成されたアカウントは、 親 OU のガードレールを継承します。Landing Zone の外部で作成されたアカウントは、親 OU のガードレールを継承せず、AWS Control Tower コンソールに表示されません。

  • マスターアカウントの root ユーザーおよび IAM 管理者は、通常はガードレールで拒否される作業を実行できます。これは意図的なものです。これは、マスターアカウントが使用できない状態になるのを防ぎます。このような場合は、マスターアカウント内で実行されるすべてのアクションが引き続きログアーカイブログのログで追跡されます。このログにより、説明責任と監査ログが有効になります。

オプションのガードレール

ガードレールに適用されるガイダンスには、必須、強く推奨される、選択的の 3 種類があります。必須のガードレールは常に強制されます。強く推奨されるガードレールは、適切に設計されたマルチアカウント環境のベストプラクティスに基づいています。選択的ガードレールを使用すると、AWS エンタープライズ環境で一般的に制限されているアクションを追跡またはロックダウンできます。

強く推奨されるガードレールと選択的ガードレールはオプションです。つまり、どのガードレールを有効にするかを選択することで、Landing Zone のエンフォースメントレベルをカスタマイズできます。オプションのガードレールはデフォルトでは有効になっていません。詳細については、以下のガードレールリファレンスを参照してください。

ガードレールのガイダンスは、予防的であるか発見的であるかに関係ありません。

ガードレールの詳細

コンソールのガードレール詳細ページで、各ガードレールに関する以下の詳細が表示されます。

  • 名前 – ガードレールの名前。

  • 説明 – ガードレールの説明。

  • ガイダンス – ガイダンスは、必須、強く推奨される、または選択的のいずれかです。

  • [カテゴリ] – カテゴリは、監査ログ、モニタリング、データセキュリティ、ネットワーク、IAM、Control Tower 設定のいずれかです。

  • [Behavior (動作)] – ガードレールの動作は [PREVENTATIVE (予防的)] または [DETECTIVE (発見的)] に設定されます。

  • [コンプライアンス状況] – ガードレールのコンプライアンス状況は、クリア、準拠、適用、不明、違反のいずれかです。

ガードレール詳細ページでは、ガードレールアーティファクトを確認することもできます。ガードレールは、1 つ以上のアーティファクトによって実装されます。これらのアーティファクトには、AWS CloudFormation テンプレート、設定ドリフトを作成できるのアカウントレベルの設定変更またはアクティビティを回避するためのサービスコントロールポリシー 、およびアカウントレベルのポリシー違反を検出するための AWS Config ルール を含めることができます。

ガードレールの有効化

ほとんどのカードレールは OU の設定に従って自動的に有効にされますが、一部のガードレールは OU で手動で有効にすることができます。次の手順では、OU でガードレールを有効にするためのステップについて説明します。

重要

強く推奨されるガイダンスでガードレールを有効にすると、アカウント内で AWS Control Tower マネージド AWS リソースが作成されます。AWS Control Tower によって作成されたリソースを変更または削除しないでください。これにより、ガードレールの状態が不明になる可能性があります。

OU でガードレールを有効にするには

  1. ウェブブラウザを使用して、https://console.aws.amazon.com/controltower の AWS Control Tower コンソールに移動します。

  2. 左のナビゲーションから、[Guardrails (ガードレール)] を選択します。

  3. 有効にするガードレール (たとえば、 [Guardrail: Enable encryption for EBS volumes attached to EC2 instances (ガードレール: EC2インスタンスにアタッチされたEBSボリュームの暗号化を有効にする)]) を選択します。これにより、ガードレールの詳細ページが開きます。

  4. 有効になっている組織ユニットから、[Enable guardrail on OU (OU でガードレールを有効にする)]を選択します。

  5. 新しいページが表示され、OU の名前が一覧表示されます。このガードレールを有効にする OU を選択します。

  6. [Enable guardrail on OU (OU でガードレールを有効にする)] を選択します。

  7. これで、ガードレールが有効になりました。変更が完了するまでに数分かかることがあります。完了すると、選択した OU でこのガードレールが有効になっていることがわかります。