チャットボットポリシーの構文と例 - AWS Organizations

チャットボットポリシーの構文と例

このトピックでは、チャットボットポリシーの構文について説明し、例を示します。

チャットボットポリシーの構文

チャットボットポリシーは、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 の下には、サポートされているさまざまなチャットアプリケーション Slack、Microsoft Teams、Amazon Chime の設定を含む platforms ブロックがあります。

    • Slack では、以下のフィールドが利用できます。

      • "client":

        • "enabled": Slack クライアントが有効になっています。Slack 統合は許可されています。

        • "disabled": Slack クライアントは無効になっています。Slack 統合は許可されていません。

      • "workspaces": 許可された Slack ワークスペースのカンマ区切りリスト。この例では、許可された Slack ワークスペースは Slack-Workspace-Id1Slack-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 の下には、下位レベルで上書きされない限り、組織全体で AWS Chatbot を無効にする default ブロックがあります。このデフォルトでは、AWS Chatbot がサポートする新しいチャットアプリケーションも無効になります。例えば、AWS Chatbot が新しいチャットアプリケーションをサポートしている場合、このデフォルトでは新しくサポートされたチャットアプリケーションも無効になります。

注記

チャネルレベルの IAM ロールとユーザーレベルの IAM ロールの詳細については、「AWS Chatbot Administrator Guide」の「Understanding AWS Chatbot permissions」を参照してください。

チャットボットポリシーの例

次のポリシーの例は、情報提供のみを目的としています。

例 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 Teams の場合

  • 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 Teams の場合

  • 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 Teams の場合

  • 特定のテナント 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-Id1Slack-Workspace-Id2 です。

  • Slack のデフォルト設定では、プライベートチャネルとユーザーレベルの IAM ロールのみを許可します。

  • ワークスペース Slack-Workspace-Id2 には、パブリックチャネルとプライベートチャネルの両方、およびチャネルレベルの IAM ロールとユーザーレベルの IAM ロールの両方を許可するオーバーライドがあります。

Microsoft Teams の場合

  • Microsoft Teams が有効になっています。

  • 許可される Teams テナントは、チームの Microsoft-Teams-Team-Id を持つ Microsoft-Teams-Tenant-Id です。

  • デフォルト設定では、ユーザーレベルの IAM ロールを許可のみします。

  • テナントの Microsoft-Teams-Tenant-Id には、チームの Microsoft-Teams-Team-Id のチャネルレベルの IAM ロールとユーザーレベルの IAM ロールの両方を許可するオーバーライドがあります。

その他の詳細

  • 下部の default ブロックはクライアントを無効に設定します。これにより、低いレベルで上書きされない限り AWS Chatbot、組織全体で無効になります。これは、この例では Amazon Chime が無効になっていることを意味します。このデフォルトでは、AWS Chatbot がサポートする新しいチャットアプリケーションも無効になります。例えば、AWS Chatbot が新しいチャットアプリケーションをサポートしている場合、このデフォルトでは新しくサポートされたチャットアプリケーションも無効になります。