If
a JSON document field is not in the HPE Ezmeral Data Fabric Database JSON default column
family, you must have readperm and writeperm permissions to
perform read and write operations on the field. You either receive the permissions from the
column family, inherit them from the field's parent field, or have the permissions from an
explicit grant on the field.
The following diagram shows a JSON document where fields b and
c are in a column family cf1 that is defined at field
b with the path a.b.
cTo perform both read and write operations on field c, when it is in column
family cf1, you must have both readperm and
writeperm access on field c:
readperm and writeperm permissions on
cf1, then you have access to field c.readperm and writeperm permissions on
field b, then you have access to field c. You do not
need any further permissions. Field c inherits your
readperm and writeperm permissions from field
b. readperm and writeperm permissions on
cf1
but either field a or b denied you permissions:
traverseperm permission granted to you on the field
that denied you access (field a or b). readperm and writeperm permissions
explicitly granted to you on field c.readperm and writeperm
permissions on cf1: traverseperm permission granted to you on either
cf1 or field b. readperm and writeperm permissions
explicitly granted to you on field c.The following are examples of commands that grant these permissions:
/opt/mapr/bin/maprcli table cf colperm set
-path <path to JSON table >
-cfname cf1
-name a.b
-traverseperm u:<user ID> | <existing ACE for this field>
/opt/mapr/bin/maprcli table cf colperm set
-path <path to JSON table >
-cfname cf1
-name a.b.c
-readperm u:<user ID> | <existing ACE for this field>
-writeperm u:<user ID> | <existing ACE for this field>
/opt/mapr/bin/maprcli table cf edit
-path <path to JSON table >
-cfname cf1
-traverseperm u:<user ID> | <existing ACE for this field>
/opt/mapr/bin/maprcli table cf colperm set
-path <path to JSON table >
-cfname cf1
-name a.b.c
-readperm u:<user ID> | <existing ACE for this field>
-writeperm u:<user ID> | <existing ACE for this field>
c
To perform either read or write operations on field c, when it is in
column family cf1, you must have either readperm or
writeperm access on field c:
readperm or
writeperm) on cf1, then you have access to field
c.readperm or
writeperm) on field b, then you have access to field
c. You do not need any further permissions. Field c
inherits your readperm or writeperm permission from
field b. readperm or
writeperm) on cf1
but either field a or b denied you permission:
traverseperm permission granted to you on the field
that denied you access (field a or b). readperm or writeperm permission
explicitly granted to you on field c.readperm or
writeperm) on cf1: traverseperm permission granted to you on either
cf1 or field b.readperm or writeperm permission
explicitly granted to you on field c.The following example grants traverseperm permission:
/opt/mapr/bin/maprcli table cf colperm set
-path <path to JSON table>
-cfname cf1
-name a.b
-traverseperm u:<user ID> | <existing ACE for this field>
The following example grants readperm permission:
/opt/mapr/bin/maprcli table cf colperm set
-path <path to JSON table>
-cfname cf1
-name a.b.c
-readperm u:<user ID> | <existing ACE for this field>