Integración de Office 365 con OAM y IdP

Continúa el artículo en el que configuramos OAM (11.1.2.2.0 o posterior) como IdP con Office 365 para SSO de federación mediante el protocolo SAML 2.0.

Asegúrese de haber leído el artículo sobre los requisitos.

La integración abarca:

Es importante tener en cuenta que la integración con Office 365 para componentes que no sean SAML 2.0 no funcionará, como:

Este artículo se basa en:

entorno de prueba

Para esta integración de prueba, utilice el siguiente enfoque:

La configuración de Office 365 como SP en IdP consta de lo siguiente:

Configuración de Office 365

Consulte la siguiente información de Microsoft al leer esta sección:

Powershell de Windows

Asegúrese de que las herramientas de Windows Powershell estén instaladas en el equipo desde el que se conectará a Office 365 para fines de administración.

Aprovisionamiento de IdP como partner en Office 365

Cree OAM como partner IdP para el dominio acme.com en Office 365 y realice los siguientes pasos:

Configuración de OAM

Perfil de Atributo de Proveedor de Servicios

Para crear un nuevo perfil de atributo de SP que se configurará para enviar el atributo IDPEmail de SAML que contiene el valor de UPN del usuario, realice las siguientes operaciones:

  1. Vaya a la consola de administración de OAM: http(s)://oam-admin-host:oam-admin port/oamconsole.

  2. Vaya a Identity Federation, Administración de proveedores de identidad.

  3. Haga clic en el separador Perfiles de atributos de proveedor de servicios.

  4. Haga clic en el botón Crear perfil de atributo de proveedor de servicios.

  5. Introduzca un nombre para el nuevo perfil (por ejemplo, Office365-attr-profile).

  6. En la sección Asignación de atributos, haga clic en Agregar.

  7. Introduzca la siguiente información:

    1. Nombre de atributo de mensaje: IDPEmail

    2. Valor: introduzca el atributo de usuario LDAP que contiene el UPN del usuario en el directorio utilizado por OAM (en este ejemplo: user, attr, mail).

    3. Enviar siempre: marcado

  8. Haga clic Aceptar.

  9. Descripción de la ilustración Attribute_Mapping.jpg

    Se mostrará el perfil de atributo:

  10. Haga clic en Guardar.

Descripción de la ilustración Attribute_Profile.jpg

Socio de Office 365 SP

Para agregar Office 365 como socio de SP en OAM, realice los siguientes pasos:

  1. Vaya a la consola de administración de OAM: http(s)://oam-admin-host:oam-admin port/oamconsole

  2. Vaya a Identity Federation, Administración de proveedores de identidad.

  3. Haga clic en el botón Crear partner de proveedor de servicios.

  4. En la pantalla Crear:

    1. Introduzca un nombre para el partner (por ejemplo, Office365)

    2. Seleccione SAML 2.0 como Protocolo

    3. Haga clic en Cargar metadatos y cargue el valor =le de metadatos de SAML 2.0 para Office 365.

    4. Seleccione Persistente como formato NameID

    5. Introduzca el atributo de usuario LDAP que contiene el valor ImmutableId del usuario (en este ejemplo, uid).

    6. Seleccione el perfil de atributo de SP que se creó anteriormente (en este ejemplo, Office365-attr-profile).

  5. Haga clic en Guardar

Descripción de la ilustración Service_Provider_Partner.jpg

SHA-1 Algoritmo hash para firma digital

Para configurar OAM para que utilice SHA-1 para las firmas del partner de SP de Office 365, realice los siguientes pasos:

  1. Introduzca el entorno WLST ejecutando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conéctese al servidor de administración de WLS: connect()

  3. Navegue a la rama Domain Runtime: domainRuntime()

  4. Ejecute el comando configureFedDigitalSignature():

  5. configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1") (Fin de creación)

  6. Sustituya PARTNER_NAME por el nombre del partner agregado

    1. Un ejemplo es: configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
  7. Salga del entorno WLST: exit()

Certificado de firma de OAM en firma digital XML

Para configurar OAM de modo que el servidor de federación incluya su certificado de firma X.509 en todos los mensajes SAML firmados salientes para el partner de SP de Office 365, realice los siguientes pasos:

  1. Introduzca el entorno WLST ejecutando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conéctese al servidor de administración de WLS: connect()

  3. Navegue a la rama Domain Runtime: domainRuntime()

  4. Ejecute el comando updatePartnerProperty(): updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")

  5. Sustituya PARTNER_NAME por el nombre del partner agregado. Por ejemplo:

  6. updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean") (Fin de creación)

  7. Salga del entorno WLST: exit()

