[アップデート] AWS Control Tower のガードレールが追加・変更され、ログアーカイブアカウントのより柔軟な利用が可能になりました

Control Tower のログアーカイブアカウントがより使いやすくなりました!
2021.04.09

こんにちは、大前です。

AWS Control Tower(以下 Control Tower)について掲題のアップデートがありましたので、お知らせします。

TL;DR

  • Control Tower がログアーカイブアカウントに作成する S3 バケットに関する必須のガードレールが 4つ追加されたよ
  • 元々存在していたログアーカイブアカウント上の S3 バケットに対するガードレールは「必須」から「選択的」に変更されたよ
  • 強い制約ルールを持っていたガードレールが「選択的」になった事で、より柔軟なログアーカイブアカウントの活用が可能になったよ

どんなアップデートか

Control Tower ログアーカイブアカウントに対するガードレールについてのアップデートです。

具体的には、以下が変更点となります。

  • 必須のガードレールが 4つ追加
    • ログアーカイブアカウントに AWS Control Tower が作成した S3 バケットに対する暗号化設定の変更を許可しない
    • ログアーカイブアカウントに AWS Control Tower が作成した S3 バケットに対するログ設定への変更を許可しない
    • ログアーカイブアカウントに AWS Control Tower が作成した S3 バケットに対するバケットポリシーへの変更を許可しない
    • ログアーカイブアカウントに AWS Control Tower が作成した S3 バケットに対するライフサイクル設定の変更を許可しない
  • 既存の 4ガードレールが「必須」から「選択的」に変更
    • すべての Amazon S3 バケットの暗号化設定の変更を禁止する(旧:ログアーカイブの保存時に暗号化を有効にする)
    • すべての Amazon S3 バケットのログ設定の変更を禁止する(旧:ログアーカイブのアクセスログを有効にする)
    • すべての Amazon S3 バケットのバケットポリシーへの変更を禁止する(旧:ログアーカイブへのポリシー変更を禁止する)
    • すべての Amazon S3 バケットのライフサイクル設定の変更を禁止する(旧:ログアーカイブの保持ポリシーを設定する)

何がうれしい?

今まで

今回のアップデート以前は、ログアーカイブアカウントには S3 バケットに対して制約の強いガードレールが適用されていました。

例えば、旧:ログアーカイブの保存時に暗号化を有効にする ではログアーカイブアカウントを含む Core OU に対して以下の SCP が適用されていました。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRAUDITBUCKETENCRYPTIONENABLED",
            "Effect": "Deny",
            "Action": [
                "s3:PutEncryptionConfiguration"
            ],
            "Resource": ["*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/AWSControlTowerExecution"
                }
            }
        }
    ]
}

これは、AWS Control Tower 自身が設定変更を行う場合のみを例外として 全ての S3 バケットに対する暗号化設定の操作を許可しない というポリシーになっています。

上記の様なガードレールが Core OU に適用されていた為、例えば "SIEM を展開して新しい S3 バケットをログアーカイブアカウントに作成する"、"ログアーカイブアカウント上に作成されている 一部 AWS サービスのログを取り込むために S3 バケットのバケットポリシーを更新する"、などが実施出来ない状態となっていました。

これを回避するために Core OU よりも制約の緩い OU を用意し、そこに対して別途ログ集約を行うといった構成を取らざるを得ないケースもありました。

ログアーカイブアカウントに対するガバナンスを効かせるのはもちろん重要なのですが、制約が強すぎて痒い所に手が届かない事が多かったのも実態としてありました。

これから

今回のアップデートにより、上記の強い制約をかけていたガードレールが「必須」から「選択的」に変更された為、このガードレールを外す事で今までログアーカイブアカウント上で実現出来なかった操作が出来る様になります。

一方で、制約の対象が AWS Control Tower が作成する S3 バケットに限定されたガードレールが必須として追加 された為、ログアーカイブアカウントに対する一定のガバナンスは保ったまま、今まで以上に柔軟なログアーカイブアカウントの利用が実現出来ます。

追加されたガードレールを少し見てみます。また、ここで全ては紹介しませんが今回のアップデート対象となっているガードレール一覧は以下ですので、それぞれ確認してみてください。

ログアーカイブアカウントに AWS Control Tower が作成した S3 バケットに対する暗号化設定の変更を許可しない

Disallow Changes to Encryption Configuration for AWS Control Tower Created S3 Buckets in Log Archive

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRCTAUDITBUCKETENCRYPTIONCHANGESPROHIBITED",
            "Effect": "Deny",
            "Action": [
                "s3:PutEncryptionConfiguration"
            ],
            "Resource": ["arn:aws:s3:::aws-controltower*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/AWSControlTowerExecution"
                }
            }
        }
    ]
}

Resource で指定される対象が * から arn:aws:s3:::aws-controltower* に変更され、制約が緩くなっている事がわかります。 上記記載からわかる通り、aws-controltowerから始まる S3 バケットは上記ポリシーの対象となりますので、新規 S3 バケットを作成する際は気をつけましょう。

また、Control Tower がセットアップする S3 バケットに対しては引き続き強い制約がかかっていますので、ログアーカイブアカウント上に新規で S3 バケットを作成し、利用するのが良さそうです。

コンソールから確認してみる

追加・更新されたガードレールを確認してみる

では、実際にコンソール画面から今回のアップデートを確認してみます。また、本アップデートが発生した際の私のローカル環境の Control Tower バージョンは 2.5 でした。

Control Tower のガードレール一覧を確認すると、今回追加・変更されたガードレールがそれぞれ確認できます。

Core OU にアタッチされているガードレールを確認すると、今回更新されたガードレールが有効になったままである事が確認できます。また、新規にランディングゾーンをセットアップする際にはデフォルトで有効化 されるとの事なので、必要に応じて無効化作業が必要となります。

追加されたガードレールを反映させる

一方で、今回新規に追加されたガードレールが Core OU に適用されていない事も確認できます。 公式のアップデートブログによると、新しいランディングゾーンを設定するか、AWS ControlTowerのランディングゾーンのバージョンを更新するときに利用できます とある為、Control Tower のバージョンアップを試してみます。

ランディングゾーン設定より、最新バージョンである 2.7 を選択して「更新」をクリックします。

また、バージョン 2.7 には同じく本日アナウンスのあった Control Tower の東京リージョン対応も含まれていますので、是非アップデートを検討ください。


バージョンの更新が完了した後、再度 Core OU に適用済みのガードレールを確認すると、今回追加されたガードレールが有効化されている事がわかります。

おわりに

AWS Control Tower のログアーカイブアカウントに対するガードレールが一部変更となり、ログアーカイブアカウントを今まで以上に柔軟に利用できる様になりました!

適用されるガードレールの制約によってうまくログアーカイブアカウントを活用できていなかった方も、この機会にログアーカイブアカウントの活用を再検討してみては如何でしょうか。

以上、AWS 事業本部の大前でした。

参考