Configurar OAuth entre Skype Empresarial Online y Exchange local

Skype for Business Server 2015
 

Última modificación del tema:2017-08-08

La configuración de la autenticación OAuth entre Exchange local y Skype Empresarial Online habilita las características de integración de Skype Empresarial y Exchange descritas en Compatibilidad con las características.

Este tema se aplica a Exchange Server 2016 y Exchange Server 2013.

Especifique un dominio verificado para su organización de Skype Empresarial Online. Este dominio debería ser el mismo que el dominio de SIP principal que se usa para las cuentas basadas en la nube. Se hace referencia a este dominio como <su dominio verificado> en el siguiente procedimiento.

Ejecute el siguiente comando en el Shell de administración de Exchange (el PowerShell de Exchange) en su organización de Exchange local.

New-AuthServer -Name "WindowsAzureACS" -AuthMetadataUrl "https://accounts.accesscontrol.windows.net/<your Verified Domain>/metadata/json/1" 

Run the following command in the Exchange PowerShell in your on-premises Exchange organization.

Get-PartnerApplication | ?{$_.ApplicationIdentifier -eq "00000002-0000-0ff1-ce00-000000000000" -and $_.Realm -eq ""} | Set-PartnerApplication -Enabled $true

Este paso se realiza localmente. Creará un usuario de correo y le asignará los derechos de roles de administración apropiados. Esta cuenta se usará en el siguiente paso.

Especifique un dominio verificado para su organización de Exchange. Este dominio debería ser el mismo que el dominio de SMTP principal que se usa en las cuentas de Exchange locales. Se hace referencia a este dominio como <su dominio verificado> en el siguiente procedimiento. Además, el <DomainControllerFQDN> debería ser el FQDN de un controlador de dominios.

$user = New-MailUser -Name SfBOnline-ApplicationAccount -ExternalEmailAddress SfBOnline-ApplicationAccount@<your Verified Domain> -DomainController <DomainControllerFQDN> 

Este comando ocultará al nuevo usuario de correo de las listas de direcciones.

Set-MailUser -Identity $user.Identity -HiddenFromAddressListsEnabled $True -DomainController <DomainControllerFQDN> 

Los dos comandos siguientes asignarán los roles de administración UserApplication y ArchiveApplication a esta nueva cuenta.

New-ManagementRoleAssignment -Role UserApplication -User $user.Identity -DomainController <DomainControllerFQDN> 

New-ManagementRoleAssignment -Role ArchiveApplication -User $user.Identity -DomainController <DomainControllerFQDN> 

Cree una aplicación de socio y use la cuenta que acaba de crear. Ejecute el siguiente comando en el PowerShell de Exchange en su organización de Exchange local.

New-PartnerApplication -Name SfBOnline -ApplicationIdentifier 00000004-0000-0ff1-ce00-000000000000 -Enabled $True -LinkedAccount $user.Identity

Ejecute un script de PowerShell para exportar el certificado de autorización local, que importará en su organización de Skype Empresarial Online en el siguiente paso.

Save the following text to a PowerShell script file named, for example, ExportAuthCert.ps1.

$thumbprint = (Get-AuthConfig).CurrentCertificateThumbprint 
if((test-path $env:SYSTEMDRIVE\OAuthConfig) -eq $false) 
{ 
md $env:SYSTEMDRIVE\OAuthConfig 
} 
cd $env:SYSTEMDRIVE\OAuthConfig 
$oAuthCert = (dir Cert:\LocalMachine\My) | where {$_.Thumbprint -match $thumbprint} 
$certType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert 
$certBytes = $oAuthCert.Export($certType) 
$CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
[System.IO.File]::WriteAllBytes($CertFile, $certBytes) 

En el PowerShell de Exchange de su organización de Exchange local, ejecute el script de PowerShell que acaba de crear. Por ejemplo: .\ExportAuthCert.ps1

