

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チャットアプリケーションポリシーの構文と例
<a name="orgs_manage_policies_chatbot_syntax"></a>

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

## チャットアプリケーションポリシーの構文
<a name="chatbot-policy-syntax-reference"></a>

チャットアプリケーションポリシーは、[JSON](http://json.org) のルールに従って構造化されたプレーンテキストファイルです。チャットアプリケーションポリシーの構文は、すべての管理ポリシータイプの構文に従います。この構文の詳しい説明については、「[管理ポリシーの継承を理解する](orgs_manage_policies_inheritance_mgmt.md)」を参照してください。このトピックでは、一般的な構文をチャットアプリケーションポリシータイプの特定の要件に適用する方法について説明します。

次の例は、チャットアプリケーションポリシーの基本構文を示しています。

```
{
    "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-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` の下には、下位レベルで上書きされない限り、組織全体で Amazon Q Developer in chat applications を無効にする `default` ブロックがあります。このデフォルトにより、Amazon Q Developer in chat applications が将来新たにサポートするチャットアプリケーションも無効になります。例えば、Amazon Q Developer in chat applications が今後何らかの新しいチャットアプリケーションをサポートする場合、このデフォルトによりそのような新しくサポートされたチャットアプリケーションも無効になります。

**注記**  
チャネルレベルの IAM ロールとユーザーレベルの IAM ロールの詳細については、「*Amazon Q Developer in chat applications 管理者ガイド*」の「[Understanding Amazon Q Developer in chat applications permissions](https://docs.aws.amazon.com/chatbot/latest/adminguide/understanding-permissions.html)」を参照してください。

## チャットアプリケーションポリシーの例
<a name="chatbot-policy-examples"></a>

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

### 例 1: 特定のワークスペースでプライベート Slack チャネルのみを許可する、Microsoft Teams を無効にする、すべての認証モードをサポート
<a name="chatbot-policy-example-1"></a>

次のポリシーは、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` ブロックはクライアントを無効に設定します。これにより、低いレベルで上書きされない限り、Amazon Q Developer in chat applications は組織全体で無効になります。このデフォルトにより、Amazon Q Developer in chat applications が将来新たにサポートするチャットアプリケーションも無効になります。例えば、Amazon Q Developer in chat applications が今後何らかの新しいチャットアプリケーションをサポートする場合、このデフォルトによりそのような新しくサポートされたチャットアプリケーションも無効になります。

### 例 2: ユーザーレベルの IAM ロールとの Slack 統合のみを許可する
<a name="chatbot-policy-example-2"></a>

次のポリシーでは、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` ブロックはクライアントを無効に設定します。これにより、低いレベルで上書きされない限り、Amazon Q Developer in chat applications は組織全体で無効になります。このデフォルトにより、Amazon Q Developer in chat applications が将来新たにサポートするチャットアプリケーションも無効になります。例えば、Amazon Q Developer in chat applications が今後何らかの新しいチャットアプリケーションをサポートする場合、このデフォルトによりそのような新しくサポートされたチャットアプリケーションも無効になります。

### 例 3: 特定のテナントで Microsoft Teams 統合のみを許可する
<a name="chatbot-policy-example-3"></a>

次のポリシー例では、組織をロックダウンして、指定されたテナント内の 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` ブロックはクライアントを無効に設定します。これにより、低いレベルで上書きされない限り、Amazon Q Developer in chat applications は組織全体で無効になります。このデフォルトにより、Amazon Q Developer in chat applications が将来新たにサポートするチャットアプリケーションも無効になります。例えば、Amazon Q Developer in chat applications が今後何らかの新しいチャットアプリケーションをサポートする場合、このデフォルトによりそのような新しくサポートされたチャットアプリケーションも無効になります。

### 例 4: Slack ワークスペースと Microsoft Teams テナントに対して Amazon Q Developer in chat applications への制限付きアクセスを許可する
<a name="chatbot-policy-example-4"></a>

次のポリシーでは、選択した Slack ワークスペースと Microsoft Teams テナントに対して Amazon Q Developer in chat applications への制限付きアクセスを許可しています。

```
{
    "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` ブロックはクライアントを無効に設定します。これにより、低いレベルで上書きされない限り、Amazon Q Developer in chat applications は組織全体で無効になります。これは、この例では Amazon Chime が無効になっていることを意味します。このデフォルトにより、Amazon Q Developer in chat applications が将来新たにサポートするチャットアプリケーションも無効になります。例えば、Amazon Q Developer in chat applications が今後何らかの新しいチャットアプリケーションをサポートする場合、このデフォルトによりそのような新しくサポートされたチャットアプリケーションも無効になります。