Saltar al contenido

Requisitos Previos de Correo para una Conexión Microsoft 365 OAuth 2.0

Introducción

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

Todas las tareas de prerrequisito requerirán que inicie sesión en Azure Portal con una cuenta de Azure con los permisos de administrador Administrador de Exchange habilitados. Se requiere Administrador de Exchange para descargar el módulo EXO2 PowerShell necesario en Conectar el registro de la aplicación a Exchange Online. 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 Azure Portal, busque y haga clic en Microsoft Entra ID (anteriormente conocido como Azure Active Directory o Azure AD):

    requisito previo de correo 365 1

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

  3. Haga clic en Nuevo registro:

    requisito previo de correo 365 2

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

    requisito previo de correo 365 3

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

    requisito previo de correo 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 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 del cliente, luego configúrelo y haga clic en Agregar:

    requisito previo de correo 365 5

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

    requisito previo de correo 365 6

Agregue los Permisos Necesarios al Registro de la Aplicación

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

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

requisito previo 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 Aplicaciones en Línea de Office 365 Exchange

Para agregar permisos de la aplicación 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:

    requisito previo de correo 365 8

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

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

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

Permisos de la Aplicación Microsoft Graph

Para agregar permisos de 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:

    requisito previo de correo 365 9

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

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

  5. Haga 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:

    requisito previo de correo 365 9

  3. Haga clic en Permisos delegados.

  4. Habilite los permisos offline_access, IMAP.AccessAsUser.All y SMTP.Send. User.Read debe permanecer habilitado.

  5. Haga clic en Agregar permisos. Se muestra la página Permisos configurados del registro de la aplicación actualizada. El registro de su aplicación ahora tiene los permisos necesarios.

Conecte el Registro de la Aplicación para Exchange Online

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 el 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 su información de inicio de sesión.

  4. correr 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 guárdela 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ó mientras creaba 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. Navega a https://login.microsoftonline.com/common/oauth2/deviceauth en su navegador y envíe el código de autorización. El registro de la aplicación ahora está verificado y puede obtener tokens de acceso gratuitamente.

Obtenga 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ó mientras creaba el registro de su aplicación.
  • <client_secret> se reemplaza con el secreto del cliente que guardó mientras creaba 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

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

Si tiene éxito, la respuesta contendrá un access_token para la autenticación ROPC.