Integración de Office 365 con requisitos previos de OAM e ID
En este artículo se muestra cómo integrar OAM (11.1.2.2.0 o posterior) como IdP con Office 365 para SSO de federación mediante el protocolo SAML 2.0.
La integración abarca:
-
Integración de SSO de federación de explorador: este es el 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 su 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 mediante SSL a IdP y utiliza el protocolo ECP SAML 2.0 para enviar un SAML AuthnRequest y las credenciales del usuario mediante la autenticación básica HTTPwww.office365.com
-
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
-
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 federación):
-
Blog de Microsoft
-
Documento técnico que describe cómo configurar Office 365
Visión general
Para la integración con Office 365 mediante el protocolo SAML 2.0, OAM debe estar configurado para utilizar HTTPS/SSL como sus puntos finales con certificados SSL emitidos por CA conocidas (si se necesita la integración de correo ActiveSync). De lo contrario, es posible que Office 365 no acepte los metadatos de SAML 2.0 de OAM al establecer la confianza de federación.
Office 365 espera que todos los mensajes SAML se firmen mediante el algoritmo de resumen SHA-1. Como tal, IdP debe estar configurado para utilizar SHA-1; de lo contrario, el SP de Office 365 devuelve un error si se utiliza SHA-256. Además, Office 365 requiere que el certificado de firma del IdP se incluya en la afirmación SAML firmada; por lo tanto, OAM debe estar configurado para incluirlo en todos los mensajes firmados salientes para Office 365.
Si se utiliza la autenticación HTTP básica en IdP (como es necesario para la integración de correo ActiveSync), el dominio WebLogic en el que se ejecuta OAM debe estar configurado para no validar la autenticación HTTP básica para recursos no seguros.
Para establecer la confianza entre los dos servidores de federación, se deben recuperar los siguientes datos:
-
Metadatos de SAML 2.0 del SP de Office 365.
-
Dado que Office 365 aún no soporta el consumo de metadatos de SAML 2.0, se debe recopilar la siguiente información:
-
El certificado de firma IdP de OAM con formato codificado Base64
-
El valor del emisor IdP de OAM
-
SSO y URL de desconexión de OAM IdP
Finalmente, para poder establecer la confianza de la federación, se debe producir lo siguiente:
-
Para un usuario determinado, tanto Office 365 como el directorio utilizado por
-
OAM debe tener una cuenta para ese usuario
-
El ID único global de usuario (o
ImmutableId
) y la dirección de correo electrónico (oUserPrincipalName
) utilizados en la cuenta de Office 365 se deben definir en la cuenta de usuario en OAM -
Para la integración de correo ActiveSync, el identificador de la dirección de correo electrónico (o
UserPrincipalName
) utilizado por Office 365 debe ser el nombre de usuario utilizado para la autenticación HTTP básica en OAM
Habilitación de SSL
Nota importante: el certificado SSL utilizado para activar SSL para OAM debe haber sido emitido por CA conocidas, ya que el servidor de Office 365 intenta realizar una conexión directa con el servidor de OAM para el caso de uso ActiveSync.
Hay varias formas de activar SSL en los puntos finales públicos para OAM:
-
Si un equilibrador de carga está delante de OAM, SSL/HTTPS se puede activar/configurar en el equilibrador de carga
-
Si OHS está frente a OAM, OHS está configurado para SSL
-
Si no hay ningún componente delante de OAM, el servidor WLS en el que se está ejecutando OAM se puede configurar para SSL/HTTPS
Una vez que el componente (Equilibrador de carga, OHS o WLS) se ha configurado para SSL, la configuración de OAM se debe actualizar para hacer referencia al nuevo punto final como su URL pública:
-
Vaya a la consola de administración de OAM:
http(s)://oam-admin- host:oam-admin-port/oamconsole
-
Vaya a Configuration , Access Manager Settings
-
Definir el host del servidor OAM en el nombre de host del punto final público
-
Definir la publicación del servidor OAM en el puerto SSL del punto final público
-
Definir el protocolo del servidor OAM en https
-
Haga clic en Aplicar.
Descripción de la ilustración Access_Manager_Settings.jpg
Nota: Después de realizar estos cambios, la recuperación de los metadatos de SAML 2.0 de OAM contiene las nuevas URL de https
Autenticación HTTP Básica
Por defecto, si un explorador envía credenciales de autenticación básica HTTP a OAM, el servidor WLS intenta validarlas antes de permitir que OAM procese la solicitud: esto puede provocar fallos de autenticación, especialmente si el dominio WLS no se ha configurado con autenticadores LDAP de WLS para cada almacén de identidades creado en OAM.
Nota: Incluso si el dominio de WLS se ha configurado correctamente para tener un autenticador LDAP de WLS para cada almacén de identidades creado en OAM, esto da como resultado dos operaciones de autenticación, una por WLS y la otra que OAM necesita para crear una sesión de OAM.
Es posible desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a aplicaciones no seguras en el dominio WLS donde se está ejecutando OAM. Consulte la sección "Understanding BASIC Authentication with Unsecured Resources" de la guía Oracle Fusion Middleware Programming Security for Oracle WebLogic Server para obtener más información.
Para desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a aplicaciones no seguras en el dominio WLS, 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()
-
Iniciar una sesión de edición:
edit()
(Fin de creación)startEdit()
(Fin de creación) -
Navegue al nodo
SecurityConfiguration
:cd('SecurityConfiguration')
-
Navegue al dominio (sustituya DOMAIN_NAME por el nombre del dominio de WLS donde está instalado OAM):
cd('DOMAIN_NAME')
-
Defina el valor
EnforceValidBasicAuthCredentials
en false para desactivar la validaciónautomatic
de las credenciales de autenticación básica HTTP enviadas a aplicaciones no seguras:set('EnforceValidBasicAuthCredentials','false')
-
Guarde y active los cambios:
save()
(Fin de creación)activate()
(Fin de creación) -
Reinicie los servidores en el dominio de WLS para que se apliquen los cambios.
Metadatos, certificado y emisor de SAML 2.0
Para descargar los metadatos de SAML 2.0 del servidor SP de Office 365:
-
Abra un explorador
-
Vaya al servicio de publicación de metadatos de Azure/Office 365:
https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml
-
Guarde los metadatos localmente con el botón Save As del explorador
El certificado de firma IdP de OAM se debe proporcionar como una cadena codificada Base64 para los comandos de Powershell de Windows, como una sola cadena sin espacios ni intervalos de línea. Para recuperar el certificado de firma IdP de OAM, realice las siguientes operaciones para determinar qué entrada keyID
se utiliza para firmar mensajes de SAML salientes:
-
Vaya a la consola de administración de OAM:
http(s)://oam-adminhost:oam-admin-port/oamconsole
-
Vaya a Configuración, Configuración de federación.
-
Tenga en cuenta el
keyID
de la clave de firma para las operaciones de firma de SAML, en el campo Clave de firma
Descripción de la ilustración Federation_Settings.jpg
Realice los siguientes pasos para recuperar el certificado para esa entrada keyID
:
-
Abra un explorador
-
Vaya a la siguiente URL (sustituya KEYENTRY_ID por el nombre
keyID
recuperado en el paso anterior): -
Guardar el certificado en un archivo de texto.
-
Abrir el archivo con su editor de texto favorito
-
El contenido del archivo es el siguiente:
-----BEGIN CERTIFICATE----- MIIB+DCCAWGgAwIBAgIBCjANBgkqhkiG9w0BAQQFADAhMR8wHQYDVQQDExZhZGMMHBjYy51cy5vcmFjbGUuY29tMB4XDTE0MDMwNDE5MjAzMloXDTI0MDMwMTE5MjAzMlowITEfMB0GA1UEAxMWYWRjMDBwY2MudXMub3JhY2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkQOdZCmoOQRuxSvI/74bjnUPq7u7qiGbmaN1D5TB JaM+j5XRixEUI3pidaxlbykaraqVBMJpXJ6ua0QWectv6SdzuqcvH8C5el06NxTs fB6pcvxHGXVAbAvtGr2tOPSL+5HaFQoATpiY3HugTnJfjmHRfOqIo8nUMek6zCtv rKUCAwEAAaNAMD4wDAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB9gAMB0GA DgQWBBQ/7yJbGCbbAnaLEi4ReLwLlvSxJTANBgkqhkiG9w0BAQQFAAOBgQBrMb2i6zcChhVM7a9VVgBr8xljBsPxVWCAYNUYaoyUj9VkD4CpFF9hVX0CpceoSBTiyMQp 3sg0FAYz1PGfjrq7uFEq9iTCwa5J/7k/VSOLKd3IDqzz7w0ZERksgp3OOqOct/wB/wQplaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg== —–END CERTIFICATE—–
-
Elimine la primera línea
(-----BEGIN CERTIFICATE-----)
, elimine la última línea(-----END CERTIFICATE-----)
y modifique el resto del archivo para eliminar los saltos de línea. El resultado debe ser un archivo de una sola línea (el contenido se ha abreviado): - Guarde el archivo. Esta línea se proporciona como entrada para el comando Powershell de Windows.
http://oam-runtime-host:oam-runtime-port/oamfed/idp/cert?id=<KEYENTRY_ID>
(Fin de creación)
MIIB+DCCAWGgAwIBAgIBCjANBg....InVUbGTBDMfqmW5iZ/wjpzItg==
(Fin de creación)
Realice los siguientes pasos para recuperar el ID de proveedor/emisor del IDP:
-
Vaya a la consola de administración de OAM:
http(s)://oam-admin-host:oam-admin-port/oamconsole
-
Vaya a Configuración, Configuración de federación.
-
Observe el valor del ID de emisor/proveedor de OAM en el campo Provider Id.
Descripción de la ilustración Retrieve_IDP.jpg
Las URL de SSO y desconexión de OAM IdP son (Nota: Asegúrese de tener los puntos finales públicos, que son las URL que utiliza el usuario final):
-
URL de SSO de explorador:
http(s)://oam-public-host:oam-publicport/oamfed/idp/samlv20
-
URL DE SSO DE ECP:
http(s)://oam-public-host:oam-publicport/oamfed/idp/soap
-
URL de desconexión:
http(s)://oam-public-host:oam-publicport/oamfed/idp/samlv20
Si tiene alguna duda, puede recuperar esas URL de los metadatos de IdP:
-
Abra un explorador
-
Vaya a
http(s)://oam-public-host:oam-public-port/oamfed/idp/metadata
-
La URL de SSO del explorador será el atributo de ubicación del XML
Element EntityDescriptor , IDPSSODescriptor , SingleSignOnService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect: <md:EntityDescriptor ...> ... <md:IDPSSODescriptor ...> ... <md:SingleSignOnService> Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect" Location="https://acme.com/oamfed/idp/samlv20"/> ... </md:IDPSSODescriptor> ... </md:EntityDescriptor>
-
La URL de SSO de ECP será el atributo de ubicación del XML
Element EntityDescriptor , IDPSSODescriptor , SingleSignOnService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:SOAP: <md:EntityDescriptor ...> ... <md:IDPSSODescriptor ...> ... <md:SingleSignOnService> Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP"Location="https://acme.com/oamfed/idp/soap"/> ... </md:IDPSSODescriptor> ... </md:EntityDescriptor>
-
La URL de desconexión será el atributo de ubicación del XML
Element EntityDescriptor , IDPSSODescriptor , SingleLogoutService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect: <md:EntityDescriptor ...> ... <md:IDPSSODescriptor ...> ... <md:SingleLogoutServiceBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect" Location="https://acme.com/oamfed/idp/samlv20"ResponseLocation="https://acme.com/oamfed/idp/samlv20"/> ... </md:IDPSSODescriptor> ... </md:EntityDescriptor>
SHA-256 frente a SHA-1
Después de configurar la federación entre OAM y Office 365, debe configurar OAM para que utilice SHA-1 para firmas para el partner de SP de Office 365.
Certificado de firma de OAM en mensajes de firma
Después de configurar la federación entre OAM y Office 365, debe configurar OAM para 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.
Cuenta de Usuario
Las cuentas de usuario de Office 365 y del directorio de OAM deben estar sincronizadas para soportar los distintos flujos de federación (SSO de explorador y ActiveSync):
-
Para un usuario determinado, tanto Office 365 como el directorio utilizado por OAM deben tener una cuenta para ese usuario
-
El ID único global de usuario (o
ImmutableId
) y la dirección de correo electrónico (oUserPrincipalName
) utilizados en la cuenta de Office 365 se deben definir en la cuenta de usuario en OAM -
Para la integración de correo ActiveSync,
userID
(oImmutableId
) utilizado por Office 365 debe ser el nombre de usuario utilizado para la autenticación HTTP básica en OAM: -
El identificador de la dirección de correo electrónico (o
UserPrincipalName
) es la parte de la dirección de correo electrónico anterior al carácter@
. Por ejemplo, siUserPrincipalName
es alice.appleton@acme.com, el identificador esalice.appleton
-
Ese identificador es el nombre de usuario de autenticación básica HTTP. Por ejemplo,
alice.appleton
-
El atributo de ID de usuario utilizado en la configuración del almacén de identidades de OAM para el esquema de autenticación HTTP básica de OAM debe coincidir con el nombre de usuario de autenticación HTTP básica entrante. Por ejemplo, el atributo de ID de usuario utilizado en el almacén de identidades de OAM para el usuario debe ser alice.appleton.
ImmutableId (Fin de creación)
ImmutableId
es un atributo utilizado por Office 365 para hacer referencia de forma única a un usuario. Incluso si el registro de usuario se va a suprimir posteriormente, ningún otro usuario creado posteriormente debería poder tener el mismo valor ImmutableId
.
Normalmente, ImmutableId
es
-
Un identificador único aleatorio (como 2848cfc7f6914af2a550c024bcbf0c6e)
-
O un nombre de usuario que se considera único: ningún otro usuario tendrá el mismo nombre de usuario aunque el usuario original se haya suprimido del sistema.
UserPrincipalName (Fin de creación)
UserPrincipalName
(o UPN) es un identificador que tiene el formato de una dirección de correo electrónico. El nombre de dominio de la dirección de correo electrónico debe asignarse al nombre utilizado en el dominio de Office 365.
Por ejemplo, si Office 365 se ha configurado para el dominio acme.com para SSO de federación, todos los usuarios con una dirección de correo electrónico similar a identiSer@acme.com podrán realizar SSO de federación con IdP configurado para ese dominio de Office 365.
Requisitos de ActiveSync
En un flujo de correo ActiveSync:
-
El servidor de correo de Office 365 realiza una conexión directa mediante SSL a IdP y utiliza el protocolo ECP de SAML 2.0 para enviar un SAML AuthnRequest y las credenciales del usuario mediante la autenticación HTTP básica
-
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
En dicho flujo, el usuario:
-
Proporcione su dirección de correo electrónico a Office 365 (alice.appleton@acme.com, por ejemplo)
-
Office 365 utiliza el identificador antes del carácter '@' como nombre de usuario de autenticación básica HTTP (alice.appleton, por ejemplo)
-
IdP debe poder validar las credenciales con el nombre de usuario como identificador en la dirección de correo electrónico (alice.appleton, por ejemplo)
Requisitos de nombre de usuario
Según lo anterior, los requisitos para la autenticación del usuario en IdP son:
Explorador |
Nombre de usuario de autenticación |
Nombre de usuario de autenticación HTTP básica en IdP |
---|---|---|
SSO de federación basada en explorador | Cualquiera | N/A |
SSO de federación basada en explorador + ActiveSync ECC |
Cualquiera | Identificador en la dirección de correo electrónico |
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 Id Pre-Requisites
F60937-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.