Las organizaciones usan plataformas de mensajería como Equipos de Microsoft reunir a las personas adecuadas para comunicarse de forma segura entre sí y colaborar para realizar el trabajo. Microsoft Teams captura un conocimiento organizacional invaluable en forma de información que fluye a través de él a medida que los usuarios colaboran. Sin embargo, hacer que este conocimiento esté disponible de manera fácil y segura para los usuarios puede ser un desafío debido a la naturaleza fragmentada de las conversaciones entre grupos, canales y chats dentro de una organización. Además, la naturaleza conversacional de la comunicación de Microsoft Teams hace que un enfoque tradicional basado en palabras clave para buscar sea ineficaz cuando se trata de encontrar respuestas precisas a las preguntas del contenido y, por lo tanto, requiere capacidades de búsqueda inteligente que tengan la capacidad de procesar consultas en lenguaje natural.
Ahora puede usar el conector de Amazon Kendra para Microsoft Teams para indexar mensajes y documentos de Microsoft Teams y buscar este contenido mediante la búsqueda inteligente en Amazon Kendra, con tecnología de aprendizaje automático (ML).
Esta publicación muestra cómo configurar el conector de Amazon Kendra para Microsoft Teams y aprovechar las capacidades de búsqueda inteligente del servicio. Usamos un ejemplo de una instancia ilustrativa de Microsoft Teams donde los usuarios discuten temas técnicos relacionados con AWS.
Descripción general de la solución
El contenido de Microsoft Teams para organizaciones activas es de naturaleza dinámica debido a la colaboración continua. Microsoft Teams incluye canales públicos donde cualquier usuario puede participar y canales privados donde solo los usuarios que son miembros de estos canales pueden comunicarse entre sí. Además, las personas pueden comunicarse directamente entre sí en grupos individuales y ad hoc. Esta comunicación es en forma de mensajes e hilos de respuestas, con documentos adjuntos opcionales.
En nuestra solución, configuramos Microsoft Teams como fuente de datos para un índice de búsqueda de Amazon Kendra utilizando el conector de Amazon Kendra para Microsoft Teams. Según la configuración, cuando la fuente de datos está sincronizada, el conector rastrea e indexa todo el contenido de Microsoft Teams que se creó en una fecha específica o antes. El conector también indexa la información de la Lista de control de acceso (ACL) para cada mensaje y documento. Cuando el control de acceso o el filtrado de contexto de usuario están habilitados, los resultados de búsqueda de una consulta realizada por un usuario incluyen solo los resultados de aquellos documentos que el usuario está autorizado a leer.
El conector de Amazon Kendra para Microsoft Teams puede integrarse con AWS IAM Identity Center (sucesor de AWS Single Sign-On). Primero debe habilitar IAM Identity Center y crear una organización para sincronizar usuarios y grupos desde su directorio activo. El conector utilizará el nombre de usuario y la búsqueda de grupo para el contexto de usuario de las consultas de búsqueda.
Con Amazon Kendra Experience Builder, puede crear e implementar una aplicación de búsqueda completamente funcional y de bajo código para buscar en su fuente de datos de Microsoft Teams.
requisitos previos
Para probar el conector de Amazon Kendra para Microsoft Teams usando esta publicación como referencia, necesita lo siguiente:
Tenga en cuenta que la API de Microsoft Graph coloca límites de estrangulamiento en el número de llamadas simultáneas a un servicio para evitar el uso excesivo de recursos.
Configurar equipos de Microsoft
La siguiente captura de pantalla muestra nuestra instancia de ejemplo de Microsoft Teams con contenido de muestra y el archivo PDF AWS_Well-Architect_Framework.pdf
que usaremos para nuestras consultas de búsqueda de Amazon Kendra.
Los siguientes pasos describen la configuración de una nueva aplicación de conector de Amazon Kendra en Azure Portal. Esto creará un token OAuth de usuario que se utilizará para configurar el conector de Amazon Kendra para Microsoft Teams.
- Inicie sesión en Azure Portal con sus credenciales de Microsoft.
- Registrar una aplicación con el Plataforma de identidad de Microsoft.
- Junto a Credenciales de clienteelegir Agregar un certificado o secreto para agregar un nuevo secreto de cliente.
- Para Descripciónintroduzca una descripción (por ejemplo,
KendraConnectorSecret
). - Para Caducaelija una fecha de caducidad (por ejemplo, 6 meses).
- Elegir Agregar.
- Guarde el ID secreto y el valor secreto para usarlos más tarde al crear una fuente de datos de Amazon Kendra.
- Elegir Agregar un permiso.
- Elegir Gráfico de Microsoft para agregar todo lo necesario Permisos de Microsoft Graph.
- Elegir Permisos de aplicación.
La aplicación registrada debe tener los siguientes permisos de API para permitir el rastreo de todas las entidades compatibles con el conector de Amazon Kendra para Microsoft Teams:
ChannelMessage.Read.All
Chat.Read
Chat.Read.All
Chat.ReadBasic
Chat.ReadBasic.All
ChatMessage.Read.All
Directory.Read.All
Files.Read.All
Group.Read.All
Mail.Read
Mail.ReadBasic
User.Read
User.Read.All
TeamMember.Read.All
Sin embargo, puede seleccionar un alcance menor en función de las entidades elegidas para rastrear. Las siguientes listas son los conjuntos mínimos de permisos necesarios para cada entidad:
- Publicación del canal:
ChannelMessage.Read.All
Group.Read.All
User.Read
User.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Archivo adjunto de canal:
ChannelMessage.Read.All
Group.Read.All
User.Read
User.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Wiki del canal:
Group.Read.All
User.Read
User.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Mensaje de chat:
Chat.Read.All
ChatMessage.Read.All
ChatMember.Read.All
User.Read
User.Read.All
Group.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Chat de reunión:
Chat.Read.All
ChatMessage.Read.All
ChatMember.Read.All
User.Read
User.Read.All
Group.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Adjunto de chat:
Chat.Read.All
ChatMessage.Read.All
ChatMember.Read.All
User.Read
User.Read.All
Group.Read.All
Files.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Archivo de reunión:
Chat.Read.All
ChatMessage.Read.All
ChatMember.Read.All
User.Read
User.Read.All
Group.Read.All
Files.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Reunión del calendario:
Calendars.Read
Group.Read.All
TeamMember.Read.All
User.Read
User.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Notas de la reunión:
Group.Read.All
User.Read
User.Read.All
Files.Read.All
TeamMember.Read.All
(asignación de grupos de usuarios para rastreo de identidad)
- Seleccione sus permisos y elija Agregar permisos.
Configure la fuente de datos mediante el conector de Amazon Kendra para Microsoft Teams
Para agregar una fuente de datos a su índice de Amazon Kendra mediante el conector de Microsoft Teams, puede usar un índice de Amazon Kendra existente o crear un nuevo índice de Amazon Kendra. Luego complete los pasos en esta sección. Para obtener más información sobre este tema, consulte Microsoft Teams.
- En la consola de Amazon Kendra, abra el índice y elija Fuentes de datos en el panel de navegación.
- Elegir Agregar fuente de datos.
- Bajo Conector de equipos de Microsoftelegir Añadir conector.
- En el Especificar los detalles de la fuente de datos sección, ingrese los detalles de su fuente de datos y elija Próximo.
- En el Definir acceso y seguridad. sección, por ID de inquilinoingrese el ID de inquilino de Microsoft Teams desde el panel de control de la cuenta de Microsoft.
- Bajo Autenticaciónpuedes elegir Crear para agregar un nuevo secreto con el ID de cliente y el secreto de cliente del inquilino de Microsoft Teams, o use un secreto de AWS Secrets Manager existente que tenga el ID de cliente y el secreto de cliente del inquilino de Microsoft Teams al que desea que acceda el conector.
- Elegir Ahorrar.
- Opcionalmente, elija el apropiado modelo de pago:
- Los modelos de pago del Modelo A están restringidos a licencias y modelos de pago que requieren cumplimiento de seguridad.
- Los modelos de pago del Modelo B son adecuados para licencias y modelos de pago que no requieren cumplimiento de seguridad.
- Use el modo de evaluación (predeterminado) para fines de evaluación de uso limitado.
- Para función de gestión de identidades y accesostu puedes elegir Crear un nuevo rol o elija un rol de IAM existente configurado con las políticas de IAM adecuadas para acceder al secreto de Secrets Manager, el índice de Amazon Kendra y la fuente de datos.
- Elegir Próximo.
- En el Configurar ajustes de sincronización sección, proporcione información sobre su ámbito de sincronización.
- Para Modo de sincronizaciónelige tu modo de sincronización (para esta publicación, selecciona sincronización completa).
Con el sincronización completa opción, cada vez que se ejecuta la sincronización, Amazon Kendra rastreará todos los documentos e ingiere cada documento, incluso si se ingiere antes. La actualización completa le permite restablecer su índice de Amazon Kendra sin necesidad de eliminar y crear una nueva fuente de datos. Si tu eliges Sincronización de contenido nuevo o modificado o Sincronización de contenido nuevo, modificado o eliminado, cada vez que se ejecuta el trabajo de sincronización, solo procesará los objetos agregados, modificados o eliminados desde el último rastreo. Los rastreos incrementales pueden ayudar a reducir el tiempo de ejecución y el costo cuando se usan con conjuntos de datos que agregan nuevos objetos a las fuentes de datos existentes de forma regular.
- Para Programación de ejecución sincronizadaelegir Ejecutar bajo demanda.
- Elegir Próximo.
- En el Establecer asignaciones de campo En la sección, puede configurar opcionalmente las asignaciones de campo, en las que los nombres de campo de Microsoft Teams pueden asignarse a un atributo o faceta de Amazon Kendra diferente.
- Elegir Próximo.
- Revise su configuración y confirme para agregar la fuente de datos.
- Después de agregar la fuente de datos, elija Fuentes de datos en el panel de navegación, seleccione la fuente de datos recién agregada y elija sincronizar ahora para iniciar la sincronización de la fuente de datos con el índice de Amazon Kendra.
El proceso de sincronización puede demorar más de 30 minutos (dependiendo de la cantidad de datos que se rastrearán).
Ahora habilitemos el control de acceso para el índice de Amazon Kendra.
- En el panel de navegación, elija su índice.
- Sobre el Control de acceso de usuarios pestaña, elige Editar ajustes y cambie la configuración para que se parezca a la siguiente captura de pantalla.
- Elegir Próximoentonces escoge Actualizar.
Realice una búsqueda inteligente con Amazon Kendra
Antes de intentar buscar en la consola de Amazon Kendra o utilizar la API, asegúrese de que la sincronización de la fuente de datos esté completa. Para verificar, vea las fuentes de datos y verifique si la última sincronización fue exitosa.
Ahora estamos listos para buscar en nuestro índice.
- En la consola de Amazon Kendra, navegue hasta el índice y elija Buscar contenido indexado en el panel de navegación.
- Usemos la consulta “¿Cómo detecta los eventos de seguridad?” y no proporcionemos un token de acceso.
Según nuestra configuración de control de acceso, se necesita un token de acceso válido para acceder al contenido autenticado; por lo tanto, cuando usamos esta consulta de búsqueda sin configurar ningún nombre de usuario o grupo, no se devuelven resultados.
- A continuación, elija Aplicar ficha y establezca el nombre de usuario en un usuario del dominio (por ejemplo, usertest4) que tenga acceso al contenido de Microsoft Teams.
En este ejemplo, la búsqueda devolverá un resultado del archivo PDF cargado en el mensaje de chat de Microsoft Teams.
- Finalmente, elige Aplicar ficha y establezca el nombre de usuario en un usuario diferente en el dominio (por ejemplo,
usertest
) que tiene acceso a diferentes contenidos de Microsoft Teams.
En este ejemplo, la búsqueda devolverá un mensaje de chat de Microsoft Teams diferente.
Esto confirma que las ACL ingeridas en Amazon Kendra por el conector para Microsoft Teams se aplican en los resultados de búsqueda en función del nombre de usuario.
Limpiar
Para evitar incurrir en costos futuros, limpie los recursos que creó como parte de esta solución. Si creó un nuevo índice de Amazon Kendra mientras probaba esta solución, elimínelo. Si solo agregó una nueva fuente de datos mediante el conector de Amazon Kendra para Microsoft Teams, elimine esa fuente de datos.
Conclusión
Con el conector de Amazon Kendra para Microsoft Teams, las organizaciones pueden hacer que la información valiosa atrapada en sus instancias de Microsoft Teams esté disponible para sus usuarios de forma segura mediante la búsqueda inteligente con tecnología de Amazon Kendra. Además, el conector proporciona facetas para los atributos de Microsoft Teams, como canales, autores y categorías, para que los usuarios refinen de forma interactiva los resultados de búsqueda en función de lo que buscan.
Para obtener más información sobre el conector de Amazon Kendra para Microsoft Teams, consulte Microsoft Teams.
Para obtener más información sobre cómo puede crear, modificar o eliminar metadatos y contenido al ingerir sus datos de Microsoft Teams, consulte Personalización de metadatos de documentos durante el proceso de ingesta y Enriquezca su contenido y metadatos para mejorar su experiencia de búsqueda con el enriquecimiento de documentos personalizados en Amazona Kendra.
Sobre los autores
Praveen Edem es Arquitecto de Soluciones Sénior en Amazon Web Services. Trabaja con los principales clientes de servicios financieros, diseñando y modernizando sus aplicaciones críticas a gran escala mientras adopta los servicios de AWS. Tiene más de 20 años de experiencia en TI en desarrollo de aplicaciones y arquitectura de software.
Walbe quiere armas es ingeniero de desarrollo de software en Amazon Web Services. Es un ávido aprendiz y dispuesto a adoptar nuevas tecnologías. Desarrolla aplicaciones comerciales complejas y Java es su lenguaje principal de elección.