cassandra/doc
Andrés de la Peña 2e2a49fcdc CEP-20: Dynamic Data Masking
Allows to attach the native masking functions and UDFs to the definitions of
table columns in the schema, as defined by CEP-20.

The functions masking a column can be specified on CREATE TABLE queries, right
at the end of the column definition. The mask of a column can also be changed
or dropped with an ALTER TABLE query. Once a column is masked, SELECT queries
will always return the masked value of the column. That masking is done on the
coordinator, at the end of the query execution. Thus, masking won't affect any
filters or ordering, which would be based on the clear values of the masked
columns. Column masks are stored on the table system_schema.column_masks.

A new UNMASK permission allows to see the clear data of columns with an
attached mask. Also, a new SELECT_MASKED permission allows to run SELECT
queries restricting the clear values of masked columns. Superusers have both
permissions by default, whereas regular users don't have them.

Dynamic data masking can be enabled/disabled with the config property
dynamic_data_masking_enabled in cassandra.yaml. It is disabled by default.

This is the combination of multiple tickets:

 * Add masking functions to column metadata (CASSANDRA-18068)
 * Add UNMASK permission (CASSANDRA-18069)
 * Add SELECT_MASKED permission (CASSANDRA-18070)
 * Add support for using UDFs as masking functions (CASSANDRA-18071)
 * Add feature flag for dynamic data masking (CASSANDRA-18316)

patch by Andrés de la Peña; reviewed by Benjamin Lerer and Berenguer Blasi for CASSANDRA-17940
2023-03-24 13:57:18 +00:00
..
cql3 CEP-20: Dynamic Data Masking 2023-03-24 13:57:18 +00:00
modules CEP-20: Dynamic Data Masking 2023-03-24 13:57:18 +00:00
scripts remove walrus operator in gen-nodetool-docs.py 2023-01-30 15:48:21 -06:00
Makefile Migrate documentation to AsciiDoc 2022-01-05 22:03:02 +01:00
README.md Migrate documentation to AsciiDoc 2022-01-05 22:03:02 +01:00
SASI.md Migrate documentation to AsciiDoc 2022-01-05 22:03:02 +01:00
antora.yml Mark antora.yml in trunk as `prelease:true` 2022-08-26 12:17:18 +02:00
native_protocol_v3.spec Merge branch 'cassandra-3.0' into cassandra-3.11 2021-04-19 17:34:05 +02:00
native_protocol_v4.spec Transfer parameters to the newly introduced configuration framework (6) 2022-02-05 22:28:40 -05:00
native_protocol_v5.spec Merge branch 'cassandra-4.0' into cassandra-4.1 2022-05-26 08:33:06 +01:00

README.md

Apache Cassandra documentation directory

This directory contains the documentation maintained in-tree for Apache Cassandra. This directory contains the following documents:

  • The source of the official Cassandra documentation, in the source/modules subdirectory. See below for more details on how to edit/build that documentation.
  • The specification(s) for the supported versions of native transport protocol.

Official documentation

The source for the official documentation for Apache Cassandra can be found in the modules/cassandra/pages subdirectory. The documentation uses antora and is thus written in asciidoc.

To generate the asciidoc files for cassandra.yaml and the nodetool commands, run (from project root):

ant gen-asciidoc

or (from this directory):

make gen-asciidoc

(The following has not yet been implemented, for now see the build instructions in the cassandra-website repo.) To build the documentation, run (from project root):

ant gen-doc

or (from this directory):

make html