Demostración paso a paso: implementar la seguridad con usuarios y roles en SQL Server

Complejidad: Principiante Requisitos de datos: Configuración de datos de tutorial de ArcGIS

Esta demostración paso a paso muestra cómo implementar la seguridad para las aplicaciones Web y los servicios SIG. En esta demostración paso a paso, los usuarios y roles se almacenan en una base de datos de Microsoft SQL Server Express. SQL Server es una de las tantas opciones para los usuarios y roles. Esta opción se utiliza generalmente cuando los usuarios del servidor están en Internet, pero también se puede utilizar en redes locales.

En esta demostración paso a paso, instalará SQL Server Express, de ser necesario, configurará la ubicación de usuario y rol en el Administrador, establecerá los permisos para la aplicación Web y el servicio Web de SIG, y habilitará la seguridad para los servicios Web de SIG.

PrecauciónPrecaución:

Esta demostración paso a paso habilita la seguridad para los servicios Web de SIG. Una vez habilitada la seguridad de los servicios, deberá administrar los permisos para todos los servicios. No debe habilitar la seguridad a menos que esté listo para administrar los permisos.

Estos son los pasos de esta demostración paso a paso:

  1. Instalar los requisitos previos para la demostración paso a paso.
  2. Configurar la ubicación del usuario y el rol en el Administrador.
  3. Agregar usuarios y roles.
  4. Asegurar una aplicación Web.
  5. Establecer permisos para los servicios Web de SIG.
  6. Aplicar seguridad a servicios Web de SIG.

Instalar los requisitos previos para la demostración paso a paso

Es posible que necesite instalar uno de los siguientes elementos, o ambos, antes de continuar con esta demostración paso a paso:

  1. SQL Server Express: si todavía no está instalado Microsoft SQL Server Express (o si no recuerda si está instalado), siga las instrucciones en Instalar Microsoft SQL Server 2008 Express. Complete sólo esa sección, no las secciones que siguen a continuación. Después, vuelva a esta página y continúe con la demostración paso a paso.
  2. Certificado SSL: para acceder a los servicios Web de SIG protegidos en esta demostración paso a paso, el servidor Web debe admitir el uso de HTTPS, lo que requiere la instalación de un certificado de Capa de sockets seguros (SSL) en el servidor Web. Si no recuerda si instaló un certificado SSL, siga los pasos en Determinar si se instaló un certificado SSL. Si no hay un certificado instalado, debe realizar una de las siguientes acciones:
    • Solicitar un certificado a una entidad emisora de certificados. Esta opción resulta apropiada si el servidor Web es un servidor Web de producción o público que se utilizará para proporcionar aplicaciones o servicios a los clientes. Consulte Obtener e instalar un certificado SSL de una entidad emisora de certificados para obtener más información.
    • Crear un certificado propio para uso local. Esta opción resulta apropiada sólo para el desarrollo y evaluaciones. Consulte Utilizar un certificado SSL autofirmado para obtener más información e instrucciones.
    • Deshabilitar el requisito de SSL. Esta opción resulta apropiada sólo para equipos de desarrollo. El servicio de token instalado con ArcGIS Server no requiere HTTPS, por eso, las contraseñas se transmiten a través de la red en texto no cifrado, haciéndolas vulnerables y fáciles de capturar por cualquier persona que tenga acceso a la red. Los clientes también pueden mostrar una advertencia para el usuario acerca de la transmisión no protegida de inicios de sesión. Para utilizar esta opción, consulte las instrucciones en Se requiere conexión (HTTPS/SSL) para el servicio de token.

Configure la ubicación del usuario y el rol en el Administrador

Después de instalar los requisitos previos, utilice el Administrador para configurar SQL Server Express como ubicación de usuario y rol.