Autenticación HTTP básica para la integración de correo ActiveSync

En el flujo de ECP de SAML 2.0, el servidor de Office 365 realiza una conexión directa a IdP a través de SOAP a través de HTTPS y publica un mensaje AuthnRequest de SAML. Junto con la solicitud SOAP, la solicitud HTTP contiene las credenciales del usuario como parte de las cabeceras de autenticación básica HTTP.

IdP debe estar configurado para utilizar un esquema de autenticación básica HTTP de OAM para validar esas credenciales. Además, esta operación no debe dar como resultado la creación de una sesión de OAM, ya que se trata más bien de una operación de validación de credenciales iniciada por el servidor de Office 365 y no por el usuario involucrado con OAM. Por estos motivos, IdP se debe configurar para utilizar un esquema basado en:

BasicSessionlessScheme se puede utilizar para este flujo.

Además, OAM debe estar configurado para enviar urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport como método de autenticación SAML 2.0 cuando el cliente se autentica mediante BasicSessionlessScheme.

Para configurar OAM para que utilice la autenticación HTTP básica en el flujo ECP de SAML 2.0, realice los siguientes pasos:

  1. Introduzca el entorno WLST ejecutando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conéctese al servidor de administración de WLS: connect()

  3. Navegue a la rama Domain Runtime: domainRuntime()

  4. Ejecute el comando setSPPartnerAlternateScheme() para indicar a OAM que utilice BasicSessionlessScheme: setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  5. Sustituya PARTNER_NAME por el nombre del partner agregado

  6. Un ejemplo es: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  7. Recupere el perfil de socio de OAM Fed utilizado por el socio de SP de Office 365 en OAM:
  8. getFedPartnerProfile(PARTNER_NAME "sp") (Fin de creación)

  9. Sustituya PARTNER_NAME por el nombre del partner agregado
  10. Un ejemplo es: getFedPartnerProfile("Office365", "sp") Anote el valor devuelto

  11. Ejecute el comando addSPPartnerProfileAuthnMethod() para indicar a OAM que envíe "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" como método de autenticación de SAML 2.0 cuando el cliente se autentique mediante BasicSessionlessScheme: addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")

  12. Sustituya PARTNER_PROFILE por el valor recuperado en el paso anterior.

  13. Un ejemplo es: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")

  14. Salga del entorno WLST: exit()

Prueba

SSO de explorador

Para probar los flujos de SSO del explorador:

  1. Abra un explorador

  2. Vaya a http://office365.com

  3. Haga clic en Conectar

  4. Introduzca la dirección de correo electrónico del usuario

  5. Descripción de la ilustración Signin_Page.jpg

  6. Haga clic en Siguiente
  7. Office 365 intenta localizar el dominio de Office 365 según el sufijo de la dirección de correo electrónico

    Una vez que se ha localizado el dominio, Office 365 dispara un flujo de SSO de federación para redirigirlo a OAM/IdP para la autenticación

    Descripción de la ilustración Account_Found_Page.jpg

    [Description of the illustration Account_Found_Page.jpg](files/Account_Found_Page.txt)
    
  8. En IdP, introduzca el nombre de usuario/contraseña (según el esquema de autenticación utilizado para autenticar usuarios federados, LDAPScheme en este ejemplo).

  9. Haga clic en Conectar

Descripción de la ilustración Access_Manager_Screen.jpg

IdP valida las credenciales, crea una afirmación de SAML 2.0 y redirige al usuario a Office 365 donde se le otorga acceso al usuario:

Descripción de la ilustración Office_Screen.jpg

Una afirmación de SAML 2.0 de ejemplo enviada por OAM/IdP a Office 365 tiene el siguiente aspecto:

<samlp:Response ... Destination="https://login.microsoftonline.com/login.srf" ID="ideBpq-cnpGfrWXMpBIjxN7QPQKa6WTVtnuZZr0Qe" InResponseTo="_d111d2a7-3475-4bc2-928f-34b83a4a0f64"IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer <samlp:Status><samlp:StatusCodeValue="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status>

