Modelos de autorización y acceso
Una vez que se ha completado el paso de autenticación y el usuario dispone de un token de acceso válido para ArcGIS, se aplican las reglas de autorización y acceso. Pueden adoptar diversas formas y ArcGIS se ha diseñado y construido para admitir modelos o estructuras de autorización complejos y específicos de cada organización.
Autorización de acceso
Este tipo de autorización se refiere a qué contenidos, servicios o interfaces puede acceder un usuario. En ArcGIS, la autorización de acceso se administra a través del modelo de uso compartido de ArcGIS, que se basa en principios como los siguientes:
- Los elementos de contenido en ArcGIS son propiedad de una cuenta de usuario específica. Un usuario individual puede administrar, editar, eliminar y realizar cualquier operación en los contenidos de su propiedad.
- Los elementos se pueden compartir con grupos en ArcGIS. Los grupos son construcciones que se crean en ArcGIS, que tienen metadatos específicos del grupo y una lista de miembros participantes. Un tipo de grupo es un grupo de actualización compartida, que permite a cualquier miembro del grupo editar y administrar los elementos compartidos con el grupo.
- Los grupos también pueden basarse en grupos corporativos, en los que la pertenencia a un grupo se define en un directorio organizativo externo y se propaga a ArcGIS a través de procesos de autenticación de Active Directory, LDAP, SAML u OIDC. En este caso, la pertenencia del usuario a un grupo ArcGIS viene definida por la pertenencia a este grupo corporativo. Esta pertenencia se establece en el momento de iniciar sesión en ArcGIS, es válida para esa sesión y se refresca en cada inicio de sesión futuro.
- Los elementos también se pueden compartir con la organización o con todos.
- Cuando se comparte con la organización, cualquier usuario que pueda establecer una sesión válida con la organización mediante autenticación puede acceder a ella e interactuar con ella.
- Cuando se comparte con todos, cualquier persona con conectividad HTTPS al sistema puede ver el contenido. Es accesible de forma anónima a la WAN del sistema o a Internet, dependiendo de cómo esté configurada la red. Los controles de accesos a la red pueden limitar aún más esta exposición.
El acceso de los usuarios se determina en el momento de la solicitud. Si la configuración de uso compartido cambia, o si un usuario es eliminado de un grupo, perderá inmediatamente el acceso a los contenidos compartidos con ese grupo, o a ese elemento de contenido.
Cuando se trabaja con claves de API, especialmente en ArcGIS Location Platform, el acceso al contenido se controla agregando el acceso a elementos a la clave de API.
Autorización de funcionalidades
Más allá del acceso al contenido, otro tipo de autorización es lo que puede hacer en un sistema concreto. Supone el acceso a funcionalidades, interfaces o herramientas o aplicaciones específicas dentro del sistema ArcGIS. Esta autorización también suele administrarla ArcGIS, y utiliza varios principios distintos:
- A cada usuario de un sistema ArcGIS se le asigna un tipo de usuario que define su nivel de acceso a las funcionalidades. Algunos ejemplos de tipo de usuario son Viewer, Creator o Professional Plus.
- Cada usuario tiene también asignado un rol que controla más específicamente su autorización a través de un conjunto de privilegios asignados para ese rol dentro del sistema ArcGIS. Los privilegios incluyen la capacidad de crear contenidos, compartirlos con todos, ejecutar notebooks de Python o crear servicios de imágenes alojados. Los roles estándar son Viewer, Data Editor o Publisher, entre otros.
- Hay ciertas funcionalidades o niveles de acceso que se incluyen con un tipo de usuario de forma predeterminada. Además, las aplicaciones add-in o las extensiones de tipo de usuario pueden asignarse a usuarios específicos para concederles acceso a funcionalidades adicionales.
Estas distinciones se describen con más detalle en Tipos de usuarios, roles y privilegios. Las funcionalidades y el acceso se establecen cuando un usuario inicia sesión, por lo que cualquier cambio en el acceso o los privilegios puede requerir que el usuario vuelva a autenticarse para que se aplique la actualización.
La autenticación de claves de API gestiona la autorización de las funcionalidades de forma diferente, ya que cada clave de API tiene un conjunto configurado de privilegios disponibles, como la geocodificación, el geoenriquecimiento, la generación de rutas o los mapas base, y se deniega el acceso a otras funcionalidades cuando se utiliza esa clave de API.
Integración con patrones de autorización externos
Aunque la mayoría de las organizaciones administran el acceso y los permisos de los usuarios de ArcGIS directamente en ArcGIS, algunas organizaciones tienen la necesidad de administrar la autorización de forma externa, para lo cual disponen de varias opciones.
- La pertenencia a un grupo puede mantenerse mediante el uso de grupos corporativos, en los que la pertenencia del usuario se basa en una declaración incluida con una aserción SAML durante el inicio de sesión, una declaración OIDC o una consulta a un almacén de grupos remoto definido en la configuración de seguridad, que también se consulta durante el inicio de sesión del usuario.
- La mayoría de los proveedores de identidad para inicios de sesión basados en SAML u OIDC incluyen una configuración en la que los usuarios son asignados o aprovisionados a la aplicación ArcGIS a través de algún proceso, que es lo que les permite utilizar el proceso de inicio de sesión SAML u OIDC. Los usuarios que no estén aprovisionados no podrán iniciar sesión a través de SAML u OIDC, y pueden definirse varios procesos para aprovisionar automáticamente el acceso a ArcGIS a las nuevas cuentas o seguir algún tipo de proceso de solicitud.
- ArcGIS proporciona API REST para todas las acciones de autorización basadas en el usuario, como crear y administrar grupos, agregar miembros a los grupos, cambiar los roles o tipos de usuario, etc. La automatización a través de un script externo, una herramienta o un sistema como un notebook de Python también puede utilizarse para automatizar la autorización de acceso de los usuarios, consultando un origen remoto o utilizando algo como un formulario de Survey123 para desencadenar un proceso que conceda a un usuario una autorización adicional tras una revisión.