チャットボットポリシーの構文と例
このトピックでは、チャットボットポリシーの構文について説明し、例を示します。
チャットボットポリシーの構文
チャットボットポリシーは、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-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
の下には、下位レベルで上書きされない限り、組織全体で 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-Id1
とSlack-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 が新しいチャットアプリケーションをサポートしている場合、このデフォルトでは新しくサポートされたチャットアプリケーションも無効になります。