在此步骤中,您将配置 Identity-Aware Proxy (IAP),以便通过执行以下操作来为 Cloud Run 中部署的应用预配集中式授权层:
配置 OAuth 权限请求页面:OAuth 权限请求页面是一个提示,其中包含项目摘要、项目政策以及请求的访问授权范围。通过为您的应用配置 OAuth 权限请求页面,您可以定义用户和应用审核者可以使用的内容,还可以注册应用以便以后发布。如需详细了解 OAuth 权限请求页面,请参阅配置 OAuth 权限请求页面并选择范围。
创建 OAuth 访问凭据:您需要为应用和网域创建 OAuth 客户端 ID,以便应用可以调用所需的 API。如需详细了解 OAuth 凭据,请参阅创建访问凭据。
在负载均衡器上启用 IAP:使用 OAuth 客户端 ID 和密钥,在您为应用创建的负载均衡器上启用 IAP。
开启 IAP:创建可以访问您的应用的主账号,然后开启 IAP,从而保护应用的安全。
配置 OAuth 权限请求页面
在 Google Cloud 控制台中,前往 OAuth 权限请求页面。
为您的应用选择以下用户类型之一:
外部:拥有 Google 账号的任何用户都可以发出授权请求。为完成本教程,我们建议您选择外部。
内部:只有 Google Cloud 组织的成员才能向应用发出授权请求。
点击创建。
在已获授权的网域部分中,点击添加网域,并指定在创建证书期间使用的域名。
在开发者联系信息部分中,输入您的电子邮件地址。
点击保存并继续。
在范围页面上,点击保存并继续。
可选:如果您选择了外部作为用户类型,请在测试用户页面上添加测试用户,如下所示:
点击 Add users(添加用户)。
输入您的电子邮件地址和任何其他已获授权的测试用户,然后点击保存并继续。
查看应用注册摘要。如需进行更改,请点击修改。如果应用注册未出现任何问题,请点击返回信息中心。
创建 OAuth 访问凭据
在 Google Cloud 控制台中,前往凭据。
点击创建凭据,然后点击 OAuth 客户端 ID。
在应用类型列表中,点击 Web 应用。
在名称字段中,输入
gemini-streamlit-app
。在已获授权的 JavaScript 来源部分中,点击添加 URI,然后输入以下 URI:
https://DOMAIN_NAME
将 DOMAIN_NAME 替换为证书创建期间使用的域名。
点击创建。
此时会显示 OAuth 客户端已创建屏幕,其中显示客户端 ID 和客户端密钥。
复制客户端 ID 和客户端密钥。您将在本教程的下一步中需要这些详细信息。
在负载均衡器上启用 IAP
-
In the Google Cloud console, 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.
- 在 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
前往 Identity-Aware Proxy 页面。
选择您的项目。
选中
gemini-streamlit-app-backend
旁边的复选框。点击添加主账号。
在以下字段中输入详细信息:
新的主账号:输入群组或个人的电子邮件地址,以向其授予访问您的应用的权限。以下任意一项都可以作为主账号:
Google 账号
Google 群组
服务账号
Google Workspace 网域
确保您添加了您有权访问的 Google 账号。
在角色列表中,选择 Cloud IAP > IAP-secured Web App User。
点击保存。
在 Identity-Aware Proxy 页面上的应用下方,点击与
gemini-streamlit-app-backend
资源对应的行中的 IAP 切换开关,将其切换到开启位置。在随即显示的开启 IAP 窗口中,选中相应的复选框,确认您已阅读配置要求并相应地配置了后端。
点击开启。 开启 IAP 后,对于与负载均衡器的所有连接,它都要求提供登录凭据。只有具有项目的 IAP-Secured Web App User 角色的账号才能获得给定访问权限。