为 IAM 用户设置账户密码策略 - AWS Identity and Access Management

为 IAM 用户设置账户密码策略

您可以在 AWS 账户 上设置自定义密码策略,以便指定您的 IAM 用户密码的复杂性要求和强制轮换期。如果未设置自定义密码策略,则 IAM 用户密码必须符合默认 AWS 密码策略。有关更多信息,请参阅 自定义密码策略选项

设置密码策略的规则

IAM 密码策略不适用于 AWS 账户根用户 密码或 IAM 用户访问密钥。如果密码过期,IAM 用户将无法登录 AWS Management Console,但可以继续使用其访问密钥。

创建或更改密码策略时,大多数密码策略设置会在用户下次更改其密码时实施。但是,一些设置将立即实施。例如:

  • 在最小长度和字符类型要求变更后,系统会在您的用户下次更改其密码时强制实施该设置。不强制用户更改其现有密码,即使这些密码不符合更新后的密码策略。

  • 设置密码有效期时,有效期立即生效。例如,假定您将密码有效期设置为 90 天。在这种情况下,对于现有密码使用期限超过 90 天的所有 IAM 用户,其密码将过期。这些用户必须在下次登录时更改其密码。

在尝试指定的登录失败次数后,您将无法创建“锁定策略”来锁定账户用户。为了增强安全性,我们建议您将强密码策略与 Multi-Factor Authentication (MFA) 相结合。有关 MFA 的更多信息,请参阅 IAM 中的 AWS 多重身份验证

设置密码策略时所需的权限

您必须配置权限以允许 IAM 实体(用户或角色)查看或编辑其账户密码策略。您可以在 IAM policy 中包含以下密码策略操作:

  • iam:GetAccountPasswordPolicy - 允许实体查看其账户的密码策略

  • iam:DeleteAccountPasswordPolicy - 允许实体删除其账户的自定义密码策略并恢复到默认密码策略

  • iam:UpdateAccountPasswordPolicy - 允许实体为其账户创建或更改自定义密码策略

以下策略允许查看和编辑账户密码策略的完全访问权限。要了解如何使用该示例 JSON 策略文档创建 IAM policy,请参阅。使用 JSON 编辑器创建策略

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessPasswordPolicy", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:DeleteAccountPasswordPolicy", "iam:UpdateAccountPasswordPolicy" ], "Resource": "*" } ] }

有关 IAM 用户更改自己的密码所需权限的信息,请参阅 允许 IAM 用户更改自己的密码

默认密码策略

如果管理员未设置自定义密码策略,则 IAM 用户密码必须符合默认 AWS 密码策略。

