My vote is B, but I think you should go ahead with the actual vote thread. Cheers,
Derek On Fri, Sep 16, 2022 at 4:05 AM Andrés de la Peña <[email protected]> wrote: > It's been 9 days since we started the poll, and we haven't had any new > vote since Monday. So we are still on 5 votes for A and 2 votes for B. > > The poll results doesn't seem to oppose the CEP. If no one has anything > else to add, I'll start the actual vote thread. > > On Tue, 13 Sept 2022 at 15:05, Andrés de la Peña <[email protected]> > wrote: > >> That's 5 votes for A and 2 votes for B so far. None of these options >> opposes to the CEP, so I think we can probably start the vote, unless we >> want to wait longer for the poll. >> >> On Mon, 12 Sept 2022 at 13:51, Benjamin Lerer <[email protected]> wrote: >> >>> A >>> >>> Le mer. 7 sept. 2022 à 17:02, Jeremiah D Jordan < >>> [email protected]> a écrit : >>> >>>> A >>>> >>>> On Sep 7, 2022, at 8:58 AM, Benedict <[email protected]> wrote: >>>> >>>> Well, I am not convinced these changes will materially impact the >>>> outcome, but at least we’ll have some extra fun collating the votes. >>>> >>>> >>>> On 7 Sep 2022, at 14:05, Andrés de la Peña <[email protected]> >>>> wrote: >>>> >>>> >>>> The poll makes sense to me. I would slightly change it to: >>>> >>>> A) We shouldn't prefer neither approach, and I agree to the implementor >>>> selecting the table schema approach for this CEP >>>> B) We should prefer the view approach, but I am not opposed to the >>>> implementor selecting the table schema approach for this CEP >>>> C) We should NOT implement the table schema approach, and should >>>> implement the view approach >>>> D) We should NOT implement the table view approach, and should >>>> implement the schema approach >>>> E) We should NOT implement the table schema approach, and should >>>> implement some other scheme (or not implement this feature) >>>> >>>> Where my vote is for A. >>>> >>>> >>>> On Wed, 7 Sept 2022 at 13:12, Benedict <[email protected]> wrote: >>>> >>>>> I’m not convinced there’s been adequate resolution over which approach >>>>> is adopted. I know you have expressed a preference for the table schema >>>>> approach, but the weight of other opinion so far appears to be against >>>>> this >>>>> approach - even if it is broadly adopted by other databases. I will note >>>>> that Postgres does not adopt this approach, it has a more sophisticated >>>>> security label approach that has not been proposed by anybody so far. >>>>> >>>>> I think extra weight should be given to the implementer’s preference, >>>>> so while I personally do not like the table schema approach, I am happy to >>>>> accept this is an industry norm, and leave the decision to you. >>>>> >>>>> However, we should ensure the community as a whole endorses this. I >>>>> think an indicative poll should be undertaken first, eg: >>>>> >>>>> A) We should implement the table schema approach, as proposed >>>>> B) We should prefer the view approach, but I am not opposed to the >>>>> implementor selecting the table schema approach for this CEP >>>>> C) We should NOT implement the table schema approach, and should >>>>> implement the view approach >>>>> D) We should NOT implement the table schema approach, and should >>>>> implement some other scheme (or not implement this feature) >>>>> >>>>> Where my vote is B >>>>> >>>>> On 7 Sep 2022, at 12:50, Andrés de la Peña <[email protected]> >>>>> wrote: >>>>> >>>>> >>>>> If nobody has more concerns regarding the CEP I will start the vote >>>>> tomorrow. >>>>> >>>>> On Wed, 31 Aug 2022 at 13:18, Andrés de la Peña <[email protected]> >>>>> wrote: >>>>> >>>>>> Is there enough support here for VIEWS to be the implementation >>>>>>> strategy for displaying masking functions? >>>>>> >>>>>> >>>>>> I'm not sure that views should be "the" strategy for masking >>>>>> functions. We have multiple approaches here: >>>>>> >>>>>> 1) CQL functions only. Users can decide to use the masking functions >>>>>> on their own will. I think most dbs allow this pattern of usage, which is >>>>>> quite straightforward. Obviously, it doesn't allow admins to decide >>>>>> enforce >>>>>> users seeing only masked data. Nevertheless, it's still useful for >>>>>> trusted >>>>>> database users generating masked data that will be consumed by the end >>>>>> users of the application. >>>>>> >>>>>> 2) Masking functions attached to specific columns. This way the same >>>>>> queries will see different data (masked or not) depending on the >>>>>> permissions of the user running the query. It has the advantage of not >>>>>> requiring to change the queries that users with different permissions >>>>>> run. >>>>>> The downside is that users would need to query the schema if they need to >>>>>> know whether a column is masked, unless we change the names of the >>>>>> returned >>>>>> columns. This is the approach offered by Azure/SQL Server, PostgreSQL, >>>>>> IBM >>>>>> Db2, Oracle, MariaDB/MaxScale and SnowFlake. All these databases support >>>>>> applying the masking function to columns on the base table, and some of >>>>>> them also allow to apply masking to views. >>>>>> >>>>>> 3) Masking functions as part of projected views. This ways users >>>>>> might need to query the view appropriate for their permissions instead of >>>>>> the base table. This might mean changing the queries if the masking >>>>>> policy >>>>>> is changed by the admin. MySQL recommends this approach on a blog entry, >>>>>> although it's not part of its main documentation for data masking, and >>>>>> the >>>>>> implementation has security issues. Some of the other databases offering >>>>>> the approach 2) as their main option also support masking on view >>>>>> columns. >>>>>> >>>>>> Each approach has its own advantages and limitations, and I don't >>>>>> think we necessarily have to choose. The CEP proposes implementing 1) and >>>>>> 2), but no one impedes us to also have 3) if we get to have projected >>>>>> views. However, I think that projected views is a new general-purpose >>>>>> feature with its own complexities, so it would deserve its own CEP, if >>>>>> someone is willing to work on the implementation. >>>>>> >>>>>> >>>>>> >>>>>> On Wed, 31 Aug 2022 at 12:03, Claude Warren via dev < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Is there enough support here for VIEWS to be the implementation >>>>>>> strategy for displaying masking functions? >>>>>>> >>>>>>> It seems to me the view would have to store the query and apply a >>>>>>> where clause to it, so the same PK would be in play. >>>>>>> >>>>>>> It has data leaking properties. >>>>>>> >>>>>>> It has more use cases as it can be used to >>>>>>> >>>>>>> - construct views that filter out sensitive columns >>>>>>> - apply transforms to convert units of measure >>>>>>> >>>>>>> Are there more thoughts along this line? >>>>>>> >>>>>> >>>> -- +---------------------------------------------------------------+ | Derek Chen-Becker | | GPG Key available at https://keybase.io/dchenbecker and | | https://pgp.mit.edu/pks/lookup?search=derek%40chen-becker.org | | Fngrprnt: EB8A 6480 F0A3 C8EB C1E7 7F42 AFC5 AFEE 96E4 6ACC | +---------------------------------------------------------------+
