DataSunrise está patrocinando AWS re:Invent 2024 en Las Vegas, por favor visítenos en el stand #2158 de DataSunrise

Deja de Perder Tiempo en Rutinas, Deja que el Administrador de Recursos de DataSunrise Haga Este Trabajo

Deja de Perder Tiempo en Rutinas, Deja que el Administrador de Recursos de DataSunrise Haga Este Trabajo

¿Alguna vez te has preguntado cuánto tiempo consume trabajar con una GUI? Solo imagina cuánto esfuerzo y tiempo puede llevar la simple reproducción de una infraestructura en varias computadoras: presionar los mismos botones varias veces, mirar las mismas pantallas, configurar los mismos parámetros… Todos estos procesos se repiten una y otra vez, y a veces esto puede llevar a errores humanos. Aceptémoslo, a veces solo queremos copiar y pegar la configuración para deshacernos de toda esta rutina.

Afortunadamente, existe tal tecnología. Esto se llama Infraestructura como Código (o a veces un marco programable). Más que solo copiar y pegar personalizaciones, este enfoque automatiza la gestión de la infraestructura utilizando técnicas de desarrollo de software, cerrando la brecha entre codificar aplicaciones y crear entornos para esas aplicaciones.

El trabajo sobre esta técnica se basa en el uso de archivos de configuración que contienen código que describe la infraestructura. Toda la funcionalidad para crear recursos de aplicaciones está disponible de la misma forma, pero ahora no hay necesidad de cambiar entre diferentes pantallas de configuración, solo descríbelas a través del código. Esto abre grandes oportunidades:

  • Automatización – solo importa la plantilla y la aplicación desplegará todos los recursos por ti. Esto ahorra mucho tiempo y esfuerzo y reduce la posibilidad de errores humanos.
  • Reproducción elástica – puedes desplegar la infraestructura en cualquier cantidad de máquinas usando el mismo conjunto de código.
  • Sube tus plantillas al Sistema de Control de Versiones, como Git, SVN, etc. – siempre conocerás el historial de cambios y podrás restaurar versiones anteriores.
  • Gestiona los recursos de manera conveniente – como un grupo, no individualmente, y define dependencias entre recursos para desplegarlos en el orden correcto.

El Administrador de Recursos de DataSunrise es una característica que te permite gestionar tu estructura de DataSunrise bajo el principio de “Infraestructura como Código”. Proporciona todas las mismas capacidades que una interfaz gráfica, permitiéndote desplegar, editar y eliminar activos de infraestructura de DataSunrise.

Plantillas

La funcionalidad principal del Administrador de Recursos se proporciona trabajando con plantillas. Una plantilla es un archivo JSON declarativo (será posible trabajar en XML en el futuro) que contiene información sobre el grupo de recursos desplegado. Este archivo se parece a un documento con código que es procesado por la API.

El código de la plantilla se puede escribir manualmente o exportar desde una instancia existente de DataSunrise con infraestructura ya lista. En cualquier caso, puedes cambiar libremente los valores de los parámetros, reconfigurando la infraestructura de acuerdo a tus necesidades de seguridad.