Pasos:
  1. Inicie el Administrador de ArcGIS Server e inicie sesión.
  2. En el Administrador, expanda el panel Seguridad y haga clic en Configuración.
  3. Haga clic en el vínculo Configurar.
    Asistente de configuración de seguridad: Configurar
  4. Seleccione SQL Server en el cuadro de diálogo Ubicación para los usuarios que se abre. Haga clic en Siguiente.
  5. Introduzca el nombre de la base de datos en el cuadro de texto Servidor en el cuadro de diálogo para especificar la configuración de SQL Server.

    Puede utilizar localhost si SQL Server Express está instalado en el equipo local. Para SQL Server Express, agregue \SQLEXPRESS al final del nombre, por ejemplo, localhost\SQLEXPRESS.

    NotaNota:

    Si cambió el nombre predeterminado de la instancia de SQL Server Express, reemplace SQLEXPRESS con el nombre de la instancia que eligió.

  6. Haga clic en Conectar para visualizar una lista de las bases de datos y opciones disponibles.
    Si falla la conexión, verifique que la base de datos se esté ejecutando y esté disponible en la red, y que la cuenta utilizada para iniciar sesión en el Administrador tenga permiso para administrar SQL Server.
    Asistente de configuración de seguridad: conexión a SQL Server
  7. Como opción, marque Utilizar conexión de confianza para permitir que la cuenta que ejecuta ASP.NET autentique los usuarios y para verificar los roles a través de la Autenticación de Windows. También puede desmarcar Utilizar conexión de confianza si configuró SQL Server con Autenticación de modo mixto y desea introducir un inicio de sesión de base de datos SQL. Se recomienda utilizar la opción de conexión de confianza siempre que sea posible.
  8. Haga clic en la opción Crear una nueva base de datos e introduzca un nombre (como aspnetdb). Verifique que esté marcada la opción Agregar los roles Todos, Anónimo y Usuarios autenticados a la base de datos. Haga clic en Siguiente.
  9. En el panel de recuperación de contraseñas, mantenga la opción desmarcada. Puede volver a ejecutar el asistente más tarde, si lo desea, para introducir la configuración para el servidor de correo, necesario para recuperar contraseñas. Haga clic en Finalizar. El asistente se cierra con la entrada Usuarios y roles de SQL Server en el cuadro Ubicación.

Observe que la seguridad para los servicios se establece en No habilitado. No habilite la seguridad en este punto. Habilitará la seguridad en el último paso de esta demostración paso a paso. Habilitar la seguridad es el último paso porque primero debe establecer permisos para sus servicios Web. Una vez habilitada la seguridad, sólo los usuarios cuyos roles tengan permiso podrán acceder a los servicios Web de SIG.

Agregar usuarios y roles

Antes de asignar los permisos para las aplicaciones o servicios, debe agregar algunos usuarios y roles.

