

# 您的 AWS 账户 的根用户最佳实践
<a name="root-user-best-practices"></a>

首次创建 AWS 账户 时，从一组可以完全访问您账户中的所有 AWS 资源的默认凭证开始。此身份称作 [AWS 账户 根用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)。强烈建议您不要访问 AWS 账户 根用户，除非您有一项[需要根用户凭证的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html#root-user-tasks)。您需要保护您的根用户凭证和账户恢复机制的安全，以帮助确保您的高权限凭证不会泄露给未经授权的使用。

对于通过 AWS Organizations 管理的多个 AWS 账户，建议从成员账户中移除根用户凭证，以帮助防止未经授权的使用。您可以移除根用户密码、访问密钥、签名证书，并停用和删除多重身份验证（MFA）。成员账户不能登录到他们的根用户或为其根用户执行密码恢复。有关更多信息，请参阅 [集中管理成员账户的根访问权限](id_root-user.md#id_root-user-access-management)。

与其访问根用户，不如创建管理用户来处理日常任务。
+ 如果您有新的 AWS 账户，则请参阅 [设置 AWS 账户](getting-started-account-iam.md)。
+ 有关通过 AWS Organizations 托管的多个 AWS 账户，请参阅[为 IAM Identity Center 管理用户设置 AWS 账户 访问权限](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-admin-user.html)。

然后，您可以使用您的管理用户为需要访问您 AWS 账户 中资源的用户创建其他身份。强烈建议您要求用户在访问 AWS 时使用临时凭证进行身份验证。
+ 对于单个独立的 AWS 账户，请使用 [IAM 角色](id_roles.md) 在您的账户中创建具有特定权限的身份。角色旨在让任何需要它的用户代入。此外，角色没有关联的标准长期凭证（如密码或访问密钥）。相反，当您代入角色时，它会为您提供角色会话的临时安全凭证。与 IAM 角色不同，[IAM 用户](id_users.md) 具有密码和访问密钥等长期凭证。如有可能，[最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices-use-cases.html)建议使用临时凭证，而不是创建具有长期凭证（如密码和访问密钥）的 IAM 用户。
+ 对于通过 AWS Organizations 托管的多个 AWS 账户，请使用 IAM Identity Center 员工用户。借助 IAM Identity Center，您可以集中管理您 AWS 账户 中的用户以及这些账户内的权限。使用 IAM Identity Center 或通过外部身份提供商来管理您的用户身份。有关更多信息，请参阅*《AWS IAM Identity Center 用户指南》*中的[什么是 AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。

**Topics**
+ [保护您的根用户凭证，以防止未经授权的使用](#ru-bp-secure)
+ [使用强根用户密码来加强访问保护](#ru-bp-password)
+ [使用多重身份验证（MFA）保护您的根用户登录安全](#ru-bp-mfa)
+ [请勿为根用户创建访问密钥](#ru-bp-access)
+ [尽可能使用多人审批进行根用户登录](#ru-bp-multi)
+ [将组电子邮件地址用于根用户凭证](#ru-bp-group)
+ [限制对账户恢复机制的访问](#ru-bp-recovery)
+ [保护您的 AWS Organizations 账户的根用户凭证](#ru-bp-organizations)
+ [监控访问权限和使用情况](#ru-bp-monitor)

## 保护您的根用户凭证，以防止未经授权的使用
<a name="ru-bp-secure"></a>

保护您的根用户凭证安全，并将其仅用于[需要它们的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/root-user-tasks.html)。为了帮助防止未经授权的使用，请勿与任何人共享您的根用户密码、MFA、访问密钥、CloudFront 密钥对或签名证书，因有严格业务需求而访问根用户的人员除外。

请勿使用依赖 AWS 服务 的工具将根用户密码存储在使用相同密码访问的账户中。如果丢失或忘记了根用户密码，则将无法访问这些工具。建议您优先考虑弹性，并考虑要求两个或以上的人授权对存储位置的访问。对密码或其存储位置的访问都应有日志记录和监控。

## 使用强根用户密码来加强访问保护
<a name="ru-bp-password"></a>

我们建议您使用独有的强密码。诸如具有强大密码生成算法的密码管理器之类的工具可帮助您实现这些目标。AWS 要求您的密码符合以下条件：
+ 长度必须至少 8 个字符，最多 128 个字符。
+ 必须至少包含以下字符类型中三种的组合：大写字母、小写字母、数字，以及 \$1 @ \$1 \$1 % ^ & \$1 () <> [] \$1\$1 \$1 \$1\$1-= 符号。
+ 不得与您的 AWS 账户名称或电子邮件地址相同。

有关更多信息，请参阅 [更改AWS 账户根用户密码](root-user-password.md)。

## 使用多重身份验证（MFA）保护您的根用户登录安全
<a name="ru-bp-mfa"></a>

由于根用户可以执行特权操作，因此除了电子邮件地址和密码作为登录凭证之外，还必须为根用户添加 MFA 作为第二个身份验证因素。您最多可以向 AWS 账户 根用户注册 8 台当前支持的 MFA 类型的任意组合的 MFA 设备。

强烈建议为您的根用户凭证启用多个 MFA，以便为您的安全策略提供更大的灵活性和弹性。所有 AWS 账户 账户类型（独立账户、管理账户和成员账户）都需要为其根用户配置 MFA。如果尚未启用 MFA，则用户必须在首次登录尝试访问 AWS 管理控制台后 35 天内注册 MFA。
+ FIDO 认证的硬件安全密钥由第三方提供商提供。有关更多信息，请参阅[为 AWS 账户 根用户启用 FIDO 安全密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-fido-mfa-for-root.html)。
+ 一种以基于时间的一次性密码（TOTP）算法为基础生成六位数字代码的硬件设备。有关更多信息，请参阅[为 AWS 账户 根用户启用硬件 TOTP 令牌](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-hw-mfa-for-root.html)。
+ 在电话或其他设备上运行并模拟物理设备的虚拟身份验证器应用程序。有关更多信息，请参阅[为 AWS 账户 根用户启用虚拟 MFA 设备](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

## 请勿为根用户创建访问密钥
<a name="ru-bp-access"></a>

访问密钥允许您在 AWS 命令行界面（AWS CLI）中运行命令或使用其中一个 AWS SDK 中的 API 操作。强烈建议您不要为根用户创建访问密钥，因为根用户对账户中的所有 AWS 服务和资源拥有完全访问权限，包括账单信息。

由于只有少数任务需要根用户，而且您通常不经常执行这些任务，因此我们建议登录到 AWS 管理控制台 来执行根用户任务。对于编程访问，无需为根用户创建访问密钥，而是使用带有根凭证的 `aws login` 命令对 AWS CLI 和 SDK 进行身份验证。此方法提供临时、自动轮换的凭证，可增强您的安全状况，同时无需管理长期访问密钥。在创建访问密钥之前，请查看 [长期访问密钥的替代方案](security-creds-programmatic-access.md#security-creds-alternatives-to-long-term-access-keys)。

## 尽可能使用多人审批进行根用户登录
<a name="ru-bp-multi"></a>

请考虑使用多人审批，以确保没有人可以同时访问根用户的 MFA 和密码。一些公司通过设置一组具有密码访问权限的管理员和另一组具有 MFA 访问权限的管理员来增加额外的安全层。这两个组中必须各有一名成员以根用户身份登录。

## 将组电子邮件地址用于根用户凭证
<a name="ru-bp-group"></a>

使用您的业务管理并将收到的消息直接转发到一组用户的电子邮件地址。如果 AWS 必须联系账户所有者，这种方法有助于降低响应延迟的风险，即使个人在度假、生病或离开公司时也是如此。根用户使用的电子邮件地址不得用于其他目的。

## 限制对账户恢复机制的访问
<a name="ru-bp-recovery"></a>

确保制定管理根用户凭证恢复机制的流程，以防在紧急情况（例如接管您的管理账户）下需要访问该机制。
+ 确保您可以访问根用户电子邮件收件箱，以便可以[重置丢失或忘记的根用户密码](https://docs.aws.amazon.com/IAM/latest/UserGuide/reset-root-password.html)。
+ 如果您 AWS 账户 根用户的 MFA 丢失、损坏或无法正常工作，则可以使用已注册到同一根用户凭证的另一个 MFA 登录。如果失去了对所有 MFA 的访问权限，则需要将用于注册账户的电话号码和电子邮件保持最新和可访问状态，以便恢复 MFA。有关详细信息，请参阅[恢复根用户 MFA 设备](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_lost-or-broken.html#root-mfa-lost-or-broken)。
+ 如果您选择不存储根用户密码和 MFA，则可以将在您的账户中注册的电话号码用作恢复根用户凭证的替代方式。确保您可以访问联系人电话号码，保持更新电话号码，并限制谁有权管理该电话号码。

任何人都不应同时访问电子邮件收件箱和电话号码，因为两者都是找回根用户密码的验证通道。让两组人管理这些通道很重要。一个组可以访问您的主电子邮件地址，另一个组可以访问主电话号码，从而以根用户身份恢复对您的账户的访问权限。

## 保护您的 AWS Organizations 账户的根用户凭证
<a name="ru-bp-organizations"></a>

当您转向使用 AWS Organizations 的多账户策略时，每个 AWS 账户 都有自己的根用户凭证，您需要保护这些凭证。您用来创建组织的账户是**管理账户**，而组织中的其余账户是**成员账户**。

### 保护管理账户的安全根用户凭证
<a name="ru-bp-management"></a>

AWS 要求您为组织的管理账户的根用户注册 MFA。MFA 注册必须在首次尝试登录期间或在 35 天宽限期内完成。如果在此时间内未启用 MFA，则需要先注册才能访问 AWS 管理控制台。有关更多信息，请参阅 [AWS 账户根用户 的多重身份验证](enable-mfa-for-root.md)。

### 保护成员账户的安全根用户证书
<a name="ru-bp-member"></a>

如果您使用 AWS Organizations 管理多个账户，则可以采用两种策略来保护 AWS Organizations 中的根用户访问权限。
+ 集中根访问并从成员账户中移除根用户凭证。移除根用户凭证、访问密钥、签名证书，并停用和删除多重身份验证（MFA）。使用此策略时，成员账户不能登录到他们的根用户或为其根用户执行密码恢复。有关更多信息，请参阅 [集中管理成员账户的根访问权限](id_root-user.md#id_root-user-access-management)。
+ 使用 MFA 保护您的 AWS Organizations 账户的根用户凭证，以增强账户安全性。有关更多信息，请参阅 [AWS 账户根用户 的多重身份验证](enable-mfa-for-root.md)。

有关详细信息，请参阅*《AWS Organizations 用户指南》*中的[访问组织中的成员账户](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_access.html)。

### 使用服务控制策略（SCP）在 AWS Organizations 中设置预防性安全控制
<a name="ru-bp-scp"></a>

如果贵组织中的成员账户启用了根用户凭证，则您可以应用 SCP 来限制对成员账户根用户的访问。拒绝在您的成员账户中执行所有根用户操作（某些仅限根的操作除外）有助于防止未经授权的访问。有关详细信息，请参阅[使用 SCP 限制成员账户中的根用户可以执行的操作](https://docs.aws.amazon.com/organizations/latest/userguide/best-practices_member-acct.html#bp_member-acct_use-scp)。

## 监控访问权限和使用情况
<a name="ru-bp-monitor"></a>

建议您使用当前的跟踪机制来监控、提醒和报告根用户凭证的登录和使用情况，包括宣布根用户登录和使用情况的警报。以下服务可以帮助确保跟踪根用户凭证的使用情况，并进行安全检查，以帮助防止未经授权的使用。

**注意**  
CloudTrail 日志记录了根用户和特权根用户会话的不同登录事件。这些特权会话允许在组织中的成员账户中执行需要根用户凭证的任务。您可以使用登录事件来标识管理账户或委派管理员使用 [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoot.html) 所采取的操作。有关更多信息，请参阅 [在 CloudTrail 中跟踪特权任务](cloudtrail-track-privileged-tasks.md)。
+ 如果您想收到有关您账户中根用户登录活动的通知，则可以利用 Amazon CloudWatch 创建事件规则，该规则用于检测根用户凭证何时被使用及触发向您的安全管理员的通知。有关详细信息，请参阅 [AWS 账户 根用户活动的监控和通知](https://aws.amazon.com/blogs/mt/monitor-and-notify-on-aws-account-root-user-activity/)。
+ 如果您想设置通知以提醒您已批准的根用户操作，则可以利用 Amazon EventBridge 和 Amazon SNS 来编写 EventBridge 规则，以跟踪根用户对特定操作的使用情况，并使用 Amazon SNS 主题向您发出通知。有关示例，请参阅[在创建 Amazon S3 对象时发送通知](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-s3-object-created-tutorial.html)。
+ 如果您已经使用 GuardDuty 作为威胁检测服务，则[可以扩展其功能](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#policy-iam-rootcredentialusage)，使其能够在您的账户中使用根用户凭证时通知您。

提醒应包括但不限于用于根用户的电子邮件地址。实施响应提醒的程序，以便收到根用户访问提醒的人员了解如何验证是否需要根用户访问权限，以及在其认为发生安全事件时如何上报。有关如何配置提醒的示例，请参阅 [AWS 账户 根用户活动的监控和通知](https://aws.amazon.com/blogs/mt/monitor-and-notify-on-aws-account-root-user-activity/)。

### 评估根用户是否符合 MFA
<a name="ru-bp-monitor-eval"></a>

以下服务可帮助评估根用户凭证的 MFA 合规性。

**如果您遵循移除根用户凭证的最佳实践，则与 MFA 相关的规则将返回不合规。**  
建议从贵组织的成员账户中移除根用户凭证，以帮助防止未经授权的使用。移除根用户凭证（包括 MFA）后，这些成员账户将被评估为**不适用**。
+ AWS Config 提供规则以监控对根用户最佳实践的遵守情况。您可以使用 AWS Config 托管规则来帮助您[对根用户凭证强制执行 MFA](https://docs.aws.amazon.com/config/latest/developerguide/root-account-mfa-enabled.html)。AWS Config 还可以[识别根用户的访问密钥](https://docs.aws.amazon.com/config/latest/developerguide/iam-root-access-key-check.html)。
+ Security Hub CSPM 提供您在 AWS 中的安全状态的全面视图，可帮助您评测 AWS 环境是否符合安全行业标准和最佳实践，例如对根用户进行 MFA 和不具有根用户访问密钥。有关可用规则的详细信息，请参阅《Security Hub CSPM User Guide》**中的 [AWS Identity and Access Management controls](https://docs.aws.amazon.com/securityhub/latest/userguide/iam-controls.html#iam-4)。
+ Trusted Advisor 提供安全检查，以便您知道根用户账户是否未启用 MFA。有关更多信息，请参阅《AWS 支持用户指南》**中的[根账户上的 MFA](https://docs.aws.amazon.com/awssupport/latest/user/security-checks.html#mfa-root-account)。

如果您需要报告账户的安全问题，请参阅[报告可疑电子邮件](https://aws.amazon.com/security/report-suspicious-emails/)或[漏洞报告](https://aws.amazon.com/security/vulnerability-reporting/)。您还可以 [联系 AWS](https://aws.amazon.com/contact-us/) 以获取帮助和其他指导。