使用 BeyondCorp Enterprise 的政策问题排查工具进行问题排查

BeyondCorp Enterprise 提供一种问题排查工具,管理员可以使用该工具对最终用户的失败访问进行分类和分析。

借助 BeyondCorp Enterprise,企业可以创建高级规则,以提供基于情境的应用访问权限。但是,当您对资源应用多个访问规则(从位置限制到设备规则)时,可能很难了解最终用户无法访问资源的原因。

通过政策问题排查工具,管理员可以确定访问失败原因,并在必要时更改政策,并指示最终用户修改情境以允许访问。

对于需要针对不同用户群组应用多个规则的组织,政策问题排查工具是一款非常有用的工具。

准备工作

政策问题排查工具是一项高级功能,需要使用 BeyondCorp Enterprise 许可。

如需使用政策问题排查工具,请在 IAP 设置中为 IAP 资源启用此功能,方法是依次点击 IAP 保护的应用右侧的三个点、设置,然后选择生成问题排查网址 (Generate a troubleshooting URL)。为最大限度地提高政策问题排查工具的效率,请确保您具有 IAP Settings Admin 角色 (roles/iap.settingsAdmin)。这能够确保您可以检索和更新所有 IAP 资源的 IAP 设置。

问题排查网址仅会在启用后显示在默认的 403 页面上。

问题排查工具工作流概览

政策问题排查工具提供了一个界面,您可以在该界面中查看针对目标 IAP 资源的所有有效政策的详细评估结果。如果用户访问失败,政策问题排查工具会显示失败绑定的详细信息,以及失败的访问权限级别(如果绑定中存在)的分析结果。

用户访问遭拒

如果用户没有权限或不符合访问 IAP 资源所需的条件,则系统会将用户定向至“403 访问遭拒”错误页面。403 页面包含问题排查网址,您可以手动复制该网址并将其发送给应用所有者或安全管理员,用户也可以在界面中点击发送电子邮件

当用户点击发送电子邮件时,系统会向 OAuth 同意屏幕上配置的支持电子邮件地址 (supportEmail) 发送电子邮件。如需详细了解如何配置 OAuth 同意屏幕,请参阅以编程方式为 IAP 创建 OAuth 客户端

排查失败访问的问题

收到访问请求失败的链接后,您可以点击相应网址,该网址将在默认浏览器中打开。如果您在默认浏览器中未登录 Google Cloud Console,则系统可能会将您重定向到另一个登录页面,以便访问政策问题排查工具分析页面。

在政策问题排查工具分析页面上,您会看到有关访问受限的详细信息,包括目标主帐号电子邮件地址、目标 IAP 资源网址和所需权限。您还会看到 Identity and Access Management (IAM) 绑定的有效评估结果(是否授予)的列表视图,并且还会简要了解失败发生的原因,例如主帐号不是成员且不符合条件

如需进一步分析失败的访问,您可以查看绑定详情。在绑定详情中,您可以看到绑定组件、角色主帐号条件。具有足够权限的组件表示无需执行任何操作。其中明确说明了访问失败的组件以及权限差异,例如主帐号类别:请将主帐号添加到以下群组中

请注意在界面中,相关绑定 (Relevant bindings) 部分默认处于启用状态。相关绑定部分中列出的绑定不是完整列表,而是排查特定访问问题时您可能感兴趣的最相关的绑定。与特定资源关联的有效政策可能包含大量与您的资源不相关的绑定,例如在项目级授予的 Cloud Storage 权限。不相关的详细信息会被过滤掉。

您可以查看访问权限级别说明 (Access Level Explanations),进一步调查失败的条件访问权限级别详细信息指出了失败发生的原因,并提出了解决失败的修正方法。如有必要,您可以将必要的操作传播回用户,或修正政策。例如,您可以将以下操作发送回用户:由于设备不是公司自有设备,因此请求失败

常见问题排查场景