Pasos:
  1. En el Administrador, haga clic en la pestaña Seguridad del lado izquierdo y, a continuación, haga clic en Usuarios. Si acaba de crear la base de datos siguiendo los pasos anteriores, no se enumerará ningún usuario.
    Cuadro de diálogo Lista de usuarios
  2. En el panel Usuarios, haga clic en el vínculo Agregar usuario para visualizar el cuadro de diálogo para agregar el nuevo usuario.
  3. Introduzca la información para el nuevo usuario. A continuación se presentan algunas sugerencias, pero puede introducir su propia configuración de usuario:
    • Nombre de usuario: staff1
    • Contraseña: staff1$
    • Correo electrónico: staff1@yourcompany.com
    • Pregunta de seguridad: ¿Cuál es el nombre de su primera mascota?
    • Respuesta de seguridad: Fido
      Cuadro de diálogo Agregar usuario
    PrecauciónPrecaución:

    Por defecto, las contraseñas deben tener siete caracteres como mínimo y al menos un carácter alfanumérico (como @, #, $ o %, pero evite usar &).

  4. Ya que aún no se definieron los roles, deje esa opción vacía. Haga clic en Agregar para agregar el nuevo usuario. El Administrador vuelve a la lista Usuarios y muestra el nuevo usuario.
  5. Agregue otro usuario, como por ejemplo engineer1. Introduzca los valores para la contraseña y así sucesivamente. Si lo desea, puede agregar más usuarios en este punto.
  6. Haga clic en el vínculo Roles en la sección Seguridad. Aún no existe ningún rol.
    Lista de roles
  7. En el panel Roles, haga clic en el vínculo Agregar rol para visualizar el cuadro de diálogo para agregar el nuevo rol.
  8. Introduzca el nombre del rol, como por ejemplo Staff. Después resalte el usuario que creó anteriormente, staff1, y haga clic en el botón Agregar para agregarlo a la lista Miembros de rol.
    Cuadro de diálogo Agregar rol
  9. Haga clic en Agregar rol para agregar el rol y volver a la lista Roles. Aparece el nuevo rol en la lista.
  10. Cree otro rol, como por ejemplo Ingenieros y agregue el segundo usuario que creó a este rol.

    Tenga en cuenta que puede expandir la lista de roles para mostrar los miembros del rol.

    Lista de roles con miembros

  11. Si lo desea, agregue más usuarios y roles. Siempre agregue los usuarios a, como mínimo, un rol. Los permisos para los servicios y aplicaciones se basan en los roles, no en los usuarios individuales.

Asegurar una aplicación Web

Ahora, debe proteger la aplicación Web limitando el acceso a los roles designados.

Pasos:
  1. Cree una nueva aplicación Web en el Administrador.
    La aplicación puede ser simple, con sólo un servicio de mapas y sin herramientas o tareas extra. Puede seguir el tutorial Crear una aplicación Web si debe crear una aplicación. Puede utilizar una aplicación existente, pero todos los usuarios de la aplicación deben iniciar sesión como usuarios en el rol permitido durante la demostración paso a paso.
    • Debido a que los usuarios iniciarán sesión mediante un formulario en la página Web, debe proteger el inicio de sesión requiriendo que los usuarios utilicen HTTPS para conectarse a la aplicación. Esto es posible si instaló un certificado SSL como se describe en los requisitos previos. Puede especificar HTTPS para la URL de la aplicación en el Administrador cuando crea la aplicación mediante la selección de https en las Opciones avanzadas en el panel del primer asistente.
  2. En el Administrador, haga clic en Aplicaciones para enumerar las aplicaciones Web. Busque la aplicación que desea asegurar en la lista.
    En la columna Permisos, puede ver el icono desbloqueadoIcono desbloqueado para aplicación no asegurada. Esto indica que la aplicación no está restringida, de manera que, en este momento, no se requiere que los usuarios inicien sesión.
    Cuadro de diálogo Lista de aplicaciones
  3. Haga clic en el icono permisos Icono desbloqueado para aplicación no asegurada, que muestra el cuadro de diálogo Permisos para la aplicación Web.
  4. Marque la casilla Habilitar seguridad para esta aplicación Web. Esto habilita las listas de roles disponibles y permitidos.
  5. Resalte el rol Staff (u otro rol agregado anteriormente) en la lista Roles disponibles. Haga clic en el botón Agregar para agregarlo a la lista de Roles permitidos.
    Cuadro de diálogo Permisos de la aplicación
  6. Haga clic en Guardar para guardar los permisos y volver a la lista de aplicaciones. Tenga en cuenta que el icono permisos cambia a una apariencia de icono bloqueadoIcono bloqueado para aplicación protegida , que muestra que ahora requiere un inicio de sesión para acceder a la aplicación.
  7. Evalúe la aplicación haciendo clic en el hipervínculo de la dirección URL en la lista de aplicaciones Web.
    La aplicación se abre en una nueva ventana del navegador y se redirecciona a la página de Inicio de sesión.
    Formulario de inicio de sesión de la aplicación
    Introduzca el nombre de usuario y contraseña para el usuario que es miembro del rol permitido (por ejemplo, el rol staff1 agregado anteriormente). Si el inicio de sesión es correcto, la aplicación continúa a la página de la aplicación Web de ArcGIS Server.
  8. Haga clic en el vínculo Cerrar sesión en la página de la aplicación Web.
    Vínculo de cierre de sesión de la aplicación
    La aplicación vuelve a la página de Inicio de sesión. Como opción, intente iniciar sesión con otro nombre de usuario no permitido basado en la pertenencia al rol. No podrá iniciar sesión. Cierre la aplicación y vuelva al Administrador.

Establecer permisos para los servicios Web de SIG

Además de asegurar las aplicaciones Web, puede restringir el acceso a los servicios Web de SIG mediante el Administrador. Esta sección muestra cómo establecer permisos para los servicios. Estos permisos no se implementan realmente hasta que complete la siguiente sección sobre la aplicación de seguridad a los servicios. Este flujo de trabajo le permite configurar permisos para los servicios y luego aplicar la seguridad, para que los usuarios puedan seguir accediendo a los servicios durante el proceso de seguridad.

Esta demostración paso a paso configura la seguridad para que, por defecto, se pueda acceder a los servicios sin iniciar sesión. Después, podrá configurar algunos servicios para que requieran el inicio de sesión. Puede hacerlo restringiendo el acceso a una carpeta para los roles designados. Este enfoque puede ser apropiado para un sitio con una combinación de servicios abiertos y protegidos. Si la organización desea restringir y requerir el inicio de sesión para todos los servicios, puede utilizar un enfoque distinto al que se menciona arriba.

Pasos:
  1. En el Administrador, asegúrese de tener al menos un servicio en la carpeta raíz de su servidor. Agregue un servicio si aún no existe ninguno. Puede consultar el tutorial Publicar un servicio de mapas para crear el servicio.
  2. Agregue una carpeta a los servicios del servidor haciendo clic en Administrar carpetas. En la lista desplegable que aparece, haga clic en Agregar.
    Agregar una carpeta de servicio
    Introduzca el nombre de la carpeta, como por ejemplo SecureServices en el cuadro de texto Agregar carpeta. Haga clic en Aceptar para agregar la carpeta.
  3. Agregue un servicio a la nueva carpeta. Utilice Publicar un recurso SIG para agregar el servicio, teniendo en cuenta que debe especificar la carpeta SecureServices como ubicación. (También puede utilizar el asistente Agregar nuevo servicio, pero asegúrese de que la lista Servicios en muestre la carpeta SecureServices. También puede utilizar ArcCatalog para agregar el servicio). Puede eliminar el servicio y la carpeta después de la demostración paso a paso, si lo desea.
  4. Establezca los permisos en la carpeta raíz para permitir que cualquier persona pueda acceder a los servicios sin importar si inicia sesión o no. Este enfoque es apropiado si desea permitir a todos los usuarios por defecto pero restringir ciertos servicios o carpetas para requerir un inicio de sesión válido. Para establecer este permiso, asegúrese de que en el cuadro Servicios en aparezca Nombre de servidor (raíz), donde Nombre de servidor es el nombre del equipo del servidor (si es necesario, haga clic en la lista desplegable para seleccionar este elemento). Después haga clic en Administrar carpetas y, en la lista desplegable, elija Permisos (consulte el gráfico anterior para ver una ilustración). El cuadro de diálogo Permisos que se abre muestra el nombre de la carpeta (en este caso, raíz).
  5. En el cuadro de diálogo Permisos, elija el rol Todos y haga clic en Agregar.

    El rol Todos se mueve a la lista Roles permitidos. No es necesario agregar otros roles ya que Todos abarca a todos los usuarios, sin importar si inician sesión o no. Tenga en cuenta la advertencia de que la seguridad para los servicios no está habilitada; habilitará la seguridad en la próxima sección. Haga clic en Guardar para guardar la lista de permisos.

    Configurar permisos de servicio

  6. Restrinja los permisos en la carpeta que creó anteriormente. En la lista Servicios en, elija la carpeta (SecureServices), haga clic en Administrar carpetas y después haga clic en Permisos.
  7. En el cuadro de diálogo Permisos, haga clic en el rol Todos de la lista Roles permitidos y haga clic en Quitar. El rol se mueve a la lista Roles disponibles.
  8. A continuación, haga clic en el rol que desea permitir, como por ejemplo Staff. Puede agregar diversos roles según se permita, si lo desea. Haga clic en Guardar para guardar la lista de permisos.

Ahora, los permisos están configurados para los servicios. Sin embargo, la seguridad aún no está implementada. En otras palabras, en este punto, cualquier usuario puede acceder a los servicios de la carpeta SecureServices sin iniciar sesión. La próxima sección habilita la seguridad, lo cual implementa los permisos de acceso que configuró.

Aplicar seguridad a servicios Web de SIG

El paso final para asegurar servicios Web de SIG es aplicar seguridad a los servicios. Este paso restringe los servicios Web de SIG para que sólo los usuarios cuyos roles tengan permiso puedan acceder a los servicios. Hasta que no se complete este paso, los permisos aplicados no tendrán efecto y cualquier persona podrá acceder a cualquier servicio. Puede realizar estos pasos después de haber configurado los permisos como se describe en la sección anterior.

Advertencia: una vez que habilite la seguridad, no puede deshabilitarla en el Administrador (consulte la página de ayuda del servidor Información para deshabilitar la seguridad en forma manual, si es necesario). La seguridad para los servicios debe ser un proceso unidireccional. Si no está preparado para habilitar la seguridad para los servicios Web de SIG, puede omitir esta sección de la demostración paso a paso.

Pasos:
  1. En el Administrador, haga clic en la pestaña Seguridad del lado izquierdo y, a continuación, haga clic en Configuración.
  2. En el panel Configuración de seguridad, lea la información en Seguridad para los servicios SIG. Observe que la seguridad se establezca en No habilitado cuando instala ArcGIS Server.
    Habilitar seguridad para los servicios
  3. Haga clic en Habilitar. Un mensaje le advierte que establezca los permisos antes de habilitar la seguridad para los servicios. Haga clic en el botón Habilitar seguridad para los servicios para confirmar. Ahora, regresa al panel Configuración de seguridad, y el indicador muestra que la seguridad está habilitada.
  4. Haga clic en la pestaña Servicios a la izquierda del Administrador. En la lista de servicios, los iconos permisos aparecen ahora como un icono bloqueado Icono bloqueado para servicios protegidos. Si ve un icono con un signo de exclamación de color rojoIcono de advertencia para servicio protegido sin roles permitidos, indica que el servicio tiene una lista de permisos vacía. Los usuarios no podrán acceder a estos servicios hasta que se agregue al menos un rol a la lista Roles permitidos de cada servicio.
  5. Para verificar que la seguridad para los servicios esté vigente, utilice ArcCatalog para conectarse a sus servicios. Inicie ArcCatalog, ya sea en su equipo local o en un equipo que pueda acceder al servidor Web para ArcGIS Server.
  6. En ArcCatalog, expanda el nodo Servidores SIG en el árbol de catálogo. Haga doble clic en el elemento Agregar ArcGIS Server.
  7. En el cuadro de diálogo Agregar ArcGIS Server, haga clic en Utilizar servicios SIG. Haga clic en Siguiente.
  8. En el siguiente panel, haga clic en Internet como el tipo de conexión e introduzca la dirección URL de su servidor, por ejemplo, http://myserver/arcgis/services. Para esta conexión, deje vacío el cuadro de diálogo Autenticación. Haga clic en Finalizar. Se cierra el cuadro de diálogo y aparece la nueva conexión en la lista Servidores SIG, como arcgis en myserver.
  9. Expanda este nodo. Consulte el servicio en la raíz de su servidor. La carpeta que protegió en la conexión anterior (SecureServices) no está visible. Debido a que permitió que el rol Todos pueda acceder a la carpeta raíz, los servicios en la carpeta raíz y otras carpetas que no invalidaron la configuración están visibles para todos los usuarios, incluso sin iniciar sesión. Debido a que no se conectó con un inicio de sesión apropiado, la carpeta SecureServices no está disponible para esta conexión.
  10. Agregue otra conexión al servidor SIG en ArcCatalog, siguiendo los pasos desde el 6 hasta el 8. Introduzca la misma URL del servidor, pero para el paso 8, introduzca el nombre de usuario y la contraseña en la sección Autenticación del cuadro de diálogo de la conexión. Utilice el nombre de usuario que creó anteriormente para el usuario (por ejemplo, staff1) en el rol para el cual permitió el uso de la carpeta SecureServices. Haga clic en Finalizar para agregar la conexión.
    Conectarse a servicios protegidos en ArcCatalog
  11. Expanda esta conexión (por ejemplo, arcgis en myserver [2]). Ahora puede ver la carpeta SecureServices, junto con los servicios y carpetas permitidos para Todos.
  12. Cierre ArcCatalog y el Administrador cuando finalice.

Los servicios Web están protegidos ahora. Los servicios permitidos para roles específicos están disponibles para los usuarios en esos roles. Como hemos visto, puede habilitar servicios para los usuarios que no inician sesión agregando el rol Todos a la lista de roles permitidos para el servicio o carpeta contenedora.

Puede utilizar servicios protegidos en varios clientes, incluido ArcGIS Desktop, aplicaciones ADF Web y aplicaciones API JavaScript. Para agregar un servicio protegido a una aplicación ADF Web, agregue una nueva conexión de ArcGIS Server en Internet e introduzca un nombre de usuario y la contraseña correcta en el cuadro de texto Identidad del cuadro de diálogo de la conexión en el Administrador o Visual Studio.

Si lo desea, puede quitar servicios, carpetas, usuarios o roles creados durante esta demostración paso a paso. Tenga en cuenta que una vez que habilita la seguridad para los servicios, debe administrar los permisos para todas las carpetas y servicios. Si agrega un servicio pero no agrega ningún rol permitido, los usuarios no podrán acceder (se muestra un Icono de advertencia para servicio protegido sin roles permitidos icono de advertencia para alertarlo sobre este problema). Una forma de asegurar al menos un conjunto predeterminado de permisos es agregar permisos a la carpeta contenedora en la raíz o subcarpeta. Los servicios heredan los permisos de su carpeta contenedora, lo que facilita la configuración de seguridad para los servicios.


3/6/2012