A continuación, use Windows PowerShell para cargar el certificado de autorización local que exportó en el paso anterior a Azure Active Directory Access Control Services (ACS). Para ello, debe tener instalado el módulo de Azure Active Directory para cmdlets de Windows PowerShell. Si no está instalado, vaya a https://aka.ms/aadposh para instalar el módulo de Azure Active Directory para Windows PowerShell. Complete los siguientes pasos después de instalar el módulo de Azure Active Directory para Windows PowerShell.

  1. Haga clic en el acceso directo Módulo de Azure Active Directory para Windows PowerShell para abrir un área de trabajo de Windows PowerShell con los cmdlets de Azure AD instalados. Todos los comandos de este paso se ejecutarán con la consola de Windows PowerShell para Azure Active Directory.

  2. Guarde el siguiente texto en un script de PowerShell con nombre, por ejemplo, UploadAuthCert.ps1.

    Connect-MsolService; 
    Import-Module msonlineextended; 
    $CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
    $objFSO = New-Object -ComObject Scripting.FileSystemObject; 
    $CertFile = $objFSO.GetAbsolutePathName($CertFile); 
    $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate 
    $cer.Import($CertFile); 
    $binCert = $cer.GetRawCertData(); 
    $credValue = [System.Convert]::ToBase64String($binCert); 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName 
    New-MsolServicePrincipalCredential -AppPrincipalId $p.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue 
    
  3. Ejecute el script de PowerShell que creó en el paso anterior. Por ejemplo: .\UploadAuthCert.ps1

  4. Después de iniciar el script, se mostrará un cuadro de diálogo de credenciales. Escriba las credenciales para la cuenta de administrador del inquilino de su organización de Microsoft Online Azure AD. Después de ejecutar el script, deje la sesión de Windows PowerShell para Azure AD abierta. La usará para ejecutar un script de PowerShell en el siguiente paso.

Especifique un dominio verificado para su organización de Exchange. Este dominio debería ser el mismo que el dominio de SMTP principal que se usa en las cuentas de Exchange locales. Se hace referencia a este dominio como <su dominio verificado> en el siguiente procedimiento.

noteNota:
Successfully running the following script requires that the Windows PowerShell for Azure Active Directory is connected to your Microsoft Online Azure AD tenant, as explained in step 4 in the previous section.
  1. Guarde el siguiente texto en un script de PowerShell con nombre, por ejemplo, RegisterEndpoints.ps1. Este ejemplo usa un carácter comodín para registrar todos los puntos de conexión para contoso.com. Sustituya contoso.com con una autoridad de nombre de host de su organización de Exchange local

    $externalAuthority="*.<your Verified Domain>" 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName; 
    $spn = [string]::Format("{0}/{1}", $ServiceName, $externalAuthority); 
    $p.ServicePrincipalNames.Add($spn); 
    Set-MsolServicePrincipal -ObjectID $p.ObjectId -ServicePrincipalNames $p.ServicePrincipalNames; 
    
  2. En Windows PowerShell para Azure Active Directory, ejecute el script de Windows PowerShell que creó en el paso anterior. Por ejemplo:.\RegisterEndpoints.ps1

Compruebe que la configuración de OAuth es correcta verificando que algunas características funcionan correctamente, como disponer de un historial de conversación para clientes móviles visible en la carpeta Historial de conversación de Outlook.

  1. Inicie la aplicación móvil de Skype Empresarial en un dispositivo con Windows Phone o iOS, e inicie sesión como un usuario de Skype Empresarial Online con un buzón local de Exchange 2016 o Exchange 2013.

  2. Mantenga una conversación por mensajería instantánea con otro usuario de Skype Empresarial Online.

  3. Cierre la ventana de la conversación de MI.

  4. Inicie la sesión de Outlook de este usuario y compruebe que la conversación está visible en la carpeta Historial de conversación de Outlook.

 
Mostrar: