Protect access to database tables on a per-row level based on roles and / or tenants.
Restrict access to rows (datasets) in tables to …
- set of roles
- tenants (owners)
- group of users
- combination of tenant and role
- combination of tenant and group
Requirement, design documents and coverage tags are written in OpenFastTrace format.
Running the RLS Lua Virtual Schema requires a Exasol with built-in Lua 5.1 or later.
Dependency | Purpose | License |
---|---|---|
Lua CJSON | JSON parsing and writing | MIT License |
remotelog | Logging through a TCP socket | MIT License |
remotelog
has a transitive dependency to LuaSocket (MIT License). Note that Lua CSON and LuaSucket are pre-installed on an Exasol database.
For local unit testing you need to install them on the test machine though.
Unit tests are written in Lua.
Dependency | Purpose | License |
---|---|---|
luaunit | Unit testing framework | BSD License |
Mockagne | Mocking framework | MIT License |
The integration tests require exasol-testcontainers
to provide an Exasol instance. They are written in Java and require version 11 or later.
See also: Java Dependencies.
This project has a complex build setup due to the mixture of Lua and Java. Apache Maven serves as the main build tool.
Lua build steps are also encapsulated by Maven.
Dependency | Purpose | License |
---|---|---|
Amalg | Bundling Lua modules (and scripts) | MIT License |
LuaRocks | Package management | MIT License |
See also: Java Dependencies.