默认密码策略强制执行以下条件:

  • 密码长度最短为 8 个字符,最长为 128 个字符

  • 至少包含以下三种字符类型的组合:大写、小写、数字,以及非字母数字字符(! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

  • 与您的 AWS 账户 名称或电子邮件地址不同

  • 密码永不过期

自定义密码策略选项

为账户配置自定义密码策略时,可以指定以下条件:

  • 密码最小长度 - 您可以指定最少 6 个字符和最多 128 个字符。

  • Password strength(密码强度)- 您可以选中以下任一复选框来定义 IAM 用户密码的强度:

    • 至少需要一个大写拉丁字母(A-Z)

    • 至少需要一个小写拉丁字母(a-z)

    • 至少需要一个数字

    • 至少需要一个非字母数字字符 ! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

  • Turn on password expiration(打开密码过期)– 您可以选择并指定 IAM 用户密码设置后的有效期:至少 1 天和最多 1095 天。例如,如果您指定的过期时间为 90 天,则会立即影响所有用户。对于密码超过 90 天的用户,更改后登录控制台时,必须设置新密码。密码为 75-89 天的用户会收到有关密码过期的 AWS Management Console 警告。IAM 用户可以随时更改其密码(如有权限)。密码的有效期从用户设置新密码时起计算。IAM 用户同时只能有一个有效密码。

  • Password expiration requires administrator reset(密码过期需要管理员重置)– 选择此选项可防止 IAM 用户在密码过期后使用 AWS Management Console 更新自己的密码。选择此选项之前,请确认您的 AWS 账户 具有多个具备管理权限的用户,以重置 IAM 用户密码。具有 iam:UpdateLoginProfile 权限的管理员可重置 IAM 用户密码。具有 iam:ChangePassword 权限和活动访问密钥的 IAM 用户可以编程方式重置其 IAM 用户控制台密码。如果清除此复选框,密码已过期的 IAM 用户仍必须先设置新密码,然后才能访问 AWS Management Console。

  • Allow users to change their own password(允许用户更改自己的密码)– 您可以允许账户中的所有 IAM 用户更改自己的密码。这样用户就可以仅访问其用户的 iam:ChangePassword 操作和 iam:GetAccountPasswordPolicy 操作。此选项不会将权限策略附加到每个用户。相反,IAM 为所有用户提供账户级别权限。或者,您可以只允许部分用户管理自己的密码。为此需要清除此复选框。有关使用策略来限制哪些人可以管理密码的更多信息,请参阅允许 IAM 用户更改自己的密码

  • Prevent password reuse(防止密码重复使用)- 您可以阻止 IAM 用户重复使用指定数量的前密码。您可以指定最少 1 个和最多 24 个不能重复的前密码。

要设置密码策略(控制台)

您可使用 AWS Management Console 创建、更改或删除自定义密码策略。密码策略的更改适用于在此策略更改后创建的新 IAM 用户,以及更改密码时的现有 IAM 用户。

IAM console
  1. 按照 AWS 登录用户指南中的如何登录 AWS所述,根据用户类型选择相应的登录过程。

  2. Console Home(控制台主页)页面,选择 IAM 服务。

  3. 在导航窗格中,选择 Account settings(账户设置)。

  4. Password policy(密码策略)部分,选择 Edit(编辑)。

  5. 选择 Custom(自定义)以使用自定义密码策略。

  6. 选择您要应用于密码策略的选项,然后选择 Save changes(保存更改)。

  7. 通过选择 Set custom(设置自定义)来确认您要设置自定义密码策略。

控制台会显示一条状态消息,通知您 IAM 用户的密码要求已更新。

更改密码策略(控制台)

您可使用 AWS Management Console 创建、更改或删除自定义密码策略。密码策略的更改适用于在此策略更改后创建的新 IAM 用户,以及更改密码时的现有 IAM 用户。

IAM console
  1. 按照 AWS 登录用户指南中的如何登录 AWS所述,根据用户类型选择相应的登录过程。

  2. Console Home(控制台主页)页面,选择 IAM 服务。

  3. 在导航窗格中,选择 Account settings(账户设置)。

  4. Password policy(密码策略)部分,选择 Edit(编辑)。

  5. 选择您要应用于密码策略的选项,然后选择 Save changes(保存更改)。

  6. 通过选择 Set custom(设置自定义)来确认您要设置自定义密码策略。

控制台会显示一条状态消息,通知您 IAM 用户的密码要求已更新。

删除自定义密码策略(控制台)

您可使用 AWS Management Console 创建、更改或删除自定义密码策略。密码策略的更改适用于在此策略更改后创建的新 IAM 用户,以及更改密码时的现有 IAM 用户。

IAM console
  1. 按照 AWS 登录用户指南中的如何登录 AWS所述,根据用户类型选择相应的登录过程。

  2. Console Home(控制台主页)页面,选择 IAM 服务。

  3. 在导航窗格中,选择 Account settings(账户设置)。

  4. Password policy(密码策略)部分,选择 Edit(编辑)。

  5. 选择 IAM default(IAM 默认)以删除自定义密码策略,然后选择 Save changes(保存更改)。

  6. 通过选择 Set default(设置默认值)来确认您要设置 IAM 默认密码策略。

控制台会显示一条状态消息,通知您密码策略已设置为 IAM 默认值。

设置密码策略 (AWS CLI)

您可以使用 AWS Command Line Interface 设置密码策略。

通过 AWS CLI 管理自定义账户密码策略

运行以下命令:

设置密码策略 (AWS API)

您可以使用 AWS API 操作来设置密码策略。

通过 AWS API 管理自定义账户密码策略

调用以下操作: