对专用 Web 应用的安全访问

本文档介绍了如何设置 Chrome 企业进阶版安全网关,以确保对私有 Web 应用的访问安全。

Chrome 企业进阶版安全网关充当正向代理,可强制执行零信任访问框架,并提供精细的情境感知控制,以确定哪些用户可以访问您的私有 Web 应用。

如何确保对专用 Web 应用的访问安全

通过建立安全隧道并强制执行情境感知访问权限政策,安全网关可确保专用应用的私密性,并防止其暴露于公共互联网。客户端浏览器配置会将这些应用的流量定向到安全网关代理端点。然后,安全网关会应用相关的访问政策,并在允许的情况下将请求路由到目标应用。

安全网关可帮助保护托管在以下环境中的专用 Web 应用:

  • Google Cloud 项目:安全网关可以直接访问在 Google Cloud VPC 网络中运行的应用。

  • 非Google Cloud (本地数据中心或其他云):您必须先在Google Cloud 上的私有 VPC 网络与非Google Cloud 网络之间建立连接。这通常通过 Cloud VPN 或 Cloud Interconnect 完成。然后,安全网关会使用该连接将流量发送到您的专用 VPC 网络,后者又会将流量路由到非Google Cloud 环境。

所需的角色

请让管理员授予以下角色:

详细了解 Identity and Access Management (IAM) 角色。

准备工作

在设置安全网关之前,请确认您已具备以下条件:

设置 shell 环境

为了简化设置流程并与安全网关 API 进行交互,请在工作 shell 中定义以下环境变量。

  • 常规参数
    PROJECT_ID=PROJECT_ID
          

    替换以下内容:

    • PROJECT_ID:创建安全网关的项目的 ID。
  • 安全网关参数
    SECURITY_GATEWAY_ID=SECURITY_GATEWAY_ID
    SECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"
          

    替换以下内容:

    • SECURITY_GATEWAY_ID:要创建的安全网关的 ID。ID 最多可包含 63 个字符,并且可以包含小写字母、数字和连字符。第一个字符必须是字母,最后一个字符可以是字母或数字。
    • SECURITY_GATEWAY_DISPLAY_NAME:安全网关的人类可读名称。名称不得超过 63 个字符,并且可以包含可打印的字符。

创建安全网关

Chrome 企业进阶版安全网关是建立与应用的安全连接的基本构建块。

控制台

如需创建安全网关,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往安全网关页面。
    前往安全网关
  2. 选择要为其创建安全网关的项目。
  3. 如需创建安全网关,请点击创建新网关,然后等待网关创建过程完成。您可以在 Google Cloud 控制台的通知部分跟踪进度。

gcloud

如需使用 gcloud 创建安全网关,请运行以下命令:

gcloud beyondcorp security-gateways create SECURITY_GATEWAY_ID \
    --project=PROJECT_ID \
    --location=global \
    --display-name="SECURITY_GATEWAY_DISPLAY_NAME" \
    --service-discovery={}
      

REST

如需使用 REST API 创建安全网关,请运行以下命令:

curl \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -X POST \
    -d '{ "display_name": "SECURITY_GATEWAY_DISPLAY_NAME", "service_discovery": {} }' \
    "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways?security_gateway_id=SECURITY_GATEWAY_ID"
      

配置专用 Web 应用

在安全网关中定义特定应用资源之前,您必须配置必要的权限和投放网络设置,以实现连接和适当的路由。

向服务账号授予权限

为了成功将流量发送到您的 VPC 网络,安全网关需要其委托的服务账号获得某些 IAM 权限。这样做可让安全网关访问您的私有应用,无论这些应用是托管在 Google Cloud VPC 中,还是托管在通过 Cloud VPN 或 Cloud Interconnect 连接的非Google Cloud 环境中。

如需向服务账号授予权限,请执行以下操作:

  1. 获取安全网关的详细信息,以确定委托的服务账号电子邮件地址。电子邮件地址位于响应的 delegatingServiceAccount 字段中。

    gcloud

    gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID \
        --project=PROJECT_ID \
        --location=global
                   

    REST

    curl \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://beyondcorp.googleapis.com/v1/projects/PROJECT_ID/locations/global/securityGateways/SECURITY_GATEWAY_ID"
                   
  2. 为服务账号和目标 VPC 项目设置环境变量。如需获取服务账号电子邮件地址,您可以使用以下命令:
    DELEGATING_SERVICE_ACCOUNT=`gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID --project