如何解决 AWS Control Tower 中的“Not authorized to baseline the VPC in the enrolled account”错误?
我在 AWS Control Tower 中遇到与虚拟私有云 (VPC) 基准授权相关的错误。当我尝试设置或更新 Control Tower 登录区,或者注册、更新 AWS 账户时,就会出现此错误。
简述
您在尝试设置或更新登录区时收到以下错误:
“AWS Control Tower failed to set up your landing zone completely: AWS Control Tower is not authorized to baseline the VPC in the enrolled account.”
您在使用 AWS Control Tower Account Factory 创建 AWS 账户或更新已注册账户时收到以下错误:
“AWS Control Tower could not enroll your account for the following reason: AWS Control Tower is not authorized to baseline the VPC in the enrolled account.”
由于以下原因,您可能会收到上述错误:
- AWS Control Tower 没有足够的权限来执行所需的 Amazon Virtual Private Cloud (Amazon VPC) 操作。例如,当 AWS Identity and Access Management (IAM) 角色 AWSControlTowerExecution 的操作受到限制时,就会发生这种情况。您可以使用服务控制策略 (SCP) 或与角色关联的策略来限制角色的操作。
- 由于资源依赖项,AWS Control Tower 无法删除您管理的 AWS 区域中现有的默认 VPC。
注意: 如果您使用 Account Factory 创建账户,则 AWS Control Tower 会自动删除默认的 Amazon VPC。此外,AWS Control Tower 仅根据您的 Account Factory 网络配置在您管理的区域配置新的 Amazon VPC。如果您注册现有账户,则 AWS Control Tower 不会移除该账户的默认 Amazon VPC,也不会为其创建新的 Amazon VPC。
解决方法
注意: 如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅排查 AWS CLI 错误。此外,请确保您使用的是最新版本的 AWS CLI。
重要信息: 成员账户所指的账户有所不同,具体取决于您的故障类型。对于登录区故障,请在日志存档和审计账户中完成相关步骤。这些账户也称为共享账户或集成账户。对于账户注册失败,请在注册失败的成员账户中完成相关步骤。
查看成员账户中的 CloudTrail 事件
要识别失败的操作,请在您的所有 AWS Control Tower 区域中完成以下步骤:
- 在注册失败的成员账户中打开 AWS CloudTrail 控制台,然后选择 Event history(事件历史记录)。
- 在 Lookup attributes(查找属性)菜单中,选择 Event source(事件源)。
- 在搜索框中,输入 ec2.amazonaws.com 作为事件源。
- 选中 Filter by date and time(按日期和时间筛选)复选框,然后选择 Absolute range(绝对范围)。
- 输入操作失败期间的开始日期、结束日期和时间,然后选择 Apply(应用)。
- 选择设置图标,激活 Error Code(错误代码),然后选择 Confirm(确认)。
- 要识别失败的事件,请在 Error code(错误代码)列中查找 UnauthorizedOperation、AccessDenied、DependencyViolation 或 CannotDelete 错误代码。
- 选择事件以查看详细的错误消息。
- 查看来自失败的 CloudTrail 事件的错误消息,以便确定可能的原因。如果错误消息显示未经授权或权限不足的错误,请完成验证 SCP 和 AWSControlTowerExecution 角色权限部分中的步骤。如果错误与资源依赖项有关,请完成识别和解决 AWS Control Tower 区域中的默认 VPC 依赖项部分中的步骤。
验证 SCP 和 AWSControlTowerExecution 角色权限
AWSControlTowerExecution IAM 角色必须具有与 AWS Organizations 的管理账户建立信任关系的 AdministratorAccess 策略。确保组织的 SCP 或与该 IAM 角色关联的策略不会限制该角色的操作。
完成以下步骤:
- 在您的 AWS Control Tower 管理账户中打开 Organizations 控制台。
- 从导航窗格中,选择 AWS accounts(AWS 账户)。
- 在搜索框中,搜索并选择注册失败的账户 ID。
- 选择 Policies(策略)选项卡,并确保 FullAWSAccess SCP 已附加到组织的所有实体,包括根、组织单元 (OU) 和账户。
- 查看所有已附加的 SCP,确定是否存在对 ec2 操作的任何限制。
- 暂时将自定义 SCP 与实体分离。或者,修改 SCP 以使用 Condition 块来豁免 AWSControlTowerExecution IAM 角色。
以下示例 SCP 拒绝所有 Amazon Elastic Compute Cloud (Amazon EC2) 操作,除非由 AWSControlTowerExecution 角色执行:
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Deny", "Action": "ec2:*", "Resource": "*", "Condition": { "ArnNotLike": { "aws:PrincipalARN": [ "arn:aws:iam::*:role/AWSControlTowerExecution" ] } } } ] }
识别并解决 AWS Control Tower 区域中的默认 VPC 依赖项
由于资源依赖项,AWS Control Tower 无法删除您管理的区域中现有的默认 VPC。要查找并手动删除 AWS Control Tower 区域中的默认 VPC,请执行以下操作。
查找默认 VPC
您可以使用 AWS 全局视图、Amazon VPC 控制台或 AWS CLI 在成员账户的 AWS Control Tower 区域中查找默认 VPC。
AWS 全局视图
使用 AWS 全局视图 在单个视图中同时列出跨多个区域的所有 VPC 资源。在使用 AWS 全局视图查看跨区域的资源中,查看所需的权限部分,然后按照使用 AWS 全局视图中的步骤操作。
为您管理的区域选择 VPC ID,以验证默认 VPC 是否设置为是。
Amazon VPC 控制台
在每个 AWS Control Tower 区域中完成以下步骤:
- 登录您的成员账户,然后打开 Amazon VPC 控制台。
- 从导航窗格中,选择 Your VPCs(您的 VPC)。
- 识别 Default VPC(默认 VPC)设置为 Yes(是)的 VPC。
AWS CLI
要使用 AWS CLI,请在您的成员账户中运行以下 bash 脚本:
for region in $(aws ec2 describe-regions \ --all-regions \ --query 'Regions[?OptInStatus!=`not-opted-in`].RegionName' \ --output text); do vpc=$(aws ec2 describe-vpcs \ --filters Name=isDefault,Values=true \ --region "$region" \ --query 'Vpcs[*].{VpcId:VpcId,CIDR:CidrBlock}' \ --output text 2>/dev/null) [ -n "$vpc" ] && echo "$region: $vpc" || echo "$region: No default VPC" done
取消注册并重新注册账户
重要信息: 仅当您的成员账户注册失败时,才需要完成以下步骤。如果您遇到登录区故障,请跳过本节。
为防止 AWS Control Tower 移除成员账户中具有重要依赖项的默认 VPC,请从 AWS Control Tower 取消注册该账户。然后,根据其先决条件手动注册该账户。
重新注册 OU
重要信息: 仅当您的成员账户注册失败时,才需要完成以下步骤。如果您遇到登录区故障,请跳过本节。
为防止 AWS Control Tower 移出成员账户中具有重要依赖项的默认 VPC,请重新注册账户所在的 OU。重新注册 OU 将跳过 VPC 基准配置,注册账户并保留默认 VPC。
删除默认 VPC
重要信息: 在删除 VPC 之前,必须移除与该 VPC 关联的所有资源。删除默认 VPC 可能会影响依赖它们的现有资源或应用程序。最佳做法是在删除 VPC 之前检查其内容。
您可以使用 Amazon VPC 控制台或 AWS CLI 在 AWS Control Tower 区域中删除默认 VPC。
要使用控制台,请完成以下步骤:
- 登录您的成员账户并打开 Amazon VPC 控制台。
- 选择您的默认 VPC。
- 选择 Actions(操作),然后选择 Delete VPC(删除 VPC)。
- 在 Delete VPC(删除 VPC)对话框中,选中 I acknowledge that I want to delete my Default VPC(我确认要删除我的默认 VPC)复选框。
注意: 选择此选项后,您将删除与 VPC 关联的所有元素,包括子网和安全组。 - 在确认框中,输入 delete default vpc,然后选择 Delete(删除)。
要使用 AWS CLI,请运行以下 delete-vpc 命令:
aws ec2 delete-vpc --vpc-id YOUR_VPC_ID --region YOUR_REGION
注意: 请将 YOUR_VPC_ID 替换为您的 VPC ID,将 YOUR_REGION 替换为您的区域。
最后,在 AWS Control Tower 中重试登录区设置或账户注册操作。
- 语言
- 中文 (简体)

This article was reviewed and updated on 2026-03-27.