Um aplicativo administrador delegado para planos de chamadas (PSTN) Gerenciamento de números de telefone
A Microsoft Teams fornece um portal de administração para gerenciar os diferentes serviços de telefonia para a organização. Para acessar este portal, você precisa atribuir uma das funções do administrador definidas aqui. Para gerenciar o sistema de telefonia e atribuir números de telefone ou políticas de voz aos usuários, a função mínima necessária é "Teams Communications Administrator" - essa função é aplicada no escopo do inquilino do Azure Ad, o que significa que todos os usuários da sua organização.
Embora esse modelo funcione bem as operações bem gerenciadas centralmente, torna -se mais desafiador quando uma organização precisa delegar essas operações em níveis locais (por exemplo, por país) - esse aplicativo fornece uma resposta, uma gestão delegada do sistema de telefonia com base na localização da localização de Os usuários e permissões definidos para os administradores delegados.
A partir de hoje, este aplicativo suporta os seguintes cenários:
Nota: A solução suporta apenas a configuração de planos de chamada (também conhecida como PSTN) - o roteamento direto é o nosso escopo, mas a solução pode ser atualizada para apoiar esse cenário com esforços mínimos usando o cmdlet PowerShell apropriado.
A arquitetura desta solução pode ser adaptada para suportar outros cenários que exigem gerenciamento de administração delegado do sistema telefônico de equipes ou qualquer outro recurso acessível via PowerShell cmdlet ou mesmo API de gráfico de MS.
Aqui está o aplicativo em execução nas equipes da Microsoft
Pré-requisitos
Nota: Nesta implantação, assumimos que o mesmo usuário tem as permissões apropriadas para implantar os recursos no Azure, Power Platform e Azure AD. No entanto, isso não é obrigatório e a implantação pode ser dividida nessas diferentes funções e responsabilidades dentro da organização.
Etapa 1 - Crie uma conta de serviço no anúncio do Azure
Função necessária: admin do Azure AD
NOTA: Você precisará redefinir esta senha na primeira vez em que usar esta conta - conecte -se a https://portal.azure.com com as credenciais do usuário e forneça uma nova senha complexa - armazene esta senha em um local seguro
Etapa 2 - Implante os recursos do Azure
Funções necessárias:
Para executar esta etapa de implantação, você precisa baixar o conteúdo deste repositório em seu ambiente local e executar o script PowerShell em . Implantment implant.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
A implantação pode levar alguns minutos, incluindo o tempo de aquecimento das funções do Azure - no final da implantação, verifique as saídas que serão necessárias para configurar a implantação do aplicativo Power e o Azure AD Acesso Condicional
Uma implantação bem -sucedida deve ser assim (por padrão, o script é executado 3 vezes)
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 '
Etapa 3 - Implante o aplicativo de energia e flui
Você pode baixar a instrução para implantar o aplicativo Power neste link.
O arquivo zip mencionado no documento está disponível neste link.
No final desta etapa, a solução deve funcionar de ponta a ponta-os próximos passos são recomendados, mas opcionais e estão aqui para adicionar mais segurança à solução usando a autenticação e controles do Azure AD.
Etapa 4 - Ative o acesso condicional do Azure AD
Você pode ativar o acesso condicional do Azure na conta de serviço usada pelo seu aplicativo de função do Azure e restringir os IPs confiáveis ao usado pela função do Azure. Acesso condicional do Azure AD requer uma licença P1 Premium a ser atribuída - mais informações aqui sobre requisitos de licença.
NOTA: Volte ao seu aplicativo Power e verifique se o aplicativo ainda responde - você também pode tentar usar a credencial principal do Serviço da sua área de trabalho e da verdade local que não pode mais fazer o login.
Etapa 5 - Compartilhe o aplicativo
Agora você tem o aplicativo implantado nas equipes e precisa fornecer acesso a "administradores delegados" em sua organização. Para conseguir isso, usaremos o grupo Office 365 da equipe, onde os aplicativos de energia foram implantados.
Todos os "Administradores delegados" precisam ser convidados na equipe para acessar o aplicativo Power
Copie o nome da equipe em que o aplicativo está instalado - este é o nome do seu grupo O365
Você precisa permitir que seu grupo O365 seja usado como um grupo de segurança - para isso, acesse a lâmina de gerenciamento de grupos de anúncios do Azure para obter seu ID do grupo O365 e usar o seguinte comando PowerShell para permitir a segurança nesse grupo.
Set-AzureADMSGroup - Id [ Office365 _ Group _ ID ] - SecurityEnabled $true
Vá para o portal do Azure e depois para o Azure Keyvault implantado nesta solução
Vá para o Portal de Apps Power e selecione seus aplicativos de energia
No 1º que seus usuários acessarão o aplicativo de energia nas equipes, eles precisarão consentir para usar os 3 conectores (SharePoint, Office365 e Azure Keyvault) - Para o Azure Keyvault, eles precisam fornecer o nome Keyvault que você obtém da implantação do Recursos do Azure (por exemplo, Az-Vault-6cdgs)
Esta solução é construída na Microsoft Power Platform (SaaS) e Microsoft Azure usando os Serviços PaaS - o benefício desses serviços é que a Microsoft é responsável pela camada de infraestrutura e esta solução inclui algum nível de toras para rastrear mudanças e facilitar a solução de problemas como bem. No entanto, você ainda é responsável pelo gerenciamento deste aplicativo com as seguintes recomendações:
Esta é uma estimativa de custos com base na lista pública de março de 2022. Eles não incluem os custos das equipes Office 365 e Microsoft.
Todos os preços são fornecidos apenas para informações.
Serviço | Uso estimado | Preço unitário | Custo / mês estimado |
---|---|---|---|
Plataforma de energia | 20 Administradores (conector premium) | US $ 5 por usuário/aplicativo/mês | $ 100 |
Azure App Service Plan | 1 Plano (básico B1) para todas as funções do Azure | US $ 54,75 por plano/mês | $ 55 |
Azure (outros serviços) | Solicitação de armazenamento e keyvault | com base na capacidade (GB) & # solicitações | <$ 1 |
Azure ad ca | 1 licença P1 | Limente de US $ 6/mês | $ 6 |
Total estimado | $ 162 |
Este projeto recebe contribuições e sugestões. A maioria das contribuições exige que você concorde com um Contrato de Licença de Colaborador (CLA) declarando que você tem o direito e, na verdade, concede -nos os direitos de usar sua contribuição. Para detalhes, visite https://cla.opensource.microsoft.com.
Quando você envia uma solicitação de tração, um BOT do CLA determina automaticamente se você precisa fornecer um CLA e decorar o PR adequadamente (por exemplo, verificação de status, comentar). Simplesmente siga as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios usando nosso CLA.
Este projeto adotou o Código de Conduta Open Microsoft. Para obter mais informações, consulte o Código de Conduta Perguntas frequentes ou entre em contato com [email protected] com quaisquer perguntas ou comentários adicionais.
Este projeto pode conter marcas comerciais ou logotipos para projetos, produtos ou serviços. O uso autorizado de marcas comerciais ou logotipos da Microsoft está sujeito e deve seguir as diretrizes de marca registrada e marca da Microsoft. O uso de marcas comerciais da Microsoft ou logotipos em versões modificadas deste projeto não deve causar confusão ou implicar o patrocínio da Microsoft. Qualquer uso de marcas comerciais ou logotipos de terceiros estão sujeitas às políticas de terceiros.