IBM Cloud Docs
定义密码策略

定义密码策略

密码策略(例如,强度需求)可帮助您强制实施更安全的应用程序。 通过定义高级策略,可以定义用户在设置其密码或尝试登录到应用程序时必须遵循的规则。 例如,可以设置用户在其帐户被锁定之前可尝试登录的次数。

策略:密码强度

如果密码强度高,就难以甚至不可能通过手动或自动方式来猜到密码。 要设置用户密码强度需求,可以使用以下步骤。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转至 App ID 仪表板的 Cloud Directory > 密码策略选项卡。

  2. 定义密码强度框中,单击编辑。 这将打开一个屏幕。

  3. 密码强度框中输入有效的正则表达式字符串。

    示例:

    • 必须至少包含 8 个字符。(^.{8,}$)
    • 必须有一个数字,一个小写字母和一个大写字母。(^(?:(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*)$)
    • 必须只有英文字母和数字。(^[A-Za-z0-9]*$)
    • 必须至少具有一个唯一字符。(^(\w)\w*?(?!\1)\w+$)
  4. 单击保存

密码强度可在 App ID 控制面板的云目录设置页面中设置,或使用 管理 API 设置。

设置定制错误消息

如果您设置了自己的密码正则表达式策略,并且用户选择的密码不满足您的需求,那么缺省消息为 The password doesn't meet the strength requirements. 您还可以选择使用 /management/v4/<tenantId>/config/cloud_directory/password_regex 端点来设置自己的消息。

高级密码策略

您可以通过强制实施密码约束来增强应用程序的安全性。

可以创建包含以下五个功能的任意组合的高级密码策略:

  • 重复提供错误的凭证后锁定
  • 避免密码复用
  • 密码到期时间
  • 密码更改最短间隔时间
  • 确保密码不包含用户名

启用此功能后,高级安全功能的计费将被激活。 有关更多信息,请参阅 App ID 如何计算定价

策略:避免密码复用

在用户尝试创建新密码时,您可能希望阻止他们选择最近使用过的密码。 如果用户尝试将其密码设置为自己最近使用过的密码,那么会在缺省登录窗口小部件 GUI 中显示错误,并提示该用户输入其他选项。 通过此设置,您可以选择让用户必须在更改了多少次密码之后才能重复使用先前用过的密码。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转到 App ID 控制面板的云目录 > 密码策略选项卡。

  2. 高级密码策略切换为已启用

  3. 指定密码不能重复使用的次数。 您可以使用 1 - 8 范围内的任何整数值。

  4. 密码不能重复使用的次数切换为已启用

  5. 单击保存

先前的密码会以用户当前密码的存储方式安全地存储。

策略:重复提供错误的凭证后锁定

您可能希望在检测到可疑行为(例如,多次连续尝试使用不正确的密码登录)时暂时阻止登录能力,从而保护用户的帐户。 此度量可以帮助阻止恶意方通过猜测用户密码来获得对用户帐户的访问权。

如果帐户已锁定,那么用户无法登录,也无法完成其他任何自助服务操作,直到指定的锁定期过后才行。 锁定期结束后,将对用户自动解锁。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转至 App ID 仪表板的 Cloud Directory > 密码策略选项卡。

  2. 高级密码策略切换为已启用

  3. 指定用户被锁定前可以尝试登录的次数。 可以使用范围在 1 到 10 之间的任何整数值。

  4. 指定用户尝试使用错误的凭证登录后将被锁定的时间。 指定的时间以分钟为单位。 可以使用范围在 1 到 1440(24 小时)之间的任何整数值。

  5. 用户被锁定前可以尝试登录的次数行切换为已启用

  6. 单击保存

您可以在锁定期结束之前对用户解锁。 要确定用户是否被锁定,请查看 active 字段是否设置为 false。 还可以检查服务仪表板的用户选项卡上用户的状态是否设置为disabled。 要对用户解锁,您必须使用 APIactive 字段设置为 true

策略:密码更改最短间隔时间

您可能希望通过设置用户在前后两次更改密码之间必须等待的最短时间,以阻止用户快速切换密码。

此功能与Avoid password reuse策略一起使用时特别有用。 如果没有此限制,用户就可以直接快速连续地多次更改其密码,从而绕过对复用最近用过的密码的限制。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转至 App ID 仪表板的 Cloud Directory > 密码策略选项卡。

  2. 高级密码策略切换为已启用

  3. 指定密码更改最短间隔时间。 指定的时间以小时为单位。 可以使用范围在 1 到 720(30 天)之间的任何整数值。

  4. 密码更改最短间隔时间切换为已启用

  5. 单击保存

策略:密码到期时间

出于安全原因,您可能希望强制实施密码轮换策略。 通过为用户密码设置有效期,他们就会被迫更新密码,以保留对应用程序的访问权限。 这样做可降低用户凭证对应用程序造成长期损坏的风险。 用户的密码到期后,在用户下一次尝试登录时,会强制用户重置密码。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转至 App ID 仪表板的 Cloud Directory > 密码策略选项卡。

  2. 高级密码策略切换为已启用

  3. 指定密码到期时间。 指定的时间以天为单位。 可以使用范围在 1 到 90 之间的任何整数值。

  4. 密码到期时间切换为已启用

  5. 单击保存

此选项第一次设置为“开启”时,任何现有用户密码都没有到期日期。 为确保所有用户都受到密码轮换策略的限制,可以鼓励用户在配置此功能后更新密码。

定制登录体验

如果使用的是定制登录体验,那么用户尝试使用到期的密码登录时会触发错误。 配置应用程序以提供必要的用户体验是您的责任。 您可以调用更改密码 API 来设置新密码。

令牌端点响应类似于以下内容:

{
  "error" : "invalid_grant",
  "error_description" : "Password expired",
  "user_id" : "356e065e-49da-45f6-afa3-091a7b464f51"
}

策略:确保密码不包含用户名

为了获得更高强度的密码,您可能希望阻止用户创建包含其用户名或其电子邮件地址第一部分的密码。

要使用 GUI 来设置此配置,请执行以下操作:

  1. 转至 App ID 仪表板的 Cloud Directory > 密码策略选项卡。

  2. 高级密码策略切换为已启用

  3. 密码不应包含用户标识切换为已启用

  4. 单击保存

此约束不区分大小写。 用户无法更改部分或全部字符的大小写来使用个人信息。 要配置此选项,请将开关切换为开启