PasswordRequirements

用于解锁设备的密码的要求。

JSON 表示法
{
  "passwordMinimumLength": integer,
  "passwordMinimumLetters": integer,
  "passwordMinimumLowerCase": integer,
  "passwordMinimumNonLetter": integer,
  "passwordMinimumNumeric": integer,
  "passwordMinimumSymbols": integer,
  "passwordMinimumUpperCase": integer,
  "passwordQuality": enum (PasswordQuality),
  "passwordHistoryLength": integer,
  "maximumFailedPasswordsForWipe": integer,
  "passwordExpirationTimeout": string,
  "passwordScope": enum (PasswordPolicyScope),
  "requirePasswordUnlock": enum (RequirePasswordUnlock),
  "unifiedLockSettings": enum (UnifiedLockSettings)
}
字段
passwordMinimumLength

integer

允许的最小密码长度。值为 0 表示没有限制。仅当 passwordQuality 为 NUMERIC、NUMERIC_COMPLEX、ALPHABETIC、ALPHANUMERIC 或 COMPLEX 时强制执行。

passwordMinimumLetters

integer

密码中要求的最小字母数。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordMinimumLowerCase

integer

密码中要求的最少小写字母数。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordMinimumNonLetter

integer

密码中要求的最少非字母字符数(数字或符号)。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordMinimumNumeric

integer

密码中要求的最少数字位数。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordMinimumSymbols

integer

密码中要求的最少符号数。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordMinimumUpperCase

integer

密码中要求的最少大写字母数。仅在 passwordQuality 为 COMPLEX 时强制执行。

passwordQuality

enum (PasswordQuality)

所需的密码质量。

passwordHistoryLength

integer

密码历史记录的长度。设置此字段后,用户将无法输入与历史记录中的任何密码相同的新密码。值为 0 表示没有限制。

maximumFailedPasswordsForWipe

integer

在设备被擦除之前,可以输入的错误设备解锁密码的次数。值为 0 表示没有限制。

passwordExpirationTimeout

string (Duration format)

密码过期超时时间。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"。

passwordScope

enum (PasswordPolicyScope)

密码要求适用的范围。

requirePasswordUnlock

enum (RequirePasswordUnlock)

使用加强型身份验证方式(密码、PIN 码、解锁图案)解锁设备或工作资料后,可以使用任何其他身份验证方式(例如指纹、可信代理、人脸)解锁设备或工作资料的时间长度。在指定时间段过后,只能使用加强型身份验证方式解锁设备或工作资料。

unifiedLockSettings

enum (UnifiedLockSettings)

控制在搭载 Android 9 及更高版本且具有工作资料的设备上,是否允许为设备和工作资料使用统一的锁定方式。只有当 passwordScope 设置为 SCOPE_PROFILE 时才能设置此项,否则系统会拒绝该政策。如果用户未设置单独的工作锁,且此字段设置为 REQUIRE_SEPARATE_WORK_LOCK,则系统会报告 NonComplianceDetail,并将 nonComplianceReason 设置为 USER_ACTION。

PasswordQuality

密码质量要求。

注意:

  • 基于复杂度的要求为 COMPLEXITY_LOW、COMPLEXITY_MEDIUM 和 COMPLEXITY_HIGH。
  • 如果 PasswordRequirements 的实例将 passwordScope 设置为 SCOPE_DEVICE,则称该实例具有设备级作用域。
  • 如果 PasswordRequirements 的实例将 passwordScope 设置为 SCOPE_PROFILE,则称该实例具有配置文件范围。
  • 如果 PasswordRequirements 的实例将 passwordQuality 设置为基于复杂度的值(相应地,非基于复杂度的值),则该实例被称为基于复杂度的实例(相应地,非基于复杂度的实例)。
  • 对于每个范围,如果存在基于复杂性的元素,则还必须存在同一范围的非基于复杂性的元素。
  • 如果存在配置文件范围的基于复杂性的元素,并且存在设备范围的元素,则必须同时存在设备范围的基于复杂性的元素和设备范围的非基于复杂性的元素。
  • 如果存在同时具有基于复杂性和非基于复杂性的值的配置文件范围元素(在这种情况下,设备范围元素不得存在,或者也必须同时具有基于复杂性和非基于复杂性的值),则相应的基于复杂性的值适用于搭载 Android 12 及更高版本且具有工作资料的设备(对于这两个范围),而相应的非基于复杂性的值适用于所有其他设备。
  • 如果存在同时具有基于复杂性的值和非基于复杂性的值的设备范围元素,但不存在资料范围元素,则基于复杂性的值适用于搭载 Android 12 及更高版本的个人自有工作资料设备,而非基于复杂性的值仅适用于所有其他设备。
  • 如果为 Android 12 及更高版本上归个人所有的工作资料设备应用了非基于复杂程度的设备级要求,系统会将该要求视为应用中基于复杂程度的次严格要求。这可能会导致所要求的配置与实际应用的配置略有出入。
  • 请参阅 appliedPasswordPolicies,了解哪些密码要求实际上在设备上生效。
  • 如需详细了解如何根据管理模式选择要应用的 PasswordRequirements 实例,请参阅 PasswordQuality 指南。
