Replies: 3 comments 5 replies
-
Hi @vvmichal! As stated in the documentation here, SELECT is necessary for the batched mode of the sink because it uses SqlBulkCopy. It seems that SqlBulkCopy requires SELECT permission to work. Form a security perspective I would recommend to use a separate database which is used exclusively for logging. When setting things up like this, the permissions for the identity (user) used by the MSSQL sink to access the DB can be scoped only to that DB and there would be no risk that the SELECT permission leads to any data which could be read by the logging app which is not log data. Even if no separate DB is used for logging, the SELECT permission can also be set exclusively on the log table (or tables). This will ensure that no other tables can be read and minimize the risk of any undesired data visibility to the logging app. This patterns is also recommended by our documentation. |
Beta Was this translation helpful? Give feedback.
-
Just to add one more solution in the mix: we are using row level security based on Windows accounts to prevent users from reading other user's logs written from desktop app with integrated auth. |
Beta Was this translation helpful? Give feedback.
-
Thank you for your detailed response and for suggesting Row-Level Security (RLS). While RLS could work, I believe requiring each user to be authenticated through Windows or Active Directory (such as with integrated security) may not be ideal for many scenarios. I still see the need for Here are a few thoughts that come to mind as potential alternatives:
Thanks for your time! I’m looking forward to your thoughts. |
Beta Was this translation helpful? Give feedback.
-
Could you please elaborate more on SQL permissions? The need for SELECT permission is a significant security concern, and I don't understand why this isn't discussed more.
Beta Was this translation helpful? Give feedback.
All reactions