Saltar al contenido

Requisitos previos de Correo para una conexión OAuth 2.0 de Microsoft 365

Introducción

Estos son los requisitos previos para utilizar el Conector de Correo con una conexión OAuth 2.0 de Microsoft 365 mediante Credencial de contraseña de propietario de recurso (ROPC) autenticación:

Todas las tareas prerrequisito requerirán que inicie sesión en el portal de Azure con una cuenta de Azure con permisos de administrador Administrador de Exchange habilitados. Se requiere Administrador de Exchange para descargar el módulo de PowerShell de Exo2 necesario en conectar el registro de la aplicación para intercambiar en línea. El nombre de usuario y la contraseña de esta cuenta también se utilizarán en Obtener tokens de acceso para la autenticación ROPC.

Algunas tareas también requerirán Windows PowerShell y curl, Postman o una herramienta similar para enviar solicitudes POST.

Crear un registro de aplicación

Siga estos pasos para crear un registro de aplicación con la plataforma de identidad de Microsoft:

  1. En el portal de Azure, busque y haga clic en Microsoft Entra ID (anteriormente conocido como Azure Active Directory o Azure AD):

    correo prerrequisito 365 1

  2. En la barra lateral izquierda, bajo Administrar, haga clic en Registros de aplicaciones.

  3. Haga clic en Nuevo registro:

    requisito de correo 365 2

  4. Ingrese un Nombre para su aplicación. Este nombre para mostrar será visible para los usuarios:

    correo prerrequisito 365 3

  5. Haga clic en Registrarse para completar el registro de la aplicación. A continuación, se lo dirigirá a la página Descripción general de la aplicación:

    correo prerrequisito 365 4

    Importante

    Conserve el ID de aplicación (cliente) y el ID de directorio (inquilino) del registro de la aplicación para usarlos como client_id y tenant_id en Verificar el registro de la aplicación y Obtener tokens de acceso para la autenticación ROPC.

  6. Haga clic en Agregar un certificado o secreto.

  7. En la pestaña Secretos de cliente, haga clic en Nuevo secreto de cliente para abrir el panel Agregar un secreto de cliente. En este panel, ingrese una descripción y seleccione una fecha de vencimiento para el secreto de cliente. Luego, configúrelo y haga clic en Agregar:

    correo prerrequisito 365 5

  8. El secreto del cliente ahora es visible en la pestaña Secretos del cliente. Conserve el Valor del secreto del cliente para usarlo como client_secret en Obtener tokens de acceso para la autenticación ROPC.

    correo prerrequisito 365 6

Agregar los permisos necesarios al registro de la aplicación

Para utilizar el conector de Correo con una conexión OAuth 2.0 de Microsoft 365, el registro de su aplicación debe tener estos permisos:

En el portal de Azure, navegue hasta el registro de su aplicación y haga clic en Permisos de API en la barra lateral izquierda:

requisito de correo 365 7

Importante

Dependiendo de la configuración de seguridad de su organización de Azure, algunos permisos requerirán el consentimiento del administrador para permitirlos.

Permisos de la aplicación Exchange Online de Office 365

Para agregar permisos de aplicaciones de Office 365 Exchange Online, siga estos pasos:

  1. En la página Permisos de API, haga clic en Agregar un permiso.

  2. En el panel Solicitar permisos de API, haga clic en la pestaña APIs que usa mi organización, busque y haga clic en Office 365 Exchange Online:

    correo prerrequisito 365 8

  3. Haga clic en Permisos de la aplicación.

  4. Para el acceso POP, habilite el permiso POP.AccessAsApp. Para el acceso IMAP, habilite el permiso IMAP.AccessAsApp.

  5. Haga clic en Agregar permisos. Se mostrará la página Permisos configurados del registro de la aplicación actualizada.

Permisos de la aplicación de gráficos de Microsoft

Para agregar permisos a la aplicación Microsoft Graph, siga estos pasos:

  1. En la página Permisos de API, haga clic en Agregar un permiso.

  2. En el panel Solicitar permisos de API, haga clic en la pestaña APIs que usa mi organización, busque y haga clic en Microsoft Graph:

    correo prerrequisito 365 9

  3. Haz clic en Permisos de la aplicación.

  4. Habilita los permisos Mail.Send y User.Read.All.

  5. Haz clic en Agregar permisos. Se muestra la página Permisos configurados del registro de la aplicación actualizada.

