为团队设置项目

本页面提供了一些示例,说明如何为使用 Gemini Enterprise Agent Platform 的团队设置项目。本页面假定您已熟悉 Identity and Access Management (IAM) 概念,例如政策、角色、权限和主账号,如使用 IAM 进行 Agent Platform 访问权限控制以及与访问管理相关的概念中所述。

这些示例旨在用于常规情景。请考虑团队的具体需求,并相应地调整项目设置方式。

概览

Agent Platform 使用 IAM 来管理对资源的访问权限。在规划资源的访问权限控制时,请考虑以下事项:

  • 您可以在项目级层或资源级层管理访问权限。 项目级访问权限适用于该项目中的所有资源。对特定资源的访问权限仅适用于该资源。

  • 您可以通过向主账号分配 IAM 角色来授予访问权限。预定义角色可让您更轻松地设置访问权限,但我们建议使用自定义角色,因为您可以创建这些角色,以便将其访问权限限制为仅包含所需的权限。

如需详细了解访问权限控制,请参阅使用 IAM 进行 Agent Platform 访问权限控制 。

单个项目,共享对数据和 Agent Platform 资源的访问权限

在此示例中,团队共享一个包含其数据和 Agent Platform 资源的单个项目。

如果团队的数据、容器和其他 Agent Platform 资源可以在项目的所有用户之间共享,您可以通过这种方式设置项目。

项目的 IAM 允许政策可能类似于以下内容:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/aiplatform.user",
      "members": [
        "user:USER1_EMAIL_ADDRESS",
        "user:USER2_EMAIL_ADDRESS"
      ]
    },
    {
      "role": "roles/storage.admin",
      "members": [
        "user:USER1_EMAIL_ADDRESS",
        "user:USER2_EMAIL_ADDRESS"
      ]
    },
    {
      "role": "roles/aiplatform.serviceAgent",
      "members": [
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc."
      ]
    }
  ]
}

通过这种方式设置项目,团队可以更轻松地协作训练模型、调试代码、部署模型和观察端点。所有用户都会看到相同的资源,并且可以使用相同的数据进行训练。 Agent Platform 资源在单个项目中运行,因此您无需授予对项目外部资源的访问权限。配额在团队中共享。

如需为团队的项目设置访问权限控制, 请参阅管理对项目、文件夹和 组织的访问权限

将数据和 Agent Platform 资源分开

在此示例中,团队的数据位于与 Agent Platform 资源分开的项目中。

在以下情况下,您可以通过这种方式设置项目:

  • 团队的数据很难移到与 Agent Platform 资源相同的项目中。

  • 团队的数据需要对可以访问它的用户进行特定控制。

在这些情况下,我们建议为数据创建一个项目,并为 Agent Platform 资源创建一个项目。团队的开发者共享包含 Agent Platform 资源的项目。 他们使用 Agent Platform 资源来访问和处理存储在其他项目中的数据。数据管理员通过服务代理或自定义服务账号授予 Agent Platform 资源访问权限。

例如,您可以通过类似于以下内容的允许政策向默认 Agent Platform 服务代理授予对 Cloud Storage 存储桶的访问权限:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/storage.objectViewer",
      "members": [
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform-cc.",
        "user:service-PROJECT_NUMBER@gcp-sa-aiplatform."
      ]
    }
  ]
}

创建 Agent Platform 资源时,请尽可能指定一个服务帐号用作资源身份,并使用该服务帐号来管理访问权限控制。这样便可以更轻松地授予特定资源对数据的访问权限,并随时间推移管理权限。

例如,您可以使用类似于以下内容的政策向服务账号授予对 BigQuery 的访问权限:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/bigquery.user",
      "members": [
        "user:SERVICE_ACCOUNT_NAME@PROJECT_NUMBER."
      ]
    }
  ]
}

如需为服务账号设置访问权限控制,请参阅 管理对服务账号的访问权限

在包含 Agent Platform 资源的项目中,管理员可以通过对指定服务账号授予 Service Account User 角色 (roles/iam.serviceAccountUser) 来向用户授予对数据的访问权限。

将不太可信的代码隔离到其他单独的项目中

模型、预测容器和训练容器都是代码。请务必将不太可信的代码与敏感模型和数据隔离开来。在各自的项目中部署端点和训练阶段,使用权限非常有限的专用服务账号,并使用 VPC Service Controls 对其进行隔离,从而减少向这类容器和模型授予的访问权限的影响。

后续步骤