本页面介绍了如何启用和使用 Policy Remediator。
当用户尝试访问资源但未遵守该资源的访问权限政策时,系统会拒绝其访问请求,并显示一般性 403 错误消息。 Google Cloud 您可以使用 Policy Remediator 为用户提供可操作的步骤,以便他们可以在寻求管理员的额外帮助之前自行解决问题。具体的补救措施取决于访问权限政策,但可能包括启用屏幕锁定、更新操作系统 (OS) 版本或从贵公司允许的网络访问应用等操作。
启用 Policy Remediator
在 Google Cloud CLI 中运行以下命令,以在组织级层向组织管理员授予
roles/policyremediatormanager.policyRemediatorAdmin角色:gcloud organizations add-iam-policy-binding 'organizations/ORGANIZATION_ID' \ --member PRINCIPAL \ --role roles/policyremediatormanager.policyRemediatorAdmin替换以下内容:
- ORGANIZATION_ID:组织 ID。 Google Cloud
- PRINCIPAL:正文(或成员)的标识符,其格式通常如下:
PRINCIPAL_TYPE:ID。例如user:my-user@example.com。
运行以下命令以启用 Policy Remediator Manager API:
gcloud services enable policyremediatormanager.googleapis.com
调用 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:组织 ID。 Google Cloud
- ACCESS_TOKEN:使用以下命令生成访问令牌。
gcloud auth print-access-token
- PROJECT_ID:项目 ID。 Google Cloud
以下是响应示例,其中包含服务代理详细信息:
{ "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。
在 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:组织 ID。 Google Cloud
- ACCESS_TOKEN:使用以下命令生成访问令牌。
gcloud auth print-access-token
- PROJECT_ID:项目 ID。 Google Cloud
您应该会收到以下格式的服务代理电子邮件:
{ "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 管理控制台中分配服务代理角色
登录 Google 管理控制台。
依次前往账号 > 管理员角色 ,然后点击创建新角色 。
输入角色的名称和说明(可选),然后点击继续 。
在管理控制台权限中,依次前往服务 > 移动设备和设备管理 ,然后选择管理设备和设置权限。
在 Admin API 权限 中,前往群组 ,然后选择读取 权限。
点击继续,确认您的输入,然后完成角色的创建。
前往分配服务账号 ,然后输入新创建的 服务代理的电子邮件地址。
依次点击添加 > 分配角色 。
在 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
前往 Identity-Aware Proxy (IAP) 页面。
前往 IAP选择一个资源,然后点击设置 。
前往补救访问权限 ,然后选择生成补救措施 。
授予补救者角色
如需授予用户补救对 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:项目 ID。 Google Cloud
- PRINCIPAL:正文(或成员)的标识符,其格式通常如下:
PRINCIPAL_TYPE:ID。例如user:my-user@example.com。
使用帮助台进行补救
当最终用户的访问权限被拒时,系统会将他们重定向到 Chrome 企业进阶版 页面,其中包含问题排查信息,包括问题排查网址和补救令牌。如果用户没有打开修复令牌的权限,他们可以复制修复令牌并将其发送给帮助台以获取更多帮助。
政策属性和关联的消息
下表列出了 Policy Remediator 支持的属性。
| 属性 | 默认消息 |
|---|---|
ip_address
|
您正在从贵公司不允许的网络访问应用。 |
region_code
|
请从贵公司允许的区域访问此应用。 |
is_secured_with_screenlock
|
在设备上设置屏幕密码。 在设备上关闭屏幕密码。 |
verified_chrome_os
|
请使用已验证 [OS 类型] 的设备。 请使用未验证 [OS 类型] 的设备。 |
is_admin_approved_device
|
请使用贵组织管理员批准的设备。 请使用贵组织管理员未批准的设备。 |
is_corp_owned_device
|
请使用贵组织拥有的设备。 请使用贵组织未拥有的设备。 |
encryption_status
|
请使用加密的设备。 请使用未加密的设备。 |
os_type
|
请切换到 [OS 类型] 设备。 [OS 类型] 设备无法访问此应用。 |
os_version
|
请更新到至少 [版本] 的操作系统版本。 请将操作系统降级到低于 [版本] 的版本。 |
问题排查
发生以下任一情况时,Policy Remediator 无法生成补救措施:
- 资源具有冲突的政策,例如用户必须使用 Windows 和 macOS 进行连接。
- Policy Remediator 不支持该属性。
- 服务代理没有补救权限。