Compartir vía


Autenticación de un solo inquilino y multiinquilino para usuarios de Microsoft 365

En este artículo se proporciona información sobre el proceso de autenticación de aplicaciones de un solo inquilino y multiinquilino, Microsoft Entra ID (Id. de Microsoft Entra). Puede usar la autenticación al crear experiencias de llamada para usuarios de Microsoft 365 con el kit de desarrollo de software llamada (SDK) que Azure Communication Services pone a disposición. En los casos de uso de este artículo también se desglosan los artefactos de autenticación individuales.

Caso 1: Ejemplo de una aplicación de inquilino único

La empresa Fabrikam ha creado una aplicación para uso interno. Todos los usuarios de la aplicación tienen el Microsoft Entra ID. El acceso a Azure Communication Services se controla mediante el control de acceso basado en roles de Azure (Azure RBAC).

Diagrama que describe el proceso de autenticación de la aplicación de llamada de Fabrikam para usuarios de Microsoft 365 y su recurso de Azure Communication Services.

En el diagrama de secuencia siguiente se detalla la autenticación de inquilino único.

Diagrama de secuencia que detalla la autenticación de los usuarios de Microsoft 365 de Fabrikam. La aplicación cliente obtiene un token de acceso de Azure Communication Services para una aplicación de Microsoft Entra de un solo inquilino.

Antes de comenzar:

  • Alice o su administrador de Microsoft Entra tienen que dar el consentimiento a la aplicación de Teams personalizada antes del primer intento de iniciar sesión. Obtenga más información sobre el consentimiento.
  • El administrador del recurso de Azure Communication Services tiene que conceder permiso a Alice para que cumpla con su rol. Más información sobre la asignación de roles de Azure RBAC.

Pasos:

  1. Autenticar a Alice mediante Microsoft Entra ID: Alice se autentica mediante un flujo de OAuth estándar con la Biblioteca de autenticación de Microsoft (MSAL). Si la autenticación se realiza correctamente, la aplicación cliente recibe un token de acceso de Microsoft Entra, con un valor de A1 y un id. de objeto de un usuario de Microsoft Entra con un valor de A2. Los tokens se describen más adelante en este artículo. La autenticación desde la perspectiva del desarrollador se explora en este artículo de inicio rápido.
  2. Obtener un token de acceso para Alice: la aplicación Fabrikam mediante un artefacto de autenticación personalizado con el valor B realiza la lógica de autorización para decidir si Alice tiene permiso para intercambiar el token de acceso de Microsoft Entra para un token de acceso de Azure Communication Services. Después de una autorización correcta, la aplicación Fabrikam realiza la lógica del plano de control, mediante artefactos A1, A2y A3. El token de acceso de Azure Communication Services D se genera para Alice dentro de la aplicación Fabrikam. Este token de acceso se puede usar para las acciones del plano de datos en Azure Communication Services, como Calling. Los artefactos de A2 y A3 se pasan junto con el A1 de artefacto para la validación. La validación garantiza que el token de Microsoft Entra se emitió al usuario esperado. La aplicación impide que los atacantes usen los tokens de acceso de Microsoft Entra emitidos a otras aplicaciones u otros usuarios. Para obtener más información sobre cómo obtener artefactos de A, consulte Recibir el token de usuario y el identificador de objeto de Microsoft Entra a través de la biblioteca MSAL y Obtener un id. de aplicación.
  3. Llamar a Bob: Alice realiza una llamada al usuario de Microsoft 365 Bob, con la aplicación de Fabrikam. La llamada se hace a través del SDK Calling con un token de acceso de Azure Communication Services. Obtenga más información sobre desarrollo de aplicaciones para usuarios de Microsoft 365.

Artefactos:

  • ArtefactoA1
    • Tipo: Token de acceso de Microsoft Entra
    • Audiencia: Azure Communication Services, plano de control
    • Origen: Inquilino de Microsoft Entra para Fabrikam
    • Permisos: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • ArtefactoA2
    • Tipo: Id. de objeto de un usuario de Microsoft Entra
    • Origen: Inquilino de Microsoft Entra para Fabrikam
    • Autoridad: https://login.microsoftonline.com/<tenant>/
  • Artefacto A3
    • Tipo: Id. de aplicación de Microsoft Entra
    • Origen: Inquilino de Microsoft Entra para Fabrikam
  • Artefacto B
    • Tipo: Artefacto de autorización personalizado de Fabrikam (emitido por Microsoft Entra ID u otro servicio de autorización)
  • ArtefactoC
  • Artefacto D
    • Tipo: token de acceso de Azure Communication Services
    • Audiencia:Azure Communication Services, plano de datos
    • Identificador de recurso de Azure Communication Services: Fabrikam Azure Communication Services Resource ID

Caso 2: ejemplo de una aplicación multiinquilino

