本文档介绍了如何设置 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 环境。
所需的角色
请让管理员授予以下角色:
Cloud BeyondCorp 管理员 (
roles/beyondcorp.admin),以便在项目中设置 Chrome 企业进阶版Access Context Manager Admin (
roles/accesscontextmanager.policyAdmin) ,用于读取和添加新的访问权限级别Service Usage Viewer (
roles/serviceusage.serviceUsageViewer) ,以便使用 Google Cloud 控制台
详细了解 Identity and Access Management (IAM) 角色。
准备工作
在设置安全网关之前,请确认您已具备以下条件:
- Chrome 企业进阶版许可。
- 使用管理员账号访问 Google 管理控制台。
- 无单独控件的附加 Google 服务已开启。
- 系统会为您的用户启用Google Cloud 服务。
已分配结算账号且已启用以下 API 的 Google Cloud 项目:BeyondCorp API
对于非Google Cloud 环境中的私有应用,需要在Google Cloud 环境与应用所在的非Google Cloud 环境之间建立 Cloud VPN 或 Cloud Interconnect 连接。如需详细了解如何设置网络连接,请参阅以下资源:
设置 shell 环境
为了简化设置流程并与安全网关 API 进行交互,请在工作 shell 中定义以下环境变量。
- 常规参数
PROJECT_ID=PROJECT_ID
替换以下内容:
PROJECT_ID:创建安全网关的项目的 ID。
- 安全网关参数
SECURITY_GATEWAY_ID=
SECURITY_GATEWAY_IDSECURITY_GATEWAY_DISPLAY_NAME="SECURITY_GATEWAY_DISPLAY_NAME"替换以下内容:
SECURITY_GATEWAY_ID:要创建的安全网关的 ID。ID 最多可包含 63 个字符,并且可以包含小写字母、数字和连字符。第一个字符必须是字母,最后一个字符可以是字母或数字。-
SECURITY_GATEWAY_DISPLAY_NAME:安全网关的人类可读名称。名称不得超过 63 个字符,并且可以包含可打印的字符。
创建安全网关
Chrome 企业进阶版安全网关是建立与应用的安全连接的基本构建块。
控制台
如需创建安全网关,请执行以下操作:
- 在 Google Cloud 控制台中,前往安全网关页面。
前往安全网关 - 选择要为其创建安全网关的项目。
- 如需创建安全网关,请点击创建新网关,然后等待网关创建过程完成。您可以在 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 环境中。
如需向服务账号授予权限,请执行以下操作:
-
获取安全网关的详细信息,以确定委托的服务账号电子邮件地址。电子邮件地址位于响应的
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"
-
为服务账号和目标 VPC 项目设置环境变量。如需获取服务账号电子邮件地址,您可以使用以下命令:
DELEGATING_SERVICE_ACCOUNT=`gcloud beyondcorp security-gateways describe SECURITY_GATEWAY_ID --project