Conecte Amazon Q Business a Microsoft SharePoint Online mediante controles de acceso con privilegios mínimos

Amazon Q Negocios es el asistente de inteligencia artificial (IA) generativa que empodera a los empleados con el conocimiento y los datos de su empresa. Microsoft SharePoint Online Muchas organizaciones utilizan SharePoint como un lugar seguro para almacenar, organizar, compartir y acceder a sus datos internos. Con la IA generativa, los empleados pueden obtener respuestas a sus preguntas, resumir contenido o generar información a partir de los datos almacenados en SharePoint Online. Conectores comerciales de Amazon Qpuede conectar datos de SharePoint Online a un Amazon Q Negocios aplicación y comience a obtener información de sus datos rápidamente.

Esta publicación demuestra cómo usar Amazon Q Business con SharePoint Online como fuente de datos para proporcionar respuestas, generar resúmenes y presentar información mediante controles de acceso con privilegios mínimos y Mejores prácticas recomendadas por el equipo de soporte técnico para desarrolladores de Microsoft SharePoint.

Descripción general de la solución

En esta publicación, lo guiamos a través del proceso de configuración de una aplicación Amazon Q Business que se conecta a sus sitios de SharePoint Online mediante un conector Amazon Q Business listo para usar y lo configuramos mediante el Sites.Selected Ámbito de aplicación del permiso. Sites.Selected El permiso es importante porque muchas organizaciones implementan políticas que impiden otorgar acceso de lectura en todos los sitios (Sites.Read.All) o control total (Sites.FullControl.All) a cualquier conector.

El enfoque de la solución respeta las identidades, los roles y los permisos existentes de los usuarios al habilitar el rastreo de identidades y las listas de control de acceso (ACL) en el conector Amazon Q Business para SharePoint Online utilizando credenciales seguras facilitadas a través de Administrador de secretos de AWSSi un usuario no tiene permisos para acceder a determinados datos sin Amazon Q Business, tampoco podrá acceder a ellos mediante Amazon Q Business. Solo se utilizan los datos a los que el usuario tiene acceso para respaldar la consulta del usuario.

Prerrequisitos

Los siguientes son los requisitos previos necesarios para implementar la solución:

  • Una cuenta de AWS con un Gestión de identidad y acceso de AWS Rol y usuario (IAM) con permisos para crear y administrar los recursos y componentes necesarios para la aplicación. Si no tiene una cuenta de AWS, consulte ¿Cómo creo y activo una nueva cuenta de Amazon Web Services?
  • Una aplicación de Amazon Q Business. Si aún no has configurado una, consulta Creación de un entorno de aplicación de Amazon Q Business.
  • A Cuenta de Microsoft y una suscripción a SharePoint Online para crear y publicar la aplicación siguiendo los pasos que se describen en esta publicación. Si no tiene esto, consulte con los administradores de su organización para crear entornos aislados en los que pueda experimentar o crea una cuenta nueva y suscripción de prueba según sea necesario para completar los pasos.
  • Una aplicación en Microsoft Entra ID con Sites.FullControl permisos a nivel de aplicación, junto con su ID de cliente y secreto de cliente. El conector de Amazon Q Business no utilizará esta aplicación, pero es necesaria para otorgar permisos. Sites.Selected permisos exclusivamente a la aplicación de destino.

Registrar una nueva aplicación en el portal de Microsoft Azure

