多名小組成員常會合作建構代理程式,而服務也需要存取代理程式。您可以透過「角色」,控管存取權並授予實體權限。
您可以使用對話方塊代理程式主控台,或搭配身分和存取管理 (IAM) 使用 Google Cloud 主控台 (請參閱說明文件、開啟主控台) 設定存取權。 Google Cloud 控制台可用於將 IAM 角色授予主體,而 Conversational Agents 控制台則可用於將 Conversational Agents (Dialogflow CX) 代理程式角色授予主體。Conversational Agents (Dialogflow CX) 服務專員角色是 Conversational Agents (Dialogflow CX) 定義的預先定義角色,可限制對單一服務專員或特定服務專員的子資源存取權。
在某些狀況下,您必須使用 Google Cloud 主控台:
- 根據預設,IAM 專案擁有者角色會授予建立代理程式專案的使用者。這個擁有者擁有專案中所有服務機器人的完整存取權。如要變更專案擁有者,您必須使用 Google Cloud 主控台。
- 您只能透過 Dialogflow CX 主控台設定代理程式層級存取權。如要設定專案層級存取權,您必須使用 Google Cloud 控制台。
- 部分身分與存取權管理角色具有對應的 Conversational Agents (Dialogflow CX) 服務專員角色。如果您想授予 Dialogflow CX 主控台中不存在的專案層級或服務專員層級角色,則需要使用 Google Cloud 主控台。
- 如果您要使用 Vertex AI Conversation 使用者介面建立資料儲存庫代理程式,就必須使用 Google Cloud 控制台。
如果使用 API,可能也有一個或多個應用程式會傳送要求至代理程式。在這種情況下,您可以使用服務帳戶控管存取權。
使用 Conversational Agents 控制台控管存取權
您可以透過 Conversational Agents 控制台,套用為服務專員層級共用而設定的便利服務專員角色。這些角色會與 IAM 角色相關聯,並設有IAM 條件,限制存取特定代理程式或代理程式的子項資源。
如要透過對話方言控制台存取服務機器人角色設定,您必須具備相關專案的專案 IAM 管理員角色。這個角色是透過 Google Cloud 控制台授予。
新增具有任何角色或條件的授權主體,這些主體不會顯示在對話方塊控制台中。Conversational Agents (Dialogflow CX) 服務專員角色 | 摘要 | IAM 角色 |
---|---|---|
對話式朗讀器 | 提供從主控台或 API 查詢 (不偵測意圖) 代理程式的讀取權限。 | Dialogflow > Dialogflow API Reader (Dialogflow API 讀取者) |
對話管理員 | 提供完整存取權,可在控制台或 API 中建立、更新、查詢、偵測意圖,以及刪除介面代理程式。 | Dialogflow > Dialogflow API Admin (Dialogflow API 管理員) |
對話式用戶端 | 提供從控制台或 API 偵測意圖的存取權。 | Dialogflow > Dialogflow API Client (Dialogflow API 用戶端) |
服務代理 | 請參閱「服務代理」一節 | 請參閱「服務代理」一節 |
流程編輯器 | 可透過主控台或 API 更新、查詢特定流程,以及建立、更新、刪除或查詢流程資源 (頁面、路由群組和版本)。 | Dialogflow > Dialogflow 流程編輯器 |
環境編輯器 | 可透過控制台或 API 更新、查詢特定環境,以及建立、更新、刪除或查詢環境資源 (實驗)。 | Dialogflow > Dialogflow 環境編輯器 |
實體類型管理員 | 可透過主控台或 API 建立、更新、刪除或查詢代理程式的實體類型。 | Dialogflow > Dialogflow 實體類型管理員 |
意圖管理員 | 可透過控制台或 API 建立、更新、刪除或查詢介面的意圖。 | Dialogflow > Dialogflow 意圖管理員 |
測試案例管理員 | 可透過控制台或 API 建立、更新、刪除或查詢服務專員的測試案例。 | Dialogflow > Dialogflow 測試案例管理員 |
Webhook 管理員 | 可透過主控台或 API 建立、更新、刪除或查詢代理程式的 webhook。 | Dialogflow > Dialogflow Webhook 管理員 |
在代理程式的設定中可找到共用選項。如何開啟代理程式的共用設定:
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 按一下「服務專員設定」。
- 按一下 [Share] (共用) 分頁標籤。
新增主體
- 按一下「新增」。
- 輸入使用者、群組或服務帳戶的電子郵件地址。
- 選取電子郵件類型:使用者、群組或服務帳戶。
- 系統會預設加入 Dialogflow Reader 角色,使用者必須具備這個角色才能存取對話方塊控制台。
- 點選「指派角色」下方的「新增角色」。
- 在「類型」下方選取角色類型。
- 針對「流程編輯者」和「環境編輯者」角色,選取特定流程或環境,或保留預設的「全部」選項。
- 視需要設定角色的到期日。
- 按一下 [儲存]。
變更主要角色
- 按一下清單中的校長。
- 在彈出式視窗中更新這個主體的角色。
- 按一下 [儲存]。
移除主體
- 在清單中找出主體。
- 針對要移除的主體,按一下對應的刪除 delete 按鈕。
- 按一下 [確定]。
使用 Google Cloud 主控台控管存取權
您可以使用 IAM 設定控管存取權。如需新增、編輯及移除權限的詳細操作說明,請參閱身分與存取權管理快速入門導覽課程。
如要存取下列設定,請在 Google Cloud 控制台中開啟「身分與存取權管理」頁面。
在專案中新增使用者或服務帳戶
您可以將角色授予使用者或服務帳戶,藉此為 Google Cloud 專案提供權限。只要提供使用者的電子郵件地址即可新增使用者,服務帳戶也是透過提供相關聯的電子郵件地址來進行新增。如果您想在多個專案中使用單一服務帳戶,則需要新增服務帳戶。如需取得與服務帳戶相關聯的電子郵件地址,請參閱 Google Cloud 控制台中的「IAM」「Service Accounts」頁面。
如要新增負責人:
- 按一下頁面頂端的新增 按鈕。
- 輸入主體的電子郵件地址。
- 選取一個角色。
- 按一下 [Save] (儲存)。
變更權限
- 按一下主體的編輯 按鈕。
- 選取其他角色。
- 按一下 [儲存]。
移除主體
- 針對要移除的主體,按一下對應的刪除 按鈕。
新增條件,限制單一服務專員的存取權
新增或編輯實體時,您可以建立IAM 限制條件,限制對某個服務專員的存取權。
例如:
{
"expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
"title": "For Conversational Agents (Dialogflow CX) Agent AGENT_ID"
}
這個條件可讓您取得特定代理程式的基本存取權。舉例來說,如果服務帳戶設有這項條件,就只能呼叫對話方塊代理程式 (Dialogflow CX) API,存取專案條件中指定的代理程式,而無法存取專案中的其他代理程式。
如要將此條件新增至授予主體的角色,請按照下列步驟操作:
- 選取主體。
- 按一下主體的編輯 按鈕。
- 按一下「新增條件」。
- 在「標題」欄位中輸入
For Conversational Agents (Dialogflow CX) Agent AGENT_ID
,並將 AGENT_ID 替換為您的代理人 ID。 - 您可以新增任何說明。
- 選取「條件編輯器」即可建立條件。
- 新增
resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID")
運算式,將 AGENT_ID 替換為您的代理人 ID,並將 PROJECT_ID 替換為您的專案 ID。 - 按一下 [儲存]。
IAM 角色
下表列出與 Conversational Agents (Dialogflow CX) 相關的常見身分與存取權管理角色。表格中的權限摘要使用以下術語:
- 完整存取權:可修改存取權、建立、刪除、編輯及讀取任何資源。
- 編輯權限:建立、刪除、編輯及讀取任何資源的權限。
- 工作階段存取權:在對話期間呼叫僅限執行階段資源的方法的權限,例如偵測意圖、更新情境、更新工作階段實體或 Agent Assist 對話互動。
- 讀取權:可讀取任何資源的權限。
IAM 角色 | 權限摘要 | 權限詳細資料 |
---|---|---|
專案 > 擁有者 |
將權限授予需要所有 Google Cloud 和 Conversational Agents (Dialogflow CX) 資源的專案擁有者:
|
請參閱 IAM 基本角色定義。 |
專案 > 編輯者 |
將權限授予需要編輯所有 Google Cloud 和 Conversational Agents (Dialogflow CX) 資源的專案編輯者:
|
請參閱 IAM 基本角色定義。 |
專案 > 檢視者 |
授予需要所有 Google Cloud 和 Conversational Agents (Dialogflow CX) 資源讀取權的專案檢視者:
|
請參閱 IAM 基本角色定義。 |
專案 > IAM 管理員 |
授予需要編輯 Conversational Agents (Dialogflow CX) 服務專員角色設定的專案 IAM 管理員權限。 | 請參閱 IAM Resource Manager 角色定義。 |
專案 > 瀏覽者 |
授予專案瀏覽者瀏覽專案階層 (包括資料夾、機構和 IAM 政策) 的讀取權限:
|
請參閱身分與存取權管理專案角色定義。 |
Dialogflow > Dialogflow API 管理員 |
授予 Conversational Agents (Dialogflow CX) API 管理員權限,讓他們可以完全存取 Conversational Agents (Dialogflow CX) 專屬資源:
|
請參閱 Dialogflow IAM 角色定義。 |
Dialogflow > Dialogflow API 用戶端 |
將權限授予使用 API 執行意圖偵測呼叫的 Conversational Agents (Dialogflow CX) API 用戶端:
|
請參閱 Dialogflow IAM 角色定義。 |
Dialogflow > Conversational Agents 主控台代理程式編輯器 |
授予對話式服務主控台編輯者編輯現有服務的權限:
|
請參閱 Dialogflow IAM 角色定義。 |
Dialogflow > Dialogflow API 讀取者 |
授予使用 API 執行 Conversational Agents (Dialogflow CX) 專屬唯讀呼叫的 Dialogflow API 用戶端:
|
請參閱 Dialogflow IAM 角色定義。 |
Discovery Engine 管理員 | 授予使用 Vertex AI Agents 使用者介面建立資料儲存庫代理的使用者。 | 請參閱「其他角色定義」。 |
OAuth
如果您使用 Google 用戶端程式庫存取對話式代理程式 (Dialogflow CX),則無須直接使用 OAuth,因為這些程式庫會為您處理實作作業。不過,如果您要實作自己的用戶端,可能需要實作自己的 OAuth 流程。如要存取 Conversational Agents (Dialogflow CX) API,您必須擁有下列其中一種 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
(可存取所有專案資源)https://www.googleapis.com/auth/dialogflow
(可存取 Conversational Agents (Dialogflow CX) 資源)
涉及 Cloud Storage 存取權的要求
部分 Conversational Agents (Dialogflow CX) 會要求存取 Cloud Storage 中的物件,以便讀取或寫入資料。當您呼叫其中一個要求時,Conversational Agents (Dialogflow CX) 會代表呼叫端存取 Cloud Storage 資料。也就是說,您的要求驗證必須具備存取 Conversational Agents (Dialogflow CX) 和 Cloud Storage 物件的權限。
使用 Google 用戶端程式庫和 IAM 角色時,請參閱 Cloud Storage 存取權控制指南,瞭解 Cloud Storage 角色。
在實作自己的用戶端並使用 OAuth 時,您必須使用下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
(可存取所有專案資源)
應對手冊工具存取權的自訂角色
您可以使用權限和自訂角色,為 Playbook 工具提供精細的存取權控制。
如要列出可用的權限,請前往權限搜尋工具,然後搜尋 dialogflow.tools
。
您可以使用這些權限建立自訂角色。