Configurar Shibboleth 2.3.8
Puedes configurar Shibboleth 2.3.8 como el proveedor de identidad para inicios de sesión corporativos en ArcGIS Online. El proceso de configuración consta de dos pasos: registrar tu proveedor de identidad corporativa en ArcGIS Online y registrar ArcGIS Online en el proveedor de identidad corporativa.
Paso 1: registrar Shibboleth 2.3.8 como el proveedor de identidad corporativa en ArcGIS Online
- Verifica que has iniciado sesión y que eres administrador de tu organización.
- Haz clic en el botón Mi organización en la parte superior del sitio. De este modo se abrirá la página de tu organización.
- Haz clic en el botón Editar configuración.
- Haz clic en el vínculo Seguridad en el lado izquierdo de la página.
- En la sección Inicios de sesión corporativos, haz clic en el botón Definir proveedor de identidades.
- Introduce un nombre para el proveedor de identidad en la ventana que se abre.
- Proporciona la información de metadatos del proveedor de identidad con una de las dos opciones siguientes:
- Archivo: por defecto, Shibboleth proporciona el archivo de metadatos IdP en SHIBBOLETH_HOME/metadata. Si el archivo de metadatos es accesible, elige la opción Archivo para los metadatos del proveedor de identidad corporativa y busca el archivo SHIBBOLETH_HOME/metadata/idp-metadata.xml
- Parámetros: elige esta opción si no es posible acceder al archivo. Introduce manualmente los valores y proporciona los parámetros solicitados: URL de inicio de sesión, tipo de vinculación y certificado. Ponte en contacto con el administrador de Shibboleth para obtenerlos.
Paso 2: registrar ArcGIS Online como el proveedor de servicios de confianza en Shibboleth 2.3.8
- Configura ArcGIS Online como la parte que confía en Shibboleth
- Obtén el archivo de metadatos de la organización ArcGIS Online y guárdalo como un archivo XML.
Para obtener el archivo de metadatos, inicia sesión en la organización como administrador y abre la página de la organización. Haz clic en el botón Editar ajustes, pestaña Seguridad y, en la sección Inicios de sesión corporativos, haz clic en el botón Obtener proveedor de servicios.
- Agrega ArcGIS Online como el proveedor de servicios de confianza en Shibboleth mediante la definición de un nuevo elemento RelyingParty en el archivo SHIBBOLETH_HOME/conf/relying-party.xml.
Agrega el siguiente fragmento en ChainingMetadataProvider. Proporciona la ruta al archivo XML de metadatos de la organización (guardado en el paso 2.1.a). (Reemplaza citygis.maps.arcgis.com con la URL de la organización).
<!-- Load AGOL metadata --> <MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" id="citygis.maps.arcgis.com" metadataFile="<PATH_TO_THE_SAVED_METADATA>/citygismetadata.xml">
- Obtén el archivo de metadatos de la organización ArcGIS Online y guárdalo como un archivo XML.
- Configura la resolución de atributos.
ArcGIS Online espera que se transfiera el identificador de nombre SAML del IdP para el usuario que trata de iniciar sesión en ArcGIS Online. Para que estén disponibles estos datos, necesitas configurar la resolución de atributos Shibboleth mediante la modificación del archivo SHIBBOLETH_HOME/conf/attribute-resolver.xml.
La siguiente definición de atributo envía el nombre principal del usuario que ha sido autenticado por el IdP Shibboleth en el identificador de nombre a ArcGIS Online.
<!-- Name identifier for passing principal name to ArcGIS Online --> <resolver:AttributeDefinition id="principal" xsi:type="PrincipalName" xmlns="urn:mace:shibboleth:2.0:resolver:ad"> <resolver:AttributeEncoder xsi:type="SAML2StringNameID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified" /> </resolver:AttributeDefinition> - Configura el filtro de atributos.
Configura el filtro de atributos de Shibboleth para liberar el nombre del usuario principal codificado como NameID para ArcGIS Online tras la autenticación del usuario.
Para agregar este filtro, abre el archivo SHIBBOLETH_HOME/conf/attribute-filter.xml y agrega la siguiente política de filtro de atributos en el elemento XML AttributeFilterPolicyGroup. (Reemplaza citygis.maps.arcgis.com con la URL de la organización).
<!-- release the NameID to citygis.maps.arcgis.com --> <afp:AttributeFilterPolicy> <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="citygis.maps.arcgis.com" /> <afp:AttributeRule attributeID="principal"> <afp:PermitValueRule xsi:type="basic:ANY" /> </afp:AttributeRule> </afp:AttributeFilterPolicy>ArcGIS Online admite flujo de entrada de los atributos givenName y email address del inicio de sesión corporativo del proveedor de identidad corporativa a ArcGIS Online. Cuando un usuario inicia sesión mediante un inicio de sesión corporativo y si ArcGIS Online recibe atributos con los nombres givenname y emailo mail (en cualquier caso), ArcGIS Online rellena el nombre completo y la dirección de correo electrónico del usuario con los valores recibidos del proveedor de identidad.
Se recomienda que transfieras la dirección de correo electrónico del proveedor de identidad corporativa a ArcGIS Online. Esto es de utilidad si el usuario se convierte posteriormente en administrador. Disponer de una dirección de correo electrónico en la cuenta permite al usuario recibir notificaciones sobre cualquier actividad administrativa y enviar invitaciones a otros usuarios para que se unan a la organización.
- Configura el origen de autenticación.
Configura el origen de autenticación utilizado por el Shibboleth IdP.
El siguiente ejemplo muestra cómo configurar Apache Directory Server como almacén de usuario con Shibboleth en el archivo SHIBBOLETH_HOME/conf/login.config.
ShibUserPassAuth { edu.vt.middleware.ldap.jaas.LdapLoginModule required ldapUrl="ldap://host:port" baseDn="ou=users,ou=system" ssl="true" serviceUser="uid=admin,ou=system" serviceCredential="secret" subtreeSearch="true" userField="uid" userFilter="uid={0}"; }; - Configura el controlador de inicio de sesión.
Habilita el controlador de inicio de sesión UsernamePassword en Shibboleth. Con el controlador de inicio de sesión, los usuarios pueden iniciar sesión con un nombre de usuario y una contraseña del origen de autenticación configurado en el paso anterior.
Para configurar el controlador de inicio de sesión, abre el archivo SHIBBOLETH_HOME/conf/handler.xml y anula el comentario del controlador de inicio de sesión de nombre de usuario y contraseña. (Reemplaza <SHIBBOLETH_HOME> con la ruta de instalación de Shibboleth).
<!-- Username/password login handler --> <ph:LoginHandler xsi:type="ph:UsernamePassword" jaasConfigurationLocation="file://<SHIBBOLETH_HOME>/conf/login.config"> <ph:AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</ph:AuthenticationMethod> </ph:LoginHandler> - Desactiva el cifrado de aserción en el IdP Shibboleth.
ArcGIS Online no es compatible con aserciones SAML cifradas de proveedores de identidad, por lo que debes desactivar el cifrado de aserción en Shibboleth.
Para desactivar el cifrado de aserción, abre el archivo SHIBBOLETH_HOME/conf/relying-party.xml y, en la sección <DefaultRelyingParty>"saml: SAML2SSOProfile", cambia el valor de encryptAssertions a never.
<rp:DefaultRelyingParty provider="https://grid3.esri.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential"> ... <rp:ProfileConfiguration xsi:type="saml:SAML2ECPProfile" includeAttributeStatement="true" assertionLifetime="PT5M" assertionProxyCount="0" signResponses="never" signAssertions="always" encryptAssertions="never" encryptNameIds="never"/> ... </rp:DefaultRelyingParty> - Reinicia el servidor Web que aloja la aplicación Web Shibboleth.