Ejemplos y sintaxis de políticas de chatbots
En este tema se describe la sintaxis de la política de chatbots y se proporcionan ejemplos.
Sintaxis de las políticas de chatbots
Una política de chatbots es un archivo de texto sin formato que se estructura de acuerdo con las reglas de JSON
En el siguiente ejemplo se muestra la sintaxis básica de una política de chatbots:
{ "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 } } } }
Esta política de chatbots incluye los siguientes elementos:
El nombre de clave del campo
chatbot
. Las políticas de chatbots siempre comienzan con este nombre de clave fijo. Es la línea superior de esta política de ejemplo.En
chatbot
, hay un bloque deplatforms
que contiene la configuración de las diferentes aplicaciones de chat compatibles: Slack, Microsoft Teams y Amazon Chime.Para Slack, están disponibles los siguientes campos:
"client"
:"enabled"
: el cliente de Slack está habilitado. Se permiten las integraciones de Slack."disabled"
: el cliente de Slack está deshabilitado. No se permiten las integraciones de Slack.
"workspaces"
: lista de espacios de trabajo de Slack permitidos separados por comas. En este ejemplo, los espacios de trabajo de Slack permitidos sonSlack-Workspace-Id1
ySlack-Workspace-Id2
."default"
: la configuración predeterminada de los espacios de trabajo de Slack."supported_channel_types"
:"public"
: los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten los canales públicos de Slack de forma predeterminada."private"
: los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten los canales privados de Slack de forma predeterminada.
supported_role_settings
:"user_role"
: los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten roles de IAM de usuario de forma predeterminada."channel_role"
: Los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten roles de IAM de canal de forma predeterminada.
"overrides"
: la configuración de anulación de los espacios de trabajo de Slack.
: lista separada por comas de los espacios de trabajo de Slack en los que se aplica la configuración de anulación. En este ejemplo, el espacio de trabajo de Slack esSlack-Workspace-Id2
Slack-Workspace-Id2
."supported_channel_types"
:"public"
: anula la configuración de si los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten los canales públicos de Slack."private"
: anula la configuración de si los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten los canales privados de Slack.
supported_role_settings
:"user_role"
: anula la configuración de si los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten roles de IAM de usuario."channel_role"
: anula la configuración de si los espacios de trabajo de Slack incluidos en el ámbito de aplicación permiten roles de IAM de canal.
Para Microsoft Teams, están disponibles los siguientes campos:
"client"
:"enabled"
: el cliente Microsoft Teams está habilitado. Se permiten las integraciones de Microsoft Teams."disabled"
: el cliente de Microsoft Teams está deshabilitado. No se permiten las integraciones de Microsoft Teams.
"tenants"
: lista separada por comas de los inquilinos permitidos de Microsoft Teams. En este ejemplo, el inquilino permitido esMicrosoft-Teams-Tenant-Id
.
: lista separada por comas de los equipos permitidos dentro del inquilino. En este ejemplo, el equipo permitido esMicrosoft-Teams-Tenant-Id
Microsoft-Teams-Team-Id
.
"default"
: la configuración predeterminada de los equipos del inquilino.supported_role_settings
:"user_role"
: los equipos incluidos en el ámbito de aplicación permiten roles de IAM de usuario de forma predeterminada."channel_role"
: los equipos incluidos en el ámbito de aplicación permiten roles de IAM de canal de forma predeterminada.
"overrides"
: la configuración de anulación para los inquilinos de Microsoft Teams.
: lista de inquilinos separados por comas a los que se aplica la configuración de anulación. En este ejemplo, el inquilino esMicrosoft-Teams-Tenant-Id
Microsoft-Teams-Tenant-Id
.
: lista separada por comas de los equipos del inquilino. En este ejemplo, el equipo permitido esMicrosoft-Teams-Team-Id
Microsoft-Teams-Team-Id
.supported_role_settings
:"user_role"
: anula la configuración de si los equipos incluidos en el ámbito de aplicación permiten roles de IAM de usuario."channel_role"
: anula la configuración de si los equipos incluidos en el ámbito de aplicación permiten roles de IAM de canal.
Para Amazon Chime, están disponibles los siguientes campos:
"client"
:"enabled"
: el cliente Amazon Chime está habilitado. Se permiten las integraciones de Amazon Chime."disabled"
: el cliente Amazon Chime está deshabilitado. No se permiten las integraciones de Amazon Chime.
En
chatbot
, hay un bloque dedefault
que deshabilita AWS Chatbot en toda la organización a menos que se anule en un nivel inferior. Este valor predeterminado también deshabilita cualquier aplicación de chat nueva que sea compatible con AWS Chatbot. Por ejemplo, si AWS Chatbot es compatible con una nueva aplicación de chat, esta opción predeterminada también deshabilita esa aplicación de chat recién admitida.
nota
Para obtener más información sobre los roles de IAM de canal y los roles de IAM de usuario, consulte Understanding AWS Chatbot permissions en la Guía del administrador de AWS Chatbot.
Ejemplos de políticas de chatbots
Las políticas de copia de seguridad siguientes son solo para fines informativos.
Ejemplo 1: permitir solo los canales privados de Slack en un espacio de trabajo específico, deshabilitar Microsoft Teams y admitir todos los modos de autenticación
La siguiente política se centra en controlar las configuraciones permitidas para las integraciones de chatbots de Slack y 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" } } } } }
Para Slack
El cliente de Slack está habilitado.
Solo se permite el espacio de trabajo específico de Slack
Slack-Workspace-Id
.La configuración predeterminada es permitir solo los canales privados de Slack, los roles de IAM de canal y los roles de IAM de usuario.
Para Microsoft Teams
El cliente de Microsoft Teams está deshabilitado.
Para Amazon Chime
El cliente Amazon Chime está deshabilitado.
Detalles adicionales
El bloque
default
de la parte inferior establece la desactivación del cliente, lo que se deshabilita AWS Chatbot en toda la organización a menos que se anule en un nivel inferior. Este valor predeterminado también deshabilita cualquier aplicación de chat nueva que sea compatible con AWS Chatbot. Por ejemplo, si AWS Chatbot es compatible con una nueva aplicación de chat, esta opción predeterminada también deshabilita esa aplicación de chat recién admitida.
Ejemplo 2: permitir solo las integraciones de Slack con roles de IAM de usuario
La siguiente política adopta un enfoque más permisivo con respecto a Slack, ya que permite todos los espacios de trabajo de Slack, pero restringe el modo de autenticación solo a los roles de IAM de usuario.
{ "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" } } } }
Para Slack
El cliente de Slack está habilitado.
No se define ningún espacio de trabajo específico de Slack mediante el comodín
"*"
, por lo que todos los espacios de trabajo están permitidos.La configuración predeterminada es permitir solo los roles de IAM de usuario.
Para Microsoft Teams
El cliente de Microsoft Teams está deshabilitado.
Para Amazon Chime
El cliente Amazon Chime está deshabilitado.
Detalles adicionales
El bloque
default
de la parte inferior establece la desactivación del cliente, lo que se deshabilita AWS Chatbot en toda la organización a menos que se anule en un nivel inferior. Este valor predeterminado también deshabilita cualquier aplicación de chat nueva que sea compatible con AWS Chatbot. Por ejemplo, si AWS Chatbot es compatible con una nueva aplicación de chat, esta opción predeterminada también deshabilita esa aplicación de chat recién admitida.
Ejemplo 3: permitir solo las integraciones de Microsoft Teams en un inquilino específico
El siguiente ejemplo de política bloquea la organización para que solo permita las integraciones de chatbots de Microsoft Teams dentro del inquilino especificado, al tiempo que bloquea por completo las integraciones de Slack.
{ "chatbot":{ "platforms":{ "slack":{ "client": { "@@assign": "disabled" }, }, "microsoft_teams":{ "client": { "@@assign": "enabled" }, "tenants":{ "
Microsoft-Teams-Tenant-Id
":{ "@@assign":[ "*" ] } } }, "chime": { "client":{ "@@assign": "disabled" } } } } }
Para Slack
El cliente de Slack está deshabilitado.
Para Microsoft Teams
Solo se permite el inquilino específico
Microsoft-Teams-Tenant-Id
, y se utiliza el comodín"*"
para permitir la entrada a todos los equipos de ese inquilino.
Para Amazon Chime
El cliente Amazon Chime está deshabilitado.
Detalles adicionales
El bloque
default
de la parte inferior establece la desactivación del cliente, lo que se deshabilita AWS Chatbot en toda la organización a menos que se anule en un nivel inferior. Este valor predeterminado también deshabilita cualquier aplicación de chat nueva que sea compatible con AWS Chatbot. Por ejemplo, si AWS Chatbot es compatible con una nueva aplicación de chat, esta opción predeterminada también deshabilita esa aplicación de chat recién admitida.
Ejemplo 4: permitir el acceso restringido de AWS Chatbot a los espacios de trabajo de Slack y a un inquilino de Microsoft Teams
La siguiente política permite el acceso restringido de AWS Chatbot a determinados espacios de trabajo de Slack y a un inquilino de Microsoft Teams.
{ "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" } } } }
Para Slack
El cliente de Slack está habilitado.
Los espacios de trabajo de Slack permitidos son
Slack-Workspace-Id1
ySlack-Workspace-Id2
.La configuración predeterminada de Slack es permitir solo los canales privados y los roles de IAM de usuario.
Hay una modificación para el espacio de trabajo
Slack-Workspace-Id2
que permite tanto los canales públicos como los privados, así como los roles de IAM de canal y los roles de IAM de usuario.
Para Microsoft Teams
Microsoft Teams está habilitado.
Los inquilinos de Teams permitidos son
Microsoft-Teams-Tenant-Id
con el equipoMicrosoft-Teams-Team-Id
.La configuración predeterminada es permitir únicamente los roles de IAM de usuario.
Hay una modificación para el inquilino
Microsoft-Teams-Tenant-Id
que permite tanto los roles IAM de canal como los roles de IAM de usuario para el equipoMicrosoft-Teams-Team-Id
.
Detalles adicionales
El bloque
default
de la parte inferior establece la desactivación del cliente, lo que se deshabilita AWS Chatbot en toda la organización a menos que se anule en un nivel inferior. Esto significa que Amazon Chime está deshabilitado en este ejemplo. Este valor predeterminado también deshabilita cualquier aplicación de chat nueva que sea compatible con AWS Chatbot. Por ejemplo, si AWS Chatbot es compatible con una nueva aplicación de chat, esta opción predeterminada también deshabilita esa aplicación de chat recién admitida.