枚举
PASSWORD_QUALITY_UNSPECIFIED 没有密码要求。
BIOMETRIC_WEAK

设备必须至少采用低安全性的生物识别技术来确保安全。这包括可识别个人身份的技术,其精确度大致相当于 3 位数 PIN 码(错误检测率低于 1/1,000)。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_LOW。如需了解详情,请参阅 PasswordQuality。

SOMETHING

密码是必填项,但对密码的内容没有任何限制。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_LOW。如需了解详情,请参阅 PasswordQuality。

NUMERIC

密码必须包含数字字符。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_MEDIUM。如需了解详情,请参阅 PasswordQuality。

NUMERIC_COMPLEX

密码必须包含数字字符,不得包含重复 (4444) 或有序(1234、4321、2468)序列。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_MEDIUM。如需了解详情,请参阅 PasswordQuality。

ALPHABETIC

密码必须包含字母(或符号)字符。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_HIGH。如需了解详情,请参阅 PasswordQuality。

ALPHANUMERIC

密码必须同时包含数字和字母(或符号)字符。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_HIGH。如需了解详情,请参阅 PasswordQuality。

COMPLEX

密码必须满足 passwordMinimumLength、passwordMinimumLetters、passwordMinimumSymbols 等中指定的最低要求。例如,如果 passwordMinimumSymbols 为 2,则密码必须包含至少两个符号。

如果此设置应用于 Android 12 设备范围内的自有工作资料设备,则会被视为应用的 COMPLEXITY_HIGH。在这种情况下,系统不会应用 passwordMinimumLength、passwordMinimumLetters、passwordMinimumSymbols 等中的要求。如需了解详情,请参阅 PasswordQuality。

COMPLEXITY_LOW

将低密码复杂度频段定义为:

  • 图案
  • 包含重复 (4444) 或有序(1234、4321、2468)序列的 PIN 码

此设置用于指定密码必须满足的最低复杂度级别。

强制执行情况因 Android 版本、管理模式和密码范围而异。详情请参见 PasswordQuality。

COMPLEXITY_MEDIUM

将中等密码复杂度频段定义为:

  • PIN 码不得包含重复 (4444) 或有序(1234、4321、2468)序列,长度至少为 4 位
  • 字母,长度至少为 4
  • 字母数字,长度至少为 4

此设置用于指定密码必须满足的最低复杂度级别。

强制执行情况因 Android 版本、管理模式和密码范围而异。详情请参见 PasswordQuality。

COMPLEXITY_HIGH

将高密码复杂度频段定义为:

在 Android 12 及更高版本中:

  • PIN 码不得包含重复 (4444) 或有序(1234、4321、2468)序列,长度至少为 8 位
  • 字母,长度至少为 6
  • 字母数字,长度至少为 6

此设置用于指定密码必须满足的最低复杂度级别。

强制执行情况因 Android 版本、管理模式和密码范围而异。详情请参见 PasswordQuality。

RequirePasswordUnlock

使用加强型身份验证方式(密码、PIN 码、解锁图案)解锁设备或工作资料后,可以使用任何其他身份验证方式(例如指纹、可信代理、人脸)解锁设备或工作资料的时间长度。在指定时间段过后,只能使用加强型身份验证方式解锁设备或工作资料。

枚举
REQUIRE_PASSWORD_UNLOCK_UNSPECIFIED 未指定。默认值为 USE_DEFAULT_DEVICE_TIMEOUT。
USE_DEFAULT_DEVICE_TIMEOUT 超时时间段设置为设备的默认值。
REQUIRE_EVERY_DAY 超时时间段设置为 24 小时。

UnifiedLockSettings

控制在搭载 Android 9 及更高版本且具有工作资料的设备上,是否允许为设备和工作资料使用统一的锁定方式。这不会影响其他设备。

枚举
UNIFIED_LOCK_SETTINGS_UNSPECIFIED 未指定。默认为 ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK。
ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK 允许为设备和工作资料使用同一种锁定方式。
REQUIRE_SEPARATE_WORK_LOCK 必须为工作资料设置单独的屏幕锁定方式。