Pular para o conteúdo
  • Não há sugestões porque o campo de pesquisa está em branco.

Como fazer a Integração Azure com o Metroex

Configurações iniciais 


1. No Portal Azure acessaremos a as configurações do recurso Microsoft Entra ID 

2. Acessar App registrations → New registration 


3. Nessa tela será necessário preencher alguns dados para a configuração do aplicativo, como nome e quem poderá ter acesso a essa API. Redirect URL não é necessário. 


4. Após registrar seremos redirecionados para as configurações do aplicativo. Em Overview teremos as informações do Client ID e Tenant ID necessários para configurar o Azure AD no MyLogical

Para realizar configurações no app registration o usuário deve obrigatoriamente ter as permissões de Admin ou Global Admin, ou caso necessário é possível também adicionar um usuário em Owners para também terem acesso as configurações do app. 


5. Acessaremos a aba Authentication → + Add a plataform → Mobile and desktop applications 


6. Selecione o primeiro redirect -> 

Configure 7. Em API permissions adicionaremos as permissões necessárias para o MyLogical. Seleciona API permissions → + Add a permission → Microsoft Graph → Delegated permissions → Em OpenId permission adicione as 3 permissões offilne_access, openid e profile.


Após adicionar as 3 permissões certifique-se de garantir o consentimento no diretório padrão 


Após esses passos a configuração do app registration está completa, restando apenas a configuração dos usuário permitidos autenticar no MyLogical com o Azure AD, para isso siga os passos abaixo.


8. Volte para as configurações do Diretório Padrão e Acesse Enterprise applications


Busque pelo aplicativo que acabamos de configurar.


9. Em Users and groups é possível configurar os usuários com permissão para autenticar no aplicativo com Azure AD, são esses usuário que poderão acessar o MyLogical com a conta Microsoft. 


No caso de empresas que possuem uma licença P1 é possível adicionar grupos de usuários e a partir daí gerenciar os acessos direto pelos grupos. Em casos onde a licença é limitada será necessário adicionar cada usuário individualmente e controlar os acessos direto no Enterprise Applications. 


Configuração AzureADIntegration 


O AzureADIntegration é o serviço responsável por cadastrar e inativar automaticamente usuários no ERP quando eles são cadastrados ou removidos do Azure AD. O AzureADIntegration pode ser encontrado dentro da pasta Utils na pasta de versão gerada. 


Para iniciar a configuração, localize e edite o arquivo appsettings dentro da pasta AzureADIntegration. 


1. O clienteId e tenantId são os mesmos mencionados anteriormente. 


2. O clientSecret é um código gerado na Azure que permite o serviço se conectar ao AD, é necessário cadastrar um novo secret na Azure ou utilizar um já existente. Depois que um secret é gerado só é possível visualizá-lo no momento da criação, depois o código fica inacessível. 

Caso seja necessário cadastrar um novo secret, siga os passos abaixo: 


Dentro do App registration, acesse Certificates & secrets, crie uma nova secret em New cliente secret.


Preencha os campos de descrição e a data de expiração do secret e adicione.


Copie o campo value do secret cadastrado, esse é o código que deve ser adicionado no appsettings do AzureADIntegration. 


3. O EnterpriseApplicationObjectId é um campo necessário para que o serviço consiga acessar alguns dados específicos do AD, porém essa feature ainda está em desenvolvimento e não é necessário informar esse id. Mas futuramente se esse campo for necessário ele pode ser encontrado no Enterprise Application do AD, em overview. 


4. O Groups se trata dos grupos de usuários configurados na Azure, em “name” é necessário informar o nome do grupo, deve ser informado exatamente como está na azure, case sensitive e com espaços quando necessário. É possível adicionar uma role específica para cada grupo da Azure, quando o usuário for cadastrado no ERP ele será inserido com a role informada no campo myLogicalRoleId. A o id da role poderá ser obtido realizando uma consulta no banco de dados do ERP, na tabela roles. E por fim, o domínio, pode ser obtido em Users, ao cadastrar ou editar um usuário. É possível cadastrar múltiplos grupos, cada um com suas próprias permissões. 


Para cadastrar um grupo na Azure basta seguir os passos abaixo: Acesse groups no menu: 


Selecione New group


Preencha os dados necessários e adicione os membros do grupos: 


Para obter o domínio, acesse Users no menu, cadastre ou edite um usuário:


5. O sqlServerConnectionString se trata da string de conexão do banco do ERP, é necessário para que a aplicação consiga acessar o banco de dados e inserir ou inativar usuários. 


6. O defaultUserEncryptedPass é necessário para inserir um usuário na tabela users do ERP, o valor desse parâmetro é a senha criptografada do ERP. Essa senha só é informada porque é uma coluna NOT NULL no sqlServer, mas os usuários cadastrados via AD só poderão acessar o sistema com a autenticação da Microsoft, então por padrão o hash para a senha 123 já está sendo informado no appsettings e essa parâmetro não precisa ser alterado. 


Configurações necessárias na Azure. 


1. Para utilizar o AzureADIntegration é necessário adicionar novas permissões no App registration do AD. 


2. Vale ressaltar que os usuários cadastrador criados na Azure, além de estarem dentro de algum grupo, também precisar ter permissão no Enterprise Application do AD, seja adicionando o próprio usuário ou adicionando todo o grupo de usuários no Enterprise Application. 


Por fim, para que o AzureADIntegration funcione, é necessário configurar o aplicativo para rodar diariamente com o agendador de tarefas, o AzureADIntegration deve rodar pelo pelos 10 minutos antes do MailSender para que possa realizar as mudanças no banco de dados antes do disparo dos E-Mails. 


Configurações do MailSender 


O MailSender é utilizado para realizar o disparo de e E-Mails com os dados dos usuários cadastrados e inativados pelo serviço AzureADIntegration. Já existe um E-Mail Periódico configurado para cara unidade, os remetentes são os usuários sysAdmin do sistema que possuem E-Mail cadastrado no ERP. A configuração do MailSender não mudou, basta configurar o agendador de tarefas normalmente (o MailSender deve ser ajustado para rodar pelo menos 10 minutos depois do AzureADIntegration)