如需在 Google Distributed Cloud (GDC) 网闸隔离配置中运行 Vertex AI 服务,请准备一个专用项目并配置开发环境。设置 gdcloud CLI 和服务账号,以便将机器学习集成到经过网闸隔离的应用和工作流中。
本文档适用于应用操作员群组中利用 AI 功能优化经过网闸隔离应用和工作流的应用开发者。如需了解详情,请参阅适用于 GDC 网闸隔离配置文档的受众群体。
让管理员为您设置项目
设置项目的大多数任务都需要平台管理员访问权限。管理员必须确定有意义的项目名称和项目 ID,以标识项目。如果您属于某个组织或计划创建多个项目,请考虑 Distributed Cloud 上可识别哪些命名惯例和实体。如需了解详情,请参阅资源层次结构。
如果您缺少必要的权限,请让管理员代表您设置项目。
按照本文档中的说明设置项目。
准备工作
如需获得创建项目和配置服务账号所需的权限,请让您的 IAM 组织管理员或 IAM 项目管理员为您授予项目命名空间中的以下角色:
- 如需创建项目,请获取 Project Creator (
project-creator) 角色。 - 如需创建服务账号,请获取 IAM Project Admin (
project-iam-admin) 角色。
如需了解这些角色,请参阅准备 IAM 权限。如需了解如何向主体授予权限,请参阅授予和撤消访问权限。
然后,创建一个项目,将您的 Vertex AI 服务分组在一起。确保您的 Distributed Cloud 项目已启用结算功能。
安装 gdcloud CLI
如需激活 Distributed Cloud 服务并访问工具和组件,请安装 gdcloud CLI。
请按照以下步骤安装 gdcloud CLI:
- 下载 gdcloud CLI。
初始化 gdcloud CLI:
gdcloud init如需了解详情,请参阅安装 gdcloud CLI。
使用 gdcloud CLI 进行身份验证:
gdcloud auth login如需详细了解如何使用配置的身份提供方进行身份验证,以及如何获取用户身份和 Kubernetes 集群的 kubeconfig 文件,请参阅 gdcloud CLI 身份验证。
设置服务账号
服务账号(也称为服务身份)在管理 Vertex AI 服务方面发挥着至关重要的作用。这些账号是您的工作负载用来访问 Vertex AI 服务和 AI 模型,以及以编程方式进行授权 API 调用的账号。例如,服务账号可以管理 Vertex AI Workbench 笔记本,以使用 Speech-to-Text API 转写音频文件。与用户账号类似,服务账号也可以被授予权限和角色,从而提供安全且受控的环境,但它们无法像人类用户那样登录。
您可以通过指定服务账号名称、项目 ID 和密钥对的 JSON 文件名称,为 Vertex AI 服务设置服务账号。
如需详细了解如何创建服务账号、为其分配角色绑定以及创建和添加密钥对,请参阅管理服务账号。
请按照以下步骤使用 gdcloud CLI 设置服务账号:
创建服务账号:
gdcloud iam service-accounts create SERVICE_ACCOUNT --project=PROJECT_ID替换以下内容:
SERVICE_ACCOUNT:服务账号的名称。该名称在项目命名空间中必须是唯一的。PROJECT_ID:您要在其中创建服务账号的项目 ID。如果已设置gdcloud init,则可以省略--project标志。
创建应用默认凭证 JSON 文件以及公钥和私钥对:
gdcloud iam service-accounts keys create APPLICATION_DEFAULT_CREDENTIALS_FILENAME \ --project=PROJECT_ID \ --iam-account=SERVICE_ACCOUNT \ --ca-cert-path=CA_CERTIFICATE_PATH替换以下内容:
APPLICATION_DEFAULT_CREDENTIALS_FILENAME:JSON 文件的名称,例如my-service-key.json。PROJECT_ID:要为其创建密钥的项目。SERVICE_ACCOUNT:要为其添加密钥的服务账号的名称。CA_CERTIFICATE_PATH:可选标志,用于指定验证身份验证端点的证书授权机构 (CA) 证书的路径。如果您未指定此路径,系统会使用系统 CA 证书。您必须在系统 CA 证书中安装 CA。
Distributed Cloud 会将公钥添加到服务账号密钥中,您可以使用这些密钥来验证私钥签名的 JSON Web 令牌 (JWT)。私钥会写入应用默认凭证 JSON 文件。
通过分配角色绑定,向服务账号授予对项目资源的访问权限。角色的名称取决于您要使用服务账号的 Vertex AI 服务。
gdcloud iam service-accounts add-iam-policy-binding \ --project=PROJECT_ID \ --iam-account=SERVICE_ACCOUNT \ --role=ROLE替换以下内容:
PROJECT_ID:要在其中创建角色绑定的项目。SERVICE_ACCOUNT:要使用的服务账号的名称。ROLE:要分配给服务账号的预定义角色。以Role/name格式指定角色,其中 Role 是 Kubernetes 类型(例如Role或ProjectRole),name 是预定义角色的 Kubernetes 资源名称。例如,您可以将以下角色分配给服务账号,以使用一些 Vertex AI 预训练 API:- 如需分配 AI OCR Developer (
ai-ocr-developer) 角色,请将角色设置为Role/ai-ocr-developer。 - 如需分配 AI Speech Developer (
ai-speech-developer) 角色,请将该角色设置为Role/ai-speech-developer。 - 如需分配 AI Translation Developer (
ai-translation-developer) 角色,请将角色设置为Role/ai-translation-developer。
- 如需分配 AI OCR Developer (