DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

Arrêtez de Perdre du Temps sur les Tâches Routines, Laissez le Gestionnaire de Ressources DataSunrise Faire ce Travail

Arrêtez de Perdre du Temps sur les Tâches Routines, Laissez le Gestionnaire de Ressources DataSunrise Faire ce Travail

Vous êtes-vous déjà demandé combien de temps peut prendre le travail avec une interface graphique ? Imaginez simplement combien d’efforts et de temps peut être nécessaire pour reproduire une infrastructure sur plusieurs ordinateurs – vous appuyez plusieurs fois sur les mêmes boutons, regardez les mêmes écrans, définissez les mêmes paramètres… Tous ces processus se répètent encore et encore, et parfois cela peut conduire à des erreurs humaines. D’accord, parfois on a juste envie de copier et coller les paramètres pour se débarrasser de toute cette routine.

Heureusement, une telle technologie existe. Cela s’appelle Infrastructure as Code (ou parfois un cadre programmable). Plus qu’une simple copie et collage des personnalisations, cette approche automatise la gestion de l’infrastructure en utilisant des techniques de développement logiciel, comblant efficacement le fossé entre le codage des applications et la création des environnements pour ces applications.

Le travail sur cette technique repose sur l’utilisation de fichiers de configuration contenant du code qui décrit l’infrastructure. Toute la fonctionnalité de création des ressources d’application est disponible de la même manière, mais maintenant il n’est plus nécessaire de passer d’un écran de paramètres à l’autre, il suffit de les décrire via du code. Cela ouvre de grandes opportunités :

  • Automatisation – il suffit d’importer le modèle, et l’application déploiera toutes les ressources pour vous. Cela permet de gagner beaucoup de temps et d’efforts et réduit la surface des erreurs humaines.
  • Reproduction élastique – vous pouvez déployer l’infrastructure sur n’importe quel nombre de machines en utilisant le même ensemble de code.
  • Chargez vos modèles dans le système de contrôle de version, comme Git, SVN, etc. – vous connaîtrez toujours l’historique des changements et pourrez restaurer les versions précédentes.
  • Gérez les ressources de manière pratique – en tant que groupe, et non individuellement, et définissez les dépendances entre les ressources pour les déployer dans le bon ordre.

Le Gestionnaire de Ressources DataSunrise est une fonctionnalité qui vous permet de gérer votre structure DataSunrise selon le principe de “l’Infrastructure as Code”. Il offre toutes les mêmes fonctionnalités qu’une interface graphique, vous permettant de déployer, éditer et supprimer les actifs de l’infrastructure DataSunrise.

Modèles

La principale fonctionnalité du Gestionnaire de Ressources est fournie par le travail avec des modèles. Un modèle est un fichier JSON déclaratif (il sera possible de travailler en XML à l’avenir) contenant des informations sur le groupe de ressources déployé. Ce fichier ressemble à un document avec du code qui est traité par l’API.

Le code du modèle peut être écrit manuellement ou exporté à partir d’une instance DataSunrise existante avec une infrastructure prête à l’emploi. Dans tous les cas, vous pouvez librement modifier les valeurs des paramètres, reconfigurant l’infrastructure selon vos besoins en matière de sécurité.

Ci-dessous un exemple de code pour la création d’un modèle de règle d’audit :

