ArcGIS Server utiliza un sistema de control de acceso basado en token. Una vez que los usuarios se han autenticado, se emite un token de acceso a la aplicación cliente. Cuando un usuario necesita acceder a servicios protegidos o realizar tareas administrativas, la aplicación cliente envía el token de acceso y ArcGIS Server determina si otorga acceso a ese servicio o tarea administrativa en función de los permisos de ese servicio o los privilegios de ese usuario.
Propiedades de token
Las siguientes secciones analizan las propiedades importantes de los tokens de ArcGIS.
Vida útil de un token
Para mantener la seguridad del token, cada token está asociado con una fecha de expiración. El usuario final puede ver un mensaje de error de tiempo de espera u otro error si utiliza un token que expiró.
Los tokens con fechas de expiración más cortas son más seguros, ya que pueden ser robados por un usuario malicioso que puede utilizar dentro del periodo de tiempo. Sin embargo, una fecha de expiración corta significa que tienen que solicitarse nuevos tokens con más frecuencia.
Dos parámetros definen la vida útil de los tokens emitidos:
- Vida útil de tokens de corta duración: si un cliente solicita un token sin especificar un valor de fecha de caducidad, se emitirá un token de corta duración. El token emitido solo es válido para la duración definida por esta propiedad. Cuando un cliente solicita un token con un valor menor del token de corta duración, se emite un token con el valor de caducidad solicitado.
- Vida útil de tokens de larga duración: si un cliente solicita un token especificando un valor de fecha de caducidad, dicho valor será comparado con la duración definida por esta propiedad. Si el valor del tiempo solicitado es menor que la vida útil larga del token, se emite un token con el valor de caducidad solicitado. Si el valor del tiempo de espera necesario supera la configuración de la duración del token, se emitirá igualmente un token, pero con una caducidad correspondiente a esta propiedad.
Definición de clave compartida
Un token de ArcGIS es una cadena de caracteres de información cifrada. La clave compartida es la clave criptográfica que se utiliza para generar esta cadena de caracteres cifrada. Cuanto más compleja sea la clave compartida, resulta más difícil para un usuario malicioso romper el cifrado y descifrar la clave compartida. Si un usuario puede descifrar la clave compartida, replicar el algoritmo de cifrado de ArcGIS Server y obtener la lista de usuarios autorizados, el usuario deberá ser capaz de generar tokens y de consumir los recursos protegidos en ese ArcGIS Server concreto.
Antes de definir una clave compartida, considere lo siguiente:
- La clave compartida se debería establecer en 16 caracteres (si tiene menos de 16 no funciona). Se recomienda utilizar un conjunto de caracteres aleatorios para la clave. Se puede utilizar cualquier carácter, incluidos los caracteres que no son alfanuméricos.
- La clave no debería ser una palabra o un valor común que se adivine con facilidad. Puesto que no hay necesidad de recordar la clave o en otros lugares, la complejidad de la clave no representa los mismos problemas que las contraseñas.
- El token se cifra con la clave compartida utilizando el Estándar de cifrado avanzado (AES), también conocido como Rijndael. Los 16 caracteres de la clave representan los 128 bits utilizados para el cifrado. Para obtener más información sobre el cifrado y el AES, consulte las referencias de seguridad o a alguna persona en la organización que tenga experiencia en seguridad y criptografía.
- En entornos de muy alta seguridad, se recomienda cambiar la clave compartida periódicamente. Recuerde que si cambia la clave compartida, posiblemente necesite actualizar las aplicaciones para utilizar la nueva clave compartida. Todos los tokens incrustados existentes dejarán de ser válidos una vez que cambie la clave compartida.
Transmisión segura de tokens
Para evitar el robo y uso indebido de tokens, se recomienda utilizar una conexión segura con HTTPS. El uso de HTTPS garantiza que el nombre de usuario y la contraseña enviados desde el cliente y el token devuelto desde ArcGIS Server no puedan ser interceptados.
Al crear aplicaciones personalizadas de cliente de ArcGIS que utilizan solicitudes GET para acceder a servicios web protegidos mediante la autenticación basada en token de ArcGIS, se recomienda enviar el token en el encabezado X-Esri-Authorization en lugar de un parámetro de consulta. Impide que los intermediarios en la red, por ejemplo, servidores proxy, puertas de enlace o equilibradores de carga, obtengan el token. La solicitud HTTP GET de ejemplo que aparece a continuación envía el token en el encabezado X-Esri-Authorization:GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
Si ArcGIS Server utiliza la autenticación de ArcGIS Server y no la autenticación de nivel web (IWA, HTTP BASIC, PKI, etc.), el encabezado de autorización HTTP estándar se puede utilizar en lugar del encabezado X-Esri-Authorization:GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-