本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Chatbot 政策語法和範例
本主題說明聊天機器人政策語法並提供範例。
chatbot 政策的語法
chatbot 政策是純文字檔案,根據 規則建構JSON
下列範例顯示聊天機器人政策的基本語法:
{ "chatbot":{ "platforms":{ "slack":{ "client":{ "@@assign":"
enabled
" // enabled | disabled }, "workspaces": { // limit 255 "@@assign":[ "Slack-Workspace-Id
" ] }, "default":{ "supported_channel_types":{ "@@assign":[ "private
" // public | private ] }, "supported_role_settings":{ "@@assign":[ "user_role
" // user_role | channel_role ] } }, "overrides":{ // limit 255 "Slack-Workspace-Id
":{ "supported_channel_types":{ "@@assign":[ "public
" // public | private ] }, "supported_role_settings":{ "@@assign":[ "user_role
" // user_role | channel_role ] } } } }, "microsoft_teams":{ "client":{ "@@assign":"enabled
" }, "tenants":{ // limit 36 "Microsoft-Teams-Tenant-Id
":{ // limit 36 "@@assign":[ "Microsoft-Teams-Team-Id
" ] } }, "default":{ "supported_role_settings":{ "@@assign":[ "user_role
" // user_role | channel_role ] } }, "overrides":{ // limit 36 "Microsoft-Teams-Tenant-Id
":{ // limit 36 "Microsoft-Teams-Team-Id
":{ "supported_role_settings":{ "@@assign":[ "user_role
" // user_role | channel_role ] } } } } }, "chime":{ "client":{ "@@assign":"disabled
" // enabled | disabled } } }, "default":{ "client":{ "@@assign":"disabled
" // enabled | disabled } } } }
此聊天機器人政策包含下列元素:
chatbot
欄索引鍵名稱。Chatbot 政策一律從此固定金鑰名稱開始。這是此範例政策的頂端。在 下
chatbot
有一個platforms
區塊,其中包含不同支援聊天應用程式的組態:Slack、Microsoft Teams 和 Amazon Chime。對於 Slack,下列欄位可供使用:
"client"
:"enabled"
:Slack 用戶端已啟用。允許 Slack 整合。"disabled"
:Slack 用戶端已停用。不允許 Slack 整合。
"workspaces"
:允許 Slack 工作區的逗號分隔清單。在此範例中,允許的 Slack 工作區為Slack-Workspace-Id1
以及Slack-Workspace-Id2
."default"
:Slack 工作區的預設設定。"supported_channel_types"
:"public"
:範圍內的 Slack 工作區預設允許公有 Slack 頻道。"private"
:範圍內的 Slack 工作區預設允許私有 Slack 頻道。
supported_role_settings
:"user_role"
:範圍內的 Slack 工作區預設允許使用者層級IAM角色。"channel_role"
:範圍內的 Slack 工作區預設允許頻道層級IAM角色。
"overrides"
:Slack 工作區的覆寫設定。
:以逗號分隔的 Slack 工作區清單,其中套用覆寫設定。在此範例中,Slack 工作區是Slack-Workspace-Id2
Slack-Workspace-Id2
."supported_channel_types"
:"public"
:覆寫範圍內的 Slack 工作區是否允許公有 Slack 頻道的設定。"private"
:覆寫範圍內的 Slack 工作區是否允許私有 Slack 頻道的設定。
supported_role_settings
:"user_role"
:覆寫設定範圍內的 Slack 工作區是否允許使用者層級IAM角色。"channel_role"
:覆寫設定範圍內的 Slack 工作區是否允許頻道層級IAM角色。
對於 Microsoft Teams,下列欄位可供使用:
"client"
:"enabled"
:已啟用 Microsoft Teams 用戶端。允許 Microsoft Teams 整合。"disabled"
:Microsoft Teams 用戶端已停用。不允許 Microsoft Teams 整合。
"tenants"
:允許 Microsoft Teams 租用戶的逗號分隔清單。在此範例中,允許的租戶是Microsoft-Teams-Tenant-Id
.
:租用戶內允許的團隊逗號分隔清單。在此範例中,允許的團隊是Microsoft-Teams-Tenant-Id
Microsoft-Teams-Team-Id
.
"default"
:租用戶內團隊的預設設定。supported_role_settings
:"user_role"
:範圍內的團隊預設允許使用者層級IAM角色。"channel_role"
:範圍內的團隊預設允許頻道層級IAM角色。
"overrides"
:Microsoft Teams 租用戶的覆寫設定。
:以逗號分隔的租用戶清單,其中套用覆寫設定。在此範例中,租戶是Microsoft-Teams-Tenant-Id
Microsoft-Teams-Tenant-Id
.
:以逗號分隔租用戶內團隊清單。在此範例中,允許的團隊是Microsoft-Teams-Team-Id
Microsoft-Teams-Team-Id
.supported_role_settings
:"user_role"
:覆寫設定範圍內的團隊是否允許使用者層級IAM角色。"channel_role"
:覆寫範圍內的團隊是否允許頻道層級IAM角色的設定。
對於 Amazon Chime,下列欄位可供使用:
"client"
:"enabled"
:Amazon Chime 用戶端已啟用。允許 Amazon Chime 整合。"disabled"
:Amazon Chime 用戶端已停用。不允許 Amazon Chime 整合。
在 下
chatbot
,有一個default
區塊會 AWS Chatbot 在整個組織中停用,除非在較低層級覆寫。此預設值也會停用任何 AWS Chatbot 支援的新聊天應用程式。例如,如果 AWS Chatbot 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。
注意
如需頻道層級IAM角色和使用者層級IAM角色的詳細資訊,請參閱 AWS Chatbot 管理員指南 中的了解 AWS Chatbot 許可。
Chatbot 政策範例
接下來的政策範例僅供參考。
範例 1:僅允許特定工作區中的私有 Slack 頻道、停用 Microsoft Teams、支援的所有身分驗證模式
下列政策著重於控制 Slack 和 Microsoft Teams 聊天機器人整合的允許組態。
{ "chatbot": { "platforms": { "slack": { "client": { "@@assign": "enabled" }, "workspaces": { "@@assign": [ "
Slack-Workspace-Id
" ] }, "default": { "supported_channel_types": { "@@assign": [ "private" ] }, "supported_role_settings": { "@@assign": [ "channel_role", "user_role" ] } } }, "microsoft_teams": { "client": { "@@assign": "disabled" } }, "chime":{ "client":{ "@@assign":"disabled" } }, "default":{ "client":{ "@@assign":"disabled" } } } } }
對於 Slack
Slack 用戶端已啟用。
只有特定的 Slack 工作區
Slack-Workspace-Id
允許。預設設定為僅允許私有 Slack 頻道、頻道層級IAM角色和使用者層級IAM角色。
適用於 Microsoft 團隊
Microsoft Teams 用戶端已停用。
對於 Amazon Chime
Amazon Chime 用戶端已停用。
其他詳細資訊
底部的
default
區塊會將用戶端設定為停用,除非在較低層級覆寫,否則會停用 AWS Chatbot 整個組織。此預設值也會停用任何 AWS Chatbot 支援的新聊天應用程式。例如,如果 AWS Chatbot 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。
範例 2:僅允許與使用者層級IAM角色的 Slack 整合
下列政策採用更寬鬆的 Slack 方法,允許所有 Slack 工作區,但將身分驗證模式限制為僅限使用者層級IAM角色。
{ "chatbot":{ "platforms":{ "slack":{ "client":{ "@@assign":"enabled" }, "workspaces": { "@@assign":[ "*" ] }, "default":{ "supported_role_settings":{ "@@assign":[ "user_role" ] } } }, "microsoft_teams":{ "client":{ "@@assign":"disabled" } }, "chime":{ "client":{ "@@assign":"disabled" } } }, "default":{ "client":{ "@@assign":"disabled" } } } }
對於 Slack
Slack 用戶端已啟用。
未使用萬用字元 定義特定 Slack 工作區
"*"
,因此允許所有工作區。預設設定為僅允許使用者層級IAM角色。
適用於 Microsoft 團隊
Microsoft Teams 用戶端已停用。
對於 Amazon Chime
Amazon Chime 用戶端已停用。
其他詳細資訊
底部的
default
區塊會將用戶端設定為停用,除非在較低層級覆寫,否則會停用 AWS Chatbot 整個組織。此預設值也會停用任何 AWS Chatbot 支援的新聊天應用程式。例如,如果 AWS Chatbot 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。
範例 3:僅允許特定租用戶中的 Microsoft Teams 整合
下列範例政策會鎖定組織,僅允許在指定的租用戶內進行 Microsoft Teams 聊天機器人整合,同時完全封鎖 Slack 整合。
{ "chatbot":{ "platforms":{ "slack":{ "client": { "@@assign": "disabled" }, }, "microsoft_teams":{ "client": { "@@assign": "enabled" }, "tenants":{ "
Microsoft-Teams-Tenant-Id
":{ "@@assign":[ "*" ] } } }, "chime": { "client":{ "@@assign": "disabled" } } } } }
對於 Slack
Slack 用戶端已停用。
適用於 Microsoft 團隊
只有特定租戶
Microsoft-Teams-Tenant-Id
允許,請使用萬用字元"*"
來允許該租用戶中的所有團隊。
對於 Amazon Chime
Amazon Chime 用戶端已停用。
其他詳細資訊
底部的
default
區塊會將用戶端設定為停用,除非在較低層級覆寫,否則會停用 AWS Chatbot 整個組織。此預設值也會停用任何 AWS Chatbot 支援的新聊天應用程式。例如,如果 AWS Chatbot 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。
範例 4:允許 Slack 工作區和 Microsoft Teams 租用戶受限 AWS Chatbot 存取
下列政策允許對所選 Slack 工作區和 Microsoft Teams 租用戶的限制 AWS Chatbot 存取。
{ "chatbot":{ "platforms":{ "slack":{ "client":{ "@@assign":"enabled" }, "workspaces": { "@@assign":[ "
Slack-Workspace-Id1
", "Slack-Workspace-Id2
" ] }, "default":{ "supported_channel_types":{ "@@assign":[ "private" ] }, "supported_role_settings":{ "@@assign":[ "user_role" ] } }, "overrides":{ "Slack-Workspace-Id2
":{ "supported_channel_types":{ "@@assign":[ "public", "private" ] }, "supported_role_settings":{ "@@assign":[ "channel_role", "user_role" ] } } } }, "microsoft_teams":{ "client":{ "@@assign":"enabled" }, "tenants":{ "Microsoft-Teams-Tenant-Id
":{ "@@assign":[ "Microsoft-Teams-Team-Id
" ] } }, "default":{ "supported_role_settings":{ "@@assign":[ "user_role
" ] } }, "overrides":{ "Microsoft-Teams-Tenant-Id
":{ "Microsoft-Teams-Team-Id
":{ "supported_role_settings":{ "@@assign":[ "channel_role", "user_role" ] } } } } } }, "default":{ "client":{ "@@assign":"disabled" } } } }
對於 Slack
Slack 用戶端已啟用。
允許的 Slack 工作區為
Slack-Workspace-Id1
以及Slack-Workspace-Id2
.Slack 的預設設定為僅允許私有頻道和使用者層級IAM角色。
工作區有覆寫
Slack-Workspace-Id2
允許公有和私有頻道,以及頻道層級IAM角色和使用者層級IAM角色。
適用於 Microsoft 團隊
Microsoft Teams 已啟用。
允許的 Teams 租用戶為
Microsoft-Teams-Tenant-Id
與團隊Microsoft-Teams-Team-Id
.預設設定為僅允許使用者層級IAM角色。
租用戶有覆寫
Microsoft-Teams-Tenant-Id
允許團隊的頻道層級IAM角色和使用者層級IAM角色Microsoft-Teams-Team-Id
.
其他詳細資訊
底部的
default
區塊會將用戶端設定為停用,除非在較低層級覆寫,否則會停用 AWS Chatbot 整個組織。這表示在此範例中已停用 Amazon Chime。此預設值也會停用任何 AWS Chatbot 支援的新聊天應用程式。例如,如果 AWS Chatbot 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。