使用 Policy Remediator 修复访问遭拒

本页介绍了如何启用和使用 Chrome Enterprise Premium Policy Remediator。

当用户尝试访问 Google Cloud 资源但不符合该资源的访问权限政策时,系统会拒绝其访问,并收到常规 403 错误消息。在联系管理员寻求更多帮助之前,您可以使用 Policy Remediator 为用户提供切实可行的步骤来解决问题。具体的修复操作取决于访问权限政策,但可能包括启用屏幕锁定、更新操作系统 (OS) 版本或从公司允许的网络访问应用等。

启用 Policy Remediator

  1. 在 Google Cloud CLI 中运行以下命令,在组织级别向您的组织管理员授予 roles/policyremediatormanager.policyRemediatorAdmin 角色:

    gcloud organizations add-iam-policy-binding 'organizations/ORGANIZATION_ID' \
        --member PRINCIPAL \
        --role roles/policyremediatormanager.policyRemediatorAdmin
    

    请替换以下内容:

    • ORGANIZATION_ID:Google Cloud 组织 ID。
    • PRINCIPAL:主帐号或成员的标识符,通常其格式如下:PRINCIPAL_TYPE:ID。例如 user:my-user@example.com
  2. 运行以下命令来启用 Policy Remediator Manager API:

    gcloud services enable policyremediatormanager.googleapis.com
    
  3. 调用 Policy Remediator Manager 来为组织中的项目启用 Policy Remediator,此操作会创建一个服务代理

    curl -X POST \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService:enable"  \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    请替换以下内容:

    • ORGANIZATION_ID:Google Cloud 组织 ID。
    • ACCESS_TOKEN:使用以下命令生成访问令牌。
      gcloud auth print-access-token
      
    • PROJECT_ID:Google Cloud 项目 ID。

    以下是一个示例响应,其中包含服务代理的详细信息:

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/operations/",
    "metadata": {
      "@type":
    "type.googleapis.com/google.cloud.policyremediatormanager.remediatorservicemanager.v1alph
    a.OperationMetadata",
       "createTime": "",
       "target": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
       "verb": "update",
       "requestedCancellation": false,
       "apiVersion": "v1alpha"
     },
     "done": false
    }
    

    其中,ORGANIZATION_ID 是 Google Cloud 组织 ID。

  4. 在 Google Cloud CLI 中,运行以下命令以访问您创建的服务代理:

    curl -X GET \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService" \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    请替换以下内容:

    • ORGANIZATION_ID:Google Cloud 组织 ID。
    • ACCESS_TOKEN:使用以下命令生成访问令牌。
      gcloud auth print-access-token
      
    • PROJECT_ID:Google Cloud 项目 ID。

    您应该会收到以下格式的服务代理电子邮件地址:

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
    "state": "ENABLED",
    "serviceAccountEmail": "service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com"
    }
    

    其中,ORGANIZATION_ID 是 Google Cloud 组织 ID。

在 Google 管理控制台中分配服务代理角色

  1. 登录 Google 管理控制台。

    前往 Google 管理控制台

  2. 转到帐号 > 管理员角色,然后点击创建新角色

    • 输入角色名称和说明(可选),然后点击继续

    • 管理控制台权限中,转到服务 > 移动设备管理,然后选择管理设备和设置权限。

    • Admin API 权限中,前往群组,然后选择读取权限。

    • 点击继续,确认您输入的内容,然后完成角色的创建。

    • 前往分配服务帐号,然后输入新创建的服务代理的电子邮件地址。

    • 点击添加 > 分配角色

  3. 在 Google Cloud CLI 中,运行以下命令,在组织级层向服务代理授予服务代理 (policyremediator.serviceAgent) 角色。这将授予服务代理读取您组织的 Identity and Access Management 和其他访问权限政策的权限。

    gcloud organizations add-iam-policy-binding 'organizations/' \
       --member='serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com' \
       --role='roles/policyremediator.serviceAgent'
    

    ORGANIZATION_ID 替换为 Google Cloud 组织 ID。

为 IAP 资源启用 Policy Remediator

您必须拥有 Chrome Enterprise Premium 许可才能使用此功能。

  1. 转到 Identity-Aware Proxy (IAP) 页面。
    转到 IAP

  2. 选择资源,然后点击设置

  3. 前往修复权限,然后选择生成修复操作

授予修复者角色

如需授予用户权限来修复对 IAP 资源的遭拒访问,请在 Google Cloud CLI 中运行以下命令:

gcloud iap web add-iam-policy-binding \
    --member='PRINCIPAL' \
    --role='roles/iap.remediatorUser'

PRINCIPAL 替换为主帐号或成员的标识符,其通常采用以下格式:PRINCIPAL_TYPE:ID。例如 user:my-user@example.com

如需了解详情,请参阅 gcloud iap web add-iam-policy-binding

如需授予用户在项目级修复对 IAP 资源的访问权限,请在 Google Cloud CLI 中运行以下命令:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member PRINCIPAL \
    --role roles/iap.remediatorUser

请替换以下内容:

  • PROJECT_ID:Google Cloud 项目 ID。
  • PRINCIPAL:主帐号或成员的标识符,通常其格式如下:PRINCIPAL_TYPE:ID。例如 user:my-user@example.com

通过帮助台进行修复

当最终用户访问遭拒时,系统会将其重定向到 Chrome Enterprise Premium 页面,其中包含问题排查信息(包括问题排查网址和修复令牌)。如果用户无权打开修复令牌,则可以复制修复令牌,并将其发送到帮助台以获取更多帮助。

政策属性和关联的消息

下表提供了 Policy Remediator 支持的属性列表。

属性 默认消息
ip_address 您正在通过公司不允许的网络
访问该应用。
region_code 从贵公司允许的区域
访问此应用。
is_secured_with_screenlock 在您的设备上设置屏幕锁定密码。
关闭设备上的屏幕密码。
verified_chrome_os 请使用已验证 [操作系统类型] 的设备。
请使用未经验证 [操作系统类型] 的设备。
is_admin_approved_device 请使用贵组织管理员批准的设备。
请使用未经组织管理员批准的设备。
is_corp_owned_device 请使用贵组织拥有的设备。
请使用不归贵组织所有的设备。
encryption_status 使用已加密的设备。
请使用未加密的设备。
os_type 改用 [OS type] 设备。
[操作系统类型] 设备无法访问此应用。
os_version 请更新至操作系统版本至少为 [version] 的版本。
将您的操作系统降级为低于 [version] 的版本。

问题排查

出现以下任一情况时,Policy Remediator 无法生成修复方案:

  • 某项资源的政策存在冲突,例如用户必须使用 Windows 和 macOS 进行连接。
  • Policy Remediator 不支持此属性。
  • 服务代理无权修复。