<saml:Assertion ID="id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70"

IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer

<dsig:Signature>

<dsig:SignedInfo>

<dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-ex c14n#"/>

<dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rs sha1"/>

<dsig:Reference URI="#id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70">

<dsig:Transforms>

<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelope signature"/>

<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>

</dsig:Transforms>

<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"

<dsig:DigestValue>6iKaxdO74Xi5eRnv0X7nsmN/y10=</dsig:DigestValue>

</dsig:Reference>

</dsig:SignedInfo>

<dsig:SignatureValue>WYCBhIgPLafDeXroMSME80/QM...K/sNsI=

</dsig:SignatureValue>

<dsig:KeyInfo>

<dsig:X509Data>

<dsig:X509Certi=cate>MIIB+DCCAWGgA...plaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg==

</dsig:X509Certi=cate>

</dsig:X509Data>

</dsig:KeyInfo>

</dsig:Signature>

<saml:Subject>

<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"NameQuali=er="https://acme.com/oam/fed"SPNameQuali=er="urn:federation:MicrosoftOnline">alice.appleton</saml:NameID>

<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">

<saml:SubjectConfirmationData InResponseTo="_d111d2a7-3475-4bc2-928f-

34b83a4a0f64" NotOnOrAfter="2014-01-18T17:03:05Z"

Recipient="https://login.microsoftonline.com/login.srf"/></saml:SubjectCon=rmatio

</saml:Subject>

<saml:Conditions NotBefore="2014-01-18T16:58:05Z"

NotOnOrAfter="2014-01-18T17:03:05Z">

<saml:AudienceRestriction>

<saml:Audience>urn:federation:MicrosoftOnline</saml:Audience>

</saml:AudienceRestriction>

</saml:Conditions>

<saml:AuthnStatement AuthnInstant="2014-01-18T16:58:05Z" SessionIndex="id-IMSvfoQa8uVVtSmN-lrdOfgEVKFJHF8AhmIDzj-"

SessionNotOnOrAfter="2014-01-18T17:58:05Z">

<saml:AuthnContext>

<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnCon </saml:AuthnContext>

</saml:AuthnStatement>

<saml:AttributeStatement>

<saml:Attribute Name="IDPEmail"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema xsi:type="xs:string">alice.appleton@acme.com</saml:AttributeValue>

</saml:Attribute>

</saml:AttributeStatement>

</saml:Assertion>

</samlp:Response>

Aplicación de correo ActiveSync

Para esta prueba, agregue una cuenta de correo electrónico de Exchange en iPhone. Durante la configuración, la aplicación de correo iPhone envía la dirección de correo electrónico y la contraseña al servidor de correo de Office 365, que extrae el identificador de usuario de la dirección de correo electrónico y realiza el protocolo ECP SAML 2.0 con autenticación HTTP básica.

Nota: Se ejerce un flujo similar si la configuración incluye una aplicación de Outlook Desktop en lugar de la aplicación nativa de correo iPhone.

Realice los siguientes pasos para configurar iPhone con Office 365:

  1. Ir a configuración

  2. Ir a correo

  3. Agregar cuenta

  4. Seleccionar intercambio

  5. Descripción de la ilustración Add_Account.jpg

  6. Introduzca la dirección de correo electrónico (alice.appleton@acme.com en este ejemplo)

  7. Contraseña en OAM para el usuario (contraseña para el usuario alice.appleton; recuerde que el identificador se utilizará como nombre de usuario de autenticación básica HTTP, alice.appleton en este ejemplo)

  8. Descripción de la ilustración Exchange_Screen.jpg

  9. Haga clic en Siguiente
  10. La aplicación de correo envía la información de cuenta de usuario al servidor de correo de Office 365. El servidor de correo de Office 365 interactúa con OAM/IdP mediante el protocolo ECP de SAML 2.0 para validar los datos, con el identificador de usuario y la contraseña enviados mediante autenticación básica HTTP a OAM/IdP.

    Descripción de la ilustración Verifying_Screen.jpg

    Tras una validación correcta, iPhone muestra:

    Descripción de la ilustración iphone_Screen.jpg

  11. Después de mostrar la validación correcta, iPhone muestra una pantalla que permite al usuario seleccionar qué función activar. Después de seleccionar las funciones, guarde. La cuenta está configurada.

Descripción de la ilustración Account_Setup.jpg

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.