第 4 步:配置 Identity-Aware Proxy (IAP)

在此步骤中,您将配置 Identity-Aware Proxy (IAP),以便通过执行以下操作来为 Cloud Run 中部署的应用预配集中式授权层:

  1. 配置 OAuth 权限请求页面:OAuth 权限请求页面是一个提示,其中包含项目摘要、项目政策以及请求的访问授权范围。通过为您的应用配置 OAuth 权限请求页面,您可以定义用户和应用审核者可以使用的内容,还可以注册应用以便以后发布。如需详细了解 OAuth 权限请求页面,请参阅配置 OAuth 权限请求页面并选择范围

  2. 创建 OAuth 访问凭据:您需要为应用和网域创建 OAuth 客户端 ID,以便应用可以调用所需的 API。如需详细了解 OAuth 凭据,请参阅创建访问凭据

  3. 在负载均衡器上启用 IAP:使用 OAuth 客户端 ID 和密钥,在您为应用创建的负载均衡器上启用 IAP。

  4. 开启 IAP:创建可以访问您的应用的主账号,然后开启 IAP,从而保护应用的安全。

  1. 在 Google Cloud 控制台中,前往 OAuth 权限请求页面

    转到 OAuth 同意屏幕

  2. 为您的应用选择以下用户类型之一:

    • 外部:拥有 Google 账号的任何用户都可以发出授权请求。为完成本教程,我们建议您选择外部

    • 内部:只有 Google Cloud 组织的成员才能向应用发出授权请求。

  3. 点击创建

  4. 已获授权的网域部分中,点击添加网域,并指定在创建证书期间使用的域名。

  5. 开发者联系信息部分中,输入您的电子邮件地址。

  6. 点击保存并继续

  7. 范围页面上,点击保存并继续

  8. 可选:如果您选择了外部作为用户类型,请在测试用户页面上添加测试用户,如下所示:

    1. 点击 Add users(添加用户)。

    2. 输入您的电子邮件地址和任何其他已获授权的测试用户,然后点击保存并继续

  9. 查看应用注册摘要。如需进行更改,请点击修改。如果应用注册未出现任何问题,请点击返回信息中心

创建 OAuth 访问凭据

  1. 在 Google Cloud 控制台中,前往凭据

    转到“凭据”页面

  2. 点击创建凭据,然后点击 OAuth 客户端 ID

  3. 应用类型列表中,点击 Web 应用

  4. 名称字段中,输入 gemini-streamlit-app

  5. 已获授权的 JavaScript 来源部分中,点击添加 URI,然后输入以下 URI:

    https://DOMAIN_NAME
    

    DOMAIN_NAME 替换为证书创建期间使用的域名。

  6. 点击创建

    此时会显示 OAuth 客户端已创建屏幕,其中显示客户端 ID客户端密钥

  7. 复制客户端 ID客户端密钥。您将在本教程的下一步中需要这些详细信息。

在负载均衡器上启用 IAP

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. 在 Cloud Shell 终端中,运行以下命令:
    
          gcloud compute backend-services update gemini-streamlit-app-backend \
          --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
          --global
          

    替换以下内容

    • CLIENT_ID:来自您刚刚创建的 OAuth 凭据的 OAuth 客户端 ID。
    • CLIENT_SECRET:来自您刚刚创建的 OAuth 凭据的 OAuth 客户端密钥。

设置和使用 IAP

  1. 前往 Identity-Aware Proxy 页面。

    转到 Identity-Aware Proxy 页面

  2. 选择您的项目。

  3. 选中 gemini-streamlit-app-backend 旁边的复选框。

  4. 点击添加主账号

  5. 在以下字段中输入详细信息:

    • 新的主账号:输入群组或个人的电子邮件地址,以向其授予访问您的应用的权限。以下任意一项都可以作为主账号:

      • Google 账号

      • Google 群组

      • 服务账号

      • Google Workspace 网域

      确保您添加了您有权访问的 Google 账号。

  6. 角色列表中,选择 Cloud IAP > IAP-secured Web App User

  7. 点击保存

  8. Identity-Aware Proxy 页面上的应用下方,点击与 gemini-streamlit-app-backend 资源对应的行中的 IAP 切换开关,将其切换到开启位置。

  9. 在随即显示的开启 IAP 窗口中,选中相应的复选框,确认您已阅读配置要求并相应地配置了后端。

  10. 点击开启。 开启 IAP 后,对于与负载均衡器的所有连接,它都要求提供登录凭据。只有具有项目的 IAP-Secured Web App User 角色的账号才能获得给定访问权限。