Following will be the changes required to move it to other environments:
Add a new role for REINDEXING so as to push encrypted data in the index in roleactions.json and roles.json files.
Reference for these file changes can be taken from the following commit: https://github.com/egovernments/egov-mdms-data/pull/2835/files (Please pick the changes for the required files- roleactions.json and roles.json only)Add a copy of the existing water-service index with a different topic name(
update-ws-encryption
andupdate-sw-encryption
) for the encryption process.
Reference: https://github.com/egovernments/configs/pull/2510/commits/bf025f1489933dce71fe448d1181515fa418f09cSome changes need to be made for existing indexes in water-service and sewerage-service indexer files. The changes with respect to these files can be referred from the following commit:
https://github.com/egovernments/configs/pull/2342
https://github.com/egovernments/configs/pull/2345Restart the indexer
Add 2 new persister files responsible for managing old data encryption. ws-enc-audit-persister.yml and sw-enc-audit-persister.yml.
Update the path of these files in the DevOps repo in the specific environment file.
Restart the persister
Deploy new ws-service and sw-service builds.
Port-forward the ws-service and sw-service pods and hit the curl to start encryption.
The curls can be referred from here:
Water-encryption curl:curl --location --request POST 'http://localhost:8040/ws-services/wc/_encryptOldData?tenantIds=pb,pb.jalandhar&_=1657027355542&limit=200' \ --header 'authority: dev.digit.org' \ --header 'accept: application/json, text/plain, */*' \ --header 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \ --header 'content-type: application/json;charset=UTF-8' \ --header 'origin: https://dev.digit.org' \ --header 'referer: https://dev.digit.org/digit-ui/employee/pt/search' \ --header 'sec-ch-ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"' \ --header 'sec-ch-ua-mobile: ?0' \ --header 'sec-ch-ua-platform: "Linux"' \ --header 'sec-fetch-dest: empty' \ --header 'sec-fetch-mode: cors' \ --header 'sec-fetch-site: same-origin' \ --header 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36' \ --data-raw '{ "RequestInfo": { "apiId": "Rainmaker", "authToken": "null", "userInfo": { "id": 24226, "uuid": "11b0e02b-0145-4de2-bc42-c97b96264807", "userName": "amr001", "name": "leela", "mobileNumber": "9814424443", "emailId": "leela@llgmail.com", "locale": null, "type": "EMPLOYEE", "roles": [ { "name": "Grievance Routing Officer", "code": "GRO", "tenantId": "pb.amritsar" }, { "name": "NoC counter employee", "code": "NOC_CEMP", "tenantId": "pb.amritsar" }, { "name": "PGR Last Mile Employee", "code": "PGR_LME", "tenantId": "pb.amritsar" }, { "name": "BPA Field Inspector", "code": "BPA_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "TL Field Inspector", "code": "TL_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "pt emp", "code": "PT_CEMP", "tenantId": "pb.amritsar" }, { "name": "Fire Noc Department Approver", "code": "FIRE_NOC_APPROVER", "tenantId": "pb.amritsar" }, { "name": "BPA Services Approver", "code": "BPA_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Counter Employee", "code": "CEMP", "tenantId": "pb.amritsar" }, { "name": "WS Counter Employee", "code": "WS_CEMP", "tenantId": "pb.amritsar" }, { "name": "PT Field Inspector", "code": "PT_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "WS Field Inspector", "code": "WS_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "Property Tax Receipt Cancellator", "code": "CR_PT", "tenantId": "pb.amritsar" }, { "name": "FSM Administrator", "code": "FSM_ADMIN", "tenantId": "pb.amritsar" }, { "name": "PT Document Inspector", "code": "PT_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Employee", "code": "EMPLOYEE", "tenantId": "pb.amritsar" }, { "name": "TL Counter Employee", "code": "TL_CEMP", "tenantId": "pb.amritsar" }, { "name": "TL Creator", "code": "TL_CREATOR", "tenantId": "pb.amritsar" }, { "name": "BPAREG doc verifier", "code": "BPAREG_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Universal Collection Employee", "code": "UC_EMP", "tenantId": "pb.amritsar" }, { "name": "BPA Services verifier", "code": "BPA_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "NoC Field Inpector", "code": "NOC_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "PT Counter Approver", "code": "PT_APPROVER", "tenantId": "pb.amritsar" }, { "name": "SW Counter Employee", "code": "SW_CEMP", "tenantId": "pb.amritsar" }, { "name": "Grievance Officer", "code": "GO", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Creator", "code": "FSM_CREATOR_EMP", "tenantId": "pb.amritsar" }, { "name": "SW Clerk", "code": "SW_CLERK", "tenantId": "pb.amritsar" }, { "name": "Property Approver", "code": "Property Approver", "tenantId": "pb.amritsar" }, { "name": "WS Clerk", "code": "WS_CLERK", "tenantId": "pb.amritsar" }, { "name": "NoC Doc Verifier", "code": "NOC_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Birth and Death Dashboard User", "code": "DASHBOARD_REPORT_VIEWER", "tenantId": "pb.amritsar" }, { "name": "autoescalation emp", "code": "AUTO_ESCALATE", "tenantId": "pb.amritsar" }, { "name": "WS Document Verifier", "code": "WS_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Report Viewer", "code": "FSM_REPORT_VIEWER", "tenantId": "pb.amritsar" }, { "name": "SW Document Verifier", "code": "SW_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "TL Approver", "code": "TL_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Field Employee", "code": "FEMP", "tenantId": "pb.amritsar" }, { "name": "FSM Payment Collector", "code": "FSM_COLLECTOR", "tenantId": "pb.amritsar" }, { "name": "BPAREG Approver", "code": "BPAREG_APPROVER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Editor", "code": "FSM_EDITOR_EMP", "tenantId": "pb.amritsar" }, { "name": "Collection Operator", "code": "COLL_OPERATOR", "tenantId": "pb.amritsar" }, { "name": "TL doc verifier", "code": "TL_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Viewer", "code": "FSM_VIEW_EMP", "tenantId": "pb.amritsar" }, { "name": "CSC Collection Operator", "code": "CSC_COLL_OPERATOR", "tenantId": "pb.amritsar" }, { "name": "FSM Desluding Operator", "code": "FSM_DSO", "tenantId": "pb.amritsar" }, { "name": "SW Field Inspector", "code": "SW_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "Property Verifier", "code": "Property Verifier", "tenantId": "pb.amritsar" }, { "name": "ptcollection emp", "code": "PT_COLLECTION_EMP", "tenantId": "pb.amritsar" }, { "name": "NoC counter Approver", "code": "NOC_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Customer Support Representative", "code": "CSR", "tenantId": "pb.amritsar" }, { "name": "HRMS Admin", "code": "HRMS_ADMIN", "tenantId": "pb.amritsar" }, { "name": "WS Approver", "code": "WS_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Birth and Death User", "code": "BND_CEMP", "tenantId": "pb.amritsar" }, { "name": "NOC Department Approver", "code": "NOC_DEPT_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Super User", "code": "SUPERUSER", "tenantId": "pb.amritsar" }, { "name": "BPA NOC Verifier", "code": "BPA_NOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "SW Approver", "code": "SW_APPROVER", "tenantId": "pb.amritsar" } ], "active": true, "tenantId": "pb.amritsar", "permanentCity": "Amritsar" }, "plainAccessRequest": { }, "msgId": "1657027355542|en_IN" } }'
Sewerage-encryption curl:curl --location --request POST 'http://localhost:4040/sw-services/swc/_encryptOldData?tenantIds=pb.amritsar&_=1657027355542&limit=150' \ --header 'authority: dev.digit.org' \ --header 'accept: application/json, text/plain, */*' \ --header 'accept-language: en-GB,en-US;q=0.9,en;q=0.8' \ --header 'content-type: application/json;charset=UTF-8' \ --header 'origin: https://dev.digit.org' \ --header 'referer: https://dev.digit.org/digit-ui/employee/pt/search' \ --header 'sec-ch-ua: ".Not/A)Brand";v="99", "Google Chrome";v="103", "Chromium";v="103"' \ --header 'sec-ch-ua-mobile: ?0' \ --header 'sec-ch-ua-platform: "Linux"' \ --header 'sec-fetch-dest: empty' \ --header 'sec-fetch-mode: cors' \ --header 'sec-fetch-site: same-origin' \ --header 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36' \ --data-raw '{ "RequestInfo": { "apiId": "Rainmaker", "authToken": "null", "userInfo": { "id": 24226, "uuid": "11b0e02b-0145-4de2-bc42-c97b96264807", "userName": "amr001", "name": "leela", "mobileNumber": "9814424443", "emailId": "leela@llgmail.com", "locale": null, "type": "EMPLOYEE", "roles": [ { "name": "Grievance Routing Officer", "code": "GRO", "tenantId": "pb.amritsar" }, { "name": "NoC counter employee", "code": "NOC_CEMP", "tenantId": "pb.amritsar" }, { "name": "PGR Last Mile Employee", "code": "PGR_LME", "tenantId": "pb.amritsar" }, { "name": "BPA Field Inspector", "code": "BPA_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "TL Field Inspector", "code": "TL_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "pt emp", "code": "PT_CEMP", "tenantId": "pb.amritsar" }, { "name": "Fire Noc Department Approver", "code": "FIRE_NOC_APPROVER", "tenantId": "pb.amritsar" }, { "name": "BPA Services Approver", "code": "BPA_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Counter Employee", "code": "CEMP", "tenantId": "pb.amritsar" }, { "name": "WS Counter Employee", "code": "WS_CEMP", "tenantId": "pb.amritsar" }, { "name": "PT Field Inspector", "code": "PT_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "WS Field Inspector", "code": "WS_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "Property Tax Receipt Cancellator", "code": "CR_PT", "tenantId": "pb.amritsar" }, { "name": "FSM Administrator", "code": "FSM_ADMIN", "tenantId": "pb.amritsar" }, { "name": "PT Document Inspector", "code": "PT_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Employee", "code": "EMPLOYEE", "tenantId": "pb.amritsar" }, { "name": "TL Counter Employee", "code": "TL_CEMP", "tenantId": "pb.amritsar" }, { "name": "TL Creator", "code": "TL_CREATOR", "tenantId": "pb.amritsar" }, { "name": "BPAREG doc verifier", "code": "BPAREG_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Universal Collection Employee", "code": "UC_EMP", "tenantId": "pb.amritsar" }, { "name": "BPA Services verifier", "code": "BPA_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "NoC Field Inpector", "code": "NOC_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "PT Counter Approver", "code": "PT_APPROVER", "tenantId": "pb.amritsar" }, { "name": "SW Counter Employee", "code": "SW_CEMP", "tenantId": "pb.amritsar" }, { "name": "Grievance Officer", "code": "GO", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Creator", "code": "FSM_CREATOR_EMP", "tenantId": "pb.amritsar" }, { "name": "SW Clerk", "code": "SW_CLERK", "tenantId": "pb.amritsar" }, { "name": "Property Approver", "code": "Property Approver", "tenantId": "pb.amritsar" }, { "name": "WS Clerk", "code": "WS_CLERK", "tenantId": "pb.amritsar" }, { "name": "NoC Doc Verifier", "code": "NOC_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "Birth and Death Dashboard User", "code": "DASHBOARD_REPORT_VIEWER", "tenantId": "pb.amritsar" }, { "name": "autoescalation emp", "code": "AUTO_ESCALATE", "tenantId": "pb.amritsar" }, { "name": "WS Document Verifier", "code": "WS_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Report Viewer", "code": "FSM_REPORT_VIEWER", "tenantId": "pb.amritsar" }, { "name": "SW Document Verifier", "code": "SW_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "TL Approver", "code": "TL_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Field Employee", "code": "FEMP", "tenantId": "pb.amritsar" }, { "name": "FSM Payment Collector", "code": "FSM_COLLECTOR", "tenantId": "pb.amritsar" }, { "name": "BPAREG Approver", "code": "BPAREG_APPROVER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Editor", "code": "FSM_EDITOR_EMP", "tenantId": "pb.amritsar" }, { "name": "Collection Operator", "code": "COLL_OPERATOR", "tenantId": "pb.amritsar" }, { "name": "TL doc verifier", "code": "TL_DOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "FSM Employee Application Viewer", "code": "FSM_VIEW_EMP", "tenantId": "pb.amritsar" }, { "name": "CSC Collection Operator", "code": "CSC_COLL_OPERATOR", "tenantId": "pb.amritsar" }, { "name": "FSM Desluding Operator", "code": "FSM_DSO", "tenantId": "pb.amritsar" }, { "name": "SW Field Inspector", "code": "SW_FIELD_INSPECTOR", "tenantId": "pb.amritsar" }, { "name": "Property Verifier", "code": "Property Verifier", "tenantId": "pb.amritsar" }, { "name": "ptcollection emp", "code": "PT_COLLECTION_EMP", "tenantId": "pb.amritsar" }, { "name": "NoC counter Approver", "code": "NOC_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Customer Support Representative", "code": "CSR", "tenantId": "pb.amritsar" }, { "name": "HRMS Admin", "code": "HRMS_ADMIN", "tenantId": "pb.amritsar" }, { "name": "WS Approver", "code": "WS_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Birth and Death User", "code": "BND_CEMP", "tenantId": "pb.amritsar" }, { "name": "NOC Department Approver", "code": "NOC_DEPT_APPROVER", "tenantId": "pb.amritsar" }, { "name": "Super User", "code": "SUPERUSER", "tenantId": "pb.amritsar" }, { "name": "BPA NOC Verifier", "code": "BPA_NOC_VERIFIER", "tenantId": "pb.amritsar" }, { "name": "SW Approver", "code": "SW_APPROVER", "tenantId": "pb.amritsar" } ], "active": true, "tenantId": "pb.amritsar", "permanentCity": "Amritsar" }, "plainAccessRequest": { }, "msgId": "1657027355542|en_IN" } }'
In the params list in both the above curls, “tenantIds” param can either be provided with a single tenantId or a list of tenantIds for encrypting the data with respect to the provided tenantIds. However, to encrypt the data for all tenantIds in the system, tenantIds param itself should be removed.
To validate if the encryption is completed, you can check with the following dB queries:
select * from eg_ws_enc_audit order by createdtime desc;
select count(*) from eg_ws_id_enc_audit;
With this query it can be validated if all records are there or not. The count should match with the total count of records in the eg_ws_connection table.
select * from eg_ws_id_enc_audit;
This can help you check what all properties have been updated so far. This table contains the id, applicationnumber, connectionnumber and tenantid.
0 Comments