processing encrypted files with SSIS (flat file source)

Roman P 1 Reputation point
2020-09-02T21:21:43.917+00:00

Any recommendations on how to process (file-level) encrypted data with SSIS? We'd like to avoid any un-encrypted content on disk, and instead read the encrypted data into memory (or the database,) decrypt using .NET, then proceed with transform & load.

The challenge is, the flat file source only works with flat files. The same challenge applies to generating data, that is with encrypting sensitive data before it is written to disk. The standard flat file destination only supports writing plain text data to disk. Are there any components that allow for SSIS to consume plain text data that's stored in memory, or in the database (nvarchar(max)) or similar?

The COTS solutions we're aware that deal with encrypted files - from /n software and CozyRock - only operate on files. So that wouldn't help.

One possible solution seems to be to write a custom implementation of the flat file source, see link below for an example (for regex parsing as opposed to decrypting.) However that approach seems cumbersome. I'd also be concerned about incompatibilities with future SQL/SSIS versions.

Any recommendations much appreciated!

(Link to custom flat file source implementation)
https://github.com/fan130/mssql-ssis-community-samples/releases/tag/RegularExpressionFlatFileSource

SQL Server Integration Services
SQL Server Integration Services
A Microsoft platform for building enterprise-level data integration and data transformations solutions.
2,486 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Monalv-MSFT 5,896 Reputation points
    2020-09-03T09:39:31.383+00:00

    Hi Roman,

    Please try to use Script Task to encrypt the files.

    Please refer to Encrypt files in SSIS.

    Best Regards,
    Mona


    If the response is helpful, please click "Accept Answer" and upvote it.


  2. COZYROC 101 Reputation points
    2020-09-06T12:11:44.39+00:00

    Hi Roman,

    COZYROC provides unique in-memory streaming of data technology that allows you to process data without landing the data into a file first. I would recommend you check the samples we have posted on this documentation page. Do not hesitate to contact our support desk if you have further questions.