AWS Control Tower でドリフトを検出して解決する - AWS Control Tower

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Control Tower でドリフトを検出して解決する

ドリフトの特定と解決は、AWSControl Tower 管理アカウント管理者の通常のオペレーションタスクです。ドリフトを解決することで、ガバナンス要件のコンプライアンスを確保できます。

ランディングゾーンを作成すると、ランディングゾーンとすべての組織単位 (OUs)、アカウント、リソースは、選択したコントロールによって適用されるガバナンスルールに準拠します。ユーザーおよび組織のメンバーがランディングゾーンを使用する際、コンプライアンスステータスが変更されることがあります。一部の変更は偶発的になされますが、時間的制約のある操作上のイベントに対応するために意図的になされる場合もあります。

ドリフト検出は、ドリフトを解決するために変更や設定更新が必要になるリソースを識別するのに役立ちます。

ドリフトの検出

AWS Control Tower はドリフトを自動的に検出します。ドリフトを検出するには、AWSControlTowerAdminロールに管理アカウントへの永続的なアクセスが必要です。これにより、AWSControl Tower は読み取り専用のAPI呼び出しを行うことができます AWS Organizations。これらのAPI呼び出しは AWS CloudTrail イベントとして表示されます。

ドリフトは、監査アカウントに集約された Amazon Simple Notification Service (Amazon SNS) 通知に表示されます。各メンバーアカウントの通知は、ローカル Amazon SNSトピックと Lambda 関数にアラートを送信します。

AWS Security Hub サービスマネージドスタンダード: AWS Control Tower の一部であるコントロールの場合、ドリフトは AWS Control Tower コンソールのアカウントアカウントの詳細ページ、および Amazon SNS通知によって表示されます。

メンバーアカウント管理者は、特定のアカウントのSNSドリフト通知をサブスクライブできます (ベストプラクティスとして、サブスクライブする必要があります)。例えば、 aws-controltower-AggregateSecurityNotificationsSNSトピックはドリフト通知を提供します。AWS Control Tower コンソールは、ドリフトが発生したときに管理アカウント管理者に通知します。ドリフトの検出と通知に関するSNSトピックの詳細については、「ドリフトの防止と通知」を参照してください。

ドリフト通知の重複除外

同じタイプのドリフトが同じリソースセットで複数回発生する場合、AWSControl Tower はドリフトの最初のインスタンスに対してのみ SNS通知を送信します。AWS Control Tower は、このドリフトのインスタンスが修正されたことを検出した場合、それらの同じリソースに対してドリフトが再発生した場合にのみ、別の通知を送信します。

例: アカウントドリフトとSCPドリフトは、次の方法で処理されます。
  • 同じマネージド をSCP複数回変更すると、初めて変更したときに通知が送信されます。

  • マネージド を変更しSCP、ドリフトを修正してから再度変更すると、2 つの通知を受け取ります。

  • アカウントを同じ送信元と送信先の間でOUs複数回移動する場合、最初にドリフトを修復せずに、アカウントがそれらの間でOUs複数回移動した場合でも、1 つの通知が送信されます。

アカウントドリフトのタイプ
  • アカウントの移動 OUs

  • アカウントが組織から削除

注記

アカウントを 1 つの OU から別の OU に移動しても、以前の OU のコントロールは削除されません。移動先 OU で新しいフックベースのコントロールを有効にすると、古いフックベースのコントロールがアカウントから削除され、新しいコントロールに置き換わります。SCPs および AWS Config ルールで実装されたコントロールは、アカウントが を変更したときに常に手動で削除する必要がありますOUs。

ポリシードリフトのタイプ
  • SCP 更新済み

  • SCP OU にアタッチされている

  • SCP OU からデタッチされた

  • SCP アカウントにアタッチされている

詳細については、「Types of Governance Drift」を参照してください。

ドリフトの解決

検出は自動ですが、ドリフトを解決するステップは、 コンソールを使用して手動で行うか、 ResetEnabledControl を呼び出してコントロールに対して実行する必要がありますAPI。

  • [Landing zone settings] (ランディングゾーン設定) ページでは、さまざまなタイプのドリフトを解決できます。これらのタイプのドリフトを解決するには、[バージョン] セクションの [リセット] ボタンを選択します。

  • OU のアカウント数が 1000 未満の場合、組織ページまたは OU の詳細ページで OU の再登録 を選択することで、Account Factory SCP でプロビジョニングされたアカウントのドリフトを解決できます。

  • 個々のアカウントを更新することで、移動したメンバーアカウント などのアカウントドリフトを解決できる場合があります。詳細については、「コンソールでアカウントを更新する」を参照してください。

  • コントロールの場合、 を呼び出すことで、多くのタイプのドリフトを解決できますResetEnabledControlAPI。

ランディングゾーンバージョンのドリフトを解決するアクションを実行する際には、2 つの動作が可能です。
  • 最新のランディングゾーンバージョンを使用している場合、リセットを選択してから確認を選択すると、ドリフトしたランディングゾーンリソースは保存された AWS Control Tower 設定にリセットされます。ランディングゾーンバージョンは変わりません。

  • 最新バージョンでない場合は、[更新] を選択する必要があります。ランディングゾーンは最新のランディングゾーンバージョンにアップグレードされます。このプロセスの一環としてドリフトが解決されます。

ドリフトとSCPスキャンに関する考慮事項

AWS Control Tower は、SCPs毎日マネージド をスキャンして、対応するコントロールが正しく適用され、ドリフトしていないことを確認します。を取得SCPsしてチェックを実行するために、AWSControl Tower AWS Organizations は管理アカウントのロールを使用して、ユーザーに代わって を呼び出します。

