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:
-
Integración de SSO de federación de explorador: flujo que ejerce el usuario al acceder a los recursos
www.office365.com
a través de un explorador -
www.office365.com
solicita al usuario que introduzca la dirección de correo electrónico -
El servidor detecta que se debe utilizar SSO de federación para ese dominio e inicia un flujo SSO de federación IdP
-
IdP desafía al usuario, crea una afirmación de SAML y redirige al usuario a
www.office365.com
-
www.office365.com
otorga acceso al usuario -
Integración de correo ActiveSync: en este flujo, el usuario utiliza una aplicación de correo configurada para Office 365
-
Cuando se inicia la aplicación de correo, envía las credenciales del usuario (dirección de correo electrónico y contraseña IdP) a Office 365.
www.office365.com
realiza una conexión directa a través de SSL a IdP y utiliza el protocolo ECP SAML 2.0 para enviar un SAML AuthnRequest y las credenciales del usuario a través de la autenticación básica HTTP -
IdP valida esas credenciales y devuelve una afirmación de SAML mediante el protocolo ECP
-
Office 365 otorga acceso a la aplicación de correo
Es importante tener en cuenta que la integración con Office 365 para componentes que no sean SAML 2.0 no funcionará, como:
-
Clientes Lync
-
Aplicaciones móviles de OWA
Este artículo se basa en:
-
Las pruebas realizadas por el equipo de Oracle
-
Artículo de Microsoft relativo al soporte de SAML 2.0 para Office 365 y, más concretamente, el documento técnico que enumera los pasos necesarios para configurar Office 365 (gestión de usuarios y establecimiento de confianza de Federation)
-
Blog de Microsoft
-
Documento técnico que describe cómo configurar Office 365
entorno de prueba
Para esta integración de prueba, utilice el siguiente enfoque:
-
Usuario activo en OAM:
-
Nombre de usuario (atributo uid): alice.appleton
-
Dirección de correo electrónico (atributo de correo): alice.appleton@acme.com
-
Nombre (atributo givenname): Alice
-
Apellido (atributo sn): Appleton
-
-
Alicia de usuario en Office 365 (consulte el documento técnico de Microsoft sobre más información sobre cómo crear un usuario en Azure AD):
-
UserPrincipalName: alice.appleton@acme.com
-
ImmutableId: alice.appleton
-
DisplayName: Alice Appleton
-
FirstName: Alice.
-
LastName: Appleton
-
UsageLocation: NOSOTROS
-
-
Acuerdo de federación:
-
Formato NameID de SAML 2.0:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
-
Atributo LDAP utilizado para rellenar el valor
NameID
de SAML 2.0:uid
(porqueNameID
debe coincidir conImmutableId
)
-
-
Atributo de SAML incluido en la afirmación de SAML
-
Nombre: IDPEmail
-
Atributo LDAP utilizado para rellenar este valor de atributo: mail (porque el valor de atributo debe coincidir con
UserPrincipalName
)
-
-
Especificaciones de Office 365:
-
El nombre de dominio será
acme.com
-
El protocolo utilizado será SAMLP
-
La aplicación de correo ActiveSync estará soportada en la configuración de OAM
-
La configuración de Office 365 como SP en IdP consta de lo siguiente:
-
Creación de un perfil de atributo de SP para enviar el atributo
IDPEmail
que contiene el atributo de correo -
Creación de un socio de SP para Office 365 y enlace con el nuevo perfil de atributo de SP
-
Actualización de la configuración de partner de SP de Office 365 para
-
Algoritmo de hash SHA-1 en firmas
-
Inclusión del certificado de firma de OAM en mensajes de SAML salientes
-
Autenticación HTTP básica para la integración de correo ActiveSync
Configuración de Office 365
Consulte la siguiente información de Microsoft al leer esta sección:
-
Blog de Microsoft
-
Documento técnico que describe cómo configurar Office 365
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:
-
Conéctese a Office 365 como administrador de acme.com
-
Conexión-MsolService
-
Defina las siguientes variables de entorno (los datos utilizados son los recuperados de la sección de requisitos; tenga en cuenta que la cadena para
$idpSigningCert
está en la misma línea que$idpSigningCert =
y que es una sola línea): -
$domainName
= "acme.com" -
$BrandName
- "ACME IdP" -
$browserSSOLoginURL
= "https://acme.com/oamfed/idp/samlv20 -
$ecpSSOURL
= "https://acme.com/oamfed/idp/soap" -
$logoutURL
= "https://acme.com/oamfed/idp/samlv20 -
$issuerProviderID
= "https://acme.com/oam/fed" -
$idpSigningCert
= "MIIB+DCCAWGgAwIBAgIBCjANB......oInVUbGTBDMfqmW5iZ/wjpzItg==" $ssoProtocol = "SAMLP" -
Ejecute el siguiente comando con las variables anteriores:
Set-MsolDomainAuthentication -DomainName $domainName-FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri$browserSSOLoginURL -ActiveLogOnUri $ecpSSOURL -SigningCertificate$idpSigningCert -IssuerUri $issuerProviderID -LogOffUri $logoutURL-PreferredAuthenticationProtocol $ssoProtocol
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:
-
Vaya a la consola de administración de OAM:
http(s)://oam-admin-host:oam-admin port/oamconsole
. -
Vaya a Identity Federation, Administración de proveedores de identidad.
-
Haga clic en el separador Perfiles de atributos de proveedor de servicios.
-
Haga clic en el botón Crear perfil de atributo de proveedor de servicios.
-
Introduzca un nombre para el nuevo perfil (por ejemplo,
Office365-attr-profile
). -
En la sección Asignación de atributos, haga clic en Agregar.
-
Introduzca la siguiente información:
-
Nombre de atributo de mensaje:
IDPEmail
-
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).
-
Enviar siempre: marcado
-
-
Haga clic Aceptar.
- Haga clic en Guardar.
Descripción de la ilustración Attribute_Mapping.jpg
Se mostrará el perfil de atributo:
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:
-
Vaya a la consola de administración de OAM:
http(s)://oam-admin-host:oam-admin port/oamconsole
-
Vaya a Identity Federation, Administración de proveedores de identidad.
-
Haga clic en el botón Crear partner de proveedor de servicios.
-
En la pantalla Crear:
-
Introduzca un nombre para el partner (por ejemplo, Office365)
-
Seleccione SAML 2.0 como Protocolo
-
Haga clic en Cargar metadatos y cargue el valor =le de metadatos de SAML 2.0 para Office 365.
-
Seleccione Persistente como formato
NameID
-
Introduzca el atributo de usuario LDAP que contiene el valor
ImmutableId
del usuario (en este ejemplo,uid
). -
Seleccione el perfil de atributo de SP que se creó anteriormente (en este ejemplo,
Office365-attr-profile
).
-
-
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:
-
Introduzca el entorno WLST ejecutando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
-
Conéctese al servidor de administración de WLS:
connect()
-
Navegue a la rama Domain Runtime:
domainRuntime()
-
Ejecute el comando
configureFedDigitalSignature()
: -
Sustituya
PARTNER_NAME
por el nombre del partner agregado- Un ejemplo es:
configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
- Un ejemplo es:
-
Salga del entorno WLST:
exit()
configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1")
(Fin de creación)
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:
-
Introduzca el entorno WLST ejecutando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
-
Conéctese al servidor de administración de WLS:
connect()
-
Navegue a la rama Domain Runtime:
domainRuntime()
-
Ejecute el comando
updatePartnerProperty()
:updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")
-
Sustituya PARTNER_NAME por el nombre del partner agregado. Por ejemplo:
- Salga del entorno WLST:
exit()
updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean")
(Fin de creación)
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:
-
Modo BASIC
-
Con los parámetros de comprobación que contienen la entrada
CookieLessMode=true
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:
-
Introduzca el entorno WLST ejecutando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
-
Conéctese al servidor de administración de WLS:
connect()
-
Navegue a la rama Domain Runtime:
domainRuntime()
-
Ejecute el comando
setSPPartnerAlternateScheme()
para indicar a OAM que utiliceBasicSessionlessScheme
:setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")
-
Sustituya PARTNER_NAME por el nombre del partner agregado
- Recupere el perfil de socio de OAM Fed utilizado por el socio de SP de Office 365 en OAM:
- Sustituya
PARTNER_NAME
por el nombre del partner agregado -
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 medianteBasicSessionlessScheme
:addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")
-
Sustituya PARTNER_PROFILE por el valor recuperado en el paso anterior.
- Salga del entorno WLST:
exit()
Un ejemplo es: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")
getFedPartnerProfile(PARTNER_NAME "sp")
(Fin de creación)
Un ejemplo es: getFedPartnerProfile("Office365", "sp")
Anote el valor devuelto
Un ejemplo es: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")
Prueba
SSO de explorador
Para probar los flujos de SSO del explorador:
-
Abra un explorador
-
Vaya a
http://office365.com
-
Haga clic en Conectar
-
Introduzca la dirección de correo electrónico del usuario
- Haga clic en Siguiente
-
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). -
Haga clic en Conectar
Descripción de la ilustración Signin_Page.jpg
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)
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:
-
Ir a configuración
-
Ir a correo
-
Agregar cuenta
-
Seleccionar intercambio
-
Introduzca la dirección de correo electrónico (alice.appleton@acme.com en este ejemplo)
-
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)
- Haga clic en Siguiente
- 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 Add_Account.jpg
Descripción de la ilustración Exchange_Screen.jpg
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
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.
Integrating Office 365 with OAM and IdP
F60938-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.