多名团队成员在构建代理时通常会进行协作。 使用角色,您可以控制授予团队成员的访问和操作权限。
如果您使用的是 API,则您可能还有一个或多个向代理发送请求的应用。在这种情况下,您可以使用服务帐号来控制访问权限。
您可以使用身份和访问权限管理 (IAM) 或 Dialogflow 控制台来控制访问权限。在某些情况下,您必须使用 Google Cloud Console:
- Dialogflow 控制台为创建代理的用户提供 Owner/Admin 角色。如果要更改 Owner/Admin、为一个代理添加多个 Owner/Admin,或者为代理移除 Owner/Admin,则需要使用 Cloud Console。
- 如果与其他 Google Cloud 资源(如 Cloud Functions)集成,并且不希望为应用授予完整项目访问权限,则必须在 Cloud Console 中为 IAM 分配 Dialogflow API 角色(Admin、Client 或 Reader)。
- 一部分 IAM 角色具有相应的 Dialogflow 控制台角色。 如果要授予 Dialogflow 控制台上不存在的角色,则需要使用 Cloud Console。
角色
下表列出了与 Dialogflow 相关的所有角色。
若要修改代理的访问权限或删除代理,您需要一个提供“完整访问权限”的 Owner/Admin 角色。
Dialogflow 控制台角色 | IAM 角色 | 权限总结 | 权限详细信息 |
---|---|---|---|
Admin | Project > Owner |
向需要所有 Google Cloud 和 Dialogflow 资源的完整访问权限的 Project Owner 授予:
|
请参阅 IAM 基本角色定义。 |
开发者 | Project > Editor |
向需要所有 Google Cloud 和 Dialogflow 的资源编辑权限的 Project Editor 授予:
|
请参阅 IAM 基本角色定义。 |
审核者 | Project > Viewer |
向需要所有 Google Cloud 和 Dialogflow 资源读取权限的 Project Viewer 授予:
|
请参阅 IAM 基本角色定义。 |
无 | Project > Browser |
向需要读取权限以浏览项目层次结构(包括文件夹、组织和 IAM 政策)的项目浏览者授予:
|
请参阅 IAM 项目角色定义。 |
不适用 | Dialogflow > Dialogflow API Admin |
向需要 Dialogflow 特定资源完整访问权限的 Dialogflow API 管理员授予:
|
请参阅 Dialogflow IAM 角色定义。 |
无 | Dialogflow > Dialogflow API Client |
向执行 Dialogflow 特定修改并使用 API 检测意图调用的 Dialogflow API 客户端授予:
|
请参阅 Dialogflow IAM 角色定义。 |
无 | Dialogflow > Dialogflow Console Agent Editor |
向修改现有代理的 Dialogflow 控制台编辑者授予:
|
请参阅 Dialogflow IAM 角色定义。 |
无 | Dialogflow > Dialogflow API Reader |
向使用 Dialogflow API 执行 Dialogflow 特定只读调用的 Dialogflow API 客户端授予:
|
请参阅 Dialogflow IAM 角色定义。 |
使用 Cloud Console 控制访问权限
您可以使用 IAM 设置来控制访问权限。如需详细了解添加、修改和移除权限的说明,请参阅 IAM 快速入门。
要访问以下设置,请打开 Cloud Console 中的 IAM 页面。
将用户或服务帐号成员添加到项目中
您可以通过将用户或服务帐号添加为 Cloud 项目的成员来为其提供权限。添加用户的方法是提供该用户的电子邮件地址。 同样,添加服务帐号的方法是提供与该服务帐号关联的电子邮件地址。 如果要针对多个项目和代理使用一个服务帐号,则需要添加服务帐号成员。 要查找与您的服务帐号关联的电子邮件地址,请参阅 Cloud Console 中的 IAM 服务帐号页面。
要添加成员,请执行以下操作:
- 点击页面顶部的添加 按钮。
- 输入该成员的电子邮件地址。
- 选择角色。
- 点击保存。
更改权限
- 点击该成员对应的修改 按钮。
- 选择其他角色。
- 点击保存。
移除成员
- 点击该成员对应的删除 按钮。
通过 Dialogflow 控制台控制访问权限
共享选项位于代理的设置中。 要打开代理共享设置,请执行以下操作:
- 转到 Dialogflow ES 控制台。
- 在左侧边栏菜单顶部附近选择您的代理。
- 点击代理名称旁边的设置 按钮。
- 点击共享 (Share) 标签页。如果您没有所需的 Owner/Admin 角色,则无法看到共享 (Share) 标签页。
添加用户
- 在邀请新人员下方输入用户的电子邮件地址。
- 选择角色。
- 点击添加。
- 点击保存。
更改权限
- 在列表中查找该用户。
- 选择其他角色。
- 点击保存。
移除用户
- 在列表中查找该用户。
- 点击该成员对应的删除 按钮。
- 点击保存。
自动创建的服务帐号
当您创建并使用代理时,Dialogflow 会自动创建一些 Google 管理的服务帐号。
如需查看这些服务帐号,请在 IAM 页面上启用包括 Google 提供的角色授权选项。
您不应删除、修改或下载其中任何服务帐号的密钥,也不应使用这些服务帐号进行直接 API 调用。它们只能由 Dialogflow 服务用于连接到代理使用的各种 Google Cloud 服务。配置某些 Dialogflow 功能时,您可能需要通过电子邮件引用这些服务帐号。
下表介绍其中一些服务帐号:
IAM 电子邮件表单 | 目的 |
---|---|
service-project-number @gcp-sa-dialogflow.iam.gserviceaccount.com |
用于将您的代理连接到处理集成流量的服务。 |
firebase-adminsdk-alphanum @project-id.iam.gserviceaccount.com |
用于将代理连接到处理 Google 助理集成流量的服务。 |
project-id @appspot.gserviceaccount.com |
用于将代理连接到处理 Google 助理集成流量的服务。 |