Configurar la seguridad en web.config para ArcGIS for Spatial Data Server for IIS

Si los usuarios autenticados de Windows pueden obtener acceso a sus servicios de ArcGIS Spatial Data Server for IIS a través de una intranet, puede asegurar el servidor de datos espaciales al configurar el archivo web.config que se encuentra en la carpeta REST de su directorio de instalación de ArcGIS Spatial Data Server for IIS.

Para hacerlo, primero debe habilitar los servicios de rol de IIS y habilitar la autenticación de Windows o Basic. Después, puede agregar los elementos de ubicación que contienen un elemento de autorización a web.config como a un elemento secundario del elemento de configuración.

Habilitar los servicios de roles de IIS

Antes de que pueda agregar el elemento de ubicación al archivo web.config para controlar el acceso a su servicio, debe habilitar el servicio de roles URL Authorization IIS y los servicios de roles Windows Authentication o Basic Authentication IIS.

Los servicios de roles están habilitados desde el Administrador del servidor. Debe iniciar sesión en el servidor como miembro del grupo de administradores de Windows para modificar la configuración en el Administrador del servidor.

Pasos:
  1. Inicie el Administrador del servidor.

    Inicio > Herramientas administrativas > Administrador del servidor > Roles

    Se abre el cuadro de diálogo Administrador del servidor.

  2. Desplácese a la sección Servidor Web (IIS) y haga clic en Agregar servicios de roles.
  3. En Seguridad, marque Autorización de URL.
  4. Marque Windows Authentication o, si va a utilizar la certificación de SSL, marque Basic Authentication.
  5. Haga clic en Siguiente.
  6. Revise la configuración para confirmar que es correcta y, a continuación, haga clic en Instalar.
  7. Haga clic en Cerrar.
  8. Cierre Administrador del servidor.

Habilite Windows o Basic Authentication

Ahora que el servicio de roles Basic o Windows Authentication se agregó, puede habilitarlo dentro de IIS Manager. Debe iniciar sesión en el servidor como miembro del grupo de administradores de Windows para alterar la configuración en el Administrador de IIS.

Pasos:
  1. Inicie el Administrador de IIS.

    Inicie > Herramientas administrativas > Servicios de información de Internet

    Se abre el Administrador de servicios de información de Internet (IIS) .

  2. Conéctese al servidor desde el administrador.
  3. En IIS en la Vista de entidades, haga doble clic en Autenticación.

    El panel Autenticación se abre.

  4. Elija Windows Authentication o Basic Authentication en Autenticación y haga clic en Habilitar en Acciones.

    Si utilizará Basic Authentication, asegúrese de habilitar SSL para que las credenciales no se envíen en texto claro.

  5. Haga clic en Archivo > Salir para cerrar el Administrador de IIS.

Configure el elemento de ubicación en el archivo web.config

Puede agregar elementos de ubicación al archivo web.config para controlar el acceso a los servicios. El elemento de ubicación se puede formatear de la siguiente manera:

<location path="path">     <system.webServer>       <security>         <authorization>           <remove users="" roles="" verbs="" />           <add accessType="Allow"                 users="allowedUsers" 	                roles="allowedRoles" />         </authorization>       </security>     </system.webServer>   </location>

Modifique los valores de los siguientes elementos secundarios del elemento de ubicación:

Agregue el elemento de ubicación como un elemento secundario del elemento de configuración. Existen muchos elementos secundarios directos del elemento de configuración pero puede agregar el elemento de ubicación en cualquier lugar después y en el mismo nivel que el elemento configSections.

Ejemplo 1: Asegurar las solicitudes de admin.

El siguiente ejemplo del elemento de ubicación elimina la configuración de autorización de IIS predeterminada del archivo web.config y configura una regla de autorización que solo permite que los usuarios que están en el grupo de administradores de Windows obtengan acceso al contenido dentro del extremo de administración.

<configuration>   <location path="admin">     <system.webServer>       <security>         <authorization>           <remove users="*" roles="" verbs="" />           <add accessType="Allow"                 users=""                 roles="Administrators" />         </authorization>       </security>     </system.webServer>   </location> </configuration>

Ejemplo 2: Permitir el acceso a todos los servicios mediante un rol o usuario específico

En este elemento de ubicación ejemplo, la configuración de autorización de IIS predeterminada en el archivo web.config se reemplaza con una regla para permitir que el grupo svcsusers y el usuario de Windows svcmgr obtenga acceso a todos los servicios en el servidor de datos espaciales:

<configuration>   <location path="rest/services">    <system.webServer>       <security>         <authorization>           <remove users="*" roles="" verbs="" />           <add accessType="Allow"                 users="mydomain\svcmgr"                 roles="svcsusers" />         </authorization>       </security>     </system.webServer>   </location> </configuration>

Ejemplo 3: Permitir el acceso a un servicio específico

Para restringir el acceso a un servicio específico mediante un rol único, agregue un elemento de ubicación al archivo web.config que se aplica a un servicio y da una autorización al rol especificado. En este ejemplo, solo los miembros del rol de meteorólogos pueden acceder al servicio meteorológico:

<configuration>   <location path="rest/services/weather/FeatureServer">     <system.webServer>       <security>         <authorization>           <remove users="*" roles="" verbs="" />           <add accessType="Allow"                 roles="meteorologists" />         </authorization>       </security>     </system.webServer>   </location> </configuration>

Ejemplo 4: Permitir el acceso a un servicio específico para varios roles

Para permitir el acceso de varios roles a un servicio específico, agregue un elemento de ubicación al archivo web.config que se aplica a un servicio y permite el acceso mediante varios roles. En este ejemplo, los miembros de los roles de planificadores, contratistas y desarrolladores pueden obtener acceso al servicio de uso del suelo:

<configuration>   <location path="rest/services/landuse/FeatureServer">     <system.webServer>       <security>         <authorization>           <remove users="*" roles="" verbs="" />           <add accessType="Allow"                 roles="planners,contractors,developers" />         </authorization>       </security>     </system.webServer>   </location> </configuration>

9/11/2013