IAP 重新身份验证允许资源所有者或 Google Cloud 管理员要求已经过身份验证的最终用户在访问受 IAP 保护的资源之前重新进行身份验证。
管理重新身份验证设置
您可以使用以下方法来管理重新身份验证设置:
- 登录:模拟已退出并尝试重新登录的用户的行为。在大多数情况下,最终用户需要重新输入密码。
- 密码:系统会要求最终用户重新输入密码。
- 安全密钥:系统会要求最终用户触摸安全密钥。
如需了解详情,请参阅 IapSettings。
设置重新身份验证政策
ReauthSettings
是 IapSettings
的一部分,因此可以在层次结构中的多个资源类型上设置。在其他 IAP 设置中,层次结构中最低的资源优先,有效的重新身份验证设置与此不同,它还取决于政策类型。
有两种政策类型可用于设置重新身份验证:
- 最低:该政策将充当层次结构中所有其他资源的最低要求。有效政策可以相同,也可以更严格。
- 默认:如果未在资源上设置其他政策,则您设置的重新身份验证政策将成为有效政策。
您可以使用政策类型配置,通过将政策类型设置为 Minimum
,为整个组织或文件夹设置政策。
如果分层配置具有不同的重新身份验证方法,Password
和 Secure Key
会转换为 Login
方法。
示例:在以下文件夹和资源 IapSettings
示例中,文件夹政策更严格,优先级更高,因此有效的重新身份验证政策将与文件夹政策匹配。
文件夹 IapSettings
:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
资源 IapSettings
:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "7200s"
policyType: "MINIMUM"
MaxAge
使用 MaxAge 参数指定最终用户必须重新进行身份验证的频率,以秒为单位。例如,如需设置一小时的重新身份验证政策,请将秒数设置为 3600,如以下示例所示:
accessSettings:
reauthSettings:
method: "LOGIN"
maxAge: "3600s"
policyType: "MINIMUM"
maxAge
的最小值为 5 分钟。
了解重新身份验证凭据
成功完成重新身份验证后,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 启用的外部身份,因为无法访问需要重新身份验证的资源。