Configurar Shibboleth
En este tema
- Información requerida
Registrar Shibboleth como el proveedor de identidad corporativa en Portal for ArcGIS Registrar Portal for ArcGIS como proveedor de servicios de confianza en Shibboleth
Puede configurar Shibboleth 2.3.8 y versiones posteriores como su proveedor de identidad para los inicios de sesión corporativos en Portal for ArcGIS. El proceso de configuración consta de dos pasos principales: registrar el proveedor de identidad corporativo en Portal for ArcGIS y registrar Portal for ArcGIS en el proveedor de identidad corporativo.
Si lo desea, puede proporcionar al portal metadatos sobre los grupos corporativos de su almacén de identidad. Esto permite crear grupos en el portal aprovechando los grupos corporativos existentes en el almacén de identidad. Cuando los miembros inician sesión en el portal, el acceso al contenido, los elementos y los datos se controlan por medio de las reglas de pertenencia definidas en el grupo corporativo. Aunque no proporcione los metadatos necesarios para el grupo corporativo, podrá crear grupos. Sin embargo, las reglas de pertenencia se controlarán por medio de Portal for ArcGIS, no del almacén de identidad.
Información requerida
Portal for ArcGIS requiere recibir cierta información sobre atributos desde el proveedor de identidades cuando un usuario inicia sesión con un inicio de sesión corporativo. NameID es un atributo obligatorio que el proveedor de identidades debe enviar en la respuesta SAML para que la federación con Portal for ArcGIS funcione. Cuando un usuario de un proveedor de identidad (IDP) inicia sesión, Portal for ArcGIS crea un usuario nuevo con el nombre de usuario NameID en su almacén de usuarios. Los caracteres permitidos para el valor enviado por el atributo NameID son alfanuméricos, _ (guión bajo), . (punto) y @ (arroba). Para los demás caracteres del nombre de usuario creado por Portal for ArcGIS, se agregará un carácter de escape con guión bajo.
Portal for ArcGIS admite el flujo de entrada de los atributos givenName y email address del inicio de sesión corporativo del proveedor de identidad corporativo. Cuando un usuario inicia sesión utilizando un inicio de sesión corporativo y Portal for ArcGIS recibe atributos con los nombres givenname y email o mail (en cualquier caso), Portal for ArcGIS rellena el nombre completo y la dirección de correo electrónico de la cuenta del usuario con los valores recibidos del proveedor de identidad. Se recomienda que proporcione la email address del proveedor de identidad corporativo para que el usuario pueda recibir notificaciones.
Registrar Shibboleth como el proveedor de identidad corporativa en Portal for ArcGIS
- Inicie sesión en el sitio web del portal como Administrador de su organización y haga clic en Mi organización > Editar ajustes > Seguridad.
- En la sección Inicios de sesión corporativos, haga clic en el botón Definir proveedor de identidad e introduzca el nombre de su organización en la ventana que se abre (por ejemplo, City of Redlands). Cuando los usuarios acceden al sitio web del portal, este texto aparece como parte de la opción de inicio de sesión SAML (por ejemplo, Using your City of Redlands account).
- Elija si los usuarios podrán unirse a la organización Automáticamente o Después de agregar las cuentas al portal. La primera opción permite a los usuarios iniciar sesión en la organización con su inicio de sesión corporativo sin ninguna intervención de un administrador. Su cuenta se registra con la organización automáticamente la primera vez que inician sesión. La segunda opción requiere que el administrador registre las cuentas necesarias con la organización utilizando una utilidad de línea de comandos o una secuencia de comandos de Python de ejemplo. Una vez que las cuentas se hayan registrado, los usuarios podrán iniciar sesión en la organización.
Sugerencia:
Se recomienda designar al menos una cuenta corporativa como administrador del portal y degradar o eliminar la cuenta de administrador inicial. También se recomienda deshabilitar el botón Crear una cuenta y la página de registro (signup.html) en el sitio web del portal para que los usuarios no puedan crear sus propias cuentas. Para obtener instrucciones completas, consulte Configurar un proveedor de identidad compatible con SAML con el portal.
- 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 está disponible, elija la opción Archivo para los metadatos del proveedor de identidad corporativa y busque el archivo SHIBBOLETH_HOME/metadata/idp-metadata.xml.
- Parámetros: elija esta opción si no es posible acceder al archivo. Introduzca manualmente los valores y proporcione los parámetros solicitados: URL de inicio de sesión y certificado. Ponte en contacto con el administrador de Shibboleth para obtenerlos.
- Si lo desea, puede proporcionar al portal metadatos sobre los
grupos corporativos del almacén de identidad:
- Inicie sesión en el Directorio de Portal for ArcGIS como Administrador de su organización. La dirección URL tiene el formato https://webadaptor.domain.com/arcgis/portaladmin.
- Haga clic en Seguridad > Config > Actualizar almacén de identidades.
- Inserte el JSON de configuración del grupo en el cuadro de texto Configuración de almacén de grupo (en formato JSON).
Copie el texto siguiente y modifíquelo para que incluya la información específica de su sitio:
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin\,ou=system", "ldapURLForUsers": "ldap://bar2:10389/ou=users\,ou=ags\,dc=example\,dc=com", "ldapURLForRoles": "ldap://bar2:10389/dc=example,dc=com", "usernameAttribute": "cn", "caseSensitive": "false", "userSearchAttribute": "cn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
En la mayoría de los casos, solo tendrá que modificar los valores de los parámetros user, userPassword, ldapURLForUsers y ldapURLForUsers. Su administrador de LDAP deberá proporcionar la dirección URL a LDAP. La cuenta que utilice para el parámetro user necesita permisos para consultar los nombres de los grupos de su organización. Aunque escriba la contraseña con texto no cifrado, esta se cifrará cuando se almacene o consulte en el directorio de configuraciones del portal.
Si LDAP está configurado para no distinguir entre mayúsculas y minúsculas, configure el parámetro caseSensitive como "false".
- Cuando termine de introducir el JSON para la configuración del almacén de usuarios, haga clic en Actualizar configuración para guardar los cambios y reiniciar el portal.
Registrar Portal for ArcGIS como proveedor de servicios de confianza en Shibboleth
- Configure Portal for ArcGIS como la parte que confía en Shibboleth.
- Obtenga el archivo de metadatos del portal y guárdelo como un archivo XML.
Para obtener el archivo de metadatos, inicie sesión como administrador de su organización y abra la página de la organización. Haga clic en el botón Editar ajustes y en la pestaña Seguridad y, en la sección Inicios de sesión corporativos, haga clic en el botón Obtener proveedor de servicios.
- Agregue Portal for ArcGIS 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 metadata:MetadataProvider. Proporciona la ruta al archivo XML de metadatos de la organización (guardado en el paso 1.a).
Nota:
(Reemplace webadaptor.domain.com.arcgis con el entityid de los metadatos SAML de su portal).
<!-- Load metadata --> <MetadataProvider xsi:type="FilesystemMetadataProvider" xmlns="urn:mace:shibboleth:2.0:metadata" id="webadaptor.domain.com.arcgis" metadataFile="<PATH_TO_THE_SAVED_METADATA>/citygismetadata.xml"> </MetadataProvider>
- Obtenga el archivo de metadatos del portal y guárdelo como un archivo XML.
- Configure la resolución de atributos.
Portal for ArcGIS espera que se transfiera el identificador de nombre SAML del IdP para el usuario que intenta iniciar sesión en Portal for ArcGIS. Para que estén disponibles estos datos, debe configurar el solucionador 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 Portal for ArcGIS.
<!-- Name identifier for passing principal name to Portal for ArcGIS --> <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>
- Configure el filtro de atributos.
Configure el filtro de atributos de Shibboleth para liberar el nombre del usuario principal codificado como NameID para Portal for ArcGIS tras la autenticación del usuario. El valor del parámetro NameID se utilizará como nombre de usuario en la organización.
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.
Nota:
(Reemplace webadaptor.domain.com.arcgis con el entityid de los metadatos SAML de su portal).
<!-- release the NameID to webadaptor.domain.com.arcgis --> <afp:AttributeFilterPolicy> <afp:PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="webadaptor.domain.com.arcgis" /> <afp:AttributeRule attributeID="principal"> <afp:PermitValueRule xsi:type="basic:ANY" /> </afp:AttributeRule> </afp:AttributeFilterPolicy>
Portal for ArcGIS admite el flujo de entrada de los atributos givenName y email address del inicio de sesión corporativo del proveedor de identidad corporativo. Cuando un usuario inicia sesión utilizando un inicio de sesión corporativo y Portal for ArcGIS recibe atributos con los nombres givenname y email o mail (en cualquier caso), Portal for ArcGIS rellena el nombre completo y la dirección de correo electrónico de la cuenta del usuario con los valores recibidos del proveedor de identidad.
Se recomienda que transfiera la dirección de correo electrónico del proveedor de identidad corporativa a Portal for ArcGIS. 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.
- Configure el origen de autenticación.
Configure 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}"; };
- Configure 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.
Portal for ArcGIS no es compatible con aserciones SAML cifradas de proveedores de identidad, por lo que debe desactivar el cifrado de aserción en Shibboleth. Para desactivar el cifrado de aserciones, abra el archivo SHIBBOLETH_HOME/conf/relying-party.xml y busque la sección "saml: SAML2SSOProfile" en el elemento. En esta sección, cambie el valor de encryptAssertions a never.
<rp:DefaultRelyingParty provider="https://grid3.esri.com/idp/shibboleth" defaultSigningCredentialRef="IdPCredential"> ... <rp:ProfileConfiguration xsi:type="saml:SAML2SSOProfile" includeAttributeStatement="true" assertionLifetime="PT5M" assertionProxyCount="0" signResponses="never" signAssertions="always" encryptAssertions="never" encryptNameIds="never" includeConditionsNotBefore="true"/> ... </rp:DefaultRelyingParty>
- Reinicie el servidor web que aloja la aplicación web Shibboleth.