Deploy sample App Engine application

检查我的进度

/ 100

此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP112

Google Cloud 自学实验

概览

Web Security Scanner 是 Security Command Center 的一项内置服务,可识别 Google App Engine、Google Kubernetes Engine (GKE) 和 Compute Engine Web 应用中的安全漏洞。它会抓取您的应用,跟踪起始网址范围内的所有链接,并尝试执行尽可能多的用户输入和事件处理脚本。

此扫描器旨在完善您现有的安全设计和开发流程。为避免出现误报让开发者分心,扫描器倾向于少报,因此不会显示可信度低的提醒。该扫描器无法替代人工安全审查,也无法保证您的应用绝对没有安全漏洞。

学习内容

在本实验中,您将学习如何执行以下任务:

  • 使用 Web Security Scanner 运行扫描

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。右侧是实验设置和访问权限面板,其中包含以下内容:

    • 打开 Google Cloud 控制台按钮
    • 您在本实验中必须使用的临时凭证(用户名和密码)
    • 帮助您逐步完成该实验所需的其他信息(如果需要)

    请注意,实验计时器位于页面顶部附近,将显示剩余时间。

  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:可以将这些标签页分别放在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号。
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验设置和访问权限面板中找到“用户名”。

  4. 点击下一步。

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验设置和访问权限面板中找到“密码”。

  6. 点击下一步。

    重要提示:您必须使用实验提供的凭证。请勿使用您的 Google Cloud 账号凭证。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 依次点击进入后续页面:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重身份验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标。

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权。

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南。

任务 1. 在开始之前,您需要准备一个可供扫描的应用

在本实验中,您将部署一个 Hello World 示例应用,并使用 Security Scanner 对其进行扫描。

  1. 在 Cloud Shell 中运行以下命令,克隆 Hello World 示例应用代码库:
gcloud storage cp -r gs://spls/gsp067/python-docs-samples .
  1. 然后前往包含示例代码的目录:
cd python-docs-samples/appengine/standard_python3/hello_world
  1. 使用 sed 命令更改 Python 版本。
sed -i "s/python37/python313/g" app.yaml
  1. 运行以下命令,并在 requirements.txt 文件中添加 itsdangerous==2.0.1、Jinja2==3.0.3 和 werkzeug==2.0.1:
nano requirements.txt

修改后的文件如下所示:

Flask==1.1.2 itsdangerous==2.0.1 Jinja2==3.0.3 werkzeug==2.0.1
  1. 保存文件(按 CTRL+O,然后按 Enter 键),并退出 nano(按 CTRL+X)。
注意:在 requirements.txt 文件中添加 itsdangerous==2.0.1 软件包,是为了确保数据在传输到不受信任的环境以及传回时都能保持安全。

任务 2. 测试应用

  1. 安装必备的 Python 环境。
sudo apt update sudo apt install python3-venv -y python3 -m venv create myvenv source myvenv/bin/activate
  1. 在应用的 app.yaml 配置文件所在的 hello_world 目录中,运行以下命令来启动本地开发服务器:
flask --app main run
  1. 点击 Cloud Shell 工具栏上的网页预览图标。

  2. 点击更改端口。

  3. 将端口号更改为 5000,然后点击更改并预览。

展开的网页预览菜单

注意:如果您没有看到网页预览图标,请关闭左上角的导航菜单。
  1. 按 CTRL+C 停止本地应用并返回命令行。

任务 3. 部署应用

在本实验中,请将 用作 App Engine 区域。

  1. 在应用的根目录 (hello_world) 中运行以下命令,将应用部署到 App Engine:
gcloud app create
  1. 当系统提示您选择区域时,请输入您附近区域的编号。
gcloud app deploy
  1. 在实验中创建应用后,系统会询问您是否要继续。点击 Y 继续。

随后,系统将开始部署您的应用。

注意:如果出现超时错误,请重新运行该命令。

任务 4. 查看应用

  • 如需在浏览器中启动应用,请运行以下命令:
gcloud app browse

Cloud Shell 中会显示一个可供使用的链接,您也可以直接访问 http://[YOUR_PROJECT_ID].uc.r.appspot.com 来查看应用。这是您要进行漏洞扫描的网址,在下一步中,它将被添加到您的扫描参数中。

验证您已完成的任务

点击检查我的进度,验证您已执行的任务。如果您成功完成了任务,系统会给出评分。

部署 App Engine 示例应用。

任务 5. 运行扫描

扫描不会立即运行,而是加入队列中稍后执行;有时可能需要数小时才能执行扫描,具体取决于当前负载。如需详细了解这些表单设置,请参阅使用 Web Security Scanner。

  1. 依次前往导航菜单 > API 和服务 > 库。

  2. 在“搜索 API 和服务”中,输入 Web Security Scanner。

  3. 选择 Web Security Scanner API,然后点击启用以启用该 API。

  4. 在导航菜单中,依次选择安全 > Web Security Scanner。

  5. 点击新建扫描作业。

  6. 在起始网址 1 下,输入您要扫描的应用的网址。

  7. 点击保存以创建扫描。

  8. 点击运行以开始扫描:

显示“运行”按钮的 Web Security Scanner 页面

扫描将加入队列,您可以在扫描过程中查看状态栏进度。扫描概览页面会在扫描完成后显示结果部分。下图展示了未检测到漏洞时的示例扫描结果:

“结果”标签页显示一条消息,提示扫描时发现的网址数量出乎意料地少

注意:扫描需要 4-5 分钟才能完成。如果未看到任何更新,请尝试刷新页面。

太棒了!您刚使用 Web Security Scanner 完成了一次扫描。您会看到一条警告,提醒您仅扫描 1 个网址并非最佳做法。本实验旨在通过一个简单的示例进行演示。您的生产环境将有大量网址需要扫描。

任务 6. 检验您的掌握情况

下面有一道选择题可强化您对此实验所涉概念的理解。请尽您所能回答。

恭喜!

在本实验中,您学习了如何使用 Web Security Scanner 运行扫描。

后续步骤/了解详情

本实验是 Qwik Starts 系列实验的其中一项。这些实验旨在帮助您初步了解 Google Cloud 提供的诸多功能。请在实验目录中搜索“Qwik Starts”,找到您要参与的下一项实验!

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2026 年 5 月 20 日

上次测试实验的时间:2025 年 11 月 12 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名和密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过邮件告知您

太好了!

一旦可用,我们会通过邮件联系您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。