AWS Control Tower Version 4.0 を最小構成で有効化して予防的コントロールとプロアクティブコントロールだけ利用してみた
AWS Control Tower Version 4.0 では有効化する際に「既存の組織があり、AWS が管理するコントロールを有効化したい」を選択できるようになりました。これにより AWS Control Tower がマネージドに提供するコントロールだけを利用できます。例えば、AWS が提供するリージョン制限の SCP だけ利用するといった使い方ができ、Ver. 3.3 以前のように Security OU は必要ありません。

本ブログでは、AWS Control Tower の最低限の機能だけを有効化して、既存のOUに対して予防的コントロールとプロアクティブなコントロールを適用してみます。
なお、コントロールだけを利用する「Controls-Only experience」のアップデート紹介は下記のブログが参考になります。
AWS Control Tower 有効化前の状態
AWS Control Tower有効化前の組織構成です。
管理アカウントの他には、Workloads >Development OU 配下にアカウントが 1 つある状態です。

この環境において、AWS Control Tower Version 4.0 を AWS Confing 統合を無効状態で有効化してみます。AWS Control Tower が提供する AWS Config は有効化しないため、利用できるコントロールは予防的とプロアクティブだけとなります。
| コントロールの種別 | 利用可否 |
|---|---|
| 予防的コントロール | ◯ |
| 検出的コントロール | ◯ |
| プロアクティブなコントロール | - |
AWS Control Tower の有効化
東京リージョンで AWS Control Tower を有効化します。

「既存の組織があり、AWS が管理するコントロールを有効化したい」を選択し、次の設定で有効化します。
- 管理対象リージョン
- 東京リージョン(ホームリージョン)
- 大阪リージョン
- バージニア北部リージョン
- 自動アカウント登録:オン
- 検出管理の AWS Config:無効化

有効化の実行直後では、推定残り時間は 35 分と表示されました。

50% 程度進んだところでステータスを確認した画面です。ステータスには 3 つの処理が含まれていました。

有効化完了時の画面です。登録済み OU は Root だけの状態になっていることが分かります。

有効化直後の AWS Control Tower の「組織」メニューの画面です。 Version 4.0 より前のバージョンのように Security OU を作成する必要はありませんでした。

各列のステータスの説明に関しては、次のブログが理解に役立ちます。
コントロールの適用
予防的コントロールとプロアクティブなコントロールを1つずつ試してみます。また、AWS Config を無効に指定したことから、検出的コントロールが利用できないことも確認してみます。
予防的コントロールの適用
リージョン制限をするコントロールを Workloads OU に適用します。
コントロールカタログから「CT.MULTISERVICE.PV.1」を選択して、「コントロールを有効にする」を選択します。

Workloads OU を適用対象として選択して次に進みます。

アクセスできるリージョンは東京、大阪、バージニア北部リージョンとしてみます。

オプションの「サービスアクションを追加」は設定せずに進みます。

同様に除外されるプリンシパルとタグも今回は設定しません。

設定内容を確認してコントロールを有効にします。

コントロールが正常に有効化されたことを確認できました。

対象の組織単位も指定したとおり、 Workloads OU のみです。

予防的コントロールを適用した Workloads OU の SCP には、AWS Control Tower が管理する SCP である「aws-gurardrails-*」が追加されていました。

一方で、コントロールを適用していない Sandbox OU ではAWS Control Tower が管理する SCP は存在しませんでした。

Workloads > Development OU 配下のアカウントでは想定通り、利用できるリージョンが制限されていました。

プロアクティブコントロールの適用
プロアクティブなコントロールとして、S3 バケットのブロックパブリックアクセスが有効になっていることを確認するコントロールを有効化します。
コントロールカタログから「CT.S3.PR.1」を選択して、「コントロールを有効にする」を選択します。

Workloads OU と配下の全ての OU を適用対象としてコントロールを有効にしてみます。

