在 Google Cloud Vertex AI 中使用服务账号 (Service Account) 进行身份验证和授权
15

在 Google Cloud 的 Vertex AI 中,通常情况下我们不使用传统的 “API Key” 来访问服务,而是使用服务账号 (Service Account) 结合 IAM (Identity and Access Management) 权限来提供安全且细粒度的访问控制。

传统的 API Key(例如你在使用 Google Maps API 时可能遇到的那种)通常用于不需要身份验证或仅用于限额控制的公共 API。而 Vertex AI 涉及敏感数据、模型和计算资源,需要更强大的身份验证和授权机制。

以下是为 Vertex AI 创建和使用服务账号的详细步骤:

核心概念:服务账号 (Service Account)

服务账号是 Google Cloud 的一种特殊类型的账号,代表一个非人类用户,例如你的应用程序、虚拟机或服务器。当你需要以编程方式访问 Google Cloud 服务(如 Vertex AI)时,服务账号是推荐的方式。

步骤 1:创建服务账号

  1. 登录 Google Cloud 控制台
    访问 console.cloud.google.com

  2. 选择你的项目
    确保你选择了计划使用 Vertex AI 的正确 Google Cloud 项目。

  3. 导航到 IAM & Admin -> Service Accounts
    在左侧导航菜单中,找到 “IAM & Admin” (IAM 和管理),然后点击 “Service Accounts” (服务账号)。

  4. 创建服务账号

    • 点击页面顶部的 “+ CREATE SERVICE ACCOUNT” (+ 创建服务账号) 按钮。
    • Service account name (服务账号名称):输入一个易于识别的名称,例如 vertex-ai-api-access
    • Service account ID (服务账号 ID):会自动生成,你也可以修改。
    • Service account description (服务账号描述):填写一个简短的描述,说明该服务账号的用途。
    • 点击 “CREATE AND CONTINUE” (创建并继续)。

步骤 2:授予服务账号访问 Vertex AI 的权限 (IAM 角色)

这一步至关重要,决定了你的服务账号能够对 Vertex AI 执行哪些操作。遵循最小权限原则,只授予必要的权限。

  1. 授予此服务账号访问项目的权限

    • 在 “Grant this service account access to project” (授予此服务账号访问项目的权限) 页面中,在 “Select a role” (选择角色) 下拉菜单中,搜索并添加以下最常见的 Vertex AI 相关角色:
      • a. Vertex AI User (Vertex AI 用户):允许服务账号访问和执行 Vertex AI 中的大部分操作,例如创建和管理数据集、模型、端点、作业等。
      • b. Storage Object Viewer (存储对象查看者) / Storage Object Creator (存储对象创建者) / Storage Object Admin (存储对象管理员):如果你的 Vertex AI 工作流程需要与 Cloud Storage 上的数据(如训练数据、模型工件)进行交互,你可能需要授予相应的 Cloud Storage 权限。
      • c. 其他特定角色:根据你的具体需求,可能还需要其他角色,例如:
        • Vertex AI Administrator (Vertex AI 管理员) - 授予完全控制权。
        • BigQuery Data Viewer / BigQuery Data Editor - 如果数据存储在 BigQuery 中。
        • Service Usage Consumer - 允许使用项目中的服务。
    • 选择完所需角色后,点击 “DONE” (完成)。
  2. 继续 (可选)

    • 你可以在第三步 “Grant users access to this service account” (授予用户访问此服务账号的权限) 中跳过。这通常用于允许人类用户模拟此服务账号。
    • 点击 “DONE” (完成) 完成服务账号的创建。

步骤 3:为服务账号创建和下载 JSON 密钥

这是你实际用于应用程序进行身份验证的“密钥文件”。请安全地存储此文件!

  1. 返回服务账号列表
    在 “IAM & Admin -> Service Accounts” 页面,你会看到刚刚创建的服务账号。

  2. 管理密钥

    • 点击你刚刚创建的服务账号的名称。
    • 点击顶部的 “KEYS” (密钥) 选项卡。
  3. 添加密钥

    • 点击 “ADD KEY” (添加密钥) 下拉菜单,然后选择 “Create new key” (创建新密钥)。
    • 选择 “JSON” 作为密钥类型。这是最常用的格式。
    • 点击 “CREATE” (创建)。
  4. 下载密钥文件
    你的浏览器会自动下载一个 .json 后缀的文件 (例如:your-project-id-xxxxxxxxxxxx.json)。此文件包含敏感凭据,请妥善保管,不要上传到公共代码仓库!

在 Google Cloud Vertex AI 中使用服务账号 (Service Account) 进行身份验证和授权
http://152.53.84.24:8090/archives/zai-goog
作者
Administrator
发布于
更新于
许可