Una aplicación de teléfono de aplicación de administración delegada para llamadas (PSTN) Gestión de números de teléfono
Microsoft Teams proporciona un portal de administración para administrar los diferentes servicios de telefonía para la organización. Para acceder a este portal, debe asignar uno de los roles de administrador definidos aquí. Para administrar el sistema de telefonía y asignar números de teléfono o políticas de voz a los usuarios, el rol mínimo requerido es "Administrador de comunicaciones de equipos": este rol se aplica al alcance del inquilino Azure AD, lo que significa todos los usuarios de su organización.
Si bien este modelo funciona bien, las operaciones se gestionan centralmente, se vuelve más desafiante cuando una organización necesita delegar estas operaciones a nivel local (por ejemplo, por país); esta aplicación proporciona una respuesta a una gestión delegada del sistema de telefonía basada en la ubicación de Los usuarios y permisos establecidos para los administradores delegados.
A partir de hoy, esta aplicación admite los siguientes escenarios:
Nota: La solución solo admite planes de llamadas (también conocido como configuración PSTN): el enrutamiento directo es nuestro alcance, pero la solución se puede actualizar para admitir este escenario con esfuerzos mínimos utilizando el cmdlet de PowerShell apropiado.
La arquitectura de esta solución se puede adaptar para admitir otros escenarios que requieren la administración de administración delegada del sistema telefónico de equipos o cualquier otra característica accesible a través de PowerShell Cmdlet o incluso la API de MS Graph.
Aquí está la aplicación que se ejecuta en los equipos de Microsoft
Requisitos previos
Nota: En esta implementación, suponemos que el mismo usuario tiene los permisos apropiados para implementar los recursos en Azure, Power Platform y Azure AD. Sin embargo, esto no es obligatorio y la implementación se puede dividir en estos diferentes roles y responsabilidades dentro de la organización.
Paso 1 : cree una cuenta de servicio en Azure AD
Rol requerido: Azure AD Admin
Nota: Deberá restablecer esta contraseña la primera vez que use esta cuenta; conéctese a https://portal.azure.com con las credenciales del usuario y proporcione una nueva contraseña compleja : almacene esta contraseña en una ubicación segura
Paso 2 : implementa los recursos de Azure
Roles requeridos:
Para ejecutar este paso de implementación, debe descargar el contenido de este repositorio en su entorno local y ejecutar el script de PowerShell en . Implementment implement.ps1
$displayName = ' Teams-Telephony-Manager ' ( default value)
$rgName = ' Teams-Telephony-Manager ' ( default value)
$resourcePrefix = ' teams-mng ' ( default value)
$location = ' westeurope ' ( default value)
$serviceAccountUPN = [ UPN of the Service Account created in step 1 ]
$serviceAccountSecret = [ Password of the Service Account created in step 1 ]
.deploy.ps1 - serviceAccountUPN $serviceAccountUPN - serviceAccountSecret $serviceAccountSecret
El despliegue puede tardar varios minutos, incluido el tiempo de calentamiento de las funciones de Azure, al final de la implementación, verifique las salidas que se requerirán para configurar la implementación de la aplicación Power y el acceso condicional Azure AD
Una implementación exitosa debe verse así (por defecto, el script se ejecuta 3 veces)
TriggerTime WorkerId Duration StatusCode StatusDescription
----------- -------- -------- ---------- -----------------
16 / 12 / 2021 16 : 42 : 06 2 6 , 93 200 OK
16 / 12 / 2021 16 : 42 : 08 1 8 , 65 200 OK
16 / 12 / 2021 16 : 42 : 09 3 9 , 38 200 OK
Deployment script terminated
Here are the information you ll need to deploy and configure the Power Application
API_URL : ' https://teams-nnjqs.azurewebsites.net '
API_Code : ' pujmFZfGxwqGXXXdddxLs2xXXXg2cMLhAUUE2Q== '
TenantID : ' 153017a8-XXXX-XXXX-XXXX-463465842b89 '
ClientID : ' bad28fb5-XXXX-XXXX-XXXX-665886c2cbad '
Audience : ' api://azfunc-bad28fb5-XXXX-XXXX-XXXX-665886c2cbad '
KeyVault_Name : ' az-vault-6cdgs '
AzFunctionIPs : ' 104.45.68.78,104.45.69.84,104.45.69.210,104.45.69.232,104.45.66.240,104.45.70.42,20.50.2.80 '
Paso 3 : implementa la aplicación de alimentación y fluye
Puede descargar la instrucción para implementar la aplicación Power en este enlace.
El archivo zip mencionado en el documento está disponible en este enlace.
Al final de este paso, la solución debe funcionar de extremo a extremo: se recomiendan los siguientes pasos, pero son opcionales y están aquí para agregar más seguridad a la solución utilizando la autenticación y controles de Azure AD.
Paso 4 - Activar acceso condicional de Azure AD
Puede habilitar el acceso condicional de Azure en la cuenta de servicio utilizada por su aplicación de función Azure y restringir las IP de confianza a la utilizada por la función Azure. El acceso condicional de Azure AD requiere una licencia P1 premium para asignarse, más información aquí sobre los requisitos de la licencia.
Nota: Vuelva a su aplicación de energía y verifique que la aplicación aún responda; también puede intentar usar la credencial principal de servicio desde su escritorio y veridad local que ya no puede iniciar sesión.
Paso 5 - Comparte la aplicación
Ahora tiene la aplicación implementada en equipos y debe proporcionar acceso a "administradores delegados" en su organización. Para lograr eso, utilizaremos el grupo Office 365 del equipo donde se han implementado las aplicaciones de energía.
Todos los "administradores delegados" deben ser invitados al equipo para acceder a la aplicación Power
Copie el nombre del equipo donde está instalada la aplicación: este es el nombre de su grupo O365
Debe habilitar que su grupo O365 se utilice como grupo de seguridad; para eso, vaya a Azure Ad Groups Management Blade para obtener su ID de grupo O365 y utilice el siguiente comando PowerShell para habilitar la seguridad en este grupo.
Set-AzureADMSGroup - Id [ Office365 _ Group _ ID ] - SecurityEnabled $true
Vaya al portal Azure y luego al Azure KeyVault desplegado en esta solución
Vaya al portal de aplicaciones de energía y luego seleccione sus aplicaciones de energía
El primero que sus usuarios accederán a la aplicación Power en los equipos, deberán consentir para usar los 3 conectores (SharePoint, Office365 y Azure KeyVault): para Azure KeyVault, deben proporcionar el nombre de KeyVault que obtiene del despliegue del Recursos Azure (por ejemplo, AZ-Vault-6CDGS)
Esta solución se basa en la plataforma de potencia de Microsoft (SaaS) y Microsoft Azure utilizando los servicios de PAAS: el beneficio de estos servicios es que Microsoft está a cargo de la capa de infraestructura y esta solución incluye cierto nivel de registros para rastrear los cambios y facilitar la solución de problemas tanto. Bueno. Sin embargo, sigue siendo responsable de la gestión de esta aplicación con las siguientes recomendaciones:
Esta es una estimación de costos basadas en la licencia pública de marzo de 2022. No incluyen los costos para los equipos de Office 365 y Microsoft.
Todos los precios se proporcionan solo para información.
Servicio | Uso estimado | Precio unitario | Costo / mes estimado |
---|---|---|---|
Plataforma de potencia | 20 administradores (conector premium) | $ 5 por usuario/aplicación/mes | $ 100 |
Plan de servicio de aplicaciones de Azure | 1 Plan (Básico B1) para todas las funciones de Azure | $ 54.75 por plan/mes | $ 55 |
Azure (otros servicios) | Solicitud de almacenamiento y KeyVault | Basado en la capacidad (GB) y # solicitudes | <$ 1 |
Azure ad ca | 1 licencia P1 | $ 6 Perusor/mes | $ 6 |
Total estimado | $ 162 |
Este proyecto da la bienvenida a las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Acuerdo de Licencia de Contributor (CLA) que declare que tiene derecho y realmente hacernos los derechos para utilizar su contribución. Para más detalles, visite https://cla.opensource.microsoft.com.
Cuando envíe una solicitud de extracción, un BOT CLA determinará automáticamente si necesita proporcionar un CLA y decorar el PR adecuadamente (por ejemplo, verificación de estado, comentario). Simplemente siga las instrucciones proporcionadas por el bot. Solo necesitará hacer esto una vez en todos los reposos usando nuestro CLA.
Este proyecto ha adoptado el Código de Conducta Open Open Microsoft. Para obtener más información, consulte el Código de Conducta Preguntas frecuentes o comuníquese con [email protected] con cualquier pregunta o comentario adicional.
Este proyecto puede contener marcas comerciales o logotipos para proyectos, productos o servicios. El uso autorizado de marcas o logotipos de Microsoft está sujeto y debe seguir las pautas de marca y marca de Microsoft. El uso de marcas registradas de Microsoft o logotipos en versiones modificadas de este proyecto no debe causar confusión o implicar el patrocinio de Microsoft. Cualquier uso de marcas comerciales o logotipos de terceros está sujeto a las políticas de esas partes de terceros.