⚠ This file is deprecated. Releases after 1.4.3 use GitHub built-in releases to track changes ⚠
- policy name missing from logs
- various dependencies for security fixes
- improved logs during service setup
- migrated from
io/ioutil
package toos
andio
packages - #65: router now match specific verbs
- OpenAPI Specification for standalone APIs
- OPA v0.43.0
- github.com/samber/lo dependency
- github.com/elliotchance/pie dependency
- improved tests to use w.Result() to assert the correct response
- fix response
Content-Type
when an error occurs
- #32: specify method support for standalone API
- support for
HEAD
HTTP method when specifying method keywordALL
- code-scanning#7: removed clear text information from logs
- code-scanning#5, code-scanning#6: sanitized grant standalone API input data in debug log
- code-scanning#4: removed unsanitized log from revoke standalone api
- code-scanning#3: sanitized input for log in OPA Middleware
- code-scanning#2: sanitized input for error log in OpenAPI Utils
- removed required resource parameter from Grant and Revoke API routes
- Refactored handle status routes
- Refactored openapi_utils
- Refactored opaevaluator
- Refactored opa_transport
- Refactored main
- Set
ReadHeaderTimeout
to 1s to mitigate potential Slowloris attacks
- Refactor opa_translator strategies
- policy name in evaluation log result
- fixed unwanted behavior to handle path parameter with slash escaped character
%2F
- if the option
permissionsOnResourceMapEnabled
is set at true in the XPermission inside the input provided to the opa evaluator will be present a new objectPermissionsOnResourceMap
containing set of key/value pairs in which the key is composed aspermissionId:resourceType:resourceId
and the value is always set totrue
- fix print statement output
- print statement available with
LOG_LEVEL="trace"
- Added method delete to insert body request in rego input
- Prevent status routes to run into the OPA Middleware
- glogger v2.1.3 that implements
http.Flusher
interface, useful to fix flushing behavior in reverse proxy for streaming APIs
- set reverse proxy flush interval to -1 to fix issues with streaming APIs passing through the container
- Fixed fallback path registration
- Added
/grant/bindings/resource/{resourceType}
api to handle the grant of a user role on a single resource - Added
/revoke/bindings/resource/{resourceType}
api to handle the revoke of a user role on a set resources
- prevent response policy evaluation if API invocation has a status code outside the [200,299] range
- RBAC now supports standalone mode. The new mode can be set up with the use of
STANDALONE
andPATH_PREFIX_STANDALONE
environment variables
- optimized query evaluation with precomputed evaluators
- provide
application/json
Content-Type header when sending error responses - response policy proper evaluation when the same API has also a request filter policy
- added support for
find_many
builtin in Rego policies
- added support for
find_one
builtin in Rego policies
- when the filter row query is empty and content-type is application json, the rbac handler return empty array
- supporting OAS with brackets params notation in internal policy resolver
- Implemented column filtering on response body base on policy evaluation
- refactor: User struct now contains userBindings and Roles
- If no userId header is provided now mongo is not called in order to retrieve user bindings and roles.
- Added
pathParameter
to Rego input request. - routes sorting during registration to prevent pathParams retrieval error
- better business errors for policies evaluation
- support body serialization in Rego input for specific content type and methods
- Removed limitation to dashed routes
- refactored rowFiltering data structure
- Added resource field in binding struct.
- support the method all in the manual routes oas file
- rbac service now support row filtering query for mongo forwarded in a custom header to the requested service
- handle path prefix for manual route
- documentation route handled correctly
- bindings and roles are now given as input to the OPA evaluator. The old check on user permission is no more performed and the entire ownership is given to Rego
- OPA v0.36.0
- Convert API path with variables according the gorilla mux requirements
- Support dot character as divider in the x-permission string, replaced as underscore for Rego policy query
- ignoring healthiness routes when defining proxied routes
- Added the check on user permission before evaluating the query
- Added the user infos in the input Rego
- mongodb integrated to load roles and bindings collections
- Created get_header custom built-in Rego function
- Added support for the target service documentation API, with an evaluation skip if is set targetServiceOASPath env
- Support API permission specification from file
- OPA integration with single module loading and handler validation
- rbac service initial configuration from openApi specifications