予防的コントロール同様にこちらも指定した OU を対象にコントロールを適用できました。

Workloads > Development OU 配下のアカウントの AWS CloudFormation フックの設定を確認したところ、東京リージョンには AWS Control Tower が設定したマネージドフックがありました。

Workloads > Development OU 配下のアカウントの場合でも、有効化時に管理対象にしていないシンガポールリージョンではフック設定はありませんでした。

試しに Workloads > Development OU 配下のアカウントの東京リージョンで準拠しない S3 バケットを作成しようとしてみると、想定どおりフックにより作成できませんでした。

検出的コントロールの適用不可
AWS Control Tower の AWS Config 統合を無効化していることから、検出的コントロールが利用できないことを確認してみます。IAM ユーザーに対して MFA が設定されているか確認する次のコントロールの有効化を試してみます。
- [SH.IAM.5] MFA should be enabled for all IAM users that have a console password
コントロールカタログから「SH.IAM.5」を選択して、「コントロールを有効にする」を選択します。

OU を選択することができず、「AWS Config 統合は AWS Control Tower では有効になっていません」とのメッセージが表示されます。

想定通り、検出的コントロールは利用できないことを確認できました。
コントロール適用後の組織画面
予防的コントロールとプロアクティブコントロール適用後の「組織」メニューの画面において、Workloads OU 配下の OU の「Control status」が Controls enabled になっていることも確認できました。

その他の確認
コントロールの適用は以上ですが、追加で気になった点を確認してみました。
組織単位の追加はできない
AWS Control Tower が提供する AWS Config 等のベースラインは有効化していないため、組織の登録はできません(不要と思われます)。
上述したコントロールを適用する前に、Workloads OU を選択して「組織単位を登録」をしてみていました。

組織登録ができない警告が表示され、登録できませんでした。
AWS Control Tower cannot register the organizational unit because SecurityRoles and AWS Config integrations are not enabled in Landing Zone.

今回の構成では、AWS Control Tower の有効化時に指定した「自動アカウント登録」の有効設定はあまり意味を成さないのかもしれません。
管理アカウントで作成される StackSets
管理アカウントで作成される AWS CloudFormation StackSets は1つだけでした。

AWS Control Tower のベースライン設定で使われるサーヒスリンクロールを作成するテンプレートのようですが、スタックインスタンスはなく、オペレーションもない状態でした。今回はベースラインに関する設定は有効化していないためと思われます。


テンプレートの内容は下記でした
AWSTemplateFormatVersion: 2010-09-09
Description: Configure Control Tower Service Linked Role
Parameters:
ServicePrincipal:
Type: 'String'
Description: 'AWS Control Tower service principal'
Resources:
ControlTowerServiceRole:
DeletionPolicy: Retain
Type: AWS::IAM::ServiceLinkedRole
Properties:
AWSServiceName: !Ref ServicePrincipal
Description: 'Provides access to AWS Resources managed or used by AWS Control Tower'
AWS IAM Identity Center には影響はない
当たり前なのですが、AWS IAM Identity Center との統合は設定していないので、AWS IAM Identity Center において AWS Control Tower が作成するグループやアクセス許可セットは作成されていませんでした。


ランディングゾーン設定更新による利用機能の追加はできそう
ランディングゾーンの設定画面を見たところ、「設定を変更する」から AWS Control Tower の他の統合機能を有効化できそうでした。試せてはいません。おそらく、最小の構成で AWS Control Tower を始めた場合でも、必要に応じて他の機能を使うことできそうです。使う機能によっては Security OU の指定も必要になるかと思います。

さいごに
AWS Control Tower Version 4.0 から構成できるようになったコントロールだけ利用する「Controls-Only experience」を試してみました。この構成を利用することで、SCP などの統制に関する管理の手間を減らしつつ、ユーザーが独自に AWS Config の集約設定を構成することができそうです。
以上、このブログがどなたかのご参考になれば幸いです。