A continuación se muestra un ejemplo del código para una plantilla de creación de regla de auditoría:

 {
    "DSTemplateVersion" : "2020-03-10",
    "ExternalResources" : {
        "Instance_4" : {
            "Properties" : {
                "DatabaseType" : "MySQL",
                "InstanceName" : "Base de datos de prueba"
            },
            "Type" : "Instance"
        }
    },
    "Mappings" : {"LocalServerID": "1",},
    "Parameters" : {
        "Password_instance" : {
            "Description" : "",
            "Type" : "String"
        },
    },
    "Resources" : {
        "AuditRule_17" : {
            "DependsOn" : "Interface_4",
            "Properties" : {
                "Action" : "Default",
                "ApplySelectForWhereAndJoin" : "True",
                "ApplySelectWithoutFrom" : "True",
                "AuditDestinationDatabase" : "Database",
                "BlockCounterLimit" : "0",
                "BlockCounterPeriod" : "0",
                "BlockingMessage" : "",
                "BlockingType" : "None",
                "CefGroup" : "0",
                "ChainType" : "Audit",
                "CheckNextRule" : "False",
                "Comment" : "",
                "DataFilter" : "",
                "DataFilterIsRegexp" : "True",
                "DepersonalizeQueries" : "False",
                "DmlDeleteEnabled" : "True",
                "DmlExcludes" : [],
                "DmlFilter" : [
                    {
                        "DatabaseName" : "[[database]]",
                        "DatabaseNameIsRegexp" : "False",
                        "ObjectName" : "actor",
                        "ObjectNameIsRegexp" : "False",
                        "ObjectsItemFilter" : [],
                        "ObjectType" : "Table",
                        "SchemaName" : "sakila",
                        "SchemaNameIsRegexp" : "False"
                    }
                ],
                "DmlInsertEnabled" : "True",
                "DmlSelectEnabled" : "True",
                "DmlUpdateEnabled" : "True",
                "Enable" : "True",
                "ExcludeObjectGroups" : [],
                "FileParams" : "",
                "FilterType" : "ObjectBased",
                "FuncCallEnabled" : "False",
                "FuncExcludes" : [],
                "FuncFilter" : [],
                "IncludeObjectGroups" : [],
                "Instance" : {
                    "Ref" : "Instance_4"
                },
                "LimitCountType" : "ByOperations",
                "LimitCountValue" : "0",
                "LimitEnable" : "False",
                "LimitFilterType" : "ByRule",
                "LimitPeriodType" : "Hour",
                "MaxRowsCount" : "DefaultRowsCount",
                "Name" : "Audit_rule",
                "Priority" : "17",
                "RowLimit" : "0",
                "SaveDataBindings" : "True",
                "SaveOnlyFirst" : "False",
                "SaveReturnedData" : "False",
                "SaveToEventMonitor" : "True",
                "Schedule" : "0",
                "SessionCriteria" : {
                    "criteria" : [],
                    "filterType" : "AND",
                    "operatorType" : "complex"
                },
                "Subscribers" : [],
                "Tags" : [],
                "UseFunctionDDL" : "False",
                "UserBlockingPeriod" : "0",
                "UserBlockingType" : "NoBlock",
                "UseViewDDL" : "False",
                "WhoBlock" : "UserAndHost"
            },
            "Type" : "AuditRule"
        }
    }
}

ExternalResources

Contiene referencias a objetos externos que existen fuera de la plantilla de DataSunrise y no son controlados por ella, pero en el contexto de los cuales funcionó el marco exportado a la plantilla. Cuando estos objetos se renderizan en otro DataSunrise antes de desplegar la plantilla, la infraestructura desplegada funcionará incluso sin cambiar la configuración.

En este caso, esta sección describe la instancia existente de Base de datos de prueba, cuya infraestructura se exporta a la plantilla.

Mappings

Esta sección contiene constantes de la plantilla y permite establecer su valor. Puedes referirte a estos valores usando la función Ref para evitar la repetición de este valor en tu código. Esto mejora la legibilidad de la plantilla y reduce el número de posibles errores.

"Mappings" : {"LocalServerID": "1",}

Esta sección contiene el ID del servidor local. Al cambiar el valor de esta constante, no necesitarás perder tiempo reescribiendo este valor en toda la plantilla, basta con cambiarlo en esta sección.

Parameters

Esta sección declara atributos de recursos para ser desplegados con valores predefinidos. Ayuda a evitar la repetición en la plantilla también, pero a diferencia de las constantes de la sección Mappings, los valores de los parámetros pueden anularse para diferentes condiciones, por ejemplo, en un host diferente con una IP diferente. Cualquier atributo puede ser tomado como un parámetro y configurado externamente al desplegar una plantilla.

