RESTRICT
The RESTRICT command does not apply to an account with the SUPERUSER role.
The SUPERUSER role always has full read/write access to the database.
Do not assign SUPERUSER to any role that you might want to restrict.
Use RESTRICT to deny access to a role on a data resource (keyspace or table).
RESTRICT denies access even if permission to access the resource has been granted or inherited.
This command is useful when you want to restrict a role from accessing a specific resource, even if the role has been granted access to the resource. For example, you may want to restrict a role from accessing a specific table in a keyspace, even if the role has been granted access to the keyspace.
|
|
Syntax
RESTRICT <permission> ON [<keyspace_name>.]<table_name> TO <role_name> ;
Syntax legend
| Syntax conventions | Description |
|---|---|
UPPERCASE |
Literal keyword. |
Lowercase |
Not literal. |
|
Variable value. Replace with a user-defined value. |
|
Optional.
Square brackets ( |
|
Group.
Parentheses ( |
|
Or.
A vertical bar ( |
|
Repeatable.
An ellipsis ( |
|
Single quotation ( |
|
Map collection.
Braces ( |
Set, list, map, or tuple.
Angle brackets ( |
|
|
End CQL statement.
A semicolon ( |
|
Separate the command line options from the command arguments with two hyphens ( |
|
Search CQL only: Single quotation marks ( |
|
Search CQL only: Identify the entity and literal value to overwrite the XML element in the schema and solrConfig files. |
- permission
-
A comma separated list of permissions that the role is prevented from using on the resources even if the permissions is granted. Where the permission types are:
ALL PERMISSIONSorALTER,AUTHORIZE [FOR permission_list],CREATE,DESCRIBE,DROP,MODIFY(deprecated),SELECT,TRUNCATE, orUPDATE(allowsINSERT,UPDATE, orDELETE). - resource
-
Database object to which the permission is denied. Restriction is applied using modeled hierarchy as follows:
-
ALL KEYSPACES- restricts access to every keyspace and table. -
KEYSPACE <keyspace_name>- restricts access on the keyspace and any table it contains -
TABLE <table_name>- restricts access on the table and all the data it contains
-
Examples
Prevent the role admin from seeing any data in the cycling keyspace:
RESTRICT TRUNCATE, UPDATE, SELECT ON KEYSPACE cycling TO role_admin;