以下是使用政策问题排查工具时可能会遇到的一些常见场景:

  • 进行问题排查后,您向最终用户提供可操作的内容,例如指示最终用户切换到公司自有设备或更新操作系统。
  • 您发现未向最终用户分配正确的权限,因此您在 IAP 界面 (roles/iap.httpsResourceAccessor) 中为目标主帐号创建新绑定。
  • 您发现自己错误地创建了访问权限级别,示例原因如下:
    • 您创建的复杂嵌套特性限制(例如公司子网)不再适用,因为员工现在在家工作。
    • 您应用的访问权限级别参数不正确。例如,您指定用户可以创建具有供应商限制的自定义级别,但比较具有不同类型的特性。例如 device.vendors["vendorX"].data.["should_contain_boolean_value"] == "true"。请注意,左侧返回布尔值,而右侧返回字符串 true。由于特性不等效,因此很难检测政策构造中的错误。政策问题排查工具有助于说明此情况评估为错误,并在两侧提供详细的部分评估结果。

排查访问受限问题

为最大限度地提高政策问题排查工具的效率,请确保您具有 Security Reviewer 角色 (roles/iam.securityReviewer)。这能够确保您可以读取所有适用的 Cloud IAM 政策。

设备权限是可选的。如果与目标资源关联的政策包含设备政策(例如要求加密设备的访问权限级别),则除非验证用于检索目标主帐号的设备详细信息的权限,否则您可能无法获得准确的结果。Google Workspace 超级用户、服务管理员和移动设备管理员通常有权查看设备详细信息。若要允许非超级用户、服务管理员或移动设备管理员的用户排查访问权限问题,请完成以下步骤:

  1. 创建拥有 MDM 管理员权限的自定义 Google Workspace 管理员角色
  2. 使用管理控制台将此角色分配给用户。

用于查看群组成员资格的权限是可选的。如果政策包含群组,则您在打开群组之前应有权查看群组的详细信息。Google Workspace 超级用户和群组管理员通常有权查看群组成员资格。若要允许非超级用户或群组管理员的用户排查访问权限问题,请完成以下步骤:

  1. 创建自定义 Google Workspace 管理员角色(该角色拥有 Admin API 权限下的 groups.read 权限)。
  2. 将此角色分配给用户。这样,用户就可以查看网域中所有群组的成员资格,并更有效地排查访问权限问题。

自定义角色权限是可选的。如果您无权查看自定义角色,则您可能无法确定主帐号是否可以通过具有自定义角色的绑定访问自定义角色。

问题排查工具预期行为

您可以使用包含当前时间戳的当前政策和设备信息对受限访问进行问题排查。因此,如果您在受限访问被拒后同步设备或更改政策,则您无法使用旧情境和数据进行问题排查。您可以使用当前情境和数据进行问题排查。

关于排查绑定问题的提示

对于任何存在授权错误的绑定的任何组件(角色、主帐号、条件),如果您要检查此类绑定的问题排查结果,请授予必要的权限。

如果绑定中的角色检查失败,请完成以下操作:

  • 如有必要,请检查其他绑定或使用 IAP 接口创建新绑定,以向具有已应用的访问权限级别的主帐号授予 roles/iap.httpsResourceAccessor 角色。
  • 如果是自定义角色,您可以为自定义角色添加目标权限以授予此权限(如果适用,在修复任何主帐号故障和任何条件故障后)。请注意,为现有自定义角色添加权限可能会授予具有此自定义角色的其他绑定,但该自定义角色具有的权限超过所需的权限。除非您了解自定义角色的范围和操作风险,否则请勿执行此操作。
  • 如果不是自定义角色,请检查其他绑定或使用 IAP 接口创建新绑定,以向具有已应用的访问权限级别的主帐号授予 roles/iap.httpsResourceAccessor 角色。

如果角色检查成功,但主帐号检查失败,请完成以下操作:

  • 如果成员包含群组,您可以将主帐号添加到该群组以授予权限(如果适用,在修复任何条件故障后)。请注意,将主帐号添加到现有群组后,系统可能会为该群组授予超出需要的权限。除非您了解群组范围和操作风险,否则请勿执行此操作。
  • 如果成员不包含群组,则如有必要请检查其他绑定或使用 IAP 接口创建新绑定,以向具有已应用的访问权限级别的主帐号授予 roles/iap.httpsResourceAccessor

如果角色和主帐号检查成功,但条件失败(如果条件仅包含与 OR 逻辑运算符关联的访问权限级别),请检查条件下列出的每个访问权限级别的问题排查详细信息。