Chatbot 政策語法和範例 - AWS Organizations

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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-Workspace-Id2:以逗號分隔的 Slack 工作區清單,其中套用覆寫設定。在此範例中,Slack 工作區是 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 支援新的聊天應用程式,則此預設也會停用該新支援的聊天應用程式。