Complete los siguientes pasos para registrar una nueva aplicación en el portal de Microsoft Azure:

  1. Iniciar sesión en el Portal de Azure con tu cuenta Microsoft.
  2. Elegir Nuevo registro.
    1. Para Nombreproporcione el nombre de su aplicación. Para esta publicación, usamos el nombre TargetAppLa aplicación Amazon Q Business utiliza TargetApp para conectarse al sitio de SharePoint Online para rastrear e indexar los datos.
    2. Para ¿Quién puede utilizar esta aplicación o acceder a esta API?elegir Cuentas solo en este directorio organizacional (solo : inquilino único).
    3. Elegir Registro.
  3. Anote el ID de la aplicación (cliente) y el ID del directorio (inquilino) en el Descripción general Los necesitarás más adelante cuando te los pidan. TargetApp-ClientId y TenantId.
  4. Elegir Permisos de API bajo Administrar en el panel de navegación.
  5. Elegir Agregar un permiso para permitir que la aplicación lea datos en el directorio de su organización sobre el usuario que inició sesión.
    1. Elegir Gráfico de Microsoft.
    2. Elegir Permisos delegados.
    3. Elegir User.Read.All desde el Usuario sección.
    4. Elegir GroupMember.Read.All desde el Miembro del grupo sección.
    5. Elegir Sites.Selected desde el Sitios sección.
    6. Elegir Agregar permisos.
  6. En el menú de opciones (tres puntos), elija Quitar permiso.
  7. Quitar el original User.Read – Delegated permiso.
  8. Elegir Otorgar consentimiento al administrador para Directorio predeterminado.

  1. Elegir Certificados y secretos en el panel de navegación.
  2. Elegir Nuevo secreto de cliente.
    1. Para Descripcióningrese una descripción.
    2. Elija un valor para CaducaTenga en cuenta que, en producción, deberá rotar manualmente su secreto antes de que caduque.
    3. Elegir Agregar.
    4. Anota el valor de tu nuevo secreto. Lo necesitarás más adelante cuando te pidan el secreto de tu cliente (TargetApp-ClientSecret).
  3. Opcionalmente, elija Propietarios para agregar propietarios adicionales a la aplicación. Los propietarios podrán administrar los permisos de la aplicación de Azure AD (TargetApp).

Utilice la API Graph para otorgar permisos a la aplicación en el sitio de SharePoint Online

En este paso, define a cuáles de tus sitios de SharePoint Online se les concederá acceso. TargetAppLa aplicación Amazon Q Business utiliza TargetApp para conectarse al sitio de SharePoint Online para rastrear e indexar los datos.

Para esta publicación, usamos Carterouna plataforma para usar API para otorgar permisos. Para otorgar permisos a un sitio específico de SharePoint Online, debe tener otra aplicación de Azure AD, a la que nos referimos como AdminAppcon Sites.FullControl.All permisos.

Si no tienes el prerrequisito AdminAppsiga los pasos anteriores para registrarse AdminApp y para Permisos de aplicaciónconceder Sites.FullControl.All permisos. Como se menciona en los requisitos previos, AdminApp se utilizará únicamente para otorgar permisos de acceso a sitios de SharePoint Online. TargetApp.

Nosotros usamos el ClientId y ClientSecret valores de AdminApp desde la aplicación Azure AD para obtener una AccessToken valor.

  1. Crea una solicitud POST en Postman con la URL https://login.microsoftonline.com/{TenantId}/oauth2/v2.0/token.
  2. En el cuerpo de la solicitud, elija x-www-form-urlencoded y establezca los siguientes pares clave-valor:
    1. Colocar client_id a AdminApp-ClientId.
    2. Colocar client_secret a AdminApp-ClientSecret.
    3. Colocar grant_type a client_credentials.
    4. Colocar scope a https://graph.microsoft.com/.default.

