配置重新身份验证

IAP 重新身份验证允许资源所有者或 Google Cloud 管理员要求已经过身份验证的最终用户在访问受 IAP 保护的资源之前重新进行身份验证。

管理重新身份验证设置

您可以使用以下方法来管理重新身份验证设置:

  • 登录:模拟已退出并尝试重新登录的用户的行为。在大多数情况下,最终用户需要重新输入密码。
  • 密码:系统会要求最终用户重新输入密码。
  • 安全密钥:系统会要求最终用户触摸安全密钥。

如需了解详情,请参阅 IapSettings

设置重新身份验证政策

ReauthSettingsIapSettings 的一部分,因此可以在层次结构中的多个资源类型上设置。在其他 IAP 设置中,层次结构中最低的资源优先,有效的重新身份验证设置与此不同,它还取决于政策类型。

有两种政策类型可用于设置重新身份验证:

  • 最低:该政策将充当层次结构中所有其他资源的最低要求。有效政策可以相同,也可以更严格。
  • 默认:如果未在资源上设置其他政策,则您设置的重新身份验证政策将成为有效政策。

您可以使用政策类型配置,通过将政策类型设置为 Minimum,为整个组织或文件夹设置政策。

如果分层配置具有不同的重新身份验证方法,PasswordSecure Key 会转换为 Login 方法。

示例:在以下文件夹和资源 IapSettings 示例中,文件夹政策更严格,优先级更高,因此有效的重新身份验证政策将与文件夹政策匹配。

文件夹 IapSettings

accessSettings:
  reauthSettings:
    method: 2  # Password
    maxAge:
      seconds: 3600  # 1 hour
    policyType: 1  # Minimum

资源 IapSettings

accessSettings:
  reauthSettings:
    method: 2  # Password
    maxAge:
      seconds: 7200  # 2 hours
    policyType: 1  # Minimum

MaxAge

使用 MaxAge 参数指定最终用户必须重新进行身份验证的频率,以秒为单位。例如,如需设置一小时的重新身份验证政策,请将秒数设置为 3600,如以下示例所示:

accessSettings:
  reauthSettings:
    method: 2  # Password
    maxAge:
      seconds: 3600  # 1 hour
    policyType: 1  # Minimum

了解重新身份验证凭据

成功完成重新身份验证后,IAP 会在最终用户的浏览器上创建 Cookie。为了避免用户在使用相似应用时不得不频繁地重新进行身份验证,该 Cookie 在顶级专用网域上设置,并且对该级别的整个专用网域有效。

例如,foo.example.com 是受 IAP 保护的资源,具有 IAP 重新身份验证政策。成功完成重新身份验证后,由于 example.com 是顶级专用网域,IAP 会在其上设置一个 Cookie。来自同一顶级专用网域(例如 bar.example.come)的应用将使用相同的重新身份验证凭据,并且不会提示用户重新进行身份验证(只要凭据有效)。

请注意,对于 myapp.appspot.com 等网址,appspot.com 是公共网域,因此顶级专用网域是 myapp.appspot.com

已知限制

  • 只有浏览器流支持重新身份验证。不支持程序化用户帐号访问。例如,移动应用和桌面应用无法重新验证用户身份,因为无法访问需要重新身份验证的资源。
  • 服务帐号和 IAP-TCP 不受重新身份验证要求的约束。
  • 重新身份验证不适用于 IAM 成员类型 allUsers
  • 如果使用 Google 以外的身份提供商,重新身份验证可能无法按预期工作。
  • 重新身份验证不支持通过 Identity Platform 启用的外部身份,因为无法访问需要重新身份验证的资源。