{
    "DSTemplateVersion" : "2020-03-10",
    "ExternalResources" : {
        "Instance_4" : {
            "Properties" : {
                "DatabaseType" : "MySQL",
                "InstanceName" : "Test database"
            },
            "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

Contient des références à des objets externes qui existent en dehors du modèle DataSunrise et ne sont pas contrôlés par lui, mais dans le contexte desquels le cadre exporté vers le modèle a fonctionné. Lorsque ces objets sont rendus dans un autre DataSunrise avant le déploiement du modèle, l’infrastructure déployée fonctionnera même sans changer les paramètres.

Dans ce cas, cette section décrit l’instance de Test database existante, dont l’infrastructure est exportée vers le modèle.

Mappings

Cette section contient les constantes du modèle et permet de définir leur valeur. Vous pouvez vous référer à ces valeurs en utilisant la fonction Ref pour éviter de répéter cette valeur dans votre code. Cela améliore la lisibilité du modèle et réduit le nombre d’erreurs possibles.

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

Cette section contient l’ID du serveur local. En changeant la valeur de cette constante, vous n’aurez pas besoin de perdre du temps à réécrire cette valeur dans tout le modèle, il suffit de la changer dans cette section.

Parameters

Cette section déclare les attributs de ressources à déployer avec des valeurs prédéfinies. Elle aide également à éviter la répétition dans le modèle, mais contrairement aux constantes de la section Mappings, les valeurs des paramètres peuvent être remplacées pour différentes conditions, par exemple sur un hôte différent avec une IP différente. Tout attribut peut être pris comme paramètre et défini en externe lors du déploiement d’un modèle.

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

Dans notre exemple, un type String est spécifié pour les mots de passe, et si le type de mot de passe doit être différent pour l’une des infrastructures, vous pouvez changer cette valeur manuellement ou en incluant un fichier JSON de Parameters optionnel. Vous pouvez également stocker des données sensibles telles que les mots de passe dans ce fichier, afin de ne pas avoir à les écrire directement dans le modèle.

Vous pouvez aussi vous référer à ces paramètres en utilisant la fonction “Ref” :

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

Resources

La description de la règle d’audit à déployer commence dans la section Resources, qui contient une description des ressources importées. Cette section décrit toutes les ressources DataSunrise que vous avez téléchargées dans le modèle. Ces mêmes ressources seront déployées.

La sous-clause Properties décrit les caractéristiques appliquées à la règle. Par exemple, les requêtes auxquelles la règle devrait répondre (les valeurs True des arguments ApplySelectForWhereAndJoin et ApplySelectWithoutFrom, qui correspondent aux requêtes marquées dans les Énoncés de Filtre dans l’interface utilisateur pour créer une règle d’audit). Le DmlFilter spécifie la source d’information qui déclenche la règle.

Ainsi, lorsque ce modèle est déployé, une règle d’audit sera créée qui enregistre toute interaction avec les informations de la table actor du schéma sakila. Pour que le modèle copié fonctionne dans d’autres conditions (par exemple, une autre source de données à surveiller), il suffit de changer les valeurs de certains arguments, dans ce cas – ObjectName et SchemaName.

scheme

Autres Façons de Déployer des Modèles

Vous pouvez déployer les ressources DataSunrise au démarrage de DataSunrise. Pour ce faire, vous devez arrêter le service DataSunrise Database Security dans les services Windows, écrire les arguments appropriés dans les paramètres de démarrage et redémarrer le service.

Le DataSunrise déploiera toute l’infrastructure à partir du modèle. Cela est utile si vous ne voulez pas perdre de temps à déployer des ressources en utilisant une interface utilisateur. En spécifiant le modèle requis dans les paramètres de lancement, vous obtiendrez une infrastructure prête à l’emploi.

Liste des arguments pour travailler avec des modèles dans le service DataSunrise, ainsi que des exemples de leur utilisation :

  • Chemin du fichier modèle :

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

  • Chemin vers le fichier TemplateParams (optionnel) :

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

  • Que faire avec l’infrastructure (Action = InfrastructureName), choisissez l’une des trois :

    CREATE_INFRASTRUCTURE = déploiement1 – Créer l’infrastructure

    UPDATE_INFRASTRUCTURE = déploiement1 – Mettre à jour l’infrastructure (Ajouter ou supprimer des ressources en fonction de la différence entre les modèles passés et présents)

    DELETE_INFRASTRUCTURE = déploiement1 – Supprimer l’infrastructure et toutes les ressources associées

L’exemple des arguments d’importation :

UPDATE_INFRASTRUCTURE = déploiement1 TEMPLATE_PATH = “C:/ Utilisateurs/Tom/IaCTemplates/templatePeriodicTask.json” TEMPLATE_PARAMS_PATH = “C:/ Utilisateurs/Tom/IaCTemplates/paramsPostgreSql.json”

Arguments requis pour l’exportation :

  1. Le chemin où le modèle sera déchargé (optionnel, si non spécifié, il sera déchargé à côté de l’exécutable) :

    EXPORT_INFRASTRUCTURE_PATH = “C:/Utilisateurs/Tom/”

  2. Nom de l’infrastructure :

    EXPORT_INFRASTRUCTURE = déploiement1


Conclusion

L’utilisation du Gestionnaire de Ressources DataSunrise est une solution efficace pour gérer les configurations DataSunrise. Travailler avec des modèles vous permet d’adapter l’infrastructure exportée à vos besoins en modifiant plusieurs valeurs et en gérant les ressources via du code. Cette approche vous fait gagner du temps et de l’argent et vous libère du travail répétitif et fastidieux.

Apprenez-en plus sur le déploiement des modèles et la description des ressources au Chapitre 12 du Guide de l’utilisateur.

Suivant

Découverte de Données Sensibles par OCR

Découverte de Données Sensibles par OCR

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

Informations générales :
[email protected]
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
[email protected]