<< Clic para mostrar Tabla de Contenidos >> Configurar la Integración por correo electrónico utilizando Office365 con Exchange |
Introducción
El siguiente artículo provee una referencia de cómo configurar la funcionalidad de Integración por correo electrónico de Bizagi utilizando una cuenta de Microsoft Exchange, a través de Azure Active Directory (AAD en la imagen abajo).
Específicamente, cómo implementar el flujo de client_credential de OAuth 2.0 para acceder a Office365 a través Exchange, usando el cliente de correo electrónico de Aspose, para monitorear el buzón de correo, sin ninguna interacción del usuario.
Los pasos principales en Bizagi para utilizar la integración por correo electrónico (como establecer la conexión a su servidor SMTP de correo electrónico o asegurarse de que su tarea tenga las características ideales para integración por correo elctrónico) están descritas en Integración por correo electrónico.
Microsoft ha dejado de soportar la autenticación básica para el acceso de buzones de Office 365.
Para soportar la funcionalidad de Integración por correo electrónico con Exchange es necesario que cree un ticket de soporte, pidiendo la versión que contiene la solución a la Integración por correo electrónico.
Luego, siga los pasos descritos.
Aplicar llaves para la configuración Exchange en el Scheduler de Bizagi
Una vez instale la última versión, usted debe colocar las siguientes llaves en el .config del Scheduler de Bizagi:
•key="EmailIntegrationIdApp" value= "APPLICATION_ID"
•key="EmailIntegrationTenantId" value= "TenantId"
•key="EmailIntegrationClientSecret" value="client Secret encriptado"
•key="EmailIntegrationWebmailDefault" value="https://outlook.office365.com/.default"
Por ejemplo:
key="EmailIntegrationIdApp" value="ad9b4ca0-9ed8-4c57-bd21-8e266ca24fad"
key="EmailIntegrationTenantId" value="b5754b80-da35-44e1-9344-0c51133a2654"
key="EmailIntegrationClientSecret" value="CRYPT.1:chO0hX9ITJG+tBXHkYM19M9sppnwd6pHKB3+SidhW8O9nFpXasL57gtpMtCgEHOG"
key="EmailIntegrationWebmailDefault" value="https://outlook.office365.com/.default"
Configuración inicial de Microsoft Exchange
Siga estos pasos para configurar Exchange. Al finalizar, debe también incluir las llaves en el .config del scheduler.
Prerequisitos
•Se debe tener un rol Administrador, Desarrollador de aplicaciones o Administrador de aplicaciones en la nube de Azure para configurar la aplicación cliente
•Se debe tener un rol Administrador global para conceder los permisos a la aplicación que tendrá acceso al correo por la autenticación OAuth2 del flujo client_credential
•Se debe configurar una bandeja de correo por proyecto. Es decir, dos proyectos no deben tener la misma información de configuración. Una forma de diferenciarlos es la cuenta de correo Exchange.
¿Qué necesita hacer en Azure?
1. Registrar una aplicación con la plataforma de identidad de Microsoft
2. Agregar Permisos a la Aplicación
3. Cree el "Client Secret"
4. Identificar los datos de la aplicación
5. Registrar servicios principales en Exchange
¿Qué necesita hacer en Bizagi?
6. Cambiar la configuración de Studio
7. Aplicar las llaves de configuración de Exchange al Scheduler
1. Registrar una aplicación con la plataforma de identidad de Microsoft
La cuenta de Azure debe tener permiso para administrar aplicaciones en Azure Active Directory (Azure AD). Cualquiera de los siguientes roles de Azure AD incluye los permisos necesarios:
•Administrador de aplicaciones
•Desarrollador de aplicaciones
•Administrador de aplicaciones en la nube
1.1 Inicie sesión en el portal de Azure.
1.2 Busque y seleccione Azure Active Directory.
1.3 En Manage, seleccione App registrations > New registration.
1.4 Ingrese el nombre de la app. Ejemplo: Bizagi App 1 > Register.
Para más información siga la documentación oficial de Microsoft: https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app
2. Agregar permisos a la Aplicación
2.1 Seleccione: API permissions > Add a permission > APIs my organization uses > Office 365 Exchange Online.
2.2 Seleccione: Application permissions > Other permissions> full_access_as_app > Add permissions
2.3 Seleccione: Grant admin consent for "your organization". Los permisos agregados correctamente se deben ver como en la imagen
3. Creación del "Client Secret"
3.1 Seleccione Certificate & secrets > New client secret > (agregar descripción) > (modificar tiempo de expiración) > Add
Debe aparecer el siguiente registro creado.
3.2 Copie el valor del client secret ya que una vez que vaya a otra pantalla no será visible.
4. Identificar los datos de la aplicación
4.1 Seleccione: Home > ActiveDirectory
4.2 Seleccione la aplicación creada: EmailIntegrationOAth2SB
En el recuadro se identifican los datos importantes para el siguiente paso
5. Registrar servicios principales en Exchange
Use Windows PowerShell (ejecutar como administrador) para registrar entidades principales de servicio en Exchange.
5.1 Establezca la política de ejecución:
Set-ExecutionPolicy RemoteSigned
5.2 Instale el módulo ExchangeOnlineManagement
Install-Module -Name ExchangeOnlineManagement
Import-Module ExchangeOnlineManagement
5.3 Conéctese e inicie sesión como administrador (se le pedirá una contraseña):
Connect-ExchangeOnline -UserPrincipalName your-admin-account@your-domain.onmicrosoft.com
5.4 Para Exchange que se ejecuta en modo híbrido, inicie sesión con el siguiente código:
$lc = Get-Credential
Connect-ExchangeOnline -Credential $lc
5.5 Crear entidad de servicio. Debe obtener los Datos de la aplicación
New-ServicePrincipal -AppId <APPLICATION_ID> -ServiceId <OBJECT_ID>
Si recibe un error al ejecutar el cmdlet New-ServicePrincipal después de realizar estos pasos, probablemente se deba a que el usuario no tiene suficientes permisos en Exchange en línea para realizar la operación. De forma predeterminada, este cmdlet está disponible para los usuarios a los que se les asignó la función de administración de roles.
Para este ejemplo:
New-ServicePrincipal -AppId ad9b4ca0-9ed8-4c57-bd21-8e266ca24fad -ServiceId b5754b80-da35-44e1-9344-0c51133a2654
Para limitar permisos a un buzón específico: al ejecutar el siguiente comando el sistema restringe el acceso a todos los buzones de correo excepto los buzones que se encuentran en el grupo de seguridad:
5.6 Identifique el ID. de aplicación (cliente) de la aplicación en el portal de registro de aplicaciones de Azure.
5.7 Cree un nuevo grupo de seguridad habilitado para correo, o bien use uno existente e identifique la dirección de correo electrónico del grupo.
New-ApplicationAccessPolicy -AppId <APPLICATION_ID> -PolicyScopeGroupId "<USER@your-domain.onmicrosoft.com>" -AccessRight RestrictAccess -Description "Description"
Para el ejemplo:
New-ApplicationAccessPolicy -AppId ad9b4ca0-9ed8-4c57-bd21-8e266ca24fad -PolicyScopeGroupId "AdeleV@7pffzj.onmicrosoft.com" -AccessRight RestrictAccess -Description "Restrict this app to members of distribution group EvenUsers."
5.8 Pruebe la directiva de acceso de aplicación recién creada:
Test-ApplicationAccessPolicy -Identity "AdeleV@7pffzj.onmicrosoft.com" -AppId <APPLICATION_ID>
Para nuestro ejemplo:
Test-ApplicationAccessPolicy -Identity "<USER@your-domain.onmicrosoft.com>" -AppIdad9b4ca0-9ed8-4c57-bd21-8e266ca24fad
Debe usar Test-ApplicationAccessPolicy para cada grupo de seguridad al que necesite acceder
New-ApplicationAccessPolicy -AppId <APPLICATION_ID> -PolicyScopeGroupId "<USER@your-domain.onmicrosoft.com>" -AccessRight RestrictAccess -Description "Description"
Los cambios en las directivas de acceso a aplicaciones pueden tardar más de 1 hora en surtir efecto en las llamadas Microsoft Graph API REST, incluso cuando Test-ApplicationAccessPolicy muestra resultados positivos.
6. Cambiar la configuración en Bizagi Studio
Ingresa a la opción en Bizagi Studio de Opciones de Ambiente.
Actualice la información con la cuenta creada, manteniendo el tipo de Conexión como Exchange.
La contraseña debe dejarse en blanco.
Para información adicional refiérase a:
•OAuth 2.0 client credential flow with Office365/Exchange IMAP/POP3
•About the Exchange Online PowerShell module
•Limiting application permissions to specific Exchange Online mailboxes