DELPHIX MASKING 5.2 - HELLO API



This article will discuss one of the greatest functionalities, included within the latest release 5.2.


This core functionality is the API support and integration, within the masking engine that opens a lot of perspectives of evolution.


ex : 



  • Ease of architecture Scalability
  • Integration with support of a (SDLC) policy standard, going from dev up to production go.
  • Distributed architectures
  • Ensure the consistency of masking between different engines
To achieve this, you have to rely on the masking API to move objects between masking engines by exporting/importing theme.

Currently on the version 5.2.2 the enginesync is currently supporting the following objects.

  • Engine key sync
  • Binary Lookup algorithms
  • Secure lookup algorithms
  • Segmented mapping algorithms
  • Tokenization algorithms
  • Mapplet algorithms 


Refer to the link bellow for built-in algorithms support 

The workflow of the operation can be divided like this :

On the source engine :




On the target engine :



Let's see those operations in action using a 5.2.2 masking engine.


Get the list of syncable objects






[root@linuxtarget masking_v2_api]# sh key_sync.sh
* logging in...

We've got the following token 8158f264-8093-4d2c-b2e3-297d5a85905e


=======================================================================


curl: (6) Couldn't resolve host 'Content-Type: application'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
101  3737  101  3737    0     0  10830      0 --:--:-- --:--:-- --:--:-- 10863

