为 IAM 用户设置账户密码策略
您可以在 AWS 账户 上设置自定义密码策略,以便指定您的 IAM 用户密码的复杂性要求和强制轮换期。如果未设置自定义密码策略,则 IAM 用户密码必须符合默认 AWS 密码策略。有关更多信息,请参阅自定义密码策略选项。
设置密码策略的规则
IAM 密码策略不适用于 AWS 账户根用户 密码或 IAM 用户访问密钥。如果密码过期,IAM 用户将无法登录 AWS Management Console,但可以继续使用其访问密钥。
创建或更改密码策略时,大多数密码策略设置会在用户下次更改其密码时实施。但是,一些设置将立即实施。例如:
-
在最小长度和字符类型要求变更后,系统会在您的用户下次更改其密码时强制实施该设置。不强制用户更改其现有密码,即使这些密码不符合更新后的密码策略。
-
设置密码有效期时,有效期立即生效。例如,假定您将密码有效期设置为 90 天。在这种情况下,对于现有密码使用期限超过 90 天的所有 IAM 用户,其密码将过期。这些用户必须在下次登录时更改其密码。
在尝试指定的登录失败次数后,您将无法创建“锁定策略”来锁定账户用户。为了增强安全性,我们建议您将强密码策略与 Multi-Factor Authentication (MFA) 相结合。有关 MFA 的更多信息,请参阅 在 AWS 中使用多重身份验证 (MFA)。
设置密码策略时所需的权限
您必须配置权限以允许 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 创建、更改或删除自定义密码策略。
创建自定义密码策略(控制台)
登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择账户设置。
-
在 Password policy(密码策略)部分,选择 Edit(编辑)。
-
选择 Custom(自定义)以使用自定义密码策略。
-
选择您要应用于密码策略的选项,然后选择 Save changes(保存更改)。
-
通过选择 Set custom(设置自定义)来确认您要设置自定义密码策略。
更改自定义密码策略(控制台)
登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择账户设置。
-
在 Password policy(密码策略)部分,选择 Edit(编辑)。
-
选择您要应用于密码策略的选项,然后选择 Save changes(保存更改)。
-
通过选择 Set custom(设置自定义)来确认您要设置自定义密码策略。
删除自定义密码策略(控制台)
登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择账户设置。
-
在 Password policy(密码策略)部分,选择 Edit(编辑)。
-
选择 IAM default(IAM 默认)以删除自定义密码策略,然后选择 Save changes(保存更改)。
-
通过选择 Set default(设置默认值)来确认您要设置 IAM 默认密码策略。
设置密码策略 (AWS CLI)
您可以使用 AWS Command Line Interface 设置密码策略。
通过 AWS CLI 管理自定义账户密码策略
运行以下命令:
-
创建或更改自定义密码策略:
aws iam update-account-password-policy
-
删除自定义密码策略:
aws iam delete-account-password-policy
设置密码策略 (AWS API)
您可以使用 AWS API 操作来设置密码策略。
通过 AWS API 管理自定义账户密码策略
调用以下操作:
-
创建或更改自定义密码策略:
UpdateAccountPasswordPolicy
-
查看密码策略:
GetAccountPasswordPolicy
-
删除自定义密码策略:
DeleteAccountPasswordPolicy