AWS Control Towerのエラー修正およびAWS Security Hub Config.1 [1]の解消

0

困っている内容・現象

AWS Security Hub のアラートで Config.1 [1] が AWS Control Tower 内にあるアカウントの各リージョン分、Slack通知されるようになりました。

元々 AWS Control Tower で設定していたのは東京リージョンのみだったのですが、他のリージョン分も通知されるようになっています。

考えられる原因

AWS Control Tower にアクセスすると「AWS Control Tower のランディングゾーンの設定に失敗しました」と表示され、再試行を試すと、ログアカウントに構成あたりで以下のエラーが表示され再試行することができなくなっています。

AWS Control Tower はランディングゾーンを完全に設定できませんでした。AWS Control Tower failed to deploy one or more stack set instances: StackSet Id: AWSControlTowerBP-BASELINE-CONFIG:, Stack instance Id: arn:aws:cloudformation:ap-northeast-1::stack/StackSet-AWSControlTowerBP-BASELINE-CONFIG-/, Status: OUTDATED, Status Reason: Stack:arn:aws:cloudformation:ap-northeast-1::stack/StackSet-AWSControlTowerBP-BASELINE-CONFIG-/**** is in UPDATE_ROLLBACK_FAILED state and can not be updated.

対象のアカウント(AWS Organizations内に所属するログ用の子アカウント)からCloudFormationの該当スタックを確認すると、以下のような内容でエラーとなりロールバックが失敗しているようでした。

The following resource(s) failed to update: [HomeRegionAuthorizer].

Resource handler returned message: "Access denied for operation 'UntagResource'." (RequestToken: **** HandlerErrorCode: AccessDenied)

テンプレートから実行ロールを確認すると、arn:${AWS::Partition}:iam::${AWS::AccountId}:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig と書かれており、AWSServiceRoleForConfigというロールにconfig:UntagResourceの権限が含まれておらずエラーになっていることまで突き止めました。

原因に対する想定される対処

AWSServiceRoleForConfigというロールに権限を付与することができれば解消されると思うのですが、該当子アカウントだとどこかの設定によりこのロールの権限を変更できず、そもそもこのロールはおそらくAWS Control Towerをセットアップしたときに作られたもので、気軽に編集するべきではないように感じています。 AWSControlTowerBPというCloudFormationのスタックもAWS Control Towerをセットアップしたときに作られたものだと思われるので、テンプレートを改修するというのも違うように感じています。

ここまでの状態でエラー解消のための動きとしてできることがわからなくなってしまったので、アドバイスをいただきたいです。

1回答
0

AWS Control Towerのエラー修正と、AWS Security Hub Config.1 [1]の解消について、以下のアドバイスを提供します:

  1. ランディングゾーンの更新: まず、AWS Control Towerのランディングゾーンを最新バージョンに更新することを試みてください。これにより、既知の問題が解決される可能性があります。ランディングゾーンの更新は「ランディングゾーン設定」ページの「更新」ボタンから実行できます。

  2. ドリフト検出と解決: AWS Control Towerがアカウント、OU、またはSCPの変更を検出している可能性があります。AWS Control Towerのドリフト検出と解決機能を使用して、環境が期待される状態にあることを確認してください。

  3. スタックの更新ロールバックの継続: CloudFormationコンソールにアクセスし、問題のあるスタック(StackSet-AWSControlTowerBP-BASELINE-CONFIG-****)を見つけます。「スタックアクション」ドロップダウンメニューから「更新ロールバックの継続」を選択し、「詳細なトラブルシューティング」オプションを使用して問題のあるリソースを特定し、更新ロールバックを続行してください。

  4. 環境設定の検証: Systems Manager Parameter Storeで/accelerator/controlTower/driftDetectedパラメータを確認し、値が「true」の場合は「false」に変更してください。

  5. AWS Supportへの連絡: 上記の手順を試しても問題が解決しない場合は、AWS Supportに連絡することをお勧めします。特に、ランディングゾーンが不確定な状態にある場合、AWSサポートの専門的な助言が必要になる可能性があります。

これらの手順を順番に試すことで、AWS Control Towerのエラーを修正し、AWS Security Hub Config.1 [1]の問題を解決できる可能性があります。ただし、AWSServiceRoleForConfigロールの直接的な変更は避け、AWS Control Towerの管理下で解決策を見つけることが重要です。
Sources
Problem: Account enrollment and environment validation failures - Landing Zone Accelerator on AWS
About landing zone updates - AWS Control Tower
Troubleshooting - AWS Control Tower

profile picture
回答済み 1ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