快速入门:使用 Google 帐号管理访问权限

本页面介绍如何部署 App Engine 标准或柔性环境应用,以及如何使用 Identity-Aware Proxy (IAP) 为该应用提供保护。本快速入门提供了用于验证登录用户姓名的 App Engine 标准环境 Web 应用示例代码,并使用 Cloud Shell 克隆和部署示例应用。您可以参考本快速入门来为自己的 App Engine 标准环境或 App Engine 柔性环境应用启用 IAP。

如果您打算通过内容分发网络 (CDN) 传送资源,请参阅最佳做法指南了解重要信息。

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册一个新帐号

  2. 在 Cloud Console 的项目选择器页面上,选择或创建 Cloud 项目。

    转到项目选择器页面

  3. 确保您的 Google Cloud 项目已启用结算功能。 了解如何确认您的项目已启用结算功能

启动 Cloud Shell

  1. 点击控制台窗口顶部的激活 Cloud Shell

    一个 Cloud Shell 会话随即会在控制台底部的新框架内打开,并显示命令行提示符。该 Shell 会话可能要在几秒钟后才能初始化。

    Cloud Shell 会话框架
  2. 在 Cloud Shell 中输入以下命令,以显示您的项目 ID:
    gcloud projects list
  3. 运行以下命令来设置默认项目,其中 YOUR-PROJECT-ID 是要在本快速入门中使用的项目 ID:
    gcloud config set project YOUR-PROJECT-ID

获取示例代码

  1. 在 Cloud Shell 中输入以下命令,以获取示例应用:

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    
  2. 转到包含示例代码的目录:

    cd python-docs-samples/appengine/standard/users/
    

部署应用

  1. 使用 gcloud 将应用部署到 App Engine:
    gcloud app deploy
  2. target url: 显示为 https://YOUR_PROJECT_ID.appspot.com 格式。如需访问您的应用,请通过网络浏览器转到该网址。

启用 IAP

选择项目

  1. 转到 Identity-Aware Proxy 页面
    转到 Identity-Aware Proxy 页面
  2. 如果您还没有活动项目,系统将提示您选择要使用 IAP 保护的项目。请选择用于部署示例应用的项目。

配置 OAuth 同意屏幕

如果您尚未配置项目的 OAuth 同意屏幕,系统将提示您执行此操作。您必须配置 OAuth 同意屏幕上的电子邮件地址和产品名称。

  1. 转到 OAuth 同意屏幕
    配置同意屏幕
  2. 支持电子邮件地址下,选择要显示为公开联系人的电子邮件地址。该电子邮件地址必须是您自己的电子邮件地址或您拥有的某一 Google 群组的电子邮件地址。
  3. 输入您要显示的应用名称
  4. 根据需要添加任何可选详细信息。
  5. 点击保存

如需稍后更改 OAuth 同意屏幕上的信息(例如产品名称或电子邮件地址),请重复上述步骤配置同意屏幕。

设置 IAP 访问权限

  1. 转到 Identity-Aware Proxy 页面
    转到 Identity-Aware Proxy 页面
  2. 通过选中要修改的资源左侧的框,选择该资源。在右侧面板上,点击添加成员
  3. 添加成员对话框中,添加要为其授予项目 IAP-secured Web App User 角色的群组或个人的电子邮件地址。

    可以添加以下种类的帐号作为成员:

    • Google 帐号:user@gmail.com
    • Google 群组:<管理员>@googlegroups.com
    • 服务帐号:<服务器>@<示例>.gserviceaccount.com
    • G Suite 域名:example.com

    请务必添加您有权访问的 Google 帐号。

  4. 添加完成员后,点击添加

启用 IAP

  1. Identity-Aware Proxy 页上的 HTTPS 资源下,找到您要限制访问的 App Engine 应用。已发布列会显示该应用的网址。如需为该应用开启 IAP,
    • 如需启用 IAP,您需要 appengine.applications.updateclientauthconfig.clients.createclientauthconfig.clients.getWithSecret 权限。这些权限由 Project Editor 等角色授予。如需了解详情,请参阅管理对受 IAP 保护的资源的访问权限
  2. 如需确认您是否希望 IAP 保护应用安全,请在随即显示的开启 IAP 窗口中点击开启。启用后,IAP 会向对应用的所有连接请求索要登录凭据。

测试访问权限

  1. 使用您添加到 IAP 且拥有 IAP-secured Web App User 角色的 Google 帐号访问应用网址,如上所述。您应该对该应用具有不受限制的访问权限。

  2. 使用 Chrome 中的无痕式窗口访问该应用,并根据提示登录。如果您尝试使用未经 IAP-secured Web App User 角色授权的帐号访问该应用,则会看到一条消息,提示您无权访问。

后续步骤