Kinetica's security model is similar to most SQL databases. Permissions are defined on individual tables, collections of tables, and the Kinetica instance itself. Users can be added to the database and assigned these permissions. Roles can be created and assigned permissions, with all users added to those roles getting the related permissions. Roles can also be added to another role, with the lower level role inheriting the permissions of the higher level role. The permissions a user has is the union of all permissions granted individually to the user and through roles. In all these ways, security in Kinetica is similar to what you have seen in most databases.
Where Kinetica security differs, is in the creation of users and some specifics about the permissions.
[a-z_][a-z_0-9]\*
gpudb.conf
in the
min_password_length
configuration parameter@username
Note
Once authenticated, user authorization does not distinguish between internal and external users**
Important
A role cannot recursively contain itself.
[a-z_][a-z_0-9]\*
System-level
system_admin
-- read/write access to tables and data, add users and
roles, and grant/revoke permissions to userssystem_write
-- read/write access to tables and data, but no user or
process administrationsystem_read
-- read-only access to tables and dataTable-level (applies to tables, views, and collections)
table_admin
-- read/write access and can also create and deletetable_insert
-- can insert recordstable_update
-- can update recordstable_delete
-- can delete recordstable_read
-- can read (select) recordsNote
The creator of a table or collection will automatically be given
table_admin
permission on that table. Other users can only be
granted permissions by a user with the system_admin
permission.
Granting a user permission to a collection gives the user that
permission to all tables in the collection. If no collection is
specified, the root-level collection is assumed.
admin
- Full permissions to do anything in Kinetica
system_admin
permission by default; unable to modify- Password is
admin
by default but must be updated after the first login- Password can be changed; change will be stored securely in Kinetica
anonymous
- Blank password
- No permissions by default
public
- All users are members of
public
by default- The
public
role will grant permissions to users who have not authenticated
authenticated
- All users except
anonymous
are members ofauthenticated
by default.
system_admin
permission to change another user's passwordImportant
Calling role endpoints require system_admin
permission.
Note
Users can't grant access to tables they create, so a user with
system_admin
permission will need to do so