本页面介绍如何部署 App Engine 标准或柔性环境应用,以及如何使用 Identity-Aware Proxy (IAP) 为该应用提供保护。本快速入门提供了用于验证登录用户姓名的 App Engine 标准环境网页应用示例代码,
如果您打算通过内容分发网络 (CDN) 传送资源,请参阅最佳做法指南了解重要信息。
要保护非 Google Cloud 的资源,请参阅保护本地应用和资源。
启动 Cloud Shell
-
点击控制台窗口顶部的激活 Cloud Shell。
一个 Cloud Shell 会话随即会在控制台底部的新框架内打开,并显示命令行提示符。该 Shell 会话可能要在几秒钟后才能初始化。
-
在 Cloud Shell 中输入以下内容,以显示项目的项目 ID:
gcloud projects list
-
运行以下命令以设置默认项目,其中
YOUR-PROJECT-ID
是要在本快速入门中使用的项目 ID:gcloud config set project YOUR-PROJECT-ID
获取示例代码
在 Cloud Shell 中输入以下命令,以获取示例应用:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
转到包含示例代码的目录:
cd python-docs-samples/appengine/standard_python3/hello_world/
部署应用
-
使用
gcloud
将应用部署到 App Engine:gcloud app deploy
-
target url:
显示为https://YOUR_PROJECT_ID.appspot.com
格式。如需访问您的应用,请通过网络浏览器转到该网址。
启用 IAP
选择项目
-
转到 Identity-Aware Proxy 页面。
转到 Identity-Aware Proxy 页面 - 如果您还没有活动项目,系统将提示您选择要使用 IAP 保护的项目。请选择用于部署示例应用的项目。
配置 OAuth 同意屏幕
如果您尚未配置项目的 OAuth 同意屏幕,系统将提示您执行此操作。您必须配置 OAuth 同意屏幕上的电子邮件地址和产品名称。
-
转到 OAuth 同意屏幕。
配置同意屏幕 - 在支持电子邮件地址下,选择要显示为公开联系人的电子邮件地址。该电子邮件地址必须属于当前登录的用户帐号,或者属于当前登录的用户所属的 Google 网上论坛。
- 输入您要显示的应用名称。
- 根据需要添加任何可选详细信息。
- 点击保存。
如需稍后更改 OAuth 同意屏幕上的信息(例如产品名称或电子邮件地址),请重复上述步骤配置同意屏幕。
设置 IAP 访问权限
- 转到 Identity-Aware Proxy 页面。
转到 Identity-Aware Proxy 页面 - 通过选中要修改的资源左侧的框,选择该资源。在右侧面板上,点击添加成员。
-
在添加成员对话框中,添加要为其授予项目受 IAP 保护的网页应用用户角色的群组或个人的电子邮件地址。
可以添加以下种类的帐号作为成员:
- Google 帐号:<用户>@gmail.com
- Google 群组:<管理员>@googlegroups.com
- 服务帐号:server@example.gserviceaccount.com
- G Suite 域名:example.com
请务必添加您有权访问的 Google 帐号。
如需使资源可公开访问(而同级资源受到限制),请向“allUsers”或“allAuthenticatedUsers”授予 IAP-secured Web App User 角色。 公共访问权限部分解释了两者之间的区别。
- 添加完成员后,点击添加。
启用 IAP
-
在 Identity-Aware Proxy 页上的 HTTPS 资源下,找到您要限制访问的 App Engine 应用。已发布列会显示该应用的网址。如需为该应用开启 IAP,
- 如需启用 IAP,您需要
appengine.applications.update
、clientauthconfig.clients.create
和clientauthconfig.clients.getWithSecret
权限。这些权限由 Project Editor 等角色授予。如需了解详情,请参阅管理对受 IAP 保护的资源的访问权限。
- 如需启用 IAP,您需要
- 如需确认您是否希望 IAP 保护应用安全,请在随即显示的开启 IAP 窗口中点击开启。启用后,IAP 会向对应用的所有连接请求索要登录凭据。
测试用户身份验证
使用您添加到 IAP 且拥有 IAP-secured Web App User 角色的 Google 帐号访问应用网址,如上所述。您应该对该应用具有不受限制的访问权限。
使用 Chrome 中的无痕式窗口访问该应用,并根据提示登录。如果您尝试使用未经 IAP-secured Web App User 角色授权的帐号访问该应用,则会看到一条消息,提示您无权访问。
后续步骤
- 通过应用访问权限级别设置更丰富的情境规则。
- 通过启用 Cloud Audit Logs 查看访问权限请求。
- 详细了解 IAP。
- 了解如何获取用户的身份,以及如何开发自己的 App Engine 应用。