Obtener token de acceso

  1. Elegir Enviar.
  2. De la respuesta devuelta, copie el valor de access_tokenLo necesitarás en un paso posterior cuando te soliciten el token al portador.
  3. Utilice el valor de access_token del paso anterior para otorgar permisos a TargetApp.
    1. Consigue el SiteId del sitio de SharePoint Online visitando la URL de su sitio (por ejemplo, https://<yourcompany>.sharepoint.com/sites/{SiteName}) en un navegador. Debe iniciar sesión en el sitio proporcionando credenciales válidas para acceder al sitio.
    2. Edite la URL en la barra de direcciones del navegador para agregarla /_api/site/id Al final de {SiteName} Para obtener el SiteId, necesitas esto SiteId en el siguiente paso.

Obtener el ID del sitio

  1. Cree otra solicitud POST en Postman utilizando la URL https://graph.microsoft.com/v1.0/sites/{SiteId}/permissions. Reemplace {SiteId} en la URL de la solicitud con el SiteId del paso anterior.

Puede repetir este paso para cada sitio que desee incluir en el conector de SharePoint Online de Amazon Q Business.

  1. Elegir Token al portador para Tipo sobre el Autorización
  2. Introduzca el valor de access_token desde antes para Simbólico.

Otorgar permisos a la aplicación de destino

  1. Para la carga útil, seleccione crudo e ingrese el siguiente código JSON (reemplace el <> y <> valores):
{
    "roles": [
        "fullcontrol"
    ],
    "grantedToIdentities": [
        {
            "application": {
                "id": "<<TargetApp-clientId>>",
                "displayName": "<<TargeApp-Name>>"
            }
        }
    ]
}

Concesión completa de acceso

  1. Elegir Enviar para completar el proceso de otorgamiento de acceso a los sitios de SharePoint Online TargetApp Aplicación de Azure AD.

Configurar el conector de SharePoint Online para Amazon Q Business

Complete los siguientes pasos para configurar el conector de SharePoint Online de la aplicación Amazon Q Business:

  1. En la consola de Amazon Q Business, seleccione Agregar fuente de datos.
  2. Busca y elige SharePoint.
  3. Dale un nombre y una descripción (opcional).
  4. Elegir SharePoint en línea para Método de hospedaje bajo Configuración de origen.
  5. Proporcione la URL completa del sitio de SharePoint que desea incluir en el rastreo y la indexación. URL de sitios específicos de su repositorio de SharePoint.
    1. Si la URL completa del sitio es https://<yourcompany>.sharepoint.com/sites/anycompanyusar <yourcompany> como el valor para Dominio.
  6. Elegir Autenticación OAuth 2.0 para Método de autentificación.
  7. Proporcionar el valor de TenantId para Identificación del inquilino.

El conector de SharePoint necesita credenciales para conectarse al sitio de SharePoint Online mediante la API de Microsoft Graph. Para facilitar esto, cree un nuevo secreto de Secrets Manager. Estas credenciales no se utilizarán en ningún registro de acceso para el sitio de SharePoint Online.

  1. Elegir Crear y agregar un nuevo secreto.
  2. Introduzca un nombre para el secreto.
  3. Introduzca el nombre de usuario y la contraseña de un SiteCollection administrador de los sitios incluidos en el repositorio de Amazon Q.
  4. Ingrese su ID de cliente y el secreto de cliente que obtuvo al registrarse TargetApp en los pasos anteriores.
  5. Elegir Ahorrar.

Crear secreto

  1. Elegir Crear un nuevo rol de servicio para crear un rol de IAM e ingresar un nombre para el rol.
  2. Para Ámbito de sincronizaciónelegir Seleccionar entidades y elige Todo (o especifique la combinación de elementos a sincronizar).
  3. Elige una opción de sincronización según tus necesidades (a pedido o con la frecuencia que elijas). Para esta publicación, elegimos la opción a pedido.
  4. Elegir Agregar fuente de datos.
  5. Una vez creada la fuente de datos, seleccione Sincronizar ahora para iniciar el rastreo y la indexación.

Probar la solución

Para probar la solución, puedes Agregar usuarios y gruposasigne suscripciones y pruebe el acceso de usuarios y grupos dentro de su aplicación comercial Amazon Q.

Limpiar

Si solo está experimentando con los pasos de esta publicación, elimine su aplicación del Portal de Azure y elimine la aplicación de Amazon Q de la consola de Amazon Q para evitar incurrir en costos.

Conclusión

En esta publicación, analizamos cómo configurar el conector de SharePoint Online para Amazon Q Business mediante controles de acceso con privilegios mínimos que funcionan con privilegios mínimos a nivel de sitio para rastrear e indexar el contenido del sitio de SharePoint Online de forma segura. También demostramos cómo conservar y aplicar listas de control de acceso (ACL) al responder a las conversaciones de los usuarios.

Las organizaciones ahora pueden usar sus datos existentes de SharePoint Online para obtener mejores perspectivas, generar resúmenes y obtener respuestas a consultas en lenguaje natural de manera conversacional mediante Amazon Q Business. Al conectar SharePoint Online como una fuente de datos, los empleados pueden interactuar con el conocimiento y los datos de la organización almacenados en SharePoint mediante lenguaje natural, lo que facilita la búsqueda de información relevante, la extracción de puntos clave y la obtención de información valiosa. Esto puede mejorar significativamente la productividad, la toma de decisiones y el intercambio de conocimientos dentro de la organización.

Pruebe la solución de esta publicación y deje sus comentarios y preguntas en la sección de comentarios.


Sobre los autores

Surendar GajavelliSurendar Gajavelli es un arquitecto de soluciones sénior radicado en Nashville, Tennessee. Es un apasionado de la tecnología que disfruta trabajando con clientes y ayudándolos a crear soluciones innovadoras.

Abhi PatlollaAbhi Patlolla es un arquitecto de soluciones sénior radicado en la región de Nueva York que ayuda a los clientes en sus iniciativas de transformación a la nube, IA/ML y datos. Es un líder estratégico y técnico que asesora a ejecutivos e ingenieros sobre estrategias en la nube para fomentar la innovación y el impacto positivo.