Instalación y configuración

1. Requisitos de software

2. Instalación y Configuración

2.1 Instalación Scripts de BD

Si el paquete de instalación recibido contiene un empaquetado o script de base de datos, este se debe ejecutar sobre el servidor de BD donde esté instalado Enterprise Web usando una cuenta con privilegios de “sysadmin” que permita la creación de objetos en dicha base de datos. Si hay mas de una base de datos de Novasoft Enterprise Web, se debe ejecutar en todas estas.

Este paquete de scripts solo debe ejecutarse sobre la versión 4.0 de Enterprise Web o superior Valide la documentación asociada al paquete si aplica

2.2 Instalación y Configuración Web API

Para estas instrucciones, se asume que IIS está instalado y su carpeta raíz está en C:\inetpub\wwwrooot y en el sitio web por defecto. Si desea instalar en otra ruta, debe tener en cuenta dicha ruta para las instrucciones posteriores. Así mismo, se asume que ya se han instalado los requisitos de software.

Imagen Imagen Imagen Imagen Imagen Imagen Imagen

2.3 Configuración Conexiones, Llave para Token JWT y Llave politicas

2.3.1 Conexiones

En el servidor donde esté instalado el sitio de Novasoft Enterprise Web, ubique la carpeta Conexiones y copie el archivo Conexiones.xml a la carpeta raíz del Web API. En este ejemplo c:\inetpub\wwwroot\NovasoftWebAPI. Si lo desea, puede crear nuevas conexiones, en ese caso, en lugar de copiar el archivo XML de conexiones, copie el ejecutable Administrador de Conexiones.exe a la carpeta raíz del Web API, y ejecútelo para crear las conexiones a las BD de Novasoft Enterprise Web.

Imagen

2.3.2 Llave para generación Token JWT

Dentro de la carpeta raíz del Web API ej. C:\inetpub\wwwroot\NovasoftWebAPI, abra en un editor de texto el archivo appsettings.json. Ubique la propiedad “key” dentro de “JWT”, y reemplace el valor por una llave de su preferencia.

Imagen

Recomendaciones para la llave JWT:

2.3.3 Llave para políticas CORS

Las políticas CORS controlan qué recursos pueden ser accedidos por otros dominios. Se basan en encabezados HTTP para permitir o restringir el acceso. Ayudan a proteger la seguridad y privacidad de las aplicaciones web. Son necesarias cuando se realizan solicitudes desde un dominio diferente al del recurso.

Dentro de la carpeta raíz del Web API ej. C:\inetpub\wwwroot\NovasoftWebAPI, abra en un editor de texto el archivo appsettings.json. Ubique la propiedad CorsPolicy y reemplace el valor por el listado de encabezados HTTPS a los cuales se les otorgara permisos para hacer el consumo de la Web Api. https://example.com

Imagen

2.3.4 Llave para Url ReportServer

El ReportServer es un servicio de Reporting Services que permite generar los informes, se estableció este parámetro para que se pueda configurar la ruta del servicio en donde se encuentran alojados los reporte.

Dentro de la carpeta raíz del Web API ej. C:\inetpub\wwwroot\NovasoftWebAPI, abra en un editor de texto el archivo appsettings.json. Ubique la propiedad UrlReportServer y reemplace el valor por la ruta para acceder al ReportServer al momento de hacer el consumo de la Web Api que generan estos reportes. (http://localhost/ReportServer/)

Imagen

2.3.5 Formato de Fecha para Reporting Services

Para poder configurar el formato de fecha que maneja el servidor de informes, se estableció un parámetro llamado DateFormatRS en el appsettings.json, para que al momento de generar los reportes desde la API, no se generen inconsistencias en el proceso.

Imagen

El formato que se debe establecer allí es el mismo formato de fecha que usa el servidor de reportes Reporting Services.

2.3.6 Llave Configuración TimeOut por Peticiones

En algunos escenarios, pueden presentarse consultas pesadas o procedimientos complejos como reportes extensos o cálculos intensivos que pueden tardar varios minutos en completarse. Para evitar que la aplicación quede esperando indefinidamente en estos casos, se ha incorporado un nuevo parámetro de configuración que permite controlar el tiempo máximo de espera para la ejecución de comandos SQL.

Con la configuración actual definida en el estándar, la aplicación esperará hasta 300 segundos, 5 minutos antes de interrumpir automáticamente la operación por exceder el tiempo límite.

Este valor es completamente modificable de acuerdo con las necesidades y preferencias del usuario. Para ajustar el tiempo de espera timeout de las consultas SQL, debe acceder al archivo appsettings.json, ubicado en la carpeta raíz del sitio de APIs:

C:\inetpub\wwwroot\NovasoftWebAPI_600.

Abra el archivo con un editor de texto de su preferencia, ubique la propiedad CommandTimeout dentro de la sección Database y establezca el valor deseado en segundos.

Imagen

2.3.7 Llave Configuración Límite de Peticiones por IP

Para prevenir ataques de fuerza bruta como múltiples intentos de contraseña en el endpoint /Login, proteger los recursos del servidor frente a abusos o sobrecargas, y mejorar la seguridad y estabilidad del sistema, se ha implementado una nueva configuración llamada IpRateLimiting.

Esta configuración permite limitar la cantidad de solicitudes requests que un cliente puede realizar a la API desde una dirección IP específica dentro de un período de tiempo determinado.

Con la configuración definida actualmente en el estándar, la limitación se aplica únicamente al endpoint de inicio de sesión POST:/api/Cuenta/Login.

En este caso, solo se permiten 5 solicitudes por minuto desde una misma IP. Si se supera este límite, la API responderá con el código de error 429 Too Many Requests. Una vez transcurrido el minuto, se podrán realizar nuevas solicitudes

Para aplicar esta restricción a uno o más endpoints del sitio de Apis, debe editar el archivo appsettings.json, ubicado en la carpeta raíz del sitio de APIs:

C:\inetpub\wwwroot\NovasoftWebAPI_600

  1. Abra el archivo con un editor de texto de su preferencia.
  2. Busque la propiedad IpRateLimiting.
  3. Dentro de ella, ubique la sección GeneralRules, que es un arreglo de objetos donde se especifican los endpoints a los que se les aplicará esta limitación.
  4. Agregue el endpoint o los endpoints que se les aplicará esta limitación guiarse de la configuración del endpoint Login
Imagen

3. Gestión de Usuario y Permisos

El Web API valida varias opciones de seguridad no solo el usuario y la contraseña, lo que permite tener un control mas detallado de lo que puede hacer dicho usuario. Dichas validaciones son:

3.1 Creación de Usuario

El acceso al Web API se hace a través de un usuario creado dentro de la aplicación Novasoft Enterprise Web de la siguiente manera:

Imagen

3.2 Gestión Permisos

Los permisos que se manejan en el Web API son diferentes a los que se conceden en Enterprise Web para un usuario normal, por eso se recomienda la creación de un grupo nuevo solo para el usuario de Web API. Un usuario creado para uso de Web API, no podrá iniciar sesión directamente en Enterprise Web puesto que está restringido únicamente al consumo de servicios web.

Para gestionar los permisos del usuario del web API, siga los siguientes pasos:

Imagen

Si desea saber que con que operaciones cuenta cada aplicación y que tipo de petición realiza, remítase a la documentación de operaciones de la aplicación deseada, o ingrese a la documentación de Swagger como se indica dentro de este mismo documento en la sección Acceso Documentación del Web API.

Este artigo ajudou você?