The list of supportes syncable object :
{
    "_pageInfo": {
        "numberOnPage": 27,
        "total": 27
    },
    "responseList": [
        {
            "objectIdentifier": {
                "keyId": "global"
            },
            "objectType": "KEY",
            "revisionHash": "1268b1cc512be8e2bc15300fcdac243c781dcd1b"
        },
        {
            "objectIdentifier": {
                "algorithmName": "FR_CITIES"
            },
            "objectType": "LOOKUP",
            "revisionHash": "e4a8ab7e2d566786338e8f3bc33b986ede465a43"
        },
        {
            "objectIdentifier": {
                "algorithmName": "FR_VILLES"
            },
            "objectType": "LOOKUP",
            "revisionHash": "d50ce52706e195cce88d85343c6b8844a2c6a5db"
        },
        {
            "objectIdentifier": {
                "algorithmName": "AccNoLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "01bcb5445869867018ec30ed3cf5e217f7f6da2d"
        },
        {
            "objectIdentifier": {
                "algorithmName": "AddrLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "6b8d4b8f0aaf1d3687252cc0aea6c1cdcc50746f"
        },
        {
            "objectIdentifier": {
                "algorithmName": "BusinessLegalEntityLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "f8f19136c0b9088d3e8145c0f8515ecf6d93407e"
        },
        {
            "objectIdentifier": {
                "algorithmName": "DrivingLicenseNoLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "c226975bb020f2cf07748c2e1a0d36e06f388bd3"
        },
        {
            "objectIdentifier": {
                "algorithmName": "EmailLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "936ee71129e2544e54ab8ee1086565f7d568ba68"
        },
        {
            "objectIdentifier": {
                "algorithmName": "FirstNameLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "dbec72b972c88ba92d554700b26f41940a2f6cea"
        },
        {
            "objectIdentifier": {
                "algorithmName": "LastNameLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "9ab29e05ecdf30b8480dc2cc0366025e2b1af06f"
        },
        {
            "objectIdentifier": {
                "algorithmName": "SchoolNameLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "3f4f04ee941b4db27e11bd961c09b4013924a27e"
        },
        {
            "objectIdentifier": {
                "algorithmName": "TelephoneNoLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "aa9ff65714d7ae35fa832efd9131ae4a594b2305"
        },
        {
            "objectIdentifier": {
                "algorithmName": "NullValueLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "c1c845c1e5456c4e440782aab0828547b016c764"
        },
        {
            "objectIdentifier": {
                "algorithmName": "USCitiesLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "91c9b957f8511b4377aaa407f673ce9494a94ebe"
        },
        {
            "objectIdentifier": {
                "algorithmName": "USstatesLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "e3b385a0f157f2eff1f5526a984de65196106eb7"
        },
        {
            "objectIdentifier": {
                "algorithmName": "NameTK"
            },
            "objectType": "TOKENIZATION",
            "revisionHash": "80b4d87541f81390809985981c59c50fc84f697d"
        },
        {
            "objectIdentifier": {
                "algorithmName": "USstatecodesLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "77182bcba5bdffc2ce2b399bd01e775aa3c1ab53"
        },
        {
            "objectIdentifier": {
                "algorithmName": "WebURLsLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "c96041e29121a6ec70e641e566bdae33c48d785a"
        },
        {
            "objectIdentifier": {
                "algorithmName": "FullNMLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "a60d823dea4ef39b1b4d332c13183adaa1c2d125"
        },
        {
            "objectIdentifier": {
                "algorithmName": "LastCommaFirstLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "267d48857ee8d050a5cc47bff0e10f130a43e8be"
        },
        {
            "objectIdentifier": {
                "algorithmName": "DummyHospitalNameLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "7eca778479fe792972379bf922efee82464b1de4"
        },
        {
            "objectIdentifier": {
                "algorithmName": "CommentLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "ef22a7f43a56048cfa8c707e94475d6ec3294dfa"
        },
        {
            "objectIdentifier": {
                "algorithmName": "RandomValueLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "d9c9658c54014b6d2e7726e317596ff9e418183d"
        },
        {
            "objectIdentifier": {
                "algorithmName": "USCountiesLookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "f1deb4c720a4f45cfa1cb739eb64da92be255ed0"
        },
        {
            "objectIdentifier": {
                "algorithmName": "AccountTK"
            },
            "objectType": "TOKENIZATION",
            "revisionHash": "cf351871a5c875e5da31b176b3cbb6cea4da4d70"
        },
        {
            "objectIdentifier": {
                "algorithmName": "SsnTK"
            },
            "objectType": "TOKENIZATION",
            "revisionHash": "4e373425c8b6b7a7c02d3236171d6d36b67e2f36"
        },
        {
            "objectIdentifier": {
                "algorithmName": "AddrLine2Lookup"
            },
            "objectType": "LOOKUP",
            "revisionHash": "495c4b4c9dd12a9d5c19f3d91a499f7e60ee8515"
        }
    ]
}

=======================================================================


=======================================================================


=======================================================================

[root@linuxtarget masking_v2_api]#

Export masking engine key


[root@linuxtarget masking_v2_api]# sh key_sync.sh
* logging in...

We've got the following token f2f47999-d90c-4d8e-a50b-27ede46effa6


=======================================================================


=======================================================================

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
109  1472  105  1472    0    67  36287   1651 --:--:-- --:--:-- --:--:-- 35125

We've exported this engine key :

{
    "blob": "QgAAAAokNWNkNDVmMTgtNjE0OC00MDY5LTk1NzctNGI0OTk5ZGUzNmIzEhgyMDE4LTAxLTMwVDE0OjUyOjU2Ljc2MVogAasBAAAKJDVjZDQ1ZjE4LTYxNDgtNDA2OS05NTc3LTRiNDk5OWRlMzZiMxKCAwo7CAkSNwordHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllchIICgZnbG9iYWwa/QEKJDAxYzcyZjJmLWM2OTItNGIyZC04ZDkxLTM3N2E1NDQ2YzQwNBIkODZkMjhhZmMtZjhjNy00ZTIzLWJkNjctN2ZiMDgxMWYyOWU4Gnd7CiAgIm9iamVjdFR5cGUiOiAiS0VZIiwKICAiaWQiOiB7CiAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllciIsCiAgICAiaWQiOiAiZ2xvYmFsIgogIH0KfSIoYjJmNzk4MzgwYmY3MDVhZDU1YjdjMTk1MmQ4N2YzMWZlYWY0ZTJmZSjhm4ndhCww4ZuJ3YQsIkMKJXR5cGUuZ29vZ2xlYXBpcy5jb20vRW5jcnlwdGlvbktleURhdGESGgoYb3dtN1NiZGsyVnZSZG1id2NKd29nUT09VwAAAAokNWNkNDVmMTgtNjE0OC00MDY5LTk1NzctNGI0OTk5ZGUzNmIzGi8wLQIUV+HGZTYwCiGN92oshlxZg1DERWECFQCBWLFxqVH9AYhcfyB/2U9QOFzjiw==",
    "exportResponseMetadata": {
        "exportDate": "Tue Jan 30 14:52:56 UTC 2018",
        "exportHost": "192.168.247.132:8282",
        "exportedObjectList": [
            {
                "objectIdentifier": {
                    "keyId": "global"
                },
                "objectType": "KEY",
                "revisionHash": "1268b1cc512be8e2bc15300fcdac243c781dcd1b"
            }
        ]
    },
    "publicKey": "MIHxMIGoBgcqhkjOOAQBMIGcAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqOuyYO5rahJtk0bjjFAkBnhHGyepz0TukaScUUfbGpqvJE8FpDTWSGkx0tFCcbnjUDC3H9c9oXkGmzLik1Yw4cIGI1TQ2iCmxBblC+eUykA0QAAkEA2wZiUbgZpHhSWsdTxZqYMKBu2rFsLoQZhPelMeUGGSO4qE0RkEvBFT0zI1Z0h0AsxNKWcUxnZJmq56hZFcWONw==",
    "signature": "MC0CFFfhxmU2MAohjfdqLIZcWYNQxEVhAhUAgVixcalR/QGIXH8gf9lPUDhc44s="
}

=======================================================================


=======================================================================

[root@linuxtarget masking_v2_api]#



Import the exported key to another engine



[root@linuxtarget masking_v2_api]# sh key_sync.sh
* logging in...

We've got the following token e21134a2-4fe9-4631-a2ef-db7c5e4d82e8


=======================================================================


=======================================================================


=======================================================================

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
109  1468  104  1468    0    67  15322    699 --:--:-- --:--:-- --:--:-- 15228
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
103  1554    0    85  104  1469   1061  18338 --:--:-- --:--:-- --:--:-- 19586

We've imported this engine key :

{
    "blob": "QgAAAAokNGFmNDc4ZmEtZDI5Mi00NjQwLTllZGUtMzEzZDgwMTE4MjUzEhgyMDE4LTAxLTMwVDE0OjU5OjEwLjYwM1ogAasBAAAKJDRhZjQ3OGZhLWQyOTItNDY0MC05ZWRlLTMxM2Q4MDExODI1MxKCAwo7CAkSNwordHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllchIICgZnbG9iYWwa/QEKJDAxYzcyZjJmLWM2OTItNGIyZC04ZDkxLTM3N2E1NDQ2YzQwNBIkODZkMjhhZmMtZjhjNy00ZTIzLWJkNjctN2ZiMDgxMWYyOWU4Gnd7CiAgIm9iamVjdFR5cGUiOiAiS0VZIiwKICAiaWQiOiB7CiAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9FbmNyeXB0aW9uS2V5SWRlbnRpZmllciIsCiAgICAiaWQiOiAiZ2xvYmFsIgogIH0KfSIoYjJmNzk4MzgwYmY3MDVhZDU1YjdjMTk1MmQ4N2YzMWZlYWY0ZTJmZSjhm4ndhCww4ZuJ3YQsIkMKJXR5cGUuZ29vZ2xlYXBpcy5jb20vRW5jcnlwdGlvbktleURhdGESGgoYb3dtN1NiZGsyVnZSZG1id2NKd29nUT09VgAAAAokNGFmNDc4ZmEtZDI5Mi00NjQwLTllZGUtMzEzZDgwMTE4MjUzGi4wLAIUfWLCYdQBuFNl7BvfdSpdwhYLd4gCFHjiULZhPbZpeqi6X6RiVp+in9Wo",
    "exportResponseMetadata": {
        "exportDate": "Tue Jan 30 14:59:10 UTC 2018",
        "exportHost": "192.168.247.132:8282",
        "exportedObjectList": [
            {
                "objectIdentifier": {
                    "keyId": "global"
                },
                "objectType": "KEY",
                "revisionHash": "1268b1cc512be8e2bc15300fcdac243c781dcd1b"
            }
        ]
    },
    "publicKey": "MIHxMIGoBgcqhkjOOAQBMIGcAkEA/KaCzo4Syrom78z3EQ5SbbB4sF7ey80etKII864WF64B81uRpH5t9jQTxeEu0ImbzRMqzVDZkVG9xD7nN1kuFwIVAJYu3cw2nLqOuyYO5rahJtk0bjjFAkBnhHGyepz0TukaScUUfbGpqvJE8FpDTWSGkx0tFCcbnjUDC3H9c9oXkGmzLik1Yw4cIGI1TQ2iCmxBblC+eUykA0QAAkEA0Oa3V6+Q89QE+P4dxIsLh6UZCZwNlpUgZ+NVju1hhgRcYW6gcpTDC1ZcEhqtzHCRJmjpH0DMPhTCMqqLlChczA==",
    "signature": "MCwCFH1iwmHUAbhTZewb33UqXcIWC3eIAhR44lC2YT22aXqoul+kYlafop/VqA=="
}

=======================================================================

[root@linuxtarget masking_v2_api]#

No comments:

Post a Comment