Model Armor 服务账号

本页介绍了与 Model Armor 相关的服务账号。

用户代管式服务账号

服务账号是一种特殊类型的账号 旨在为非人类工作负载(例如在 Compute Engine 上运行的应用、虚拟机、容器化应用或其他自动化服务)提供身份。借助这些 账号,非人类工作负载可以以编程方式向服务进行身份验证并执行已获授权的 API 调用。 Google Cloud

用户代管式服务账号通常由您创建和管理,但有些服务账号会在您启用 服务时默认创建。 Google Cloud 您仍然可以直接管理默认服务账号。

服务账号既是主账号,也是资源。 作为主账号, 您可以向服务账号授予对 Google Cloud 资源的访问权限。作为资源,您 可以授予其他主账号访问服务帐号的权限。

与 Model Armor 交互的权限

调用 Model Armor API 的应用或服务应使用服务帐号。 必须向此服务帐号授予 IAM 角色,这些角色包含执行操作(例如使用模板清理提示和响应)所需的 modelarmor.* 权限。

  • 预定义角色 roles/modelarmor.user 适用于仅需使用现有 Model Armor 模板进行清理的服务账号。它包含 modelarmor.templates.useToSanitizeUserPromptmodelarmor.templates.useToSanitizeModelResponse 等权限。
  • 其他角色(例如 roles/modelarmor.adminroles/modelarmor.editor)授予了更广泛的权限,用于管理 Model Armor 资源(模板和楼层设置),并且通常授予人类用户或自动化工具,而不是应用服务账号。

服务代理

服务代理是由 Google 创建和管理的服务账号。服务代理充当服务的身份,以便代表您访问项目中的资源。 Google Cloud

服务代理会在您启用并使用 Google Cloud API 后的某个时间点创建。创建后,Google 通常会向您的项目中的服务 代理授予特定的预定义 IAM 角色。这些角色包含服务 代理正常运行所需的最低权限。如需查看被授予角色的服务代理的完整列表,请参阅 IAM 文档中的服务代理

Service Extensions 服务代理

将 Model Armor 作为服务扩展程序与 Cloud Load Balancing 搭配使用时,会涉及 Service Extensions 服务代理。

Service Extensions 服务代理的电子邮件地址格式类似于 service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep.

在您的项目中向 Service Extensions 服务代理授予以下角色,以允许服务扩展程序调用 Model Armor:

  • roles/modelarmor.calloutUser
  • roles/modelarmor.user
  • roles/serviceusage.serviceUsageConsumer

用于授予这些角色的示例命令:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep. \
  --role=roles/modelarmor.calloutUser

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep. \
  --role=roles/modelarmor.user

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep. \
  --role=roles/serviceusage.serviceUsageConsumer

替换以下内容:

  • PROJECT_ID:项目的 ID。
  • SERVICE_EXTENSION_PROJECT_NUMBER:Service Extensions 项目编号。

后续步骤