"Parameters" : "Parameters" : {
    "Password_instance" : {
    "Description" : "",
    "Type" : "String"
},

En nuestro ejemplo, se especifica un tipo String para las contraseñas, y si el tipo de la contraseña debe ser diferente para una de las infraestructuras, puedes cambiar este valor manualmente o mediante la inclusión de un archivo JSON opcional Parameters. También puedes almacenar datos sensibles como contraseñas en este archivo, por lo que no es necesario escribirlos directamente en la plantilla.

También puedes referirte a estos parámetros usando la función “Ref”:

"Password" : {
    "Ref" : "Password_instance"
},

Resources

La descripción de la regla de auditoría que se despliega comienza en la sección Resources, la cual contiene una descripción de los recursos importados. Esta sección describe todos los recursos de DataSunrise que has subido a la plantilla. Estos mismos recursos serán desplegados.

La subcláusula de Properties describe las características aplicadas a la regla. Por ejemplo, solicitudes a las cuales la regla debe responder (valores True de los argumentos ApplySelectForWhereAndJoin y ApplySelectWithoutFrom, que corresponden a las solicitudes marcadas en Declaraciones de Filtro en la GUI para crear una regla de auditoría). El DmlFilter especifica la fuente de información que dispara la regla.

Así, cuando se despliega esta plantilla, se creará una regla de auditoría que registra cualquier interacción con la información en la tabla actor del esquema sakila. Para hacer que la plantilla copiada funcione en otras condiciones (por ejemplo, otra fuente de datos para la monitorización), es suficiente con cambiar los valores de algunos argumentos, en este caso – ObjectName y SchemaName.

esquema

Otras formas de desplegar plantillas

Puedes desplegar los recursos de DataSunrise cuando se inicia DataSunrise. Para ello, necesitas detener el servicio de Seguridad de Bases de Datos de DataSunrise en los Servicios de Windows, escribir los argumentos apropiados en los parámetros de inicio y arrancar el servicio nuevamente.

El DataSunrise desplegará toda la infraestructura de la plantilla. Esto es útil si no deseas perder tiempo desplegando recursos usando la UI. Al especificar la plantilla requerida en los parámetros de inicio, obtendrás una infraestructura lista para usar.

Lista de argumentos para trabajar con plantillas en el servicio DataSunrise, así como ejemplos de su uso:

  • Ruta del archivo de la plantilla:

    TEMPLATE_PATH = “C:/Usuarios/Tom/IaCTemplates/templatePeriodicTask.json”

  • Ruta al archivo TemplateParams (opcional):

    TEMPLATE_PARAMS_PATH = “C:/ Usuarios/Tom/IaCTemplates/paramsPostgreSql.json”

  • Qué hacer con la infraestructura (Action = InfrastructureName), elige una de las tres:

    CREATE_INFRASTRUCTURE = deployment1 – Crear infraestructura

    UPDATE_INFRASTRUCTURE = deployment1 – Actualizar infraestructura (Agregar o eliminar recursos en función de la diferencia entre las plantillas pasadas y actuales)

    DELETE_INFRASTRUCTURE = deployment1 – Eliminar infraestructura y todos los recursos asociados

El ejemplo de argumentos de importación:

UPDATE_INFRASTRUCTURE = deployment1 TEMPLATE_PATH = “C:/ Usuarios/Tom/IaCTemplates/templatePeriodicTask.json” TEMPLATE_PARAMS_PATH = “C:/ Usuarios/Tom/IaCTemplates”

Argumentos necesarios para la exportación:

  1. La ruta donde se descargará la plantilla (opcional, si no se especifica, se descargará junto al ejecutable):

    EXPORT_INFRASTRUCTURE_PATH = “C:/Usuarios/Tom/”

  2. Nombre de la infraestructura:

    EXPORT_INFRASTRUCTURE = deployment1


Conclusión

Usar el Administrador de Recursos de DataSunrise es una solución eficaz para gestionar las configuraciones de DataSunrise. Trabajar con plantillas te permite adaptar la infraestructura exportada a tus necesidades modificando múltiples valores y gestionando recursos a través de código. Este enfoque ahorra tu tiempo y presupuesto y te libera de repetir el mismo trabajo rutinario.

Para obtener más información sobre el despliegue de plantillas y la descripción de recursos, consulta el Capítulo 12 de la Guía del Usuario.

Siguiente

Descubrimiento de Datos Sensibles OCR

Descubrimiento de Datos Sensibles OCR

Más información

¿Necesita la ayuda de nuestro equipo de soporte?

Nuestros expertos estarán encantados de responder a sus preguntas.

Información general:
[email protected]
Servicio al Cliente y Soporte Técnico:
support.datasunrise.com
Consultas sobre Asociaciones y Alianzas:
[email protected]