AWS Control Tower スキャンでドリフトが検出されると、通知が送信されます。 AWSControl Tower はドリフト問題ごとに 1 つの通知のみを送信するため、ランディングゾーンが既にドリフト状態になっている場合、新しいドリフト項目が見つからない限り、追加の通知は送信されません。

AWS Organizations は、各 を呼び出すAPIsことができる頻度を制限します。この制限は 1 秒あたりのトランザクション (TPS) で表され、TPS制限スロットリングレート、またはAPIリクエストレートと呼ばれます。AWS Control Tower が を呼び出しSCPsて を監査する場合 AWS Organizations、AWSControl Tower が行うAPI呼び出しはTPS制限にカウントされます。これは、AWSControl Tower が管理アカウントを使用して呼び出しを行うためです。

まれに、サードパーティーのソリューションや作成したカスタムスクリプトを通じて同じ APIsを繰り返し呼び出すと、この制限に達することがあります。例えば、ユーザーと AWS Control Tower が同時に (1 秒以内に) 同じ AWS Organizations APIs を呼び出し、TPS制限に達すると、それ以降の呼び出しはスロットリングされます。つまり、これらのコールは Rate exceeded のようなエラーを返します。

API リクエストレートを超えた場合
  • AWS Control Tower が制限に達してスロットリングされた場合、監査の実行を一時停止し、後で再開します。

  • ワークロードが制限に達してスロットリングされた場合、その結果は、ワークロードの構成方法に応じて、わずかな遅延からワークロードの致命的なエラーにまで及ぶ可能性があります。このエッジケースには注意が必要です。

日次SCPスキャンは、 で構成されます。
  1. 最近アクティブになった を取得しますOUs。

  2. 登録された OU ごとに、OU にアタッチされている AWS Control Tower によってSCPs管理されるすべての を取得します。マネージドSCPsには、 で始まる識別子がありますaws-guardrails

  3. OU で有効になっている予防コントロールごとに、コントロールのポリシーステートメントが OU のマネージド に存在することを確認しますSCPs。

OU には、1 つ以上のマネージド がありますSCPs。

すぐに解決すべきドリフトのタイプ

ほとんどのタイプのドリフトは、管理者が解決できます。AWS Control Tower ランディングゾーンに必要な組織単位の削除など、いくつかのタイプのドリフトをすぐに解決する必要があります。回避すべき重要なドリフトの例を以下に示します。

  • セキュリティ OU を削除しない: AWS Control Tower によって設定されたランディングゾーン中に、元々 Security と名付けられた組織単位は削除しないでください。削除すると、ランディングゾーンをすぐにリセットするように指示するエラーメッセージが表示されます。リセットが完了するまで、AWSControl Tower で他のアクションを実行することはできません。

  • 必要なロールを削除しない: AWS Control Tower は、コンソールにログインしてロールのドリフトがないか、特定の AWS Identity and Access Management (IAM) ロールをチェックします。 IAM これらのロールが見つからないかアクセス可能でない場合は、ランディングゾーンをリセットするように指示するエラーページが表示されます。これらのロールは、AWSControlTowerAdmin AWSControlTowerCloudTrailRole AWSControlTowerStackSetRole です。

    これらのユーザーロールの詳細については、「AWS Control Tower コンソールを使用するために必要なアクセス許可」を参照してください。

  • すべての追加 を削除しないでくださいOUs: AWS Control Tower によって設定されたランディングゾーン中にサンドボックスという名前の組織単位を削除した場合、ランディングゾーンはドリフト状態になりますが、AWS引き続き Control Tower を使用できます。AWS Control Tower を動作させるには少なくとも 1 つの追加の OU が必要ですが、サンドボックス OU である必要はありません。

  • 共有アカウントを削除しない: セキュリティ OU からログ記録アカウントを削除するなどOUs、基礎 から共有アカウントを削除すると、ランディングゾーンはドリフト状態になります。AWS Control Tower コンソールを引き続き使用する前に、ランディングゾーンをリセットする必要があります。

リソースへの修復可能な変更

以下は、解決可能なドリフトを作成するものの、許可される AWS Control Tower リソースへの変更のリストです。これらの許可されたオペレーションの結果は AWS Control Tower コンソールで表示できますが、更新が必要になる場合があります。

結果のドリフトを解決する方法の詳細については、AWS「Control Tower の外部でのリソースの管理」を参照してください。

AWS Control Tower コンソール以外で許可される変更
  • 登録済み OU の名前変更。

  • セキュリティ OU の名前変更。

  • 基礎 以外の のメンバーアカウントの名前を変更しますOUs。

  • セキュリティ OU で AWS Control Tower 共有アカウントの名前を変更します。

  • 基礎以外の OU の削除。

  • 基礎以外の OU からの登録済みアカウントの削除。

  • セキュリティ OU での共有アカウントのメールアドレスの変更。

  • 登録された OU 内のメンバーアカウントのメールアドレスの変更。

注記

間でのアカウントの移動OUsはドリフトと見なされ、解決する必要があります。

ドリフトと新しいアカウントのプロビジョニング

ランディングゾーンがドリフト状態の場合、AWSControl Tower のアカウント登録機能は機能しません。その場合は、AWSService Catalog を使用して新しいアカウントをプロビジョニングする必要があります。手順については、AWS Service Catalog Account Factory でアカウントをプロビジョニングする を参照してください。

特に、ポートフォリオの名前変更など、Service Catalog を使用してアカウントに特定の変更を加えた場合、[Enroll account] (アカウントの登録) 機能は動作しません。