{"id":20207789,"url":"https://github.com/exasol/row-level-security-lua","last_synced_at":"2025-09-21T23:34:07.269Z","repository":{"id":38837800,"uuid":"284010913","full_name":"exasol/row-level-security-lua","owner":"exasol","description":"Lua implementation of Exasol's row-level-security","archived":false,"fork":false,"pushed_at":"2024-11-21T11:16:33.000Z","size":560,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-11-21T12:18:09.112Z","etag":null,"topics":["access-management","exasol","exasol-integration","lua","security","virtual-schema"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exasol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-31T10:39:06.000Z","updated_at":"2024-11-21T11:01:54.000Z","dependencies_parsed_at":"2023-11-20T14:29:01.227Z","dependency_job_id":"806e9bcf-664e-4674-9e46-7935403de08e","html_url":"https://github.com/exasol/row-level-security-lua","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Frow-level-security-lua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Frow-level-security-lua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Frow-level-security-lua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exasol%2Frow-level-security-lua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exasol","download_url":"https://codeload.github.com/exasol/row-level-security-lua/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233808773,"owners_count":18733600,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access-management","exasol","exasol-integration","lua","security","virtual-schema"],"created_at":"2024-11-14T05:32:20.078Z","updated_at":"2025-09-21T23:34:01.786Z","avatar_url":"https://github.com/exasol.png","language":"Java","readme":"# Row Level Security (Lua)\n\n[![Build Status](https://github.com/exasol/row-level-security-lua/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/row-level-security-lua/actions/workflows/ci-build.yml)\n\n\u003c!-- Remove this block after https://github.com/exasol/project-keeper-maven-plugin/issues/167 is complete\n[![Build Status](https://github.com/exasol/row-level-security-lua/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/row-level-security-lua/actions/workflows/ci-build.yml)\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Arow-level-security-lua\u0026metric=ncloc)](https://sonarcloud.io/dashboard?id=com.exasol%3Arow-level-security-lua)\n--\u003e\n\nProtect access to database tables on a per-row level based on roles and / or tenants. \n\n## Features\n\nRestrict access to rows (datasets) in tables to \u0026hellip;\n\n* set of roles\n* tenants (owners)\n* group of users\n* combination of tenant and role\n* combination of tenant and group\n\n## Table of Contents\n\n### Information for Users\n\n* [User Guide](doc/user_guide/user_guide.md)\n* [Tutorial](doc/user_guide/tutorial.md)\n* [Changelog](doc/changes/changelog.md)\n\n### Information for Contributors\n\nRequirement, design documents and coverage tags are written in [OpenFastTrace](https://github.com/itsallcode/openfasttrace) format.\n\n* [Developer Guide](doc/developer_guide/developer_guide.md)\n\n### Runtime Dependencies\n\n#### Lua Dependencies\n\nRunning the RLS Lua Virtual Schema requires a Exasol with built-in Lua 5.1 or later.\n\n| Dependency                               | Purpose                                                | License                       |\n|------------------------------------------|--------------------------------------------------------|-------------------------------|\n| [Lua CJSON][luacjson]                    | JSON parsing and writing                               | MIT License                   |\n| [remotelog][remotelog]                   | Logging through a TCP socket                           | MIT License                   |\n\n`remotelog` has a transitive dependency to [LuaSocket][luasocket] (MIT License). Note that Lua CSON and LuaSucket are pre-installed on an Exasol database.\n\nFor local unit testing you need to install them on the test machine though.\n\n[luacjson]: https://www.kyne.com.au/~mark/software/lua-cjson.php\n[luasocket]: https://github.com/diegonehab/luasocket\n[remotelog]: https://github.com/exasol/remotelog-lua\n\n### Test Dependencies\n\n#### Unit Test Dependencies\n\nUnit tests are written in Lua. \n\n| Dependency                               | Purpose                                                | License                       |\n|------------------------------------------|--------------------------------------------------------|-------------------------------|\n| [luaunit][luaunit]                       | Unit testing framework                                 | BSD License                   |\n| [Mockagne][mockagne]                     | Mocking framework                                      | MIT License                   |\n\n[luaunit]: https://github.com/bluebird75/luaunit\n[mockagne]: https://github.com/vertti/mockagne\n\n#### Integration Test Dependencies\n\nThe integration tests require `exasol-testcontainers` to provide an Exasol instance. They are written in Java and require version 11 or later.\n\nSee also: Java [Dependencies](dependencies.md).\n\n### Build Dependencies\n\nThis project has a complex build setup due to the mixture of Lua and Java. [Apache Maven](https://maven.apache.org/) serves as the main build tool.\n\nLua build steps are also encapsulated by Maven.\n\n| Dependency                                | Purpose                                                | License                       |\n|-------------------------------------------|--------------------------------------------------------|-------------------------------|\n| [Amalg][amalg]                            | Bundling Lua modules (and scripts)                     | MIT License                   |\n| [LuaRocks][luarocks]                      | Package management                                     | MIT License                   |\n\n[amalg]: https://github.com/siffiejoe/lua-amalg\n[luarocks]: https://luarocks.org/\n\nSee also: Java [Dependencies](dependencies.md).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Frow-level-security-lua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexasol%2Frow-level-security-lua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexasol%2Frow-level-security-lua/lists"}