La empresa Contoso ha creado una aplicación para clientes externos. Esta aplicación usa la autenticación personalizada dentro de la propia infraestructura de Contoso. Contoso usa una cadena de conexión para recuperar tokens de la aplicación de Fabrikam.

Diagrama de secuencia que muestra cómo la aplicación Contoso autentica a los usuarios de Fabrikam con un recurso de Azure Communication Services propio.

En el diagrama de secuencia siguiente se detalla la autenticación multiinquilino.

Diagrama de secuencia que detalla la autenticación de usuarios de Microsoft 365 y tokens de acceso de Azure Communication Services para aplicaciones multiinquilino de Microsoft Entra.

Antes de comenzar:

  • Alice o su administrador de Microsoft Entra tienen que dar su consentimiento a la aplicación de Microsoft Entra de Contoso antes de iniciar sesión por primera vez. Obtenga más información sobre el consentimiento.

Pasos:

  1. Autenticar a Alice mediante la aplicación de Fabrikam: Alice se autentica a través de la aplicación de Fabrikam. Se usa un flujo de OAuth estándar con la Biblioteca de autenticación de Microsoft (MSAL). Asegúrese de configurar MSAL con una autoridad correcta. Si la autenticación se realiza correctamente, la aplicación cliente de Contoso recibe un token de acceso de Microsoft Entra con un valor de A1 y un id. de objeto de un usuario de Microsoft Entra con un valor de A2. A continuación se describen los detalles del token. La autenticación desde la perspectiva del desarrollador se explora en este artículo de inicio rápido.
  2. Obtener un token de acceso para Alice: la aplicación Contoso mediante un artefacto de autenticación personalizado con el valor B realiza la lógica de autorización para decidir si Alice tiene permiso para intercambiar el token de acceso de Microsoft Entra para un token de acceso de Azure Communication Services. Después de la autorización correcta, la aplicación Contoso realiza la lógica del plano de control mediante artefactos A1, A2y A3. Se genera un token de acceso de Azure Communication Services D para Alice dentro de la aplicación Contoso. Este token de acceso se puede usar para las acciones del plano de datos en Azure Communication Services, como Calling. Los artefactos de A2 y A3 se pasan junto con el artefacto A1. La validación garantiza que el token de Microsoft Entra se emitió al usuario esperado. La aplicación impide que los atacantes usen los tokens de acceso de Microsoft Entra emitidos a otras aplicaciones u otros usuarios. Para obtener más información sobre cómo obtener artefactos de A, consulte Recibir el token de usuario y el identificador de objeto de Microsoft Entra a través de la biblioteca MSAL y Obtener un id. de aplicación.
  3. Llamada a Bob: Alice realiza una llamada al usuario de Microsoft 365 Bob, con la aplicación de Fabrikam. La llamada se hace a través del SDK Calling con un token de acceso de Azure Communication Services. Obtenga más información sobre el desarrollo de aplicaciones para usuarios de Microsoft 365 en este inicio rápido.

Artefactos:

  • ArtefactoA1
    • Tipo: Token de acceso de Microsoft Entra
    • Audiencia: Azure Communication Services, plano de control
    • Origen: Inquilino de Microsoft Entra del registro de aplicaciones de Contoso
    • Permiso: https://auth.msft.communication.azure.com/Teams.ManageCalls, https://auth.msft.communication.azure.com/Teams.ManageChats
  • ArtefactoA2
    • Tipo: Id. de objeto de un usuario de Microsoft Entra
    • Origen: Inquilino de Microsoft Entra para Fabrikam
    • Autoridad: https://login.microsoftonline.com/<tenant>/ o https://login.microsoftonline.com/organizations/ (en función de su escenario)
  • Artefacto A3
    • Tipo: Id. de aplicación de Microsoft Entra
    • Origen: Inquilino de Microsoft Entra del registro de aplicaciones de Contoso
  • Artefacto B
    • Tipo: Artefacto de autorización personalizado de Consoto (emitido por Microsoft Entra ID u otro servicio de autorización)
  • ArtefactoC
  • Artefacto D
    • Tipo: token de acceso de Azure Communication Services
    • Audiencia:Azure Communication Services, plano de datos
    • Identificador de recurso de Azure Communication Services: Fabrikam Azure Communication Services Resource ID

Pasos siguientes

Las siguientes aplicaciones de muestra pueden ser interesantes:

  • Pruebe la aplicación de ejemplo, que muestra un proceso de adquisición de tokens de acceso de Azure Communication Services para usuarios de Microsoft 365 en aplicaciones móviles y de escritorio.

  • Para ver cómo se adquieren los tokens de acceso de Azure Communication Services para los usuarios de Microsoft 365 en una aplicación de página única, consulte una aplicación de ejemplo de SPA .

  • Para obtener más información sobre una implementación de servidor de un servicio de autenticación para Azure Communication Services, consulte el ejemplo principal del servicio de autenticación.