Permisos delegados de Microsoft Graph

Para agregar permisos delegados de Microsoft Graph, siga estos pasos:

  1. En la página Permisos de API, haga clic en Agregar un permiso.

  2. En el panel Solicitar permisos de API, haga clic en la pestaña APIs que usa mi organización, busque y haga clic en Microsoft Graph:

    correo prerrequisito 365 9

  3. Haga clic en Permisos delegados.

  4. Habilite estos permisos según la actividad de Correo que se utilizará:

    Actividad Permisos requeridos
    Read Email acceso_sin_conexión, IMAP.AccessAsUser.All y User.Read
    Send Email acceso_fuera_de_línea y SMTP.Enviar
  5. Haga clic en Agregar permisos. Se mostrará la página Permisos configurados del registro de la aplicación actualizada. El registro de su aplicación ahora tiene los permisos necesarios.

Conectar el registro de la aplicación para intercambiar en línea

Para conectar el registro de la aplicación a Exchange Online, siga estos pasos:

  1. Descargue e instale el módulo EXO2 PowerShell yendo al Centro de administración de Classic Exchange. Haga clic en Híbrido y luego en Configurar módulo Exchange PowerShell.

    Importante

    Si no puede descargar e instalar el módulo EXO2 PowerShell, no podrá completar la conexión de Exchange.

  2. Inicie Windows PowerShell y ejecute:

    Install-Module -Name ExchangeOnlineManagement -allowprerelease
    Install-Module Microsoft.Graph -allowprerelease
    Install-Module -Name AzureAD
    Install-module AzureADPreview -Verbose
    import-module AzureADPreview
    import-module ExchangeOnlineManagement
    
  3. Correr Connect-AzureAD e ingrese sus datos de acceso.

  4. Ejecute Connect-ExchangeOnline e ingrese su información de inicio de sesión.

  5. Obtenga la información principal del servicio de la aplicación registrada y almacénela en una variable ejecutando:

    $MyApp = Get-AzureADServicePrincipal -SearchString <Registered application name>
    $MyApp | fl
    
  6. Utilice la información principal del servicio almacenada para completar la conexión:

    New-ServicePrincipal -AppId $MyApp.AppId -ServiceId $MyApp.ObjectId -DisplayName "Service Principal for IMAP APP"
    Add-MailboxPermission -Identity <Administrator email address> -User $MyApp.ObjectId -AccessRights FullAccess
    

Verificar el registro de la aplicación

Para verificar el registro de la aplicación, siga estos pasos:

  1. Envíe una solicitud POST a https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/devicecode dónde <client_id> y <tenant_id> se reemplazan con el ID de aplicación (cliente) y el ID de directorio (inquilino) que guardó al crear el registro de su aplicación:

    curl --location --request POST 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/devicecode' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    --data-urlencode 'client_id=<client_id>' \
    --data-urlencode 'scope=https://outlook.office.com/SMTP.Send https://outlook.office.com/IMAP.AccessAsUser.All'
    

    Si tiene éxito, la respuesta contendrá un código de autorización.

  2. Navegue hasta https://login.microsoftonline.com/common/oauth2/deviceauth en su navegador, introduzca el código de autorización. El registro de la aplicación ya está verificado y podrá obtener tokens de acceso de forma gratuita.

Obtener tokens de acceso para la autenticación ROPC

Después de completar los pasos anteriores, se pueden generar tokens para la autenticación ROPC mediante una solicitud POST:

curl --location --request POST 'https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=<client_id>' \
--data-urlencode 'scope=https://outlook.office.com/IMAP.AccessAsUser.All' \
--data-urlencode 'client_secret=<client_secret>' \
--data-urlencode 'username=<account_username>' \
--data-urlencode 'password=<account_password>' \
--data-urlencode 'grant_type=password'
  • <client_id> y <tenant_id> se reemplazan con el ID de aplicación (cliente) y el ID de directorio (inquilino) que guardó al crear el registro de su aplicación.
  • <client_secret>se reemplaza con el secreto del cliente que guardó al crear el registro de su aplicación.
  • <account_username> y <account_password> se reemplazan con sus credenciales de inicio de sesión de Azure para la autenticación ROPC.

Nota

La grant_type el parámetro siempre debe ser password para la autenticación ROPC.

Si se realiza correctamente, la respuesta contendrá un access